UML 状态图与活动图
- 格式:ppt
- 大小:506.00 KB
- 文档页数:47
火车购票系统UML类图-时序图-状态图-协作图-活动图-对象图--用例图《UML面向对象分析》课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:3需求分析3.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。
实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。
用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。
具有体积小,代码简洁,易维护、易修改的优点。
23.2 需求分析用户管理模块用户管理模块包括如下几个部分。
(1) 添加用户信息:管理员可以对用户信息进行添加操作。
(2) 删除用户信息:管理员可以对已有用户信息进行删除操作。
(3) 查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。
(4) 修改用户信息权限:管理员可以修改用户的管理权限。
线上订购火车票系用户管理系统参数票务信息订票管理实时信息数据管理3(5) 删除管理权限:管理员在权限管理中可以删除管理权限。
(6) 添加管理权限:管理员在权限管理中可以添加管理权限。
系统参数设置模块系统参数设置模块有如下几个部分。
(1) 用户信息:管理员可以修改用户信息并保存。
(2) 订票信息:对订票信息进行添加、删除操用户管理模块用户管理 权限管理 添加用户信删除用户信查看用户信修改用户信删除管理权查看管理权添加管理权4作。
(3) 退订信息:对退订信息进行添加、删除操作。
三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。
它只说明系统实现什么功能,而不必说明如何实现。
用例图主要用于对系统,子系统或类的行为进行建模。
2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。
3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。
在对象名下面要加下划线。
(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。
通过分组,可提高模型的维持性。
包之间的关系包括继承、构成与依赖。
5.顺序(时序)图(sequence diagram)交互图之一。
描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。
时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。
6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。
在图形上,协作图是顶点和弧的结合。
协作图包含对象、链、消息。
(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。
它包含对象所有可能的状态、活动图描述系统为完成某项功能而执行的操作序列,这些在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。
操作序列可以并发和同步。
8.活动图(activity diagram)活动图中包含控制流和信息流。
控制流表示一个操作完成后对其后续操作的触发,信息流则刻画操作之间的信息交换。
提供了对工作流进行建模的途径,活动图中的活动,表示执行工作流中一组的动作。
一旦结束,控制流将自动转移到下一个活动,或通过转换进入下一个状态。
9.构件图(component diagram)提供当前模型的物理视图,对系统的静态实现视图进行建模。
UML的九种模型图本⽂转⾃,仅供学习交流!⼀、作为⼀种建模语⾔,UML的定义包括UML语义和UML表⽰法两个部分。
UML语义:描述基于UML的精确元模型定义。
UML表⽰法:定义UML符号的表⽰法,为开发者或开发⼯具使⽤这些图形符号和⽂本语法为系统建模提供了标准。
这些图形符号和⽂字所表达的是应⽤级的模型,在语义上它是UML元模型的实例。
⼆、标准建模语⾔UML可以由下列5类图来定义。
⽤例图:从⽤户⾓度描述系统功能,并指出各功能的操作者。
静态图:包括类图和对象图。
类图描述系统中类的静态结构,不仅定义系统中的类,表⽰类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是⼀种静态关系,在系统的整个⽣命周期都是有效的。
对象图是类图的实例,⼏乎使⽤与类图完全相同的标识。
⼀个对象图是类图的⼀个实例。
由于对象存在⽣命周期,因此对象图只能在系统某⼀时间段存在。
⾏为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。
状态图描述类的对象所有可能的状态以及事件发⽣时状态的转移条件,状态图是对类图的补充,活动图描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并进⾏活动。
交互图:描述对象间的交互关系,包括时序图和协作图。
时序图显⽰对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显⽰对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显⽰对象间的动态合作关系。
除显⽰信息交换外,协作图还显⽰对象以及它们之间的关系。
如果强调时间和顺序,则使⽤时序图;如果强调上下级关系,则选择协作图。
实现图:包括组件图和部署图。
组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
采⽤UML来设计系统时,第⼀步是描述需求;第⼆步根据需求建⽴系统的静态模型,以构造系统的结构;第三步是描述系统的⾏为。
其中在第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图、对象图、组件图和部署图等5种图形,是标准建模语⾔UML的静态建模机制。
UML图例之活动图 作为UML图例中的重要⾓⾊,活动图描述的是对象活动的顺序关系所遵循的规则,作为⽤例实现的描述,⾮常适合于和⽤户沟通,同时也有助于为开发提供指导。
⼀、活动图简介 活动图(activity diagram)是阐明了业务⽤例实现的⼯作流程。
业务⼯作流程说明了业务为向所服务的业务主⾓提供其所需要的价值⽽必须完成的⼯作,业务⽤例由⼀系列活动组成,他们共同为业务主⾓⽣成某些⼯件。
⼯作流程通常包括⼀个基本的⼯作流程和⼀个或多个备选⼯作流程。
⼯作流程的结构使⽤活动图来进⾏说明。
是UML⽤于对系统的动态⾏为建模的另⼀种常⽤⼯具,它描述活动的顺序,展现从⼀个活动到另⼀个活动的控制流程。
⼆、基本元素1、活动图起点:活动的开始节点,实⼼⿊⾊圆点,只能有⼀个。
2、活动图终点:表⽰整个活动的结束,圆圈加内部实⼼⿊⾊圆点,可以有多个结束点。
3、流终点:表⽰⼦流程的结束,圆圈加内部叉。
4、活动状态(activity):⽤于表达状态机中的⾮原⼦的运⾏(1)、活动状态可以分解成其他⼦活动或者动作状态。
(2)、活动状态的内部活动可以⽤另⼀个活动图来表⽰。
(3)、和动作状态不同,活动状态可以有⼊⼝动作和出⼝动作,也可以有内部转移。
(4)、动作状态是活动状态的⼀个特例,如果某个活动状态只包括⼀个动作,那么它就是⼀个动作状态。
活动状态和动作状态的图标相同,但是活动状态可以在图标中给出⼊⼝动作和出⼝动作等信息。
5、动作状态(actions):是指原⼦的不可中断的动作,并在此动作完成后通过完成转换转向另⼀个状态(1)、动作状态是原⼦的,它是构造活动图的最⼩单位。
(2)、动作状态是不可中断的。
(3)、动作状态是瞬时的⾏为。
(4)、动作状态可以有⼊转换,⼊转换既可以是动作流,也可以是对象流。
动作状态⾄少有⼀条出转换,这条转换以内部的完成为起点,与外部事件⽆关。
(5)、动作状态与状态图中的状态不同,它不能有⼊⼝动作和出⼝动作,更不能有内部转移。
UML各种图总结-精华UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCaseDiagrams):用例图主要回答了两个问题:1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(ClassDiagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量2.4.聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。
所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
如在图2.4中,订票是电话订票和网上订票的抽象。