UML学习心得体会(精选5篇)
UML学习心得体会 篇1
UML学习心得
(一)UML(Unified Modeling Language,统一建模语言)是一组用于描述OOAD过程的图形化表达方式。
UML为交流面向对象的设计中的需求,行为、体系结构的实现提供了一套综合的表示法。(二)UML由9个不同类型的图组成: 用例图:显示了系统的外部可视行为。
用例图描述了系统外的人员和系统的交互动作,以及系统的响应,该类型的图可以用于描述系统的功能需求。
活动图:显示系统行为的峡谷纳西描述。
活动图描述了单个功能需求内部的细节行为,包括基本的场景和一些可选的场景。
组件图:显示了系统的体系结构。
组件图描述了系统的可部署单元(可执行文件,组件,数据存储和其他一些内容)以及一些借口,可部署单元通过这些接口进行交互,该图可以用于研究系统的体系结构。
顺序图:显示了对象随着时间的交互。
顺序图描述了某个功能需求的路径或场景内相对时间的详细行为,该图可用于理解系统元素之间的消息流程。
协作图:显示了对象的交互,强调对象之间的关系。(在UML2.0里面找不到了)
类图:显示了类的定义和关系。
类图描述了系统设计中的类和接口,以及他们之间的关系。该图可用于定义内部的,面向对象的代码结构。
状态图:显示了响应时间的状态改变。
状态图描述了系统如何改变状态以相应内部的和外部的事件,确保每个事件都被适当的处理。
部署图:显示了系统的物理体系结构。
部署图描述了系统的可部署单元(应用,组件,数据存储等)如何被赋予不同的节点,这些节点如何交互通信,用于系统映射和负载的研究。包图:显示了设计的层次结构。
包图描述了设计的相关元素如何按组结合在一起,以及他们之间的关系。(三)各种图的作用
1.用例图(UseCaseDiagram)
它是UML中最简单也是最复杂的一种图。说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。用例图表示了角色和用例以及它们之间的关系。
2.类图(ClassDiagram)
UML面向对象中是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。3.对象图
UML面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。4.状态图
描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。5.时序图
又称顺序图,描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。UML面向对象中顺序图描述了这些对象随着时间 的推移相互之间交换消息的过程。消息用从一务垂直的对象生命线指向另一个对象的生命线的水平箭头表示。图中还可以根据需要增加有关时间的说明和其他注释。6.协作图
UML面向对象中协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象 彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺 序。协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。协作图用途:
通过描绘对象之间消息的移动情况来反映具体的方案。显示对象及其交互关系的空间组织结构,而非交互的顺序。7.活动图(ActivityDiagram)
UML面向对象中UML活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。
活动图由一些活动组成,图中同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以及并行执行等要求。
8.组件图(ComponentDiagram)
组件图是用来反映代码的物理结构。从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。
组件图的主要目的是显示系统组件间的结构关系。9.配置图
UML面向对象中配置图描述系统中硬件和软件的物理配置情况和系统体系结构。
在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里面,说明分配给该结点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些结点上运行。
UML是一种软件建模语言,可以对任何具有静态结构和动态行为的系统进行建模。在关注它建模特性的同时更要关注它的过程特性--在什么时间做什么工作,用什么模型,让哪些人来做。对系统用户而言,软件的开发模型向他们描述了软件开发者对软件系统需求的理解。让系统用户查看软件对象模型并且找到其中的问题,可以使开发者不至于从一开始就发生错误。对软件开发而言,软件的对象模型有助于他们对软件的需求以及系统的架构和功能进行沟通。对软件的维护和技术支持者而言,在软件系统开始运行后的相当长的一段时间内,软件的对象模型能够帮助他们理解程序的架构和功能,迅速地对软件所出现的问题进行修复。建模并不是仅对大型的软件系统,甚至一个小型的留言本也能从建模的过程中受益。利用UML可以有效地解决软件设计和分析过程中的沟通和交流问题,可以高效的了解整个系统结构,并且在设计之初就将软件的设计结构和思想固化在纸上有利于规避项目实施 过程中程序员离开的风险。UML可以贯穿软件开发周期中的没一个阶段,在开发阶段,他可以用于说明、可视化、构建和书写面向对象软件制品的设计语言。
UML能贯穿整个软件开发过程是因为在每个阶段都能够提供相应相应的图形来对应,使得改变需求,设计代码,测试分析能变得相对简单。在需求分析过程中,应该分为两个过程:1 需求的获取
2、需求的分析。需求的获取,往往不受到重视,在网上经常看到有人说,特别是国内目前的情况,项目工期紧,公司往往想方设法先把项目拿下来,然后就拿自己公司 以往做过的项目做蓝本,然后再根据顾客的需求改动,再次开发,测试,交付就完工了。但如果需求的获取,做不好,往往对后面的步骤流程造成很大的影响,造成 太多的改动和损失。所以为了得到更好的需求,使用UML建模能变得相对简单。例如需求的用例图对系统的功能模型的搭建。用例间的关系有包含、扩展、泛化三类。用例图包括角色、用例和关 系。角色可以有角色的描述,用例可以有用例的描述,这些描述在交流或评审中会非常有用。用例可以泛化,泛化用例具有基本用例的功能,还可以做得更多。角色 也可以泛化,泛化角色能执行原角色能执行的所有用例,还可以执行更多的用例。除了基本用例,角色不能与包含用例、扩展用例和泛化用例有联系。一个用例可以 对应一个类图。增、删、改、查一般来说对于大多数应用做为一个简单的操作即可,不必要作为一个用例来分析。
UML学习心得体会 篇2
现代主流软件工程技术主张采用模型驱动的软件开发方法。模型是现实系统的一个抽象,它提供了系统的蓝图,每个系统都可以从不同的方面用不同的模型来描述。所谓软件建模就是构建软件模型的过程,它是用户与开发者之间最主要的沟通渠道,同时也是整个软件系统开发过程中最重要的环节之一。
一、UML的建模机制
UML是由Rational公司三位著名的信息系统和面向对象方法学专家Grady Booch、James Rufnbaugh和Ivar Jacoboson联合开发的面向对象的建模语言,1997年被OMG批准作为面向对象建模语言的标准。UML作为一种通用的标准建模语言,易于表达、功能强大,不但适用于任何以面向对象技术来描述具有静态结构和动态行为类型的软件系统,而且能够应用于从需求规格描述至系统测试和维护等软件系统开发的不同阶段。因此,UML被广泛应用于可视化描述和构造软件系统,在信息管理系统的建模与开发中得到较为广泛的应用。
作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。UML语义用于描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致和通用的定义性说明,使开发者能在语义上取得一致,从而消除了因人而异的表达方法所造成的影响。而UML表示法定义了UML的表示方法,为开发者或开发工具使用这些符号和文本语法进行系统建模提供了标准。
UML用模型来描述系统的静态结构或动态行为特征,共定义了5种视图,包含了9种描述系统的图,可以从不同的视角为系统构架建模,从而形成系统的不同视图。
1. 用例视图
用例视图用于描述系统应该具有的功能集,强调从用户的角度看到的或需要的系统功能,是对系统的抽象表示。用例视图通常用用例图表示,用例图用于显示若干角色,以及这些角色与系统提供用例之间的连接关系,主要从用户的角度描述系统的功能,并指出各功能的操作者。用例图有助于系统开发者与用户进行交流,以获取系统需求。
2. 静态视图
静态视图用于对应用领域中的概念,以及系统实现有关的内部概念建模,静态视图包含类图、对象图、包图三种图。类图描述系统的静态结构,用于模拟保证系统正常工作的所有必要资源;对象图描述系统在某个时刻的静态结构,用于模拟资源的示例或事实;包图用于描述系统的分层结构。
3. 动态视图
动态视图包含以交互的名义对行为进行建模的图,有顺序图、状态图、协作图和活动图。顺序图表示对象之间在时间和顺序上的一种动态协作关系,主要目的是表现随着时间推移发生在对象之间的交互情况;协作图描述对象之间的交互关系,以及对象之间的联系;状态图描述的是一个单独的对象,在其生命周期中,由外部激励所导致的状态变化;活动图显示系统中从一个活动到另一个活动的流程,强调对象之间的流程控制。
4. 构件视图和配置视图
构件视图体现系统实现环境的结构和行为特征,用构件图表示。构件图描述系统的元素的组织,用于模拟实现视图,是实际的软件模块。配置视图体现系统实现环境的结构和行为特征,用部署图表示。部署图描述了环境元素的配置,并把实现系统的元素映射到配置上,它模拟的是硬件环境,图上的每个节点都代表某种类型的硬件。构件图和配置图都是对面向对象系统的物理方面建模时使用的图形。
从应用的角度看,当采用面向对象技术进行系统设计时,我们第一步应用用例视图进行系统的需求分析;第二步根据需求建立系统的静态结构;第三步是描述系统的动态行为。其中第一步和第二步都是静态的,是UML的静态建模机制,而第三步中所建立的模型,或者是可执行的,或者表示执行时的时序状态和交互关系,是UML的动态建模机制。因此,标准建模语言UML的主要内容可以归纳为静态建模机制和动态建模机制。
二、学习管理系统软件建模过程
1. 学习管理系统的需求建模
学习管理系统是一个开放的、基于Web的自动化信息管理系统。系统不仅需要具备教师对课程、作业、考试等进行的管理功能,而且要通过计算机网络向分布在不同地理位置的学习者提供课程浏览、课程学习、资源搜索、在线作业、在线考试等服务功能。同时,系统还要充分利用数字化网络学习环境,方便学习者通过异步讨论和实时交流进行协作学习。
为了正确获取用户需求并方便与用户沟通,我们可使用UML用例图建立模型表示系统的详细需求。用例图描述一组用例、参与者和它们之间的关系。参与者用人形图标表示,用例用椭圆符号表示,连线描述它们之间的关系。一般情况下,我们可以先给出顶层用例图,然后根据用户的要求,进一步细化用例,在细化过程中利用泛化关系、包含关系和扩展关系等对用例进行分解和组织。
学习管理系统的角色有三类:管理员、教师和学生。管理员使用该系统进行用户管理;教师使用该系统对学生课程学习、作业、考试试题和学生成绩进行管理;学生则可以使用该系统来进行课程学习、在线作业、在线考试和成绩查询。教师和学生还可以利用该系统进行在线交流、离线讨论、查看学习记录和查看系统信息等活动。每一种活动代表一个用例,这些用例还可以进一步细化,如课程管理用例可进一步细化为课程登记、开设课程、课程查询等用例。整个学习管理系统顶层的用例图如图1所示。
2. 学习管理系统的静态建模
完成系统需求建模后,对用例的分析推导,我们可以画出系统的静态模型。静态模型用类图、对象图、包图来定义系统中类 (对象) 与类 (对象) 之间的关系。类是具有相同属性、操作、关系的对象集合的总称,通常在UML中用矩形表示。类图是描述类、接口、协作和它们之间关系的图,主要用来描述软件系统的静态结构。因此,类图在静态视图中是必须的,也是最为重要的。对象图与类图比较一致,对象之间的链接关系表明类之间的关系。包图由包和类构成,描述系统类与包的分层结构。类图、对象图、包图共同组成对系统静态视图的描述。
学习管理系统中“课程管理”用例的类图如图2所示。
在“课程管理”用例中,有“课程类 (Course) ”、“开设课程类(CourseOffering)”、“人员类 (People) ”、“教师类 (Professor) ”、“学生类 (Student) ”、“学生登记类(StudentRegistion)”、“课程登记类(CourseRegistion)”等。其中,学生类和教师类是人员类的子类,学生登记类和课程登记类是开设课程类的子类。父类和子类之间的关系用三角符号表示,一般的联系用连线表示。
除了一般类外,系统还定义了“课程信息表单 (CourseInfoForm) ”、“查询课程表单(SearchCourseForm)”、“课程登记表单 (CourseRegistionForm) ”等接口类,可以分别为教师、学生、管理员提供课程登记、课程查询、课程信息管理等功能。
3. 学习管理系统的动态建模
在系统静态模型的基础上,我们需要分析和设计系统的动态结构,并建立动态模型。动态模型描述系统随时间变化的行为,在UML中,动态模型主要是建立系统的交互图和行为图。交互图包括时序图和协作图,而行为图则包括状态图和活动图。时序图用来显示对象之间的关系,并强调对象之间的设计顺序,同时显示对象之间的交互;协作图主要用来描述对象之间的交互关系;状态图描述对象所有可能的状态及引起状态转换的条件;活动图是一种特殊形式的状态机,用于对计算流程和工作流程的建模。
学习管理系统中“在线作业”用例的时序图如图3所示。各构件之间的依赖关系。一个构件可能是一个源代码、二进制文件或一个可执行文件构件。构件不仅包含逻辑类或实现类的有关信息,而且构件之间存在依赖关系,这种依赖关系有助于分析和理解构件之间的相互影响程度。学习管理系统中部分构件的构件图如图4所示。
图4中,“学习管理”构件包括系统执行程序(LearningManagement.exe)、“课程管理”构件实现课程管理的动态库(Course.dll)、“成绩管理”构件实现成绩管理的动态链接库(Score.dll)、“作业管理”构件提供作业管理的动态库 (HomeWork.dll) 等。另外,学习管理系统中还存在“考试管理”构件、“分组管理”构件等构件。“学习管理”构件通过接口依赖于“课程管理”、“成绩管理”和“人员管理”等构件,而“课程管理”构件依赖于“课程”、“开设课程”等构件。
配置图主要用于对系统的构件视图建模,主要描述系统中各个物理组成部分的分布、提交和安装过程。学习管理系统基于Web网络设计,将数据库服务器、应用服务器、学习管理系统的相应构件配置在不同的节点上。各个部分通过网络相互通信,实现一个“浏览器/服务器”结构的分布式系统。
在学习管理系统的设计和开发中,UML可以用于设计和开发的各个阶段,能够从更高的抽象层次对系统进行调整和维护,从而可以快速实现系统的重构和修改,大大提高开发效率。
参考文献
[1]丁永刚.利用UML开发基于J2EE的在线课程学习系统[J].教育技术装备, 2005, (10) .
[2]胡锡伟, 陈德人.基于UML的汽配行业销售管理建模与实现[J].计算机工程与设计, 2005, (4) .
[3]吴立春, 卞良, 严军.基于UML的网上考试系统的设计[J].宁夏医学院学报, 2004, (8) .
[4]时培芳, 张永胜.基于UML的工作流管理系统模型的研究[J].计算机系统应用, 2005, (10) .
[5]吴建, 郑潮, 汪杰.UML基础与Rose建模案例[M].北京:人民邮电出版社, 2005.
[6]李虎, 王美英, 万里威.UML基础、案例与应用[M].北京:人民邮电出版社, 2004.
[7]Ivan Porres.Modeling and AnalyzingSoftware Behavior in UML[EB/OL].http://www.tucs.fi/publication/phd phdthesis/phd-porres01a.pdf.
UML复习总结 篇3
2.RUP(rational unified process): 统一开发过程是一种过程框架,有助于使用创建和部署用UML设计的软件。~生命周期分为四个阶段:起始阶段、细化阶段、构造阶段、转换 3.软件开发生命周期(SDLC)是一个规范的、系统的软件开发方法。可分为六个阶段:可行性分析、需求分析和规范说明、设计、编码、测试、维护。软件的开发方法:瀑布方法、原型方法、螺旋方法、双赢螺旋方法、增量方法。在设计阶段,有两种~:①面向功能方法以模块为中心,注重软件的功能。②面向对象(OO)方法支持重用、数据封装、以及继承、抽象和多态性等概念。
4.面向对象分析和设计(OOAD)是指根据对象、类、封装、继承、多态、抽象和动态邦定来分析需求以及设计软件系统。
5.软件系统的各个视图:①用例视图:表示系统为客户提供的功能②设计~:侧重于系统的静态和动态表示③实施~:表示软件系统中组成系统所需的各个文件和组件④部署~:表示将执行软件系统和硬件的组合关系。
6.四种建模技术:①需求建模:包括使用用例关系图描述需求。②静态~:包括使用类、对象和复合结构关系图来描述软件系统的静态成分③动态~:包括使用以下关系图来描述动态成分的行为:活动关系图、状态机关系图、通信关系图、序列关系图、交互概览图、时序关系图④架构~: 描述软件系统的内部结构如何构成:包关系图、主件关系图、部署关系图 7.需求管理是一种持续的系统化方法。~的四个阶段: 需求收集、~分析与协商、~规格化、~验证。需求分析指将需求分类和组织为功能性需求和非功能性需求的过程。功能需求指软件系统需要实现的功能和特性。非功能性需求指软件系统需要达到的性能指标。需求验证是在指定需求规范化后对需求进行验证的活动。需求验证包括:①确定所有的模糊需求②确定每条需求的来源③说明需求数量④确定需求之间的依赖关系⑤验证需求是否简明、可测试并且可跟踪⑥验证需求与软件系统中的约束是否有冲突
8.软件需求规格化(SRS)是详细分析任务后产生的文档。~必须提供信息:软件系统定义、SRS文档的用途、软件系统的范围、功能性需求、非功能性需求、目标软件系统的运行条件 9.角色有关的关系:泛化~: 存在于有类似的行为和特性的角色之间继承关系。关联~: 显示用例与角色之间通信关系。
10.用例关系图:①显示目标软件系统的用例和角色之间的交互关系②显示用例之间或角色之间的关系(如关联和泛化等)。用例可以(文本方式,事件流方式)描述外部角色与软件系统之间的交互过程。用例之间的关系:①扩展:指通过获取其它用例的某些功能来建立当前用例的方式扩展关系的箭头方向指向要被扩展的用例②包含:指一个用例的功能包含在另一个用例的功能中。包含关系里箭头指向被包含在另一个用例中的用例。11.类关系图表示类、接口、以及它们之间的关系。对象关系图表示类的特定实例的属性值以及对象之间的关系。类的属性和操作的可见性是:+ :表示属性或操作对于其它类可见。-:表示属性或操作对其它类不可见。#:表示基类的属性或操作仅对它的派生类可见。~:表示属性或操作只对同一个包里的类是可见的。类和对象之间的关系:①关联:表示两个类的对象之间一般上的逻辑意义上的联系。②聚合:表示两个类之间的整体与局部的关系③组合:表示两个类之间的整体与局部的关系④依赖性:表示两个类的对象之间一般上的动态功能上的联系⑤泛化:表示父类与子类之间派生关系⑥实现:表示类关系图里两个元素之间的语义关系,其中一个元素定义一个协议,另一个元素实现这个协议。12.抽象类是没有任何直接实例的类,继承于抽象类的类可以有直接实例,用于定义一组子类的公共特征和公共行为。接口是一组用于表示由类或组件提供的服务的操作集合,只能提供公共方法的声明,而不能提供这些公共方法的实现,不可以创建接口的对象。两者的相同处:①抽象类和接口都提供方法的规范,但是都不允许您直接创建实例。②抽象类和接口中指定的方法实现都在派生类中提供。不同处:①接口使您能实现多继承,因为一个类可以实现多个接口。但是,抽象类不支持多继承。一个类无法继承多个抽象类②抽象类包含的属性和方法可以是公共的、私有的或受保护的。接口只包含方法③抽象类可提供一部分方法的定义但接口不提供任何定义④抽象类在同一个包内使用,而接口可以跨多个包里实现。接口继承与抽象类继承的区别:①接口继承可多继承,而抽象类继承不行②接口继承中全是抽象方法,不提供定义,而抽象类继承中可有方法定义。
13.交互关系图:描述软件系统的成分如何彼此交互以实现系统用例的功能。~有两个部分:①协作者:描述交互关系图中参与交换的系统静态部分②交互:描述交互关系图中静态部分是怎样参与动态协作的。常用的交互关系图有:①序列关系图:以一组按时间顺序排序的消息的形式表示对象之间的交互②通信关系图:以消息的形式表示对象间的交互
14.包关系图用于描述软件系统的各个包以及包之间的关系。使用包来建模软件系统成分的好处有:①以可视化的方式显示功能组以及它们之间的关系②使得大型软件系统易于管理。用例分包规则:①以可视化的方式显示功能组以及它们之间的关系② 使得大型软件系统易于管理。类分包~:①具有相同继承层次结构的类分组在一个包里②具有复合关系的类分组在一个包里③将相互协作、彼此交互的类分组在一个包里。
15.组件:实现一组规定接口功能的可执行部件。组件实现了一组接口。组件类型:①部署组件:描述可执行系统最终可部署部件②工作产品~:描述工程软件有哪些文件组成③执行~:描述可执行软件有哪些可执行部件组成
16.框架和模式是使软件构件可重用的标准。框架:特定领域中类似应用程序的通用功能的模板,增加可重用性和减少应用程序开发时间。其特性:①类或组件的集合,具有执行一些特定或通用的功能②包含一些预定义规范的抽象和具体类接口③可以可通过子类化来扩展和实现这些抽象类和接口④定义一些抽象方法,这些方法接收系统中预定义的消息。模式:
新建的系统能满足可重用的要求,有助于软件组件之间更好的通信。~类型:通用职责分配软件模式(GRASP)、四人组模式(GoF)单例模式:允许创建它自身的唯一一个实例的类。对于有些类只应许创建一个实例对象。用静态数据成员来定义单件模式,以跟踪所创建对象的生命期。设计模式好处:①可让你创建能满足新需求的可重用的解决方案而无需修改现有系统。②有助于软件组件之间更好的通信。③有助于设计的重用、提供最有效的问题解决方案、给类分配职责。
17.实施质量流程的目的是为了在软件开发过程中检查所开发的软件模型和产品的质量。质量流程包括:①用于开发软件系统的软件开发过程的质量②软件开发过程中使用的软件模型的质量③软件开发过程结束时获得的软件产品的质量④质量流程自身的质量。生产质量过硬的产品时需要考虑的维度是:①技术:描述软件开发过程所需的工具以及生成的输出② 方法:描述软件开发过程期间需要执行以生成输出的操作顺序③社会学:描述软件开发过程所需的人力资源、环境条件和技能。质量保证技术检查:语法:确保软件模型使用正确的语法。语义:确保软件模型表达出目标意图并确保软件模型的表示在项目中一致。美观:确保软件模型对称并且完整。UML提供的三种扩展元素为:构造型:扩展 UML 词汇表约束:扩展 UML 构造块的语义关系。标记值:扩展 UML 构造块的属性
UML考试复习总结 篇4
1)分解,对复杂问题进行分解,然后分别解决各个子问题。
2)抽象,指抽取系统中的基本特性而忽略非基本的特性,以便更充分地注意与当前目标有关的方面。
3)模块化,指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,并遵循高内聚低耦合的原则。
4)信息隐藏,即封装,指把模块内的实现细节与外界隔离,用户只需知道模块的功能,而不需了解模块的内部细节。3,视图
1)用例视图。
作用:描述系统的功能需求,找出用例和执行者;描述使用的图:用例图和活动图。2)逻辑视图。
作用:描述如何实现系统内部的功能 ;
描述使用的图:类图和对象图、状态图、顺序图、合作图和活动图。3)构件视图。
作用:描述系统代码构件组织和实现模块,及它们之间的依赖关系 ; 描述使用的图:构件图。4)进程视图。
作用:描述系统的并发性,并处理这些线程间的通信和同步 ;
描述使用的图:状态图、顺序图、合作图、活动图、构件图和配置图。5)配置视图。
作用:描述系统的物理设备配置,如计算机、硬件设备以及它们相互间的连接 ; 描述使用的图:配置图。4,基本概念
1)用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列,是系统、子系统或类和外部的参与者(actor)交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。
2)参与者(actor)是指系统以外的、需要使用系统或系统交互的东西,包括人、设备、外部系统等。
3)用例图(use case diagram)以图解的形式概括了系统中的不同参与者和用例,并显示了哪些参与者能够参与哪些用例。
4)类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。5)类间关系
(1)关联(association)是模型元素间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义的链(link)的描述。一个关联可以有两个或多个关联端(association end),每个关联端连接到一个类。
(2)聚集和组合:聚集是一种特殊形式的关联。聚集表示类之间整体与部分的关系。聚集关系的实力是传递的,反对称的。组合表示的也是类之间的整体与部分之间的关系,但组合关系中的整体与部分具有同样的生存周期。
(3)泛化关系:泛化定义了一般元素和特殊元素之间的分类关系,类和类之间的泛化关系就是类与类之间的继承关系。
(4)依赖关系:假设有两个元素X和Y,如果修改了X元素的定义可能会导致两一个元素Y的定义的修改,则称元素Y依赖于元素X。6)接口类:只有方法没有属性,且所有方法只有声明没有实现的类。7)边界类控制类和实体类的画法
8)对象图表示一组对象及他们之间的联系。对象图是系统的详细状态在某一时刻的快照,常用于表示复杂的类图的一个实例。9)包就像一个“容器”,可用于组织模型中的相关元素。
10)包之间可以存在依赖关系,但这种依赖关系没有传递性。11)对包的命名有两种方式,即简单包名和路径包名。
12)构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。
13)构件图则显示一组构件以及它们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。
14)部署图也成为配置图、实施图,可以用来显示系统中计算节点的拓扑结构和通信路径与节点上运行的软构件等。15)交互图,是用来描述对象之间以及对象与参与者之间协作关系以及动态协作关系以及协作过程中行为次序的图形文档。
16)交互图包括顺序图和协作图两种形式。顺序图着重描述对象按时间顺序的消息交换,协作图着重描述系统成分如何协同工作。
17)顺序图也称时序图,是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图是二维模型,在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象;顺序图中垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接受的消息。18)顺序图中的消息
(1)调用消息:调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。
(2)异步消息:异步消息的发送者通过消息把信号传递该消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。
(3)返回消息:返回消息表示从过程调用返回。
(4)阻止消息和超时消息:阻止消息是指消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。超时消息是指消息发送者发出消息给接收者并按指定时间等待。如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。19)协作图是用于描述系统的行为是如何由系统的成分协作实现的图,协作图中包括的建模元素有对象、消息、链等。
20)状态图(statechart diagram)主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。21)活动(activity)表示的是某流程中任务的执行,它可以表示算法过程中语句的执行。22)状态图可以表现一个对象在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移引起的动作。活动图用来表示完成一个操作所需要的活动,或者是一个用例实例的活动。实际也是一种流程图,描述活动的序列,即系统由一个活动到另一个活动的控制流。
UML实训报告[推荐] 篇5
题 目: 图书管理系统
专业: 班级: 姓名: 学号: 指导教师: 成绩:
完成日期:年月
摘 要
随着知识化和信息化新经济时代的到来,作为信息技术龙头的计算机及软件技术突飞猛进,uml成为一种不可或缺的工具。uml是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。用现有的知识,按照软件工程思想和系统的开发步骤,以图书管理的应用需求为背景,分析设计了图书管理系统,并利用rational rose对系统进行建模,完成用例图和类图的构建,为后期的程序设计提供标准。
根据建模需求分析,总结出本系统的参与者有借阅者和图书管理员两类。根据其职能不同,借阅者只能使用该系统借书、预订书刊以及还书。图书管理员则可使用系统进行图书馆业务的管理工作,如借阅者,书刊等的信息维护。系统可实现书籍信息的添加、修改、删除等功能,这就保证了数据库信息的一致性和统一性、安全性。
该系统以面向对象理论和数据库管理信息系统开发相关知识为依据,介绍了设计开发中的模块设计和数据与程序的连接,使sql server 2008与 visual studio 2010得到了有效的结合。
关键词:图书管理系统;uml;rational rose面向对象
目 录 1 需求分析............................................................................................错误!未定义书签。1.1 开发背景及意义........................................................................................................4 1.2 功能需求....................................................................................................................4 2 系统建模..............................................................................................................................8 2.1 创建系统用例模型......................................................................................................8 2.1.1 确定参与者........................................................................................................8 2.1.2 参与者的用例图..............................................................错误!未定义书签。2.2 系统的时序图............................................................................错误!未定义书签。2.2.1 确定系统参与者的属性..................................................错误!未定义书签。2.2.2 确定系统主要业务实体类..............................................错误!未定义书签。2.2.3 确定系统类之间的关系..................................................错误!未定义书签。2.3 系统的协作图..........................................................................错误!未定义书签。2.3.1 创建序列图和协作图......................................................错误!未定义书签。2.3.2 创建状态图......................................................................错误!未定义书签。2.3.2 创建活动图......................................................................错误!未定义书签。2.4 创建系统的部署摸型..............................................................错误!未定义书签。1 需求分析
1.1 开发背景及意义
图书馆是一个专门收集、整理、保存、传播文献并提供利用的科学、文化、教育和科研机构。现代社会,图书馆成为继续教育、终身教育的基地,担负了更多的教育职能。传递科学情报,是现代图书馆的一个重要职能。图书馆收藏的图书资料,是人类长期积累的一种智力资源,图书馆对这些资源的加工、处理,是对这种智力资源的开发。图书馆主要是用来学习的,如果有人遇到问题,他可以通过图书管的书籍来解决问题。但是为了图书馆的正常运行和保护图书,图书馆管理系统将用户划分为三类人:借阅者,图书管理员,系统管理员。
一个基本的图书馆管理,可以大致分为以下流程:用户登录进入系统,在系统允许的情况下,进行可以进行的操作,如借书、还书和预定书籍等;管理员可以整理书籍和管理预订的书籍等;系统管理员管理书目,管理借阅者信息等。1.2 图书管理系统的需求分析 1.2.1系统功能需求
(1)借阅者可以通过网络查询书籍信息、预约书籍和续借书籍。
(2)图书管理员作为借阅者的代理完成借阅图书、归还图书和查询借阅信息工作。(3)系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除
和更新借阅者帐户,增加和删除书籍。满足上述需求的系统主要包括下面几个模块:
(1)基本数据维护模块:提供使用者录入、修改并维护基本数据的途径。例如对借阅
者的书籍的各项信息的更新与修改。
(2)基本业务模块:主要用于实现用户借书与还书的管理,例如借阅者可以登录系统
预订书籍,图书管理员可以取消书籍的预订,当然还可以进行借书、还书等操作。(3)数据库管理模块:在系统中,所有书籍的信息以及借阅者的帐户信息都要统一管
理,书籍的借阅情况、预订情况也要进行详细的记录,所以要用统一的数据库平台进行管理。
(4)信息查询模块:主要用于查询书籍的信息和借阅者的信息。
图 1.1系统功能需求 1.2.2基本数据维护模块
图 1.2数据库管理模块
(1)添加借阅者信息:系统管理员可以添加借阅者帐户。
(2)修改更新借阅者信息:系统管理员可以修改更新借阅者信息。(3)添加书目信息:系统管理员可以添加书目。
(4)修改更新书目信息:系统管理员可以修改和更新书目信息。(5)添加书籍信息:系统管理员可以添加书籍。(6)删除书籍信息:系统管理员可以删除书籍。篇二:uml实验报告
《面向对象分析与设计uml》
实验报告
学 号:180108213 姓 名:庞志伟
班 级:08级软件2班
指导老师:姚宇峰
实验及作业一
一、实验目的了解软件工程等基础知识,为后续的统一建模语言uml知识的学习做好准备工作。
二、实验设备与环境
装有visio、rathionalrose的计算机。
三、实验内容
1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。
2、熟悉uml软件设计工具visio、rational rose的安装及环境
四、实验过程及结果
1、软件工程开发模型有(1)瀑布模型,(2)原型模型,(3)螺旋模型,(4)喷泉模型
(1)瀑布模型
将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
优点:
1)为项目提供了按阶段划分的检 瀑布模型查点。2)当前一阶段完成后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型。
缺点:
1)在项目各个阶段之间极少有反馈。2)只有在项目生命周期的后期才能看到结果。3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
(2)原型模型
原型模型又称快速原型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
缺点:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。
(3)螺旋模型
螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发出众多的中间版本。使用它,项目经理在早期就能够为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。
优点:
1)设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大型系统,使成本计算变得简单容易。3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
缺点:
很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
(4)喷泉模型
喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。
优点:
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点:
由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
五、实验小结:
通过本次实验让我了解了软件工程开发的4中主要模型和这些模型的优缺点。初次安装并使用uml软件设计工具visio和rational rose使我初步认识了软件开发中uml的设计。
实验及作业二
一、实验目的
1、了解面向对象的基本概念
2、熟悉面向对象的分析、设计过程
3、了解基于uml的面向对象分析设计过程
二、实验设备与环境
装有visio、rathionalrose的计算机。
三、实验内容
1、熟悉rational rose的使用。
2、熟悉利用统一建模语言进行分析、设计软件的过程,完成作业:论述面向对象(oo)方法的特点、优势以及存在的问题。
四、实验过程及结果
面向对象方法(object-oriented method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称oo(object-oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
主要特征:封装性,多态性 优势:
(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。
(2)运用人类日常的思维方法和原则(体现于oo方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系 统复杂性。
(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。
(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效
地改善了人员之间的 交流和协作。
(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。
(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。存在的问题:
(1)软件重用性差(2)软件可维护性差
(3)开发出的软件不能满足用户需要
五、实验小结:
【UML学习心得体会】推荐阅读:
学习炒股学习心得体会07-11
学习感想-学习感想 个人学习心得体会08-28
合作学习学习心得06-15
学习医德医风学习心得体会10-20
山东高效课堂教学观摩学习心得学习心得09-12
学习先进教师学习心得09-04
学习时报党校学习心得09-12
学习思辨学习心得整理09-14
三个学习推进学习心得10-12
学校学习学习十九大心得体会08-02