UML 状态图与活动图
火车购票系统UML类图-时序图-状态图-协作图-活动图-对象图--用例图

火车购票系统UML类图-时序图-状态图-协作图-活动图-对象图--用例图《UML面向对象分析》课程实践项目报告项目名称:网上订购火车票系统项目组成员:学号:班级:指导教师:3需求分析3.1 需求概述线上预订火车票系统是一款功能强大、操作简便、易维护的、具有良好人机交互界面的线上订票系统,它包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能)。
实现火车票线上预定的自动化的计算机系统,为旅客提供准确、精细、迅速的火车票销售信息和方便、简单的订票功能。
线上预订火车票系统主要是对于订票信息的统一管理,满足了中小型线上订票网站对于用户的管理,订票信息的收集和处理方面的要求。
用现代化的方式取代以前的传统模式,更有利于信息的流通,资源的宏观管理。
具有体积小,代码简洁,易维护、易修改的优点。
23.2 需求分析用户管理模块用户管理模块包括如下几个部分。
(1) 添加用户信息:管理员可以对用户信息进行添加操作。
(2) 删除用户信息:管理员可以对已有用户信息进行删除操作。
(3) 查看用户信息权限:每个用户都具有一定的权限,管理员可以查看用户的管理权限。
(4) 修改用户信息权限:管理员可以修改用户的管理权限。
线上订购火车票系用户管理系统参数票务信息订票管理实时信息数据管理3(5) 删除管理权限:管理员在权限管理中可以删除管理权限。
(6) 添加管理权限:管理员在权限管理中可以添加管理权限。
系统参数设置模块系统参数设置模块有如下几个部分。
(1) 用户信息:管理员可以修改用户信息并保存。
(2) 订票信息:对订票信息进行添加、删除操用户管理模块用户管理 权限管理 添加用户信删除用户信查看用户信修改用户信删除管理权查看管理权添加管理权4作。
(3) 退订信息:对退订信息进行添加、删除操作。
UML-4-状态图

7.3.2 迁移
1. 引发迁移的事件 2. 迁移的文字标签
2. 迁移的文字标签
为了使迁移线有明确的意义,UML提供了由 三部分组成的文字标签来解释该迁移的发生 事件
触发 警戒条件 行为
2. 迁移的文字标签
文字标签的语法可以表示为:
触发[警戒条件]/行为 trigger[guard] / behavior
UML及建模工具
——状态图
State Diagram
7.1 7.2 7.3 7.4 7.5
基于状态的对象行为建模 状态图 状态图的表示方法 案例分析 总结
第7章 状态图(State Diagram)
7.1
基于状态的对象行为建模
对象既有行为又有状态,对象的行为由其状 态决定,对象根据其状态的不同而产生不同 的行为 为了描述对象在状态之间的转变过程中将产 生什么行为,需要捕获对象所有可能发生的 状态
2. 状态内部的活动
Enter Password entry/set echo to star; do/handle and check password exit/set echo normal
图7-7带有活动的状态图
7.3.2 迁移
迁移指从一个状态到另一个状态的瞬间变化 过程 从源状态到目标状态一发生变化,就称发生 了迁移 UML用从源状态到目标状态的带开放式箭头 的实线表示迁移,箭头指向目标状态
7.2
状态图
状态图由状态(State)和迁移(Transitions) 组 成 它的表达方式为:
状态图 = 状态 + 迁移 State Diagram = State + Transitions
7.3
状态图的表示方法
第6章状态图和活动图

