动态行为建模
本章学习要点
动态建模概述
状态图及其绘制
活动图及其绘制 活动图拾遗 顺序图及其绘制 协作图及其绘制
顺序图拾遗
UML建模实例教程
任务1
任务目标
了解动态模型的基本功能和基本组成 。
教学方法
分组教学法
资料查询法 案例教学法
UML建模实例教程
1 动态建模概述
动态建模概述
UML建模实例教程
8.3.3 绘制WebShop电子商城活动图
完成步骤
(3)添加购物用户活动图的起点和终点。 选择活动图工具栏上的起点和终点图标,在绘图区域中单击鼠
标左键,即可绘制活动图的起点和终点。
(4)添加动作状态或活动状态。基本操作方式同状态图。 (5)增加分支与合并。在WebShop电子商城中,购物用户通过 网上系统进行购物时,如果没有登录系统,则需要进行登录才能完 成商品的购买操作。
到下班时间了,收拾东西准备回家(不考虑加班); 开始等待电梯;
乘坐电梯到达楼下;
(发现没带家里钥匙,上楼拿)乘坐电梯上楼; 去公交车站等车;
乘公共汽车去菜场;
买菜; 回到家。
UML建模实例教程
2.2 状态图组成
状态的特征
(1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个状态
分支开始的条件行为的结束。
UML建模实例教程
3.2 活动图组成
活动图组成
5. 分叉与汇合 分叉用于将动作流分 为两个或多个并发运行
的分支
汇合则用于将不同的 分支汇聚一起
UML建模实例教程
3.2 活动图组成
活动图组成
6.泳道 泳道的本义是用来 分隔游泳池的,以保证
不同的选手可以在指定
的区域中进行比赛,而 不会互相干扰。
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图 (6)添加活动 在绘制状态图时,一般情况下需要指定状态的活动。右键单击对应的状 态(如:等待电梯),选择【Open Specification】,如图11所示。打 开状态属性设置对话框,选择【Actions】选项卡,右键单击中间空白 区域,选择【Insert】菜单,完成活动的添加。
以有一个或多个,表示一个活动图的最后和终结状态。
UML建模实例教程
2.2 状态图组成
状态图组成 2. 状态 状态是指在对象的生命期中的一个条件或状况,在此期间对象将满足 某些条件、执行某些活动或等待某些事件。
UML建模实例教程
2.2 状态图组成
员工下班回家
在员工下班回家的过程中,经历的状态包括:
(3)阅读如图所示的学生选课系统中的课程状态图,试着对不同状态 间的转换进行描述。
UML建模实例教程
任务3
任务目标
了解活动图的基本功能和绘制方法,并绘制WebShop电
子商城系统中前台购物用户购买活动的活动图 。
教学方法
分组教学法
案例教学法 SDSPR教学法
UML建模实例教程
3.1 活动图概述
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图
(4)状态之间添加状态转换
单击状态图绘制工具栏上的按 钮 ,在状态之间添加转换,
由此得到的员式下班回家的状态
图及其状态转换
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图 (5)设置状态转移事件 在不同的状态之间进行转换时,需要指定从一种状态转换到另一种状态 的事件。右键单击表示状态转换的箭头,选择【Open Specification】, 如图所示。打开状态转换属性设置对话框,在【General】选项卡中输 入【Event】中的内容,即可完成状态转移事件的设置
活动图概述
活动图(Activity Diagram)显示活动动作及其结果,着重描述操作 (方法)实现中所完成的工作以及用例实例或对象中的活动。 活动是某件事情正在进行的状态,既可以是现实生活中正在进行的某 一项工作,也可以是软件系统某个类对象的一个操作。 活动图与常用的程序流程图相似,它们的主要区别在于程序流程图一 般用来表示串行过程,而活动图则可以用来表示并行过程 。 使用活动图主要目的是: 描述一个操作执行过程中(操作实现的实例化)所完成的工作(动作); 描述对象内部的工作; 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象; 显示用例的实例是如何执行动作以及如何改变对象状态; 说明一次商务活动中的参与者、工作流、组织和对象是如何工作的。
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图
(6)调整大小和位置 最后,遵循美观、实用 的原则,调整状态图的 大小和位置,得到的员 工下班回家的状态图。
UML建模实例教程
2.3 绘制员工下班回家状态图
WebShop商品状态图
UML建模实例教程
课堂实践 1
操作要求
(1)绘制图书管理系统的图书状态图,并对不同状态间的转换进行描 述(参照书中的提示)。 (2)绘制WebShop电子商城系统的前台购物用户帐号的状态图,并 对不同状态间的转换进行描述。
在视图区域中右键单击“Logical View”节
点,依次选择【New 】【Statechart Diagram】,默认的状态图的名称为 “NewDiagram”,输入新的状态图的名称 (如员工下班回家)
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图
(3)添加状态
选择状态图绘图工具栏上的相应按钮,在绘图区域中单击鼠标左键,就 可以绘制状态。
状态图组成 3. 事件 事件是对一个在时间和空间上占有一定位置的有意义的事情的规格说 明。在状态机中,一个事件是一次激发的产生,激发可以触发一个状 态转换。“事件”指的是发生的且引起某些动作执行的事情,即事件 表示在某一特定的时间或空间出现的能够引发状态改变的运动变化。
UML建模实例教程
2.2 状态图组成
活动状态的内部活动可以用另一个活动图来表示;
活动状态可以有入口动作和出口动作,也可以有内部转移; 动作状态是活动状态的一个特例,如果某一个活动状态只包括一个动作, 那么它就是一个动作状态。
UML建模实例教程
3.2 活动图组成
活动图组成
3.动作流:动作流是指所有 动作状态之间的转换。 4. 分支与合并 分支是软件系统流程中很常 见的一种逻辑,它一般用来表示 对象所具有的条件行为。 合并包括两个带条件的入转 换和一个出转换(即两个入口和 一个出口),用来表示从对应的
UML建模实例教程
2.2 状态图组成
状态图组成
状态图是由表示状态的节点和表示状态之间转换的带箭头的直线组成。
若干个状态由一条或者多条转换箭头连接,状态的转换由事件触发。
UML建模实例教程
2.2 状态图组成
状态图组成 1.起点和终点 起点代表状态图的一个初始状态,此状态代表状态图的起始位置。 起点只能作为转换的源,而不是作为转换的目标。起点在一个状态图 中只允许有一个 。 终点代表状态图的最后状态,此状态代表状态图的终止位置。终点 只能作为转换的目标,而不是作为转换的源。终点在一个状态图中可
状态图组成 4. 转换 转换表示当一个特定事件发生或者某些条件满足时,一个源状态下的 对象完成一定的动作后将发生状态转变,转向另一个称之为目标状态 的状态。当发生转换时,转换进入的状态为活动状态,转换离开的状 态变为非活动状态。
UML建模实例教程
2.3 绘制员工下班回家状态图
绘制状态图
(1)打开工程WebShop.mdl。 (2)新建状态图。
一个动作输出的对象可以作为另一个动作输入的对象;
同一个对象可以多次出现在活动图中,每一次出现表明该对象正 处于对象生存期的不同时间点。
UML建模实例教程
3.2 活动图组成
活动图组成
8.组合活动
在UML的活动图中,一个大的活动可以分为若干个动作或子活 动,这些动作或子活动本身又可以组成一个活动图。
UML建模实例教程
3.3 绘制WebShop电子商城活动图
完成步骤
(1)打开工程WebShop.mdl。 (2)新建活动图。 在视图区域中右键单击“Logical View”节点,依次选择【New】 【Activity Diagram】,默认的状态图的名称为“NewDiagram”, 输入新的活动图的名称(如:前台购物)
所有系统(包括软件系统)均可表示为两个方面:静态结构和
动态行为。 UML提供了状态图、活动图、顺序图和协作图来描述系统的
结构和行为。
状态图、活动图、顺序图和协作图则适合于描述系统中的对象 在执行期间不同的时间点是如何动态交互的。
一组对象为了实现一些功能而进行通信称之为交互,可以通过
状态图、活动图、顺序图和协作图来描述系统的动态行为。
UML建模实例教程
3.2 活动图组成
活动图组成
7.对象流 对象可以在活动图中显示,表示动作状态或者活动状态与对象 之间的依赖关系。 对象可以作为动作的输入或输出,或简矩形符号来表示,在矩形的内部有对象名或类名。对象
流用带有箭头的虚线表示。 对象流中的对象有如下特点: 一个对象可以由多个动作操纵;
UML建模实例教程
3.1 活动图概述
典型活动图
UML建模实例教程
3.2 活动图组成
活动图组成
1.动作状态
动作状态是指执行原子的、不可中断的动作,并在此动作完成后转换到
另一个状态。动作状态有如下特点:
动作状态是原子的,它是构造活动图的最小单位,无法分解为更小的部分; 动作状态是不可中断的,它一旦运行就不能中断,一直运行到结束; 动作状态是瞬时的行为,它所占用的处理时间极短,有时甚至可以忽略; 动作状态有入转换,入转换可以是动作流,也可以是对象流。动作状态至少有一 条出转换,这条转换以内部动作的完成为起点,与外部事件无关;