UML课程范文(精选10篇)
UML课程 第1篇
1 工作过程为导向的课程开发
作者近几年在《UML》课程的讲授和探索过程中发现, 无论是知识结构导向的课程教学, 还是案例导向的课程教学都不太合适。而以工作过程为导向的教学设计和方法, 恰如其分的描述了软件开发流程和《UML》课程相关知识。
2《UML》课程分析
UML相关知识:
UML (Unified Modeling language) 适用于面向对象的统一建模语言, 是描述UP (Unified Process) 和RUP (Rational Unified Process) 分析和设计结果的重要工具。与软件开发过程中使用的C、Java等编程语言一样, 由若干基本建模组件和建模规则等组成:
(1) 若干基本建模组件, 如参与者 (Actor) 、用例 (Use Case) 、类 (Class) 等, 是构成模型最基本的单位, 不可再分; (2) 9个图, 如用例图、类图、顺序图等, 由基本组件构成; (3) 5个视图, 如用例视图、设计视图等, 由若干图构成, 它描述的是系统的架构, 展现的是每个人在不同的时间以不同的方式观察系统。
3 工作过程为导向的《UML》课程设计
在《UML》课程开设之前, 学生已经学习了C、Java等程序设计语言课程, 已经基本具备了程序开发能力, 但非常缺乏基本的项目分析和设计能力。所以, 《UML》课程 (包含RUP) 的开设对学生职业能力的培养、熟悉工作流程, 让学生提前适应未来的专业岗位至关重要。
3.1 工作过程为导向的《UML》课程分析
高职高专计算机应用和软件技术类毕业生在未来的工作岗位上主要从事代码编写和软件测试等工作, 但软件开发要求非常强的团队协作、较好阅读文档、熟悉软件开发流程等能力, 而RUP (包含UML) 体现了软件项目的开发流程, 其分析设计的结果是相关项目文档。
(1) 项目先启阶段, 主要工作任务为业务分析、建模和需求捕获等, UML应用为系统业务模型 (业务用例模型, 分析类图模型等) , 系统主用例模型、主类图模型, 部分交互图、状态机模型等。
(2) 项目精化阶段, 主要工作任务为需求捕获、分析设计、实施等, UML应用为系统用例图模型、类图模型、交互图模型、状态机模型等。
(3) 项目构建阶段, 主要工作任务为需求捕获、设计、实施、测试等, UML应用为系统完整用例图模型、完整类图模型、组件图模型、部署图模型、UML双向工程等。
(4) 项目产品化阶段, 主要工作任务为实施、测试、部署、核心支持工作等, UML应用为系统用例图模型、完整类图模型、组件图模型、部署图模型等。
3.2 工作过程为导向的《UML》课程设计
根据软件开发流程的, 结合《UML》课程内容, 本文设计一个以工作过程为导向的《UML》教学过程。在该教学过程中, 采用了“三二一”教学方法, 其中, “三”指的是, 课程教学过程采用了三个项目, 项目1用来完成课程知识的讲授;项目2让学生用来完成练习, 理解所学的知识;项目3让学生完成项目实训, 理解并掌握所学知识。教学过程中, 三个项目交替进行。“二”指的是, 一个教学点从难到易讲解两遍, 不仅符合知识学习的重复性, 也符合学生学情。“一”指的是, 让学生完成一个简单的软件开发文档, 从而让学生掌握基本的文档分析和设计方法, 掌握面向对象软件开发文档中UML建模知识的应用。项目为导向的学习型工作任务分解如下。
(1) 项目1学习型工作任务分解
1-1软件工程、UML概述;
1-2用例图的分析与设计;
1-3类图的分析与设计;
1-4交互图的分析与设计;
1-5状态机图的分析与设计;
1-6组件图、部署图的分析与设计;
1-7 RUP统一过程。
(2) 项目2学习型工作任务分解
2-1用例图分析与设计上机练习;
2-2类图实训分析与设计上机练习;
2-3交互图分析与设计上机练习;
2-4状态机图分析与设计上机练习。
(3) 项目3学习型工作任务分解
3-1用例图分析与设计实训;
3-2类图分析与设计实训;
3-3交互图分析与设计实训;
3-4状态机图分析与设计实训;
3-5组件图、部署图分析与设计实训;
3-6 RUP文档实训。
3.3《UML》课程学习型工作任务分解
学习型工作任务1-1中, 主要介绍软件工程的概念, RUP的概念, UML的概念和UML的相关内容。
学习型工作任务1-2、2-1和3-1针对用例图分析与设计, 分解过程和讲解内容如下:
第一次讲解:1-2, 用例图的概念, 参与者和用例的发掘, 参与者与用例间的关联关系, RUP的先启阶段等;2-1, 通过练习理解简单的用例图分析与设计;3-1, 通过实训掌握简单的用例图分析与设计。
第二次讲解:1-2, 用例图中的Include、Extend和泛化关系等;2-1, 通过练习理解复杂的用例图分析与设计;3-1, 通过实训掌握复杂的用例图分析与设计。
学习型工作任务1-3、2-2和3-2针对类图的分析与设计, 分解过程和讲解内容如下。
第一次讲解:1-3, 类图的概念, 类和接口的概念, 实现关系, 泛化关系 (子类与父类) 等, RUP精化阶段;2-2, 通过练习理解简单的类图分析与设计;3-2, 通过实训掌握简单的类图分析与设计。
第二次讲解:1-3, 类图中类的规范, 泛化、关联关系, 关联关系的多重性, UML双向工程等;2-2, 通过练习理解复杂的类图分析与设计;3-2, 通过实训掌握复杂的类图分析与设计。
学习型工作任务1-4、2-3和3-3针对交互图分析与设计, 分解过程和讲解内容如下。
第一次讲解:1-4, 交互图的概念, 交互图与用例文档的干系, 消息的概念和分类, 顺序图, RUP构建阶段;2-3, 通过练习理解简单的顺序图分析与设计;3-3, 通过实训掌握简单的顺序图分析与设计。
第二次讲解:1-4, 如何使用顺序图发现类的方法, 协作图, 顺序图与协作图的关系;2-3, 通过练习理解复杂的交互图分析与设计;3-3, 过实训掌握复杂的交互图分析与设计。
学习型工作任务1-5、2-4和3-4针对状态机图分析与设计, 分解过程和讲解内容如下。
第一次讲解:1-5, 状态机图的概念, 状态机, 状态, 状态间的转移, 事件, 状态图, RUP产品化阶段;2-4, 通过练习理解简单的状态机图分析与设计;3-4, 通过实训掌握简单的状态机图分析与设
第二次讲解:1-4, 状态的规范, 转移的规范, 活动, 活动图;2-3, 通过练习理解复杂的状态机图分析与设计;3-3, 通过实训掌握复杂的交互图分析与设计。
学习型工作任务1-6、3-5中, 讲解并组件图和部署图的相关知识, 并通过练习和实训, 掌握组件图与部署图的分析和设计方法等。
学习型工作任务3-6中, 完成一个简单的RUP文档, 通过该任务, 是学生掌握简单的RUP文档分析和设计方法, 理解RUP文档中所包含的UML模型等。
结语
首先介绍了《UML》课程的特点, 接着对《UML》课程内容和软件开发流程进行类分析, 重点论述了工作过程为导向的《UML》课程设计。在作者近几年的教学过程中不断探索与总结中发现, 以工作过程为导向的教学方法非常适合《UML》课程教学。但由于本校教学学时的限制, 没有涉及到UML建模中的业务分析与业务建模, 在以后的教学过程中, 会逐渐完善这部分的教学内容。
摘要:以工作过程为导向的课程开发是高职教学课程改革的热点和难点。结合近几年在《UML》教学过程中的探讨和实践, 论述了软件技术专业《UML》课程的开发过程及内容。
UML JSP课程设计心得体会 第2篇
这次课程设计还有一个额外收获,就是初步学会了用JSP开发网页。虽然做出来的网页不是特别美观,有些地方还存在一些瑕疵,但是从对网页编程一窍不通到能做出一个功能基本完善的简单的毕业设计选题系统,一步步走来,其中收获的不仅仅是全新的知识,对于自学能力、动手能力、合作能力甚至接受挑战的勇气方面的影响,也都是巨大的。对于我来说,以前只接触过用C语言在DOS界面下编程,用java编写简单的桌面应用程序,最多只是简单的连接数据库,所以一开始听说要编网页的时候,实在是缺乏信心,在编程过程中遇到一些棘手的问题的时候,甚至一度想要逃避,可最终还是坚持下来了。虽然这点小程序对于熟练掌握网页编程语言的人来说不算什么,但对于我来说,没有接触过的东西,就是一个新挑战,任何语言的学习,在入门的时候都是最困难的。现在对于网页编程已经有了一个初步的了解,对于有些概念的理解还不是很准确,不过会努力在以后的学习过程中慢慢理解,在以后的编程过程中慢慢熟悉这些概念。
除了学习新语言的收获外,在编程过程中对于功能的实现、一些异常的处理还有界面的设计,也有着很深的感触。既然要做毕业设计选题系统,那么就要先考虑到用户的功能需求,分析不同的用户都是要通过网站做什么,每个用户都有哪些权限;对于数据库的操作来说,是要向数据库中插入数据,还是更新还是删除。而且要考虑到各个方面异常的处理,比如用户名、密码错误怎么办,输入的信息错误怎么处理,成功更新数据库信息后要弹出什么提示框,要转入那个页面等等。对于异常处理,我做的还不够好,由于时间精力有限,有一些异常情况没有考虑到,功能实现的还不够完美,在以后的编程过程中我会在力所能及的范围内尽量考虑周全,既然要做程序,那就要尽量做的完善。对于界面的设计,由于时间关系,没有采用流行的Dreamweaver,感觉有点遗憾,网页的背景图片都是自己手工合成的,略显简陋了些,唯一值得欣慰的就是实现了我一直想要的布局效果,以后在美工方面也会努力的提高自己的能力。
另外对于实际应用中课程之间的融合也是有了一个初步的概念。一开始总觉得UML没有什么实际的用处,但通过这次课程设计我发现,每门课程都是有它独特的意义的,UML中画出的类图、顺序图、活动图等等都对自己编程过程有着极佳的指导意义,这些图能使编程思路变得更加清晰。
UML标准建模语言与应用实例 第3篇
关键词:UMI标准建模语言 面向对象 系统分析与设计
中图分类号:TP31 文献标识码:A 文献编号:1674-09-8X(2012)01(c)-0037-01
UML(unified Modeling Language)标准建模语言可以用图形方式表现典型的面向对象方法分析与设计的系统的整个结构。通过其所规定的图,可以实现为不同领域的开发人员提供统一的交流标准,最终统一为大众所接受的世界公认的标准建模语言。
1 标准建模语言UML的内容及应用领域
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。
(1)UML语义。描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供丁简单、一致、通川的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。
(2)UML表示法。定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。
UML的重要内容由下列五类图(共9种图形)来定义:
第一类是用例图(use-case diagram),从用户角度描述系统功能,并指出各功能的操作者。
第二类是静态图(Static diagram),包括类图、对象图和包图。其中类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类圈的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
包图山包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。
第三类是行为图(Bchavior?diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图捕述类的对象所有可能的状态以及事件发生时状态的转移条件。在实用上并不需要为所有的类画状态图,仅为那些有多个状态且其行为受外界环境的影响会发生改变的类画状态图。而活动图描述为满足用例要求所要进行的活动以及活动问的约束关系,使用活动图可以方便地表示并行活动。
第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互过程;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。
第五类是实现图(Implementationdiagram)。其中构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析和理解部件之间的相互影响程度。
配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)以及它们之间的连接关系,也可显示连接的类型及部件之间的依赖性。
从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
2 UML建摸应用实例
下面以车载GPS终端系统为例,用UML的基本思想和过程对车载GPS终端系统分析与设计最典型的部分进行具体分析与建模。
2.1 系统描述
车载GPS终端是置于机动车内的实时定位装置。它的应用对象是需要定位、调度的车队。车辆可以通过终端和GPs卫星进行实时、准确的定位,并通过无线通讯网络上报远程的中心系统。
2.2 需求分析与设计
2.2.1 确定用例和用例图
需求分析首先应定义用例。在UML中,一个用例是用户与计算机之间为达到某个目的的一次交互。是对一个系统提供的功能的一种描述,它描述了用户提出的一些可见需求。
对于车载GPS终端,主要的角色有两种:车载终端用户和监控中心用户。
系统中的用例包括:终端用户可以报警,打车载电话等,而监控中心可以查询车辆位置,发送调度信息。
系统的角色是车载终端用户和监控中心用户,终端用户和监控中心交互完成任务。因此用例图表明角色和处理报警、车载电话、查询车辆位置、控制车辆和调度信息五个用例有关。
2.2.2 确定系统中的类及类图
类图是面向对象系统中应用最广的图。主要描述系统的功能需求一系统给最终用户提供的服务。
根据三个层次的观点(概念层、说叫层和实现层),类图分为三个层次。概念层的概念模型与实现它的软件无关;说明层考察的是软件的接口部分;实现层才真正有严格意義上的类的概念,揭示出软件实现体的构成情况。
2.2.3 确定系统的活动图
在规格说明阶段进行系统的业务描述。即规范系统完成一定功能的主要流程。
2.3 系统的详细设计
此阶段的工作是将概要设计阶段的模型进一步扩展和细化,分析阶段定义的类也将被进一步细化,通常是产生更多的被细化的新的类图、活动图等,它们的定义将更详细、将涉及更多的技术细节。然而这并不意味着用UML在为一个系统建模时需要使用其所有的图形和符号。
UML的使用准则:不要试图使用所有的图形和符号。应根据项目的特点选用最适用的图形和符号,通常应优先选用最简单的图形和符号;不要为每一个事物都画一个模型。只有抓住事物本质建模才能保证模型符合目标;应该分层次地画模型图。
3 结语
开放教育网络课程的UML建模 第4篇
本文讨论的是一个适用于开放教育学生的网络课程的建模过程。
1 UML建模简介
统一建模语言(Unified Modeling Language, UML)是用来对软件密集系统进行可视化建模的一种语言,是面向对象开发中一种通用的图形化建模语言。UML提供了多种图形可视化描述模型元素,同一个模型元素可能会出现在多个图中对应多个图形元素,人们可以从多个视图来考察模型。UML建模主要分为结构建模、动态建模和模型管理建模3个方面,主要从类图、用例图等来描述系统的静态内部结构,用活动图、时序图等来描述系统中对象的动态行为和组成对象间的相互作用、消息传递等。
UML从对象的观点出发来对系统中的数据项进行了划分,这样可以在一定程度上减少数据冗余。使用这种方法设计开放教育网络课程,可以在整个系统的分析设计过程中同步完成数据库的设计工作,避免了数据库设计和应用系统开发的脱节。而且图形化的模型使不同用户间的信息交流变得更加容易,从而加快开发的进程。
2 需求分析
系统管理员可以创建、修改、删除教师和学生帐户信息,并对系统及后台数据库进行维护更新;教师可以创建、管理课程资源,批改管理学生作业,管理模拟测试卷,并随时与学生进行交流讨论;学生使用自己的帐号和密码登录,进行课程学习,完成教师布置的作业并提交,利用模拟测试卷进行自我测试,并可在讨论区内与教师和同学交流讨论。主要功能如下:1) 系统管理员创建用户(教师和学生)并分配权限;2) 教师对自己所负责的课程资源上挂并管理,对学生提交的作业批改管理,并管理模拟测试题;3) 学生选择需要学习的课程分章节(知识点)进行学习,完成教师布置的作业提交给课程教师,并可进行网上模拟测试;4) 学生、教师可网上交流讨论学习心得。
3 UML建模过程
3.1 静态建模
3.1.1 识别参与者
通过对功能需求的分析,可以确定系统中有3个参与者:系统管理员、教师和学生。参与者描述如下:
学生:可以登录并查看最新课程动态,学习课程内容(包括视频及PPT课件等),完成教师所布置的作业并提交,并可以在系统中做本课程的模拟练习、对课程内容进行提问。
教师:可以发布课程最新动态以及课程教学资源,在网上布置作业,在线批改作业并将批改情况反馈给学生,及时回复学生的提问。
系统管理员:管理和维护教师和学生的帐号等信息并负责系统的维护管理、数据备份等工作。
3.1.2 识别用例
对需求进一步分析,可以确定系统中有如下用例存在:
登录:描述系统管理员、教师、学生如何登录网络课程;学习课程:描述学生学习课程资源(分章节、知识点),包括视频、PPT及重点难点等;完成作业:提供学生完成教师布置的作业的功能;模拟测试:提供学生学习课程之后测试自已学习情况;交流讨论:提供学生在学习课程之时对不懂的问题进行留言或在线交流讨论;管理课程资源:提供教师对课程资源的输入、修改、删除等管理功能;管理批改作业:提供教师对学生提交的作业进行批改及布置、修改等;管理模拟试卷:提供教师对模拟测试题的添加、修改、删除等;管理教师帐户:提供系统管理员对教师帐户的添加、删除、修改等管理;管理学生帐户:本用例提供系统管理员对学生帐户的添加、修改、删除等管理;管理系统、备份数据:本用例提供系统管理员对系统本身维护、对后台数据库备份维护等管理。
由以上识别的参与者和系统用例并根据它们之间的关系,建立系统用例图,如图1所示。
3.2 动态建模
系统的动态行为模型由时序图、协作图、状态图、活动图等描述。其中活动图类似于程序设计中的流程图,它能表现出从一个活动到另一个活动的控制流,能描述出活动的序列,并且支持对带条件的行为和并发行为的表述,所以能很好地反映出一个用例的动态属性。学生学习课程功能模块的活动图,如图2所示。
在面向对象的系统中,描述对象和对象之间的交互情况是很有必要的,可以使用交互图定义出主要对象和对象之间的消息传递模型。在本文中,用时序图来举例,因为时序图有时间顺序,能将用例的活动过程清晰表达出来。以学生学习课程用例时序为例,描述如下:
用例:学生课程学习
参与者:学生
操作流:1) 学生进入课程学习界面,用例开始;2) 系统要求选择学生的课程名称;3) 选择要学习的章节(知识点);4) 选择学习的方式,如PPT学习、视频学习、综合学习、参考资料等;5) 学习章节(知识点)内容;6) 完成本章节(知识点)的作业要求;7) 提交完成的作业给本课程教师;8) 完成本章节(知识点)的学习任务,系统回到上一界面,等待处理下一业务。
学生学习课程用例时序图如图3所示。
采用了UML进行系统建模后,能更好地分析教学需求,更有效地建立需求模型,建立学习系统的建模体系架构。从需求分析得知,首先要对教学内容层次化,然后进行详细的教学设计,根据教学设计得出类图,最后就可以开始系统设计环节。
4 结束语
对于开放教育学生而言,如何更好地处理工学矛盾是一大难题。网络课程可自主学习的特性,为开放学生提供了一个自由的学习平台。
UML作为一种标准的建模语言,它能确切地描述用户的功能需求,使系统责任明确到位。本文探讨了利用UML进行开放教育网络课程的建模,能更好地解决网络课程的移植、修改、扩充、可重用等问题。
摘要:网络教育以及网络资源的不断发展, 开放教育学生对网络课程的迫切需要, UML (Unified Modeling Language) 作为一种面向对象的实际系统建模语言, 为开放教育网络课程系统的建模提供了强大的分析和设计方法, 该文结合UML建模技术和教学设计探讨了开放教育网络课程的建模过程。
关键词:开放教育,网络课程,UML,建模
参考文献
[1]柯清超.学习系统的软件建模方法研究[J].电化教育研究, 2003 (8) :46-49.
[2]张川.基于UML的网络课程自动生成系统研究与实现[J].计算机应用研究, 2007.12 (24) :228-230.
[3]李琦.网络考试系统的UML建模[J].科技信息, 2008 (35) :8-9.
UML课程 第5篇
随着高职教育的不断深入,高职课程改革日益受到重视,它也是高职人才培养模式改革的核心。目前,高职课程不同程度地存在职业针对性不强,岗位技能能力训练有效性差,指导学生职业活动过程不足等问题。我院借鉴德国“基于工作过程导向”的理念,结合专业特点,《UML建模》课程特点,经过探讨与实施,构建了该课程的教学资源[1]。以职业工作任务分析为依托,通过工作过程系统化课程实现工学结合,使课程开发,教学设计和实施的自身特点。
2. 基于工作过程系统化课程开发的三个阶段
(1)以市场调研为依据,制订人才培养方案[2]。
UML建模是软件开发过程的重要环节,指导了规范性软件开发的方法和途径。相关的职业岗位有“项目组长”,“软件开发人员”,“数据库设计人员”,“软件测试人员”,都需要运用UML建模方法。
(2)精心开发课程,有条不紊组织实施。
通过岗位调研,寻找合适的载体设计学习情境[3]。制定学习领域课程标准和学习领域课程设计,从而建立阈值配套的教学环境,准备各种教学材料,选择合适的行为导向组织实施教学,将理论与实践教学融为一体。以学生为主体,教师为主导,实现做中学,做中教,激发学生的学习动力,注重结果与学习过程考核,在实施过程中促进学生综合职业素质的养成。通过对岗位的任务要求进行分析,选择典型工作任务可以根据系统的不同特点分成“桌面系统”“嵌入式系统”“大型网站”三类。“基于角色划分的项目导向教学法”是我在“工作过程系统化”思想的指导下,在实际教学工作中所做的实践和创新。其基本做法是按照“工作过程”对课程进行“整体设计”和“单元设计”,每个“单元”以相对独立的项目作为驱动,并按照“软件开发项目组”来对学生进行划分,在每个小组内部学生有其特定的职业划分。针对《UML建模》课程,可以设计客户负责人、项目经理、程序设计员、项目文档员这些职业角色,提供相应的《项目责任书》,由学生担任特定角色。整个“项目开发过程”由相应的《工作过程规范管理》进行监督和管理。最终的教学结果评审也依据该规范。
(3)建立全方位,多视角的评价与反馈系统。
教学评价与反馈是教学活动中其激励导向和质量监控的作用,它涉及教学目标,任务,方法,效果各个方面[4]。通过“教学做”一体化教学,打破期末一张试卷的模式,体现了人性化管理的理念。在UML建模实施过程中,可以分成项目过程总安排可以将项目实施划分成需求调研,总体设计,详细设计,验收阶段,然后规定各个阶段的可交付成果。然后出具各个阶段的工作过程管理规范,规定哪些职业角色参与其中,要完成哪些任务。而评价可以贯穿于工作过程当中,分析各个阶段的成果,进行过程考核。而一个完整的项目完成以后就可以对整个项目的各个成员表现进行评分。
3. 职业角色设置
对于学生来说,他们希望在学习过程中能够涉及一些职业化的训练。很多高职本科都有实验实训基地,将课堂教育搬到办工厂化的环境中,让学生更早地接触到生产实际情况。在计算机专业的教学过程中,极少有这样的必要和机会。相当多的课程,不需要职业角色的划分,比如程序设计课,但是UML建模本身针对的岗位群就涉及合作与协同。UML的整个软件开发过程就是由多个职业角色相互配合才能完成。所以结合本课程的特点,有必要将“职业角色”划分纳入到课程设计中去。
4. 实施指导
(1)应用项目驱动式教学, 模拟真实软件项目开发过程。
(2)分解和细化项目,产生与知识点对应的“节点”。
(3)完善考核制度,使考核内容能够反映学生工作过程的每个节点。以“项目组”为单位进行项目考核;以“角色”为单位进行项目内部考核;将考核分成“专业能力”“方法能力”“社会能力”三个维度。研究内容应按照“以项目为驱动,工作过程为导向”的指导思想进行课程教学设计,并将“角色划分”的特色加入到设计中去。
按照以下几个步骤进行教学改革。 (1) 岗位分析;从学生到职业人的成长和认知规律递进关系,从而构建基于工作过程系统化的学习领域课程体系。 (2) 课程能力目标研究;该课程对应于软件开发规范化的能力,包括文档能力,快速开发能力,建立模型能力,项目管理能力等多种能力。这些都是在岗位分析中得到的岗位所需要实现的能力目标。 (3) 项目与课时安排研究;根据项目类型的不同,找到典型的项目,放入课堂教学中,并且按照项目的难易程度和学生的接受水平评估课时安排。同时将项目中的角色划分找好,以文档的形式固定下来。 (4) 课程设计思路与方法;课程设计以真实典型的项目为依托,将行动性的特征转换为教育职责特质,开发出具有真实职业特征,富裕社会责任,将有教学价值的行动领域转换成学习领域。 (5) 学习情境设计研究;将课程重点每个单元设计成一个完整的软件开发规范化过程,将这些过程进行分解,获得每个情境下需要的知识目标,能力目标,项目依托,职业角色,考核标准。
5. 方法评价
主要采取文献研究法、典型调查法、专家访谈、座谈法、行动研究法对该方法在教学过程实施中的效果进行评价。通过调查比较,发现采用该方法后,学生在以下几个方面得到了提高:(1)在学习过程中能把自己融入职业角色的要求中去;(2)在工作过程中完成自己的角色任务;(3)在工作过程中实现对自己表现的考核。
摘要:职业教育课程要以“工作过程分析”为起点, 选用适合教学的典型工作任务为载体组织教学内容。在课程设置中要以学生为载体, 以职业能力培养为主线, 以“教学做一体化”为特点。《UML建模》是一门以项目开发方法为教学内容的课程, 所以将软件开发流程融入到教学情境中是合适的。而软件开发需要多种职业角色配合完成, 所以“角色划分”法适合该课程。如何更好地将职业能力培养融合到教学过程中是该课题所要探讨的问题。
关键词:工作过程系统化,角色划分,高职课程改革,课程开发
参考文献
[1]山颖.基于工作过程系统化学习领域课程开发与实施的“361”路径[J].教改新浪, 2009.6:16-19.
[2]姜大源.论高职职业教育课程的系统化设计——关于工作过程系统化课程开发的解读[J].中国高教研究, 2009 (4) :66-70.
[3]姜大源.工作过程导向的高职课程开发探索与实施——国家示范性高等职业院校课程开发案例汇编[M].北京:高等教育出版社, 2008.
UML课程教学方法的探索与实践 第6篇
UML作为一种面向对象的建模语言, 已经成为面向对象软件系统分析设计的必备工具。越来越多的软件设计开发人员使用UML, 很多高校也开设了UML课程。然而, 笔者在教学过程中发现学生在学习了UML的各种符号、图形等基础知识后, 真正涉及到一个完整真实的案例时, 却茫然的无从下手, 导致课程学习难以与软件开发过程有效的结合起来。因此如何有效改进课程的教学效果是许多教师都在思考的问题, 下面结合自身的教学经验, 从案例教学、团队合作、交流讨论三个方面进行了探讨。
2、案例教学
案例教学是指对于工学结合的课程, 教师使用案例进行教学。其中案例是由教师课前, 根据一定的教学目的, 精心编写的或挑选的、与实践相关的、具有代表性的典型案例, 在课堂上组织学生进行分析和讨论, 然后由教师对其进行归纳总结等教学程序来实现教学目标的一种教学方式[1]。选择的案例难易程度要适中, 应与课程大纲相一致, 确保不会脱离课程教学的基本要求, 并且能覆盖课程主要教学内容。结合教学目标与培养方案, 选取贴近学生学习生活的“学生信息管理系统”作为贯穿UML课程的教学案例, 可以调动学生学习的积极性和主动性, 使他们能够积极主动地参与到整个教学活动过程中。
在实际教学中, 以“学生信息管理系统”作为教学案例来组织整个教学过程。UML作为一种可视化的建模语言, 其主要表现形式就是将模型进行图形化表示。针对UML每一种图的讲授均通过图的基本概念, 图的组成, 图的创建概述, 图的创建示例这四个方面进行。而具体到每一种图的创建时, 都是围绕“学生信息管理系统”来展开的, 始终基于该需求层层推进, 从系统分析、设计到实现, 从用例视图、静态视图到动态视图。基于案例教学, 使生硬的理论概念活了起来, 使学生在整个课程学习中思路变得清晰起来, 对系统的理解变得自然而通透。
3、团队合作
在案例教学的基础上进一步开拓学生的思维, 提高他们分析问题和解决问题的能力, 实施了团队合作。团队合作指的是一群有能力, 有信念的人在特定的团队中, 为了一个共同的目标相互支持合作奋斗的过程。团队合作的目的在于发展学生运用与课程相关的知识, 充分的与团队中的其他成员交流, 通力合作共同解决问题的能力。
在课程基础章节学习完毕后进行了UML课程设计, 将学生分成多个4~6人的小组团队, 使教学的基本单位由个体的学生扩展为分组的学习团队, 团队中的每位成员都赋予了各自的角色;要求各个团队自选一个不同的题目, 将前面介绍的UML各种图形以及模型元素综合起来, 以书面报告的形式形成一个具体的系统建模, 并用ROSE画出该系统的用例图、类图、时序图、协作图、状态图、活动图、组件图和部署图, 以完整体验使用UML对面向对象的系统进行分析、设计的全过程。将团队合作引入到实际教学中, 教师主要提出具体任务和要求, 并对如何完成这一任务作一些启发性的提问和方法上的阐述, 充分调动学生的好奇心, 有效地激发了他们的学习兴趣、创造力以及协作精神。最关键的是使学生在面临一个新的任务时不再茫然, 他们知道从哪里入手, 从哪些方面展开, 积极参与到知识、问题和任务的讨论中。经过一段时间的探索与磨合后, 同学们都认识到个人的能力和思维是有限的, 应该多借助团队的力量, 学习别人的优点和长处, 学会站在不同的角度看待问题。同学们也都体会到自主探索的乐趣, 团队合作的成就感, 并能针对出现的问题提出相应的解决方案。一改以往教师主讲, 学生被动听课的状态, 真正实施了以学生为主体, 教师为主导的教学模式, 大大提高了UML课程的教学效果。
4、交流讨论
每个团队最终以书面报告的形式展示任务的完成情况, 并将主要信息做成演示文稿。在课堂上由教师组织每个团队在规定的时间内由组长讲述, 相关成员补充, 其它团队进行挑错评议, 引导学生推进讨论, 集思广益, 开拓思路, 各抒己见, 让他们从不同的角度看待系统, 讨论问题。以学生讨论为主, 教师点评为辅, 尽可能针对一些大家都存在的共性问题展开讨论, 让学生在思路上得到进一步拓展和启发。通过讨论, 一方面可以使学生学习彼此的优点, 看其它同学是如何完成任务的, 在方法上和自己有什么不同且优于自己的地方;另一方面大家共同找不足, 发现存在的问题, 通过交流一起探讨改进意见和解决方法。
在这一阶段, 教师的任务并不是使学生接受特定的解决方法, 而是倾听学生的意见并教他们如何自己去判断问题、分析问题。教师的主要作用是提出疑问, 引起争论, 鼓励分析, 推进讨论。教师要帮助学生学会评价自己及他人的见解, 为学生提供讨论的方向与机会, 处理学生在讨论中的各种情绪反应等[2]。
最后由教师结合学过的理论知识针对出现的问题进行归纳总结。通过学生的交流讨论教师进行查漏补缺, 讲解一些共同的难点问题, 并给出相应实例, 进一步加深学生对所学知识的理解和综合运用, 有效提高了UML课程的教学质量, 取得了良好的教学效果。
5、结束语
在实际UML教学中, 笔者在基础章节采用案例教学, 在整个课程后期通过团队合作完成课程设计, 最后组织学生交流讨论, 针对出现的问题进行归纳总结, 收到了良好的教学效果。这些都来源于实际教学工作中的一些经验性的总结, 希望对该课程的开展起到一定的借鉴作用。
参考文献
[1]毛伟芳.案例教学在职教中的运用[J].保山师专学报, 2004, 22 (6) :77.
UML课程 第7篇
《UML建模基础》是高职院校计算机专业的一门重要的专业课。很多学生刚刚开始学习面向对象技术的时候, 常常容易被时髦的技术吸引:设计模式、UML等, 这些课程中的知识都像是面向对象技术上的一个个珍珠, 当学生很努力地学习了许多知识, 然而当他们接触到真实案例时, 却发现自己甚至不懂得如何动手, 因为根本不知道从那里开始, 不知道把现实的需求变成代码应该遵循什么样的流程, 不知道如何进行系统分析, 不知道开发应遵循什么样的项目流程。虽然也许学生们所有知识可能都很熟练, 可是这些知识犹如珍珠散落在各个地方, 始终无法成为一条精美的珍珠项链, 这是因为学习的知识缺少了丝线。现在, 我们教师的任务就是用基于任务驱动的工作过程作为丝线, 将知识的珍珠串成一条条尽善尽美的项链。下面以《UML建模基础》一次课的教学设计方案为例, 介绍我们如何基于任务驱动进行教学。
二、《UML建模基础》教学设计方案任务之五:活动图的绘制
1. 教学目标
通过本次课的教学, 学生能理解活动图的概念和内容, 能够使用活动图对一个简单系统进行描述, 并独立完成本节提出的任务。
2. 教学组织
2.1教学方法
处理文字 (做标记) 、旋转木马法、交头接耳法、关键词卡片法
2.2教学安排
2.1.1遵循以"学生自主学习"、"能力培养为目标"、"行动导向为本位"的原则。以"基于工作任务的情景式教学"模式, 通过简单的简单图书馆管理系统让学生学会活动图的绘制。
2.1.2通过让学生处理书上有关活动图的概念, 进行标记, 然后采用旋转木马法, 此时可视学生掌握信息的差异及交换信息的具体情况, 确定旋转的次数和内外圈学生需要调整的位置, 最后可根据学生的要求, 可以再处理未解决的问题, 由学生或教师给出一个简短的总结。
2.1.3学生通过分组讨论, 找出若干关键词写在卡片上, 作出可视化成果, 并随机挑选学生对这些卡片上的关键词做出简短的解释。
2.1.4学时
安排4学时, 将理论教学与实训融合起来完成该次课任务。
3. 教学内容设计
3.1任务导入
在用例模型中, 可以利用文本来描述用例的业务流程, 但如果业务流程较为复杂的话, 则可能会难以阅读和理解, 这时需要用更加容易理解的方式 (图形) 来描述业务过程的工作流, 我们此次课的目标就是要大家知道在UML中用什么图形、如何描述这类活动的流程。
3.2教学环节1熟悉本次课内容 (采用处理文字法)
请同学们在15分钟内独立"处理"书中指定活动图这一节的有关的内容, 此时不只是阅读, 还要学生在自己认为的关键地方做标记, 还可以在必要的地方做出注释。
3.3教学环节2交流阅读体会 (采用旋转木马法)
请同学们站起来面对面一对一围成圈站好, 我们班共有48人, 所以内外圈各24人。内圈的每个人将刚才的内容复述给外圈的同学听, 外圈同学不要有任何评论, 只要专心倾听。
在此期间, 老师注意观察, 大约10分钟后, 老师喊停。接下来, 根据学生掌握信息的差异及交换信息的具体情况, 确定旋转的次数和内外圈学生需要调整的位置, 开始由外圈的同学将刚才的内容复述给内圈的同学听, 内圈的同学不要有任何评论, 只要专心倾听, 同样花10分钟时间。这种方法称为旋转木马法。旋转次数由老师视情况决定。
3.4教学环节3讨论学习心得 (采用交头接耳法)
分组采用"交头接耳"法进行讨论, 思考刚才书中内容的关键词, 并在纸上用可视化的方法把你们所认为的关键词表示出来。注意要通过小组全体成员的共同协作和努力完成此项任务。
3.5小结 (采用关键词卡片法)
每组挑选一名成员解释自己的可视化成果。老师在这里就他们的成果可作适当补充, 把所有关键词写在卡片上, 作为资料数据库保留, 下次课及以后复习均可使用。
关键词:活动图的基本要素、状态、转移、分支、分叉和汇合、泳道、对象流
3.6工作任务1用活动图描述图书馆管理系统中对用户信息的修改 (通过小组协作)
图书馆管理系统中需要提供对用户信息的修改功能, 请通过小组的交头接耳法讨论, 并使用活动图描述该用例。要求在20分钟内完成这一任务。
同时, 请思考:活动图的描述该注意哪些问题?
3.7工作任务2用活动图描述图书馆管理系统中图书借阅过程 (通过小组协作)
经过刚才的任务及讨论学习, 请大家进一步用活动图描述图书馆管理系统中图书借阅过程活动图。同时, 请思考:活动图建模的一般步骤及活动图的用途。讨论结果可参考与下列的说法。活动图可以用作以下目的:
(1) 描述一个操作执行过程中所完成的工作 (动作) , 这是活动图最常见的用途。
(2) 描述对象内部的工作。
(3) 显示如何执行一组相关的动作, 以及这些动作如何影响它们周围的对象。
(4) 显示用例的实例如何执行动作以及如何改变对象状态。
(5) 说明一次业务流程中的人 (参与者) 和对象是如何工作的。
活动图中的基本要素包括状态、转移、分支、分叉和汇合、泳道、对象流等。
3.8工作任务3用活动图来描述系统中已知用例的业务过程 (采用完整行动六步法)
根据图书管理系统开发进度, 在完成对系统的需求建模, 得到用例模型后, 应针对每个用例进行业务分析, 说明其具体的业务流程。
要求:
用活动图来描述系统中已知用例的业务过程:
1.描述新增读者用例
2.描述删除读者用例
采用六步法:获取信息->计划-->决策->实施->控制->评价的行动导向自主学习循环过程。
通过此任务的完成, 大家要懂得如何给一个系统绘制活动图。
同时, 思考:活动图与传统的流程图有什么区别?
3.9总结
本节学习了以下主要内容:
能力点1:活动图的概念
能力点2:活动图的基本元素
能力点3:UML中如何绘制活动图
4. 拓展训练
4.1在线考试平台系统中学生参与考试的活动图。
4.2对超市进存销管理系统中的活动图。
三、教学设计方案的几点说明:
1. 将真实的经典案例与课程知识相融合, 以实际项目中的具体工作任务为行动导向, 作为此教学设计方案的整体思路。
2. 本方案主要从教学方法上进行改革, 教学方法采用了2009年5月教育部新世纪教学研究所与德国巴登符腾堡州立教师继续教育学院在成都举办"德国职业教育教学法及教学质量管理"培训班中介绍的几种方法, 目的是将以教师为中心的课堂转换成学生自我学习的过程。
3. 本方案在教学过程中不仅考虑到学生知识能力的培养, 更重要地注意采用多种教学法以培养学生获取信息能力、沟通能力、专注能力、团队协作能力等方法能力。
4. 本方案将原来分开的理论和实践课完全融合起来, 注重学生能力的培养。与传统的实践教学方法相比, 改变课程设计模式, 通过讲授与实践一体化, 运用任务驱动式教学方法, 实现课程教学的"教、学、做"为一体。
四、教学改革的思考与体会
《教育部关于全面提高高等职业教育教学质量的若干意见》中指出:加大课程建设与改革的力度, 增强学生的职业能力;突出实践能力培养, 改革人才培养模式。在国家示范性院校建设中, 专业课要突出职业能力培养, 体现基于职业岗位分析和具体工作过程的课程设计理念, 以真实工作任务或社会产品为载体组织教学内容, 在真实工作情境中采用新的教学方法和手段进行实施。因此, 为培养高技能人才, 我们要打破原有的教学模式, 探索课堂与实习地点一体化的教学, 从课程设置、教学内容及教学方法上以崭新的改革思路迎接巨大的变革。
摘要:在国家示范性高职院校建设中, 专业课要突出职业能力培养。本文以《UML建模基础》一次课的具体教学设计方案为例, 介绍如何基于任务驱动进行教学, 从教学内容及教学方法上打破原有的教学模式, 以崭新的课程改革思路迎接巨大的变革。
UML课程 第8篇
关键词:统一建模语言课程教学,案例,启发式教学
UML (Unified Modeling Language, 统一建模语言) 是一种面向对象的标准建模语言, 采用成熟的软件工程思想及建模技术, 对大型、复杂的软件系统进行分析、设计和文档化, 方便软件设计开发人员交流和使用。目前, 高校软件类专业基本都开设了UML基础等软件建模课程, 然而UML课程教学轻实践重理论, (1) 学生运用UML工具对软件系统进行分析与设计的能力欠缺, 无法满足企业对软件人才的需要。因此, 如何有效提升UML课程的教学效果, 是值得我们从教人员深入思考和探索的地方。
1 UML课程教学现状和问题
UML作为软件行业标准的建模语言, 是计算机、软件工程等专业学生必须掌握的专业基础知识。UML课程传统的教学模式 (2) 是根据学校制定的专业培养方案, 结合课程教学内容确定教学计划, 教学形式以课堂教学为主, 实践教学为辅。课堂教学“老师讲、学生听”, 实验教学“学生练、老师指导”, 学时分配以课堂教学为重。
UML课程重点讲解软件建模的方法和技术, 以及建模工具的使用, (3) 传统课堂教学以知识点为中心, 先逐一讲授知识点, 然后通过简单的案例进行示范说明, 这种正向教学模式虽然具有一定的知识连贯性, 但从企业对软件人才的需求角度来看, 学生解决综合问题的能力得不到锻炼。课程内容特点是细节知识繁杂、内容枯燥抽象、关联知识较多、实践性较强。 (4) 由于学生实践经验不足, 普遍存在对UML的作用缺乏认识, 学习热情和积极性不高。
UML课程教学要求并不明确, 大多数教材主要介绍各种UML建模元素, 以及如何使用ROSE或VISIO这类建模工具软件, 知识点内容本身比较简单, 建模工具单一, 如使用早期的建模工具软件就不能描述UML2.0中的交互概观图 (Interaction Overview Diagram) 。课程教学与实践结合难度大, 存在理论与应用脱节的现象, 然而系统分析与设计的经验和体会必须通过软件开发过程实践才能获得。教材中使用的案例主要来源于早期的学术著作和文献, 内容缺乏新意, 举例简单, 看起来容易理解明白, 但在遇到实际的软件项目开发时却很难加以创新性运用, 致使学生难以理解UML的实际应用价值。
UML课程实验环节虽然可以帮助学生巩固所学知识点, 提高学生解决问题的能力, 但实验学时较短, 难度中等偏下, 选题比较陈旧, 与软件企业实际项目课题的规模相距甚远。此外, 学生动手实践能力参差不齐, 实验过程缺少协作, 有畏惧情绪的同学遇到问题几乎不咨询指导老师, 甚至出现实验报告抄袭的情况。
UML课程的考核方式主要采用笔试, 实验成绩作为辅助参考, 以考核知识点为主, 综合设计题所占比例不大, 难以体现学生的综合能力, 学生在学习过程中必然会忽视系统设计能力的锻炼和主动思维习惯的培养。
针对上述现状和存在的问题, 为了提高教学效果, 培养学生自主学习与创新应用能力, 鼓励学生积累软件系统设计经验, 转变教学思路, 提出案例启发式教学实践框架。
2 案例启发式教学实践框架
案例启发式教学改变传统教学主要靠“讲”的教学方式, 而是先通过IT行业应用案例来启发学生思考, 设置投石问路的情景问题, 采用“问”的方式逐一将相关知识点“引”出来, 避免了传统教学按部就班地给出名词、下定义、解释、举例、应用所带来的枯燥和不易理解, 激发学生的学习兴趣;针对相关知识点提出不同的任务布置给学生“学”, 学生独自完成任务, 可以利用教材、参考书、网络等资源进行自主和协作学习, 撰写学习报告, 使被动学习变为主动学习, 带着问题和任务去寻找答案, 提高学生的学习热情, 锻炼学生的自主学习能力;针对学生学习任务完成情况, 结合学习内容, 授课教师再进行有针对性和选择性的补充“讲”解和总结, 将相关知识点转化为实例, 如果有条件还可以进行现场UML建模分析演示, 这样既可以起到引导示范的作用, 也给学生留下深刻印象;学习和讲解完成后, 学生分组进行项目演“练”, 学生之间分工合作, 互学互帮互助, 确定需求共同完成系统分析与设计方案, 最后以演讲与答辩的方式上台展示、讲解系统模型, 并回答老师和学生的提问, 实现对知识点的理解和应用, 锻炼学生实践操作的能力、独立解决问题的能力和交流与演讲能力, 培养团队合作的精神, 如果有条件可以考虑利用手机和网络构建交流学习平台。 (5)
案例启发式教学实践框架要求授课教师精心准备恰当的案例, 使得案例具有针对性, 能与知识点相衔接, 易于学生理解和掌握, 同时也要尽量调动学生的积极性和主动性, 给予适当的学习任务和项目实践的压力, 这种压力可以通过综合考评来施加, 改变传统的期末考试定分数高低的片面评价体系, 而是采用多内容、多形式的复合评价系统来综合评定学生的成绩。多内容包括任务学习报告成绩、项目实训成绩、期末考试成绩等;多形式包括学生自我评价、学生互评、教师评价等。采用复合评价系统的目的是为了体现教学过程所取得的学习效果, 而不是仅仅获得一个课程分数。
3 UML课程案例启发教学模式的实施
结合上述案例启发式教学实践框架, 以“案例启发思维、学生自主学习、老师总结评价、项目实践训练”为教学理念, 强调培养学生团队协作解决实际问题的能力, 在此基础上改进完善UML教学模式, 下面以笔者所承担的软件工程专业“基于UML的面向对象分析与设计”课程为例进行阐述。
(1) 案例启发课堂教学。按照软件工程专业培养计划, 此课程安排在大三上学期, 教学对象是具有一定基础编程开发经历及基础专业知识的学生, 但系统开发经验不足, 软件系统分析与设计能力有限, 因此, 课程初始应以学生熟知的应用软件或系统为切入点展开说明此课程的目标和作用, 让学生对课程的总体内容和课程重点有所了解。如何选择合适的应用案例, 如何利用应用案例来引导学生思考是这个环节的关键。应用案例要贴近学生生活, 业务流程清晰, 容易理解, 案例规模要适合学生能力水平, 例如很多教材中使用了学校图书馆管理系统、学生选课与成绩管理系统等。笔者以“银行ATM系统”为应用案例, 展开课程的介绍和内容的引导, 基于应用需求逐步推进介绍, 从系统分析、设计到实现, 从用例建模、静态建模、动态视图到架构建模, 应用案例始终贯穿其中, 学生在深入理解应用系统设计开发流程的同时, 课程内容框架也建立起来, 对课程的作用和学习重点也有清晰的认识。
(2) 自主学习与归纳。提前预习课程内容是比较好的学习习惯, 但自觉预习的学生并不多, 被动地接受陌生的知识取得的学习效果不如带着问题主动学习的效果好, 因此, 采取作业提前“做”的思路, 在讲解每章内容之前, 把每个章节涉及的重点内容转变成为问题, 布置成作业, 让学生自主学习, 并归纳整理成报告。例如, 如何获得并收集用户需求?如何分类整理用户需求?如何描述ATM系统用户身份验证业务流程?身份验证业务流程涉及哪些实体类?等等此类问题让学生先进行思考。这个环节突出锻炼学生的自主学习能力、知识分析归纳能力及报告撰写能力。
(3) 讨论式课堂教学。在学生自主学习的基础上, 结合之前所提出的问题, 教师与学生共同探讨问题的答案, 总结相关知识点内容, 将知识讲解与“银行ATM系统”应用案例讲解相融合, 用知识解释案例, 以案例带动知识的学习。学生也可以质疑所学内容, 例如, 客户需求经常变化该怎么办?不同方式的身份验证安全性如何?除了常用的Visio, Rose之外, 轻量级的UML软件工具有哪些?等等。通过此环节, 学生可以进一步巩固消化知识点, 加深对知识点的理解和掌握。
(4) 实训与演示。课程重点内容讲解结束后, 布置“火车订票系统”或者“航班订票系统”给学生进行实践训练, 以小组为单位, 每个小组人数相同, 在规定的时间内完成系统分析与设计, 提交建模文档, 并上讲台进行演示说明, 各小组及老师共同参与评价。由于“银行ATM系统”与“火车/航班订票系统”有相似之处, 也有不同之处, 学生在进行系统分析与设计时, 以案例系统作为参照, 对所学知识进行回顾, 但同时又激发学生进行独立思考解决新问题, 经历从照葫芦画瓢到应用创新的转变。在这个环节中, 师生可以共同探讨各小组系统设计中存在的问题, 综合归纳普遍存在的设计错误;小组之间可以互相比较设计的优劣, 互相促进, 在纠正自身错误的同时也避免重复其他小组的错误;在保证设计思路正确的情况下, 允许各种不同设计方案的存在, 不要统一标准和答案, 鼓励学生勇于创新, 提出自己的想法, 在后续的课程学习和集中性实践课程中要贯彻系统分析与设计的理论方法, 指导自己软件系统的开发, 达到学以致用的目的。
注释
11 许波, 陈晓龙.UML结合软件工程教学改革探讨[J].计算机教育, 2011 (2) :34-37.
22 王志国.基于动式理念的UML课程项目实践教学模式研究[J].绥化学院学报, 2013 (3) :139-141.
33 陈昊, 明仲, 彭小刚.在UML课程的实践教学中实施CDIO的探讨[J].计算机教育, 2010 (14) :125-128.
44 张丽平, 李松, 郝晓红.结合案例和任务驱动的UML教学方法研究[J].黑龙江教育学院学报, 2012.31 (3) :50-52.
UML建模在校园一卡通中的应用 第9篇
关键词:UML 建模 校园一卡通 面向对象系统分析
中图分类号:TP34文献标识码:A文章编号:1674-098X(2012)09(b)-0048-02
在当代高校中学生基本采用住校制,因此日常消费大都在校园中,而高校师生众多且消费频繁,如果仅靠现金或饭票等消费,一方面会给广大师生带来极大的不便,另一方面将给学校的各个消费点的员工带来很多麻烦。
统一建模语言UML是一种可视化、表达能力强的面向对象统一建模语言,本文采用OOA方法将UML建模应用于校园一卡通系统的开发,降低了系统复杂性,优化了系统各阶段的建模过程,提高了软件开发的质量和效率。
1 UML及OOA概述
UML是一种通用的图形化建模语言,易于表达、功能强大且普遍适用。它融入了软件工程领域的新思想、新方法和新技术,是国际对象管理组织(Object Management Group,OMG) 的标准。[1]
2 UML建模在校园一卡通中的应用
2.1 校园一卡通需求分析
校园一卡通系统是基于现代信息技术和自动控制技术的计算机网络系统。它的使用对于加强校园后勤服务的信息化建设有着重要的作用。本系统中每位消费者(包括教师和学生)都有一张卡,在网络管理中心注册和缴费,卡内记录着消费者的身份信息及余额。使用时将卡贴近卡机则显示卡上金额,服务员按卡机上数字键,卡机自动计算并显示消费金额及卡的余额。网络管理中心可以监视消费者的每一笔消费,可以打印出消费情况等相关统计数据。本系统具体可以满足以下的几点需求:
⑴系统信息的管理:主要建立卡的用户档案等;⑵卡的管理:开户、更改、发卡、挂失、解挂、注销、补卡、充值、统计等;⑶营业汇总:汇总交易数据以及生成相应报表等;⑷查询:查询消费明细记录以及可查询卡内余额等;⑸系统维护:数据备份、数据恢复、端口设置、管理员信息设置等;
2.2 建立需求模型
需求模型用于定义用户需求,由UML中的用例图来表示。对一个系统或者子系统的参与者、用例以及它们之间的关系进行可视化表示的模型图称为用例图(use case diagram)。用例图中包含的元素有:参与者、用例、参与者与用例之间的关系、用例与用例之间的关系。
参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。对于校园一卡通,主要的参与者有三个,即持卡人、管理人员、工作人员。
另外还需确立用例之间的关系,主要有包含和延伸关系。延伸表明一个用例中定义的行为延伸了另一个用例中定义的行为。前者称为延伸用例,后者称为基用例,其图形表示法是一个从延伸用例指向基用例的虚线开放箭头,旁边带一个关键词《extend》。包含表明一个用例中定义的行为包含了另一个用例中定义的行为。前者称为基用例,后者称为被包含用例,其图形表示法是一个从基用例指向被包含用例的虚线开放箭头,旁边带一个关键词《include》。图1为设计的管理人员的用例图。
2.3 建立基本模型
基本模型以直观的方式表达了最重要的系统构造信息,由UML中的类图表示。在面向对象的建模中,类图(class diagram)永远是最重要、最基本的模型,而其他各种图只是起到一种辅助作用[2]。类图(class diagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。构成类图中的主要成分是类与类的属性和操作以及类与类之间的关系。
在面向对象的分析中,最重要的工作是研究问题域,对问题域中的事物进行抽象,从而得到系统所需要的对象。类是具有相同属性和操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,它由一个类名、一组属性和一组操作构成。在校园一卡通中主要有服务器类、收款机类、储值卡类、消费事项类、经营结算事项类、卡的管理事项类、消费日志类等7个类。因此图2为设计的系统类图。
2.4 建立辅助模型
辅助模型是对基本模型进行组织或者加强理解的辅助图形。主要包含顺序图、状态图、活动图等,随着UML版本的提高,图形的复杂性也在增加。
顺序图是一种详细地表示对象之间行为关系的图。一个顺序图通常只描绘一组相互协作的对象在完成一项功能时彼此之间的交互情况。它按时间顺序把各个对象所执行的操作以及它们之间所传送的消息展现出来,因此可以清晰而直观地表示对象之间的行为关系以及操作和消息的时序关系。图3为持卡人消费顺序图。
活动图的作用是对系统的行为建模,它把系统中的一项行为表示成一个可以由计算机、人或者其他执行者执行的活动,通过给出活动中的各个动作以及动作之间的转移关系来描述系统的行为。图4为管理人员活动图。
状态图描述了一个对象在其生命期内所经历的各种状态,状态之间的转移,发生转移的动因、条件以及转移中所执行的活动。图5为管理人员的状态图[3]。
3 结语
面向对象的系统分析是软件生命周期的第一个环节,也是面向对象方法的优越性得以充分发挥的关键领域,从分析阶段就以面向对象观点去认识问题域,这使得面向对象的概念与原则贯穿软件开发的全过程,在整个软件生命周期保持概念的一致性,这对于改善软件开发和维护,对软件复用级别的提高都具有十分深远的意义[2]。在本次校园一卡通的设计中,从系统的需求分析出发分别对系统建立了系统的需求模型、基本模型和辅助模型,使得UML建模在本系统中得以充分应用。
将UML建模应用于校园一卡通中,可以加强校园后勤服务的信息化建设、提高学校服务质量和管理水平。通过UML建模工具的使用,从用例图、类图、顺序图、状态图和活动图的抽象描述中构建出满足软件功能要求的软件模型,为应用 UML 建模技术进行面向对象软件开发提供了参考范例和借鉴,加快了软件开发进程,提高了软件开发工作效率。
参考文献
[1]FOWLER M.UML精髓:标准对象建模语言简明指南[M].徐家福,译.清华大学出版社,2005.
[2]杨芙清,邵维忠.面向對象的系统分析[M].清华大学出版社,2006.
初识UML 第10篇
设计UML的主要目的是描述面向对象的系统。随着软件产业的规模越来越大及对软件通用性的要求越来越强, 软件开发复杂性、难度系数也越来越大, 随之出现了许多能简化开发复杂度、清晰开发思路的的方法统一建模语言。UML是由Grady Booch、James Rumbaugh与Ivar Jacobson发起, 在Booch方法、OOSE方法、OMT方法的基础上形成的一个建模语言, 并于1997年9月发布的UML1.1。UML的诞生和发展对于整个软件开发流程的改善起了相当关键的作用。
UML对软件开发最大的贡献是在设计与建模上, 此前设计与建模比较纷乱, 众说纷纭, 结果造成很多开发者在建模的过程中不知道到底要遵循哪种方式, 相对地也会减缓软件开发的速度。UML带来的最大好处就是大家愿意在建模上发挥自己的能力, 把软件开发从原来的写程序发展到可以有很规范的结构和建模的方式, 这是软件应该要发展的方向, 也是UML意义最大的体现。
二、UML的概述及目标
UML是一种能够描述问题、描述解决方案、起沟通作用的语言。作为一种建模语言, UML的定义包括语义和语法两部分。UML的语义描述基于UML提供的精确元模型的定义 (元模型为UML的所有元素在语法和语义上提供了简单、一致和通用的定义性说明, 并且UML还支持对元模型的扩展定义) , UML的语义用自然语言描述, 同时在语义上, 模型是元模型的实例;UML的语法定义了UML的概念、元素、符号表示法及用法, 为开发者或开发工具使用这些图形符号和文本语法提供了系统建模标准。
UML是一种可视化的建模语言, 对其各种建模元素可进行详细说明, 并能生成所建模型的文档。使用UML时, 要从不同的角度观察系统, 为此定义了一个概念“视图”。视图是对系统模型在某方面的投影, 它注重于系统的某个方面, 每个视图是图的协作, 由视图可以定义模型, 模型在语义上是闭合的, 它从特定的角度、在一定抽象层次上描述目标系统。可以把视图组织成模型, 开发人员可从各视角观察并使用模型。
UML定义了5大类共9种视图: (一) 用例图; (二) 静态图, 包括类图、对象图和包图; (三) 行为图; (四) 交互图, 它描述对象间的交互关系, 系动态视图; (五) 实现图, 包括构件图和配置图。
UML成功的关键在于它能够反映软件开发者各种真实的需要。如果标准制定得太严格或太松散以至于根本不能用于真正的技术, 那么就会导致标准的失败。因此建立了以下目标:
(一) 为建模者提供现成可用的、富表达力的、可视化的建模语言, 以开发和交换有意义的模型。
(二) 提供可扩展性和特殊化机制以延续核心概念。
(三) 支持独立于编程语言和开发过程的规范。
(四) 为理解建模语言提供正好司的基础。
(五) 推动对象工具市场的成长。
(六) 支持更高级的开发概念。
三、简述UML建模过程及建模支持工具
在软件开发建模过程中可根据实际需要, 组合使用这些视图的一部分或所有视图。作为一个完整的建模语言, UML支持系统开发的不同阶段, 从需求描述、系统分析、系统设计直至最后的系统测试及维护。在需求分析阶段, UML通过用例模型来捕获用户需求, 通过用例图, UML描述跟系统相关的角色及他们对系统的功能要求 (用例) ;分析阶段主要关心问题域的概念和实体, 并得到与问题域直接相关的类和对象以及它们之间的关系;在系统设计阶段, 用户需要定义一些与技术相关的类, 如用户接口、数据库、通讯和并行等问题;在编码阶段, 开发人员应用一种语将设计得到的类转换成实际的代码, 同时需把UML支持的概念合适转化到特定的实现语言中;在系统测试阶段, 测试人员根据应用UML开发过程中产生的文档和各类图 (用例图、类图、构件图、合作图等等) 进行测试验证。
当然好方法一定要有好的工具支持才能取得好的效果, 由于UML本身是一个以图形化图符为主的建模方法, 因此在图形绘制及模型管理上会随着软件规模的扩大而变得困难。这时UML支持工具就显得更为重要, 工具的作用不仅在于它可以帮助人们方便地实现图示模型的绘制, 实现模型的更改, 更重要的是工具使得人们可以全面地对模型进行整个开发过程的管理。目前最常用的UML支持工具为Rational公司开发出来的Rose工具, 它全面支持UML中的各个模型, 同时还可从正向或逆向两个方向支持用户进行系统开发, 功能非常强大。
四、UML结合软件开发流程的体会
软件开发一般可分为瀑布式与反复式开发流程。瀑布式开发需要在开发初期进行详细的需求分析与设计, 在整个项目开发过程中, 总体需求基本保持不变。反复式开发一般首先建立一个系统最小模型, 然后根据需求, 逐渐实现系统其他部分。现实世界的需求, 很难在项目初期完全确定, 是随着时间的推延不断变化的, 这也要求我们采用这种迭代式的开发方法。目前最流行的敏捷软件开发, 正是基于这个原因, 采用反复迭代的方式进行软件的开发。在项目开发阶段, 应把UML当作草稿, 在实现系统的过程中, 随着需求的变化, UML草图不断变化, 便于开发人员沟通交流与代码编写。在测试完成总结阶段, UML用作蓝图, 通过代码, 生成系统总体结构图, 这种图只要求粗略介绍系统, 不追求细节, 主要用于二次开发及维护人员对代码的了解。在软件技术发展的驱动下, 软件建模技术也会随之不断发展。未来UML技术必然会表现出它的局限性, 从而出现能够满足新需求的软件建模语言。
五、UML的发展趋势
UML从最初0.8版本到现今2.0版本, 功能正日趋完善。虽然目前由于UML较专业化, 使用难度还较大, 不过随着UML的不断发展, 相信不久的将来将会被越来越多的人应用。甚至有人预测当可执行UML技术成熟以后, 很多编程语言的生存都可能受到挑战, 可执行UML将取代一大批的编程语言。今后, 你只需画下类图, 然后指定对象之间的交互, 最后再选择运行平台, 建模环境就会帮你生成可执行文件了。Rational的XDE这个工具中, 我们已经可以看到可执行UML的雏形了, 你只需在建模环境中创建系统模型, 工具就会立刻帮助你生成可执行代码。
摘要:近年来UML在世界范围, 已经逐渐成为面向对象技术领域占主导地位的标准建模语言。本文对UML产生的背景及其基本概念进行阐述, 并谈了UML结合软件开发流程的体会, 最后对UML的发展趋势进行预测。
关键词:UML,统一建模语言,视图
参考文献
[1]冀振燕.UML系统分析设计与应用案例[M].北京:人民邮电出版社, 2003.06.
[2]美Kurt Bittner, Lan Spence著;姜昊, 许青松译.用例建模-USE CASE MODELING[M].北京:清华大学出版社, 2003.8.