2. 事件的描述 事件名称(参数表 事件名称 参数表) 参数表
字符串, 字符串,常为接收对象类中 的一个操作. 的一个操作. 事件的形式参数 ,可以省略
3. 事件的类型 ① 调用事件:是表示对操作的调度.请求调用另一个 调用事件:是表示对操作的调度. 对象的操作,一般是同步调用. 对象的操作,一般是同步调用.
第 章 状态图和活动图
6
6.1 状态图 6.2 活动图 6.3 两种图的比较
1
第 章 状态图和活动图
6
6.1 状态图
6.1.1 什么是状态图 6.1.2 状态图的要素 6.1.3 状态图的作用 6.1.4 绘制状态图
2
6.1.1 什么是状态图
1. 状态图的概念 状态图(statechart diagram): 用来描述 状态图 一个特定的对象所有可能的状态,以及由 一个特定的对象所有可能的状态 以及由 于各种事件的发生而引起的状态之间的转 移和变化. 移和变化.
21
状态的类型
状态的类型 初始状态/结束状态 ① 初始状态 结束状态
初始状态
显示状态图中状态机中的执行的开始. 显示状态图中状态机中的执行的开始. 一个状态机只能有一个初态,因为每一个执行都是从相同的地方开 一个状态机只能有一个初态, 始的.如果一个状态机用多张图描述,则多张图用一个初态; 始的.如果一个状态机用多张图描述,则多张图用一个初态;
事件
20
3. 事件的类型 信号事件:所谓信号,是指由一个对象异步的发送, ④ 信号事件:所谓信号,是指由一个对象异步的发送, 并由另外一个对象接收的一个已命名的对象. 并由另外一个对象接收的一个已命名的对象. 信号事件表示对象接收到某个信号. 信号事件表示对象接收到某个信号. 信号可以作为状态中一个状态转换的动作而被发送, 信号可以作为状态中一个状态转换的动作而被发送, 也可作为交互中一个的消息发送. 也可作为交互中一个的消息发送.
6.状态机图(状态+活动)

课堂练习(电梯系统的状态图)
带有复杂转换的状态图
补充说明(状态图)
适用情况:
适用于描述跨越多个用例的单个对象行为 不适合描述多个对象之间的行为协作 故需与其他技术(类图、对象图)结合使用
注意事项:
不要花费大量时间和精力为系统中的每个类都 画对应的状态图 开发人员只关心关键类的行为,只需为这些类 建立状态图,帮助理解所研究的问题
方法二:
先对活动进行全局的分析 再将活动分配各具体的对象
建议:
两种方法各有利弊 根据个人习惯和具体情况而定
分类(1.简单活动图)
分类(1.简单活动图)
分类(2.标识泳道的活动图)
泳道(SwimLane):用于有效 地标识每个活动的实施者。 表示方法:
用一条垂直的线将活动分开 每个泳道都有一个唯一的名称 每个活动节点、分支必须只属 于一个泳道;而转换,分叉与 汇合是可以跨泳道的。
状态机图(State machine Diagram)
状态(state):
定义对象在其生命周期中的一种条件或状况 比如:满足某些条件、执行某些活动或等待某些事件 例子:灯的开闭、人的梦醒、学生的课上与课下
理解
状态的存在:对象在任何时刻都会处于某种状态之中 状态的转移:事件使对象从一个状态转向另一个状态 当面对所检测到的事件或所接收到的消息时,对象所 处的状态不同,做出的反应也不同
细化状态内的活动与转换
状态图(航班预订3)
使用复合状态
课堂练习
绘制电脑工作时的状态转换图
课堂练习
绘制手机工作时的状态转换图
课堂练习(电梯系统的状态图)
电梯开始处于空闲状态(idle),当有人按下按钮要求使用电梯时 (事件is required发生),电梯进入运行状态(run)。如果电梯的 当前楼层比想要的楼层高时(监护条件[currentFloor>desiredFloor] 成立),电梯进入下降状态(moving down);反之,如果电梯的当 前楼层比想要的楼层低时(监护条件[currentFloor<desiredFloor] 成立),电梯进入上升状态(moving up);如果电梯的当前楼层与 想要的楼层相同时(监护条件[currentFloor=desiredFloor]成立), 电梯门打开(door open)。在电梯上升或下降期间,每经过一个楼 层就判断监护条件[currentFloor=desiredFloor]是否成立,若不成 立,继续移动,若成立,就进入停止状态(stop),15秒后,电梯门 自动打开(door open),2分钟后,电梯门自动关上(door close), 如果有更多的电梯使用要求,进入运行状态(run),反之,则进入 空闲状态(idle)。
软件工程---UML动态分析-活动图

Make Plan
entry/ SetGoal
2020/5/4
26
动作流
与状态图不同,活动图的转换一般都不需要特 定事件的触发。
一个动作状态执行完本状态需要完成的动作后 会自发转换到另外一个状态。
2020/5/4
27
动作流
一个活动图有很多动作或者活动状态,
活动图通常开始于初始状态,然后自动转换到 活动图的第一个动作状态,一旦该状态的动作 完成后,控制就会不加延迟地转换到下一个动 作状态或者活动状态。
7
活动图与流程图的区别
⑴ 流程图着重描述处理过程,它
的主要控制结构是顺序、分支 和循环,各个处理过程之间有 严格的顺序和时间关系
找饮料 [ 发现咖啡 ]
活动图描述的是对象活动的顺序
把咖啡放入 滤器
关系所遵循的规则,它着重表 将滤器放入 现的是系统的行为,而非系统 机器
的处理过程。
往容器里加 水
开机器
活动图着重表现从一个活动到另一个活动的控制流, 是内部处理驱动的流程。
找饮料
[ 发现咖啡 ]
[ 没有咖啡 ] [ 发现可乐 ]
把咖啡放入 滤器
往容器里加 水
拿茶杯
拿可乐
将滤器放入 机器
[ 没有可乐 ]
开机器 冲咖啡
倒咖啡
喝饮料
2020/5/4
12
活动的图形表示
在UML中,活动表示成圆角矩形,与状态的圆角矩 形相比,活动的矩形的圆角更柔和,看上去接近椭 圆。
不能中断,一直运行到结束。 ⑶ 动作状态是瞬时的行为,它所占用的处理时
间极短,有时其至可以忽略。
2020/5/4
19
动作状态
动作状态有如下特点:
UML的十种视图

三、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元模型的实例。
⼆、标准建模语⾔UML可以由下列5类图来定义。
⽤例图:从⽤户⾓度描述系统功能,并指出各功能的操作者。
静态图:包括类图和对象图。
类图描述系统中类的静态结构,不仅定义系统中的类,表⽰类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作,类图描述的是⼀种静态关系,在系统的整个⽣命周期都是有效的。
对象图是类图的实例,⼏乎使⽤与类图完全相同的标识。
⼀个对象图是类图的⼀个实例。
由于对象存在⽣命周期,因此对象图只能在系统某⼀时间段存在。
⾏为图:描述系统的动态模型和组成对象间的交互关系,包括状态图和活动图。
状态图描述类的对象所有可能的状态以及事件发⽣时状态的转移条件,状态图是对类图的补充,活动图描述满⾜⽤例要求所要进⾏的活动以及活动间的约束关系,有利于识别并进⾏活动。
交互图:描述对象间的交互关系,包括时序图和协作图。
时序图显⽰对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显⽰对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显⽰对象间的动态合作关系。
除显⽰信息交换外,协作图还显⽰对象以及它们之间的关系。
如果强调时间和顺序,则使⽤时序图;如果强调上下级关系,则选择协作图。
实现图:包括组件图和部署图。
组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度;部署图定义系统中软硬件的物理体系结构。
采⽤UML来设计系统时,第⼀步是描述需求;第⼆步根据需求建⽴系统的静态模型,以构造系统的结构;第三步是描述系统的⾏为。
其中在第⼀步与第⼆步中所建⽴的模型都是静态的,包括⽤例图、类图、对象图、组件图和部署图等5种图形,是标准建模语⾔UML的静态建模机制。
UML 用例图、关系图、活动图

网上 查询 读者 扩展 预定 扩展
查询 图书馆工作 人员 取消 预定
还书
通知
借书
武当山旅游门户网站( ) 分类信息
注意
在画用例图时要特别注意:用例图是系统分析、 设计和实现的一个最基础的图形,在初期是不一 定要考虑太多的处理细节。 一个用例内部的具体处理细节是由其他图形工具 描述的,用例图只是反映系统的总体功能,以及 与这些功能的相关的角色。有些人可能在画“借 书”用例时,情不自禁地就考虑了“输入读者号 和书号”,“检查图书是否在库?”,“图书数 量减1”,“添加读者借书记录”等等,一旦考虑了 这些细节,就会发现用例图画不下去了。因此, 读者注意用例图中不要考虑处理细节。
武当山旅游门户网站( ) 分类信息
注意:
活动图描述多个角色之间的处理非常有 效,一张活动图只能有一个开始状态, 但可以有多个结束状态。 一个活动可以与多个实体对象相关,这 里的相关指的是一种访问操作。在上面 “借书”活动图中,“检查读者有效” 的活动,要访问“读者”对象和“借还 书记录”对象,检查“读者编号”的有 效性和读者借书数量。
状态图中的转移可以由三部分组成: 事件[条件]/动作
武当山旅游门户网站( ) 分类信息
角色
角色是指与系统交互的人或物。 角色可以有四种类型:系统的使用者、硬件设备、 外部系统和时间。
系统使用者是最重要的角色,例如,在图书信息管理系 统中的系统使用者有读者和图书馆的工作人员,包括采 购、编目和办公室的工作人员。 其他外部应用系统。 硬件设备,不同的硬件设备具有不同的特性和不同的处 理方式。 时间作为角色,经过一定的时间触发系统中的某个事件。
认识活动图认识活动图图书馆图书信息管理系统借书活动图图书馆图书信息管理系统借书活动图借书申请检查读者有效性读者信息借书记录读者无效图书无效检查图书有效性检查预订预订记录清除预订记录图书信息借书记录修改图书信息创建借书记录图书信息读者无效借书超期图书无效有预订读者流通组工作人员读者图书编号活动图中的主要图形元素活动图中的主要图形元素泳道
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分支
对于同一触发事件,可以根据不同的 警戒条件转向不同的活动,每个可能 的转移是一个分支。
分叉和汇合
表示系统或对象中的并发行为。分叉表 示一个控制流被两个或多个控制流代替, 经过分叉后,这些控制流是并发进行的; 汇合正好相反。
对象流
在活动图中可以出现对象,对象可以作 为活动的输入或输出。对象流表示活动 与对象之间的关系。
收到商品 [部分商品 缺货]
收到到商品 [部分商品 缺货]
检查
do/ 检查商品
[ 全部商品已检查完且全部商品都有 ]
办理发货
do/ 启动发货
[ 全部商品已经检查完,但部分商品缺货 ]
收到商品[ 全部商品都有 ]
[未检查完 全部商品]/ 取下一个
等待
取消 取消
什么是活动图
活动图是系统的一种行为视图,它描述参 与行为的对象类的活动的顺序,包括依赖 于条件的行为和并发行为
判断条件
人 找饮料
[没有咖啡] [找到咖啡]
判定活动
[没有可口可乐] [找到可 口可乐]
同步条件
将咖啡放到 过滤器中 把过滤器放 到咖啡炉上
加水到 容器中
取出 咖啡杯
取一听 可口可乐
第八章 状态图与活动图
主讲教师:阿都建华 单位:软件工程系
什么是状态图
UML中的状态图(statechart diagram)主 要用于描述一个对象在其生存期间的动态 行为,表现一个对象所经历的状态序列, 引起状态转移的事件,以及因状态转移而 伴随的动作 状态就是对象生命期中的某个条件或状况, 在此期间对象将满足某些条件、执行某些 活动或等待某些事件 一个状态图表现了一个对象的生存史,着 重描述从一个状态到另一个状态的控制流
转移:用实箭线表示,箭尾连接出发状态, 即源状态,箭头连接到达状态,即目标状态 在箭线上可以标示与该转移有关的选项: 事件、保安条件和动作
源状态
事件[ 保安条件 ] / 动作 目标状态
初始状态:是模型元素的初始状态,代表一 个状态图的起始点,是一个伪状态。 初始状态用一个实心的圆表 终结状态:是模型元素的最后的状态,代表 一个状态图的终止点,是一个伪状态。 终结状态用一个圆中套一个实心圆表示
活动
点燃 咖啡炉 冲调咖啡
熄灭咖啡炉
终点
倒咖啡 喝饮料
活动图的基本要素
活动; 泳道; 分支; 分叉和汇合; 对象流; 注释体和注释连接。
活动
活动:活动是某件事情正在进行的状 态,表现为由一系列动作组成的非原 子的执行过程。 UML中的表示:
泳道
泳道是活动图中的区域划分,每个 泳道代表一个责任区,一个泳道可由一 个或多个类实现。
描述复杂过程的算法
此时相当于UML版的程序流程图,常规的顺序、分支过
程在活动图中都能得到充分体现
处理多线程应用
利用活动图支持并发的特点,描述多线程应用的行为
活动图的应用-工作流建模
活动图是一种用于系统的行为建模的工具, 它能支持对并发行为的描述的特点,使其 成为对工作流(业务流)建立模型的强大 工具,尤其适合于多线程的程序的建模 主要缺点:动作与对象之间的连接关系不 够清晰
何时可使用活动图
分析用例。能直观清晰地分析用例,了 解应当采取哪些动作以及这些动作之间 的依赖关系。一张完整的活动图是所有 用例的集成图。 理解牵涉多个用例的工作流。在难于区 分不同用例而对整个系统的工作过程又 十分清楚时,可以先构造活动图,然后 用切片技术派生用例图。 处理多线程应用。采用“分层抽象,逐 步细化”的原则描述多线程。
活动图的应用-用途
分析Use Case
在分析Use
Case时需要理解系统将会发生哪些动作, 行为之间的依赖关系是什么,此时可以用活动图来验证 Use Case
理解工作流程
对理解业务处理过程十分有用,可以画出描述业务工作
流的活动图与领域专家进行交流,明确业务处理操作是 如何进行的,将会有怎样的变化
活动图的优点和缺点
优点:最适合支持并行行为,而且也是 支持多线程编程的有力工具,可用于描 述业务流程。 缺点:很难清楚地描述动作与对象之间 的关系。虽然在活动旁标出对象名或者 采用泳道技术可以定义这种关系,但仍 然没有交互图简单直接。 因此,像大多数建模技术一样,最好把 活动图与其他技术结合使用。
活动 停止
H
恢复
暂停
中断
选择
播放
事件
事件是一个有意义的事情的说明,它位于 特定的时间和空间点 在状态图中,事件是一个激励的出现,它 定义一个触发子触发对象改变其状态 在UML中,事件分为4类:调用事件、变化 事件、时间事件、信号事件
调用事件:表示对操作的调度 格式:Event-name’(‘comma-separatedparameter-list’)’
状态图:一部电梯的运行方式
状态图的图形元素
状态:用一个带圆角的矩形框表示,可以进一步划 分为3个分隔框:名称框、内部转移框和嵌套状态 名称 图框 名称框:标出状态的名称 内部转移 内部转移框:规定动作或活动, 但不改变对象的当前状态 嵌套状态图 嵌套状态图:放置被嵌套的子状态图
动作
动作是一个可执行的原子计算,即动作是 不可被中断的,其执行时间是可忽略不计 的 进入动作和退出动作的例子: Entry/setMode(onTrack) Exit/setMode(offTrack)
小结
状态图的基本概念、用途 状态图的图形元素 状态的定义及分类 组合状态的分类 事件、事件的分类、动作
after(2 seconds) / dropConnection() active1
idle
when(date=Jan 1,2000) active2
信号事件:表示对象接收了信号这种情况, 往往会触发状态的转移 在UML中,信号用构造型《signal》表示 信号事件和调用事件的表示格式是一样 的
活动图与状态图的区别
活动图描述的是响应内部处理的对象类的 行为,状态图描述的是对象类响应事件的 外部行为。 活动图着重表现的是一个活动到另一个活 动的控制流,是内部处理驱动的流程;而 状态图着重表现的是从一个状态到另一个 状态的流程,常用于有异步事件发生的情 况
活动图与交互图的区别
活动图着重表现的是活动的控制流,描述 在对象之间传递的操作;而交互图着重表 现的是对象到对象的控制流,描述对象之 间传递的消息
初始状态
终结状态
判定:判定是在状态图中的一个特定的位置, 工作流在此按保安条件的取值而发生分支 判定用空心小菱形表示
[人员齐备]
制定计划 实施
[人员未齐备]
招聘人员
同步:同步可视化地定义了并发工作流的分 劈(fork)与接合(join)
分劈是一个源状态分为两个或两个以上的目标
状态 接合是两个以上的源状态连接为一个目标状态 同步在状态图中用一条粗短线表示,成为同步 杆
顺序状态与并发状态
并发状态:子状态是并发存在的 两个并发的子状态图用一条虚线分隔
并发状态图:用于描述一个对象在某
个时刻有多个并发的子状态机的情况, 并发状态图是这些子状态图的组合
等待
取消
商品检查 办理订货
发货
付款检查
已付款
拒绝
历史状态
历史状态是一个伪状态,代表上次离开组 合状态时的最后一个活动子状态,当再次 进入这个组合状态时,可直接进入这个子 状态 历史状态用一个含字母“H”的小圆圈表示
注释体和注释连接
注释体:用于对UML实体进行文字描 述。 注释连接:用于将注释体与要描述的 实体相连,说明该注释体是针对该实 体所进行的描述。
活动图例子
活动图例子
课堂作业
某公司的设备采购流程设置为: A、由业务部门提出需求设备清单; B、将需求设备清单交采购部门建立采购采买单据; C、采购部门建立采购单据后,交财务部门,向财务部门 申请款项,预支零用金; D、财务部门建立应付帐款单据后:核支款项; E、采购部门在收到款项后,进行采买; F、采买完成后,执行: (1)发票和剩余款项交财务部: (2)设备交业务部门; G、(a)采购部门:采购单据结案; (b)财务部门:帐款冲销结案;
何时不应使用活动图
显示对象间的合作。用交互图显示对象 间的合作更简单直观。 显示对象在生命周期内的运转情况。活 动图可以表示活动的激活条件,但不能 表示一个对象的状态变换条件。因此, 当要描述一个对象整个生命周期的运转 情况时,应当使用状态图。
查询
retrieve(Keywords) 数据操作
变化事件:如果一个布尔表达式中的变量发 生变化,使得该布尔表达式的值相应地变化, 从而满足某些条件,则这种事件称为变化事 件 变化事件用关键字when表示
When(temperature>120) /alarm()
idle
时间事件:指满足某一时间表达式的情况的 事件 时间事件用关键字after或when表示
取消
取消
已发货
使用组合状态的优点:避免了转移线交叉, 使图面清晰,简化了状态图,更重要的是 要清楚地表达了状态的结构关系,便于分 清主次,分别对待
顺序状态与并发状态
顺序状态:组合状态的子状态是一个一个执 行的,不是并发存在的
活动 验卡
插卡 休闲 取消 维修完成 维修 维修 结束 挂断 继续 通话 拨号
目标状态
源状态
源状态
目标状态 源状态
目标状态
状态