UML状态图的画法_第1页
UML状态图的画法_第2页
UML状态图的画法_第3页
UML状态图的画法_第4页
UML状态图的画法_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、p动态模型描述系统与操作时间和顺序有关的系统 方面、影响更改的事件、事件的序列、事件的环 境以及事件的组织 1 2 3 4 二、状态图(二、状态图(State Diagram) p状态图是系统分析的一种常见工具,用于描述系统的行为。状态图是系统分析的一种常见工具,用于描述系统的行为。 p实体的生存期比较复杂时,需要状态图对其建模。实体的生存期比较复杂时,需要状态图对其建模。 pUML中的状态图主要用于建立对象类或对象的动态行为中的状态图主要用于建立对象类或对象的动态行为 模型,表现模型,表现一个一个对象所经历的对象所经历的状态状态序列,引起状态或活动序列,引起状态或活动 转移的转移的事件事件,

2、以及因状态或活动的转移而伴随的,以及因状态或活动的转移而伴随的动作动作。 5 主要内容主要内容 1. 状态机状态机 2. 状态状态 3. 转移转移 4. 组合状态组合状态 5. 状态图的应用状态图的应用 6 3.1 状态机状态机1 状态机对系统的动态特征建模。状态机对系统的动态特征建模。 p状态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,状态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起, 响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行 动作,引起转移到另一个状态,直到终结

3、状态。动作,引起转移到另一个状态,直到终结状态。 p状态机的组成:状态、转移、事件、活动、动作等。状态机的组成:状态、转移、事件、活动、动作等。 状态状态(State):):表示一个模型元素在生存期的一种状况,如满足某些条件,表示一个模型元素在生存期的一种状况,如满足某些条件, 进行某些活动,或等待某些事件出现等。一个状态在有限的时间段内存在。进行某些活动,或等待某些事件出现等。一个状态在有限的时间段内存在。 转移转移/迁移迁移(Transition):表示一个模型元素的不同状态之间的联系。在事表示一个模型元素的不同状态之间的联系。在事 件触发下,一个状态可以转移到另一个状态。件触发下,一个状

4、态可以转移到另一个状态。 事件事件(Event):):一个有意义的出现(一个有意义的出现(Occurrence)的说明。该出现在某的说明。该出现在某 个时间或空间点发生,并且立即触发一个状态的转移。例如,一个信号、一个时间或空间点发生,并且立即触发一个状态的转移。例如,一个信号、一 个操作的调用、一个对象的创建或销毁、超时、某个条件的改变等。个操作的调用、一个对象的创建或销毁、超时、某个条件的改变等。 动作动作(Action):):一个可执行的原子计算,它导致状态的变更或返回一个值。一个可执行的原子计算,它导致状态的变更或返回一个值。 不能被中断。不能被中断。 活动活动(Activity):)

5、:是在状态机中一系列动作的执行。活动可能被某个事件是在状态机中一系列动作的执行。活动可能被某个事件 中断。中断。 7 3.1 状态机状态机2 p状态机用于对状态机用于对一个一个模型元素建立行为模型,该模型元素通模型元素建立行为模型,该模型元素通 常是一个对象类,也可以是一个子系统,常是一个对象类,也可以是一个子系统,甚至整个系统。甚至整个系统。 p在在UML中状态机用状态图可视化表示。中状态机用状态图可视化表示。 状态图:状态的节点、转移的弧、事件等组成。状态图:状态的节点、转移的弧、事件等组成。 源状态源状态目标状态目标状态 事件事件 8 3.2 状态状态 p状态:对象全部属性的当前值。状态

6、:对象全部属性的当前值。 (问题:对象任何一个新的属性值组合就是一个新状态,状态空间太大)(问题:对象任何一个新的属性值组合就是一个新状态,状态空间太大) p状态属性:对确定对象的状态有重要意义的属性。状态属性:对确定对象的状态有重要意义的属性。 p状态属性一般具有少量的值,而且这些属性的值的转换是有限的。状态属性一般具有少量的值,而且这些属性的值的转换是有限的。 并且其属性值反映所属对象的特定状态。并且其属性值反映所属对象的特定状态。 如:对于如:对于“汽车汽车”对象,可能有对象,可能有“型号型号”、“车况车况”、“使用情况使用情况”、 “公里数公里数”、“汽油剩余量汽油剩余量”等属性。不应

7、取等属性。不应取“公里数公里数”或或“汽油剩余量汽油剩余量” 作为状态属性,可取作为状态属性,可取“使用情况使用情况”作为属性状态。则,作为属性状态。则,“汽车汽车”对象的有对象的有 限个不同状态:限个不同状态:“开动开动”、“停车停车”、“维修维修”、“闲置闲置”、“报废报废”等。等。 p在在UML中,对一个对象(模型元素)的行为建模时,所选择的该对中,对一个对象(模型元素)的行为建模时,所选择的该对 象的生存期中的象的生存期中的状态数量是有限的状态数量是有限的,对象处于每个状态的持续时间对象处于每个状态的持续时间 也是有限的。也是有限的。当发生某个事件,或完成某个动作,都会触发状态的当发生

8、某个事件,或完成某个动作,都会触发状态的 转移。转移。 状态举例状态举例 p状态指的是对象的状态。例如: p发票(对象对象)被被支付支付(状态状态) p小车(对象对象)正在正在停着停着(状态状态) p发动机(对象对象)正在正在工作工作(状态状态) p电灯(对象对象)开着开着(状态状态) 9 10 3.2.1 状态图标状态图标 p 状态图标(状态节点)状态图标(状态节点) 一个状态可以加入信息一个状态可以加入信息: 进入操作、退出操作、进入操作、退出操作、 活动等活动等 状态名状态名 entry / 动作动作 do / 活动活动 exit / 动作动作 11 3.2.2 状态行为状态行为1 p进

9、入操作(进入操作(entry):):系统进入该状态时要发生的动作,前面加上系统进入该状态时要发生的动作,前面加上 entry和和“ / ”。不可中断。不可中断。 注:航班进入预定状态时,注:航班进入预定状态时, 系统将时刻表发布到系统将时刻表发布到Internet。 尽管发布动作在技术上是可以尽管发布动作在技术上是可以 中断的,但其速度很快,用户中断的,但其速度很快,用户 很难在其发生时取消事物。很难在其发生时取消事物。 p活动(活动(do):):系统处于该状态时要发生的活动,前面加上系统处于该状态时要发生的活动,前面加上do和和 “ / ”。 活动是可中断行为,活动是可中断行为, 可以在对象

10、处于该状态时可以在对象处于该状态时 运行完毕,也可以在对象运行完毕,也可以在对象 转入另一状态时中断。转入另一状态时中断。 航班预定航班预定 entry / 将时刻表发布到将时刻表发布到 Internet 航班取消航班取消 do / 为客户寻找其它航班为客户寻找其它航班 12 3.2.2 状态行为状态行为2 p退出操作(退出操作(exit):):系统离开该状态时要发生的动作,前面加上系统离开该状态时要发生的动作,前面加上 exit和和“ / ”。不可中断。不可中断。 注:飞机着陆时退出飞行状态,注:飞机着陆时退出飞行状态, 系统记录登陆时间。系统记录登陆时间。 p发送事件:发送事件:在活动、进

11、入和退出操作的动作中可以是对象内部发生在活动、进入和退出操作的动作中可以是对象内部发生 的行为,也可能是向另外的行为,也可能是向另外 一个对象发送消息。一个对象发送消息。 飞行状态飞行状态 exit / 记录登陆时间记录登陆时间 状态名状态名 entry / 目标对象目标对象.消息名消息名(消息参数消息参数) do / 目标对象目标对象.消息名消息名(消息参数消息参数) exit / 目标对象目标对象.消息名消息名(消息参数消息参数) 13 3.2.3 初始与终结状态初始与终结状态 p初始状态:初始状态:是模型元素的初始状况,代表一个状是模型元素的初始状况,代表一个状 态图的起始点,是一个伪状

12、态。初始状态是转移态图的起始点,是一个伪状态。初始状态是转移 的初始源,而不能是转移的目标。实心圆表示。的初始源,而不能是转移的目标。实心圆表示。 p终结状态:终结状态:是模型元素的最后状态,代表一个状是模型元素的最后状态,代表一个状 态图的终止点,是一个伪状态。终结状态是转移态图的终止点,是一个伪状态。终结状态是转移 的最后目标,而不能是转移的初始源。牛眼表示。的最后目标,而不能是转移的初始源。牛眼表示。 14 3.3 转移转移(迁移)(迁移)1 p转移:用实箭线表示,箭尾连接出发状态,即转移:用实箭线表示,箭尾连接出发状态,即源状态源状态,箭头连接到,箭头连接到 达状态,即达状态,即目标状

13、态目标状态。在箭线上可以标示与该转移有关的选项:事。在箭线上可以标示与该转移有关的选项:事 件、保护件、保护(警戒)条件(警戒)条件和动作。和动作。 p当处于源状态的对象接收到一个当处于源状态的对象接收到一个事件,事件,并且保护条件得到满足时并且保护条件得到满足时 (如果有的话),则执行相应的动作,并从源状态转移到目标状态。(如果有的话),则执行相应的动作,并从源状态转移到目标状态。 p当发生一个转移时,该转移进入的状态为活动状态,它将执行相应当发生一个转移时,该转移进入的状态为活动状态,它将执行相应 的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。的动作。当发生一个转移离开一个状

14、态时,该状态变为非活动状态。 p转移类型:转移类型:简单转移、自转移、自动转移、复合转移等简单转移、自转移、自动转移、复合转移等。 源状态源状态目标状态目标状态 事件事件警戒条件警戒条件/动作动作 事件事件 p事件(event)是指某个时刻发生的事情。 p事件中最常见的是: n信号事件(signal event):从一个对象到另一个对象 的明确的单向信息流动。 n变更事件(change event):是指由满足布尔表达式 而引起的事件。 n时间事件(time event):是指在绝对时间上或在某 个时间间隔上发生的事情所引起的事件。 15 16 3.3 转移转移2 初始化初始化 do / 自启

15、动自启动 工作工作 关闭关闭 打开打开PC机机关闭机器关闭机器 屏幕保护屏幕保护 等待超时等待超时 击键或移动鼠标击键或移动鼠标 GUI的状态图的状态图 17 3.3.1 转移类型转移类型1 p自身转移(自身转移(Self-Transition):是指那些源状态与目):是指那些源状态与目 标状态是同一状态的转移。标状态是同一状态的转移。 如:卖票的航班中增加乘客如:卖票的航班中增加乘客 或减少乘客时,航班是打开的。或减少乘客时,航班是打开的。 p自动转移(自动转移(Automatic-Transition):自动转移又称):自动转移又称 完成转移(完成转移(Completion-Transit

16、ion)。每个状态都)。每个状态都 可能有一个不由事件触发的转移,它是根据该状态内的动可能有一个不由事件触发的转移,它是根据该状态内的动 作完成而自动触发的。见作完成而自动触发的。见GUI状态图。状态图。 打开打开 增加乘客增加乘客 人数人数+1 未满未满/sum+1 关闭关闭 增加增加人数人数+1 已满已满/sum+1 减少乘客减少乘客/sum-1减少乘客减少乘客/sum-1 18 3.3.1 转移类型转移类型2 p判定:是在状态图中的一个特定的位置,工作流在此依判定:是在状态图中的一个特定的位置,工作流在此依 据保护条件的取值而发生的分支。判定用空心小菱形表示。据保护条件的取值而发生的分支

17、。判定用空心小菱形表示。 p复合转移(复合转移(Compound-Transition):复合转移由简):复合转移由简 单转移组成,这些简单转移通过分支判定、分叉组成。单转移组成,这些简单转移通过分支判定、分叉组成。 源状态源状态 目标状态目标状态2 目标状态目标状态1条件条件1 条件条件2 19 3.3.1 转移类型转移类型3 制定计划制定计划 招聘人员招聘人员 实施实施 人员齐备人员齐备 人员未齐备人员未齐备 制定计划制定计划 招聘人员招聘人员 实施实施 人员齐备人员齐备 人员未齐备人员未齐备 20 源状态源状态 目标状态目标状态4 目标状态目标状态3 目标状态目标状态2 目标状态目标状态

18、1 事件事件1 条件条件1/动作动作1条件条件3/动作动作3 条件条件4/动作动作4 条件条件5/动作动作6 条件条件2/动作动作2 条件条件6/动作动作6 多条件链式分支多条件链式分支 源状态源状态 目标状态目标状态4 目标状态目标状态3 目标状态目标状态2 目标状态目标状态1 事件事件1条件条件1 and 条件条件3/动作动作1,动作,动作3 多条件非链式分支多条件非链式分支 事件事件1条件条件2 and 条件条件6/动作动作2,动作,动作6 事件事件1条件条件2 and 条件条件5/动作动作2,动作,动作5 事件事件1条件条件1 and 条件条件4/动作动作1,动作,动作4 21 3.3

19、.2 转移示例转移示例 未分配任务未分配任务 已分配任务已分配任务 取消对任务的资源分配取消对任务的资源分配 NumAssTasks1 / NumAssTasks-1 NumAssTasks=1 / NumAssTasks=0 分配任务给资源分配任务给资源 / NumAssTasks+1 资源休闲资源休闲 资源管理员资源管理员 PRMS的一个资源状态图的一个资源状态图 分配任务给资源分配任务给资源 / NumAssTasks+1 22 3.4.1 组合状态组合状态子状态子状态 p一个状态内嵌套了若干个状态,则称该状态为一个状态内嵌套了若干个状态,则称该状态为组合状态组合状态(超状态)。(超状态

20、)。 其中,被嵌套的状态称为其中,被嵌套的状态称为子状态子状态。子状态本身仍然可以是组合状态。子状态本身仍然可以是组合状态。 p一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的 一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的 一个入转移代表对其子区域内的初始状态的入转移,对子区域内的终一个入转移代表对其子区域内的初始状态的入转移,对子区域内的终 结状态的转移代表包含它的组合状态的相应活动的完成。结状态的转移代表包含它的组合状态的相应活动的完成。 p采

21、用组合状态可以简化复杂行为的建模。采用组合状态可以简化复杂行为的建模。 发货处理发货处理 取消取消 已发货已发货 取消取消 网上商店处理送货过程的状态图网上商店处理送货过程的状态图 检查检查 do / 检查商品检查商品 办货处理办货处理 do / 启动发货启动发货 等待等待 取消取消已发货已发货 全部商品已全部商品已 检查完,但部检查完,但部 分商品缺货分商品缺货 全部商品全部商品 检查完且全检查完且全 部商品都有部商品都有 收到商品收到商品 全部商品都有全部商品都有 收到商品收到商品 部分商品缺货部分商品缺货 未检查完未检查完 全部商品全部商品 / 取下一个取下一个 取消取消 取消取消 取消

22、取消 网上商店处理送货过程的状态图网上商店处理送货过程的状态图 检查检查 do / 检查商品检查商品 办货处理办货处理 do / 启动发货启动发货 等待等待 取消取消已发货已发货 全部商品已全部商品已 检查完,但部检查完,但部 分商品缺货分商品缺货 全部商品已全部商品已 检查完且全部检查完且全部 商品都有商品都有 收到商品收到商品 全部商品都有全部商品都有 收到商品收到商品 部分商品缺货部分商品缺货 发货处理发货处理 未检查完未检查完 全部商品全部商品 / 取下一个取下一个 网上商店处理送货过程的状态图网上商店处理送货过程的状态图 取消取消 25 在店内在店内 entry/ 令令store =

23、 theStore(本店本店) 购入项目购入项目 已出租已出租 归还项目归还项目 弃置项目弃置项目 租出项目租出项目 已租出已租出 正常正常 entry/ 令令store = null(空值空值) do/ 每天检查到期时间每天检查到期时间 超过到期日子超过到期日子 过期过期 entry/ 通知会员通知会员 租借店软件系统中的租借项目租借店软件系统中的租借项目(录像带、游戏等录像带、游戏等)状态图状态图 租出项目租出项目 26 3.4.2 顺序子状态顺序子状态 p顺序子状态:子状态是一个一个顺序转移的,不是并发存顺序子状态:子状态是一个一个顺序转移的,不是并发存 在的。在的。 等待用户输入等待用

24、户输入登记用户输入登记用户输入显示用户输入显示用户输入 输入输入 工作工作 GUI中中“工作工作”的组合状态的组合状态 27 活动活动 ? ? ? 验卡验卡 拨号拨号通话通话 挂断挂断 休闲休闲 继续继续 维修维修 结束结束 维修完成维修完成 维修维修 插卡插卡 取消取消 IC卡电话机顺序状态示例卡电话机顺序状态示例 28 3.4.3 并发子状态并发子状态1 p并发状态图用于描述一个对象在某个时刻有多个并发的子并发状态图用于描述一个对象在某个时刻有多个并发的子 状态机的情况,并发状态图是这些子状态图的组合。状态机的情况,并发状态图是这些子状态图的组合。 等待用户输入等待用户输入登记用户输入登记

25、用户输入显示用户输入显示用户输入 输入输入 工作工作 监视监视 系统时钟系统时钟 更新更新 界面显示界面显示 时钟间隔已过时钟间隔已过 GUI中中“工作工作”的并发组合状态的并发组合状态 29 3.4.3 并发子状态并发子状态2 网上商店系统中网上商店系统中“订货订货”对象的并发状态图对象的并发状态图 等待等待 商品检查商品检查办理装货办理装货 付款检查付款检查已付款已付款 取消取消 发货发货 拒绝拒绝 订货订货 30 3.4.4 同步同步 p同步:同步可定义为并发工作流的分劈(同步:同步可定义为并发工作流的分劈(Fork)与接合)与接合 (Join)。)。 分劈(拆分):分劈(拆分):是一个

26、源状态分为两个或两个以上的目标状态。是一个源状态分为两个或两个以上的目标状态。 接合:接合:是两个以上的源状态连接为一个目标状态。是两个以上的源状态连接为一个目标状态。 同步在状态图中用一条粗短实线表示,称为同步杆。同步在状态图中用一条粗短实线表示,称为同步杆。 源状态源状态目标状态目标状态 目标状态目标状态1 目标状态目标状态2 源状态源状态1 源状态源状态2 31 3.4.4 并发子状态并发子状态同步同步 p在并发状态图中一个子状态图中在并发状态图中一个子状态图中 的子状态,常常需要与另一个子的子状态,常常需要与另一个子 状态图中的子状态的行为同步。状态图中的子状态的行为同步。 在在UML

27、中使用同步状态表示这中使用同步状态表示这 种情况。种情况。 p并发子状态之间的同步状态用含并发子状态之间的同步状态用含 “*”的小圆表示(伪状态),放的小圆表示(伪状态),放 在分隔子状态的虚线上。在分隔子状态的虚线上。 p例:例:建筑住宅的并发状态图建筑住宅的并发状态图。 其中有二个子状态图,分别其中有二个子状态图,分别 代表主体工程施工和水电工程代表主体工程施工和水电工程 施工,它们是并行进行的。施工,它们是并行进行的。 砌筑基础砌筑基础 铺设铺设 室内管线室内管线 安装安装 水电设备水电设备 主体结构主体结构水电准备水电准备 安装门框安装门框 室内装修室内装修 竣工验收竣工验收 * *

28、32 3.4.5 历史状态历史状态1 p历史状态(历史状态(History State):代表上次离开组合状态时代表上次离开组合状态时 的最后一个活动子状态。历史状态用含有字母的最后一个活动子状态。历史状态用含有字母“H”的小的小 园圈表示。每当转移到组合状态中的历史状态时,对象便园圈表示。每当转移到组合状态中的历史状态时,对象便 恢复上次离开该组合状态时最后一个子状态,并执行入口恢复上次离开该组合状态时最后一个子状态,并执行入口 动作。动作。 p历史状态是一个伪状态的图形标记,只能作为组合状态中历史状态是一个伪状态的图形标记,只能作为组合状态中 的子状态,不能在顶层状态图中使用。的子状态,不

29、能在顶层状态图中使用。 33 3.4.5 历史状态历史状态2 停止停止 播发播发 选择选择 暂停暂停 H 恢复恢复 活动活动 中断中断 影碟机对象工作的部分状态图影碟机对象工作的部分状态图 34 3.5 状态图的应用状态图的应用 p状态图为一个对象的生命周期建立模型。状态图可以表示状态图为一个对象的生命周期建立模型。状态图可以表示 一个对象的历史,引起一个状态向另一个状态转移的事件,一个对象的历史,引起一个状态向另一个状态转移的事件, 以及由于状态的转移而引发的动作。以及由于状态的转移而引发的动作。 p状态图适合描述一个对象穿越多个状态图适合描述一个对象穿越多个Use Case的行为,但的行为

30、,但 不适合描述多个对象的协同行为。不适合描述多个对象的协同行为。 p使用状态图可以对一个对象(类)的行为建模,也可以对使用状态图可以对一个对象(类)的行为建模,也可以对 一个子系统或整个系统的行为建模。一个子系统或整个系统的行为建模。 状态图建模技术状态图建模技术 p建模的时候要找出对象所处的状态、触发状态改 变的动作,以及对象状态改变时应执行的动作 具体步骤如下: 1、找出适合用模型描述其行为的类。、找出适合用模型描述其行为的类。 2、确定对象可能存在的状态。、确定对象可能存在的状态。找出状态属性。找出状态属性。 3、确定引起状态转换的事件。、确定引起状态转换的事件。 4、确定转换进行时对

31、对象执行的相应动作。、确定转换进行时对对象执行的相应动作。利用利用 子状态、分支、历史状态等概念组织和简化一个子状态、分支、历史状态等概念组织和简化一个 复杂的状态机。复杂的状态机。 5、对建模的结果进行相应的精化和细化。、对建模的结果进行相应的精化和细化。 35 36 3.5.2 系统总体状态图系统总体状态图 备份系统备份系统 未激活未激活 PRMS 未激活未激活 备份系统备份系统 已激活已激活 PRMS 已激活已激活 退出系统退出系统 启动系统启动系统 启动备份系统启动备份系统/ 使使PRMS备份备份 例程工作例程工作 关闭备份系统关闭备份系统/ 使使PRMS备份备份 例程不工作例程不工作

32、 启动启动PRMS 第一次使用第一次使用 启动启动PRMS 非第一次使用非第一次使用 /装载数据装载数据 关闭关闭PRMS系统系统 备份系统已激活备份系统已激活 /备份数据备份数据 37 PRMS已激活已激活 资源管理资源管理 项目管理项目管理 系统管理系统管理 休闲休闲忙忙 资源管理启动处理资源管理启动处理 完成处理完成处理 休闲休闲忙忙 项目管理启动处理项目管理启动处理 完成处理完成处理 休闲休闲忙忙 系统管理启动处理系统管理启动处理 完成处理完成处理 PRMS的激活状态的组合状态的激活状态的组合状态 38 用于预定的状态图:用于预定的状态图:在在Reservation创建后,就处于等待状

33、态,创建后,就处于等待状态, 一旦到达一旦到达Concluded状态,在系统中就不再承担任何任务。状态,在系统中就不再承担任何任务。 Waiting 没找到汽车没找到汽车 Notifiable Needing Renewal Collectable Storable Concluded 会员取消会员取消 会员没有来会员没有来 会员取车会员取车 返回汽车返回汽车 助手找到汽车助手找到汽车 没有汽车回来没有汽车回来 会员取消会员取消 助手存储助手存储 会员再次预约会员再次预约 找不到会员找不到会员 会员取消会员取消 助手已通知会员助手已通知会员 会员取消会员取消 找不到会员找不到会员 何时使用状态

34、图何时使用状态图 p大多数面向商业的应用中的类不需要状态图 p以下情况经常使用状态图:状态多于三个 n动态模型中产生或接收大量信息的类:订单、交通 n界面类 n实时系统中的类 39 40 41 42 状态图的代码实现状态图的代码实现 p状态图用于辅助类图建模 p迁移通常被实现成对象上的操作,操作名与信号 名相对应;信号比操作更富有表现力,因为信号 不仅依赖于类,而且依赖于状态 p状态通常是类的属性 p状态的完整性反映了属性的取值的特点 p迁移与状态的关系反映了对象属性与操作的关系 43 44 两种不同的系统两种不同的系统 p一种是“信息处理系统”:系统对某些输入信息按照预先指定 的步骤和方式进

35、行处理,以便得到某些输出的信息,系统目前 的状态可以用資料目前的状态來描述,例如:人事薪资系統、 仓储物流系统; p另外一类是与外界环境互动的系统,例如:飛航管制系統、交 通管制系統、游戏等等,这一类系统一般没有明确的输入和输 出,但是与外界有很多不预期的互动。 p通常系统回应的方法与系统内部的状态有关系,而系統內部通 常有许多记录的变数。 p针对这两大类的系统,我们描述他们的方法也不一样,对于前 者,我们通常使用活动图来描述,因为活动图中最重要的部分 是活动的处理控制。 p后者则常用状态图。 45 练习练习1: 图书馆中图书馆中“图书图书”的状态图的状态图 p图书状态有:订购、编目、馆藏、借

36、出。 46 47 四、活动图(四、活动图(Activity Diagram) p活动图是系统的一种行为视图,它描述参与行为的对象类的活动图是系统的一种行为视图,它描述参与行为的对象类的活动活动的顺序,包的顺序,包 括依赖于条件的行为和并发行为。括依赖于条件的行为和并发行为。 p活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集 需求时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪需求时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪 里结束,工作流中发生了哪些活动,这些活动按什么顺序发生

37、,活动是由哪里结束,工作流中发生了哪些活动,这些活动按什么顺序发生,活动是由哪 些对象来完成的。些对象来完成的。 p活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示 操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图 描述的是响应内部处理的对象类行为,状态图描述的是对象类响应事件的外描述的是响应内部处理的对象类行为,状态图描述的是对象类响应事件的外 部行为。部行为。 48 接受订货接受订货 填写订单填写订单 通宵发货通宵发货常规发

38、货常规发货 寄送货票寄送货票 接收付款接收付款 关闭订货关闭订货 快速订货快速订货否则否则 顾客订货处理的活动图顾客订货处理的活动图 49 主要内容主要内容 1. 活动图的组成活动图的组成 2. 活动分解活动分解 3. 并发与同步并发与同步 4. 活动图的应用活动图的应用 50 4.1 活动图的组成活动图的组成1 p活动图的基本图形元素有:活动图的基本图形元素有:动作状态(或活动状态)、转移、泳道、动作状态(或活动状态)、转移、泳道、 对象流、信号。此外,初始状态、终结状态、判定、同步等也是常用对象流、信号。此外,初始状态、终结状态、判定、同步等也是常用 的图形元素和符号。的图形元素和符号。

39、(1)动作状态:动作状态:表达不可中断的动作或操作的执行。动作的持续时间不重要。表达不可中断的动作或操作的执行。动作的持续时间不重要。 表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。 动作状态可以有动作状态可以有入转移入转移,动作状态至少有一条,动作状态至少有一条出转移出转移,出转移不是基于外部事,出转移不是基于外部事 件,而是件,而是隐含表示内部动作的完成隐含表示内部动作的完成。 matrix.invert(tolerance:real) 选择课程选择课程 51 4.1 活动图的组成活动图的组成2 活动状态:活动状态:表达

40、一个非原子的运行。一个活动可以拥有一组不可中断的动作或表达一个非原子的运行。一个活动可以拥有一组不可中断的动作或 操作。活动本身可以被中断,而且通常需要持续一个时间段才能完成。用动操作。活动本身可以被中断,而且通常需要持续一个时间段才能完成。用动 作图标来表示活动状态。作图标来表示活动状态。 活动状态可以进一步分解,或者用另外一个活动图来表示。与状态图一样,活动状态可以进一步分解,或者用另外一个活动图来表示。与状态图一样, 活动状态可以有入口动作和出口动作,也可以有内部转移。活动状态可以有入口动作和出口动作,也可以有内部转移。 注:注:动作状态的图标可以代表一个不可中断的动作状态,也可以代表一

41、个可动作状态的图标可以代表一个不可中断的动作状态,也可以代表一个可 以被中断的活动,后者可用另外的活动图详细表达。以被中断的活动,后者可用另外的活动图详细表达。 制定计划制定计划 制订计划制订计划 entry / SetGoal() 52 4.1 活动图的组成活动图的组成3 (2)转移:转移:在活动图中转移用实箭线表示,箭线从一个动作出发指向在活动图中转移用实箭线表示,箭线从一个动作出发指向 另一个动作状态。转移可以是无条件的,也可以是有条件的。另一个动作状态。转移可以是无条件的,也可以是有条件的。 计算所得计算所得 计算所得税计算所得税 发放津贴发放津贴 else 总所得总所得2000 计算

42、所得计算所得 计算所得税计算所得税 发放津贴发放津贴 else 总所得总所得2000 53 4.1 活动图的组成活动图的组成4 (3)泳道(泳道(Swimlance):):泳道代表对象对活动的责任。泳道代表对象对活动的责任。泳道把活动泳道把活动 图中的活动划分为若干组,并把这些组指定给对象,这些对象必须履行图中的活动划分为若干组,并把这些组指定给对象,这些对象必须履行 该组所包含的活动。泳道是该组所包含的活动。泳道是把活动与对象相联系把活动与对象相联系的方法之一,它明确表的方法之一,它明确表 示哪些活动由哪些对象进行的。示哪些活动由哪些对象进行的。 在活动图上泳道用垂直实线画出,垂直线分隔的区

43、域就是泳道。在在活动图上泳道用垂直实线画出,垂直线分隔的区域就是泳道。在 泳道的上方给出泳道的名字或对象名字,该对象负责泳道内的全部活动。泳道的上方给出泳道的名字或对象名字,该对象负责泳道内的全部活动。 泳道没有顺序,不同泳道中的活动可以是顺序进行的,也可以是并发进泳道没有顺序,不同泳道中的活动可以是顺序进行的,也可以是并发进 行的,允许转移和对象流穿过泳道分隔线。行的,允许转移和对象流穿过泳道分隔线。 填写订单填写订单 发货发货 接受订货接受订货 寄送货票寄送货票 关闭订货关闭订货 接收付款接收付款 财务结算财务结算顾客服务顾客服务处理订货处理订货 泳道示例泳道示例 55 p考虑咨询公司会见

44、一个新客户时的业务过程。活动可能这样发生:考虑咨询公司会见一个新客户时的业务过程。活动可能这样发生: (1)公司业务员打电话给客户,确定一个约定。)公司业务员打电话给客户,确定一个约定。 (2)如果约定的地点在公司内,那么公司中的技术人员就要为会面)如果约定的地点在公司内,那么公司中的技术人员就要为会面 准备一间会议室。准备一间会议室。 (3)如果约定地点在公司外,那么咨询顾问就要用便携电脑准备一)如果约定地点在公司外,那么咨询顾问就要用便携电脑准备一 份陈述报告。份陈述报告。 (4)咨询顾问与客户在约定的时间和地点见面。)咨询顾问与客户在约定的时间和地点见面。 (5)业务员随后给他们准备好会

45、议用纸。)业务员随后给他们准备好会议用纸。 (6)如果会议产生了一个问题陈述,咨询顾问就要根据问题陈述建)如果会议产生了一个问题陈述,咨询顾问就要根据问题陈述建 立一个提案并把该提案发给客户。立一个提案并把该提案发给客户。 在一般情况下,绘制活动图时应先集中注意力在在一般情况下,绘制活动图时应先集中注意力在业务工作上或业务工作上或 系统的服务内容系统的服务内容上,绘制动作状态和转移等,弄清楚系统的总上,绘制动作状态和转移等,弄清楚系统的总 体行为含义,而后在绘制泳道,把开展活动的责任分配到对象。体行为含义,而后在绘制泳道,把开展活动的责任分配到对象。 Call client and set u

46、p appointment Prepare a conference room Prepare a laptop appointment onsite appointment offsite Meet with the client Send follow-up letter Create proposal statement of problem Send proposal to client no statement of problem 参见参见“创建文创建文 档档”活动图活动图 业务过程业务过程“会见新客户会见新客户”的活动图的活动图 Call client and set up ap

47、pointment Send follow-up letter Prepare a conference room appointment onsite Create proposal Send proposal to client Meet with the client Prepare a laptop appointment offsite 参见参见“创建创建 文档文档“活动图活动图 statement of problem no statement of problem Corporate Technician Consultant Sale Person 58 4.1 活动图的组成活

48、动图的组成5 当活动图过于复杂时,绘制泳道可能出现困难,这时可以不用泳道表现活动当活动图过于复杂时,绘制泳道可能出现困难,这时可以不用泳道表现活动 与对象的联系。替代的方法之一是在活动上贴上对象名标签,或者改用交互与对象的联系。替代的方法之一是在活动上贴上对象名标签,或者改用交互 图指定负责活动的对象。图指定负责活动的对象。 (4)对象流(对象流(Object Flow):):对象流是动作状态(或活动状态)与对象之对象流是动作状态(或活动状态)与对象之 间的依赖联系,表示动作使用对象或动作对对象的影响。间的依赖联系,表示动作使用对象或动作对对象的影响。 在活动图中在活动图中对象流用虚箭线表示对

49、象流用虚箭线表示。 虚箭线从动作状态出发指向对象虚箭线从动作状态出发指向对象:表示该动作创建或更新了对象流所指的对:表示该动作创建或更新了对象流所指的对 象,该对象是动作的输出。象,该对象是动作的输出。 虚箭线从对象出发指向动作状态:表示该动作使用对象流所指的对象,该对虚箭线从对象出发指向动作状态:表示该动作使用对象流所指的对象,该对 象是动作的输入。象是动作的输入。 59 按名找资源按名找资源 按名找技能按名找技能 指定技能给资源指定技能给资源 R : 资源资源 S : 技能技能 R-S: 资源资源-技能技能 把技能指定给资源的活动图把技能指定给资源的活动图 资源中已指定技能资源中已指定技能

50、 资源中未指定技能资源中未指定技能 60 4.1 活动图的组成活动图的组成6 (5)信号事件(信号事件(Signal Event):):在活动图中,可以使用信号发送在活动图中,可以使用信号发送 构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸 角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一 个活动的发生。个活动的发生。 P124 Press Channel Number Watch Change(channel) Show New Channel T

51、elevision Change(channel) 61 4.2 活动分解活动分解 p一个活动可以分解为若干个子活动或动作,这些子活动或一个活动可以分解为若干个子活动或动作,这些子活动或 动作本身组成一个活动图。动作本身组成一个活动图。 p如果一个活动内嵌套了若干个活动或动作,则称该活动为如果一个活动内嵌套了若干个活动或动作,则称该活动为 组合活动,其中的被嵌套的活动称为子活动。组合活动,其中的被嵌套的活动称为子活动。 p使用活动分解的好处是,在高一层的活动图中只需要给出使用活动分解的好处是,在高一层的活动图中只需要给出 组合活动,不必涉及子活动图的内容,组合活动的内部行组合活动,不必涉及子活

52、动图的内容,组合活动的内部行 为可以在低一层的活动图中表示,这样便于抓住主要问题,为可以在低一层的活动图中表示,这样便于抓住主要问题, 使得图形更为简洁明了。使得图形更为简洁明了。 接受订货接受订货 填写订单填写订单 发货发货 ?通宵发货通宵发货常规发货常规发货 寄送货票寄送货票 接收付款接收付款 关闭订货关闭订货 紧急订货紧急订货否则否则 组合活动示例组合活动示例 63 使用使用Office软件包建立一个文档的过程。一个活动软件包建立一个文档的过程。一个活动 序列可能如下:序列可能如下: (1)打开)打开Word处理软件包。处理软件包。 (2)创建一个文档。)创建一个文档。 (3)命名该文档

53、并为该文档指定一个存放目录。)命名该文档并为该文档指定一个存放目录。 (4)键入文档的内容。)键入文档的内容。 (5)如果文档中需要图形,则打开图形软件包,创建图形,将图形粘)如果文档中需要图形,则打开图形软件包,创建图形,将图形粘 贴到文档中。贴到文档中。 (6)如果文档中需要电子表格,则打开电子表格软件包,建立电子表)如果文档中需要电子表格,则打开电子表格软件包,建立电子表 格,将电子表格粘贴到文档中。格,将电子表格粘贴到文档中。 (7)保存该文件。)保存该文件。 (8)打印一份该文档的硬拷贝。)打印一份该文档的硬拷贝。 (9)退出)退出Office软件包。软件包。 tables no n

54、eeded Open Word Processing Package Create File Save File Type the Document Open and Use Graphing Package Open and Use Spreadsheet Save the File Print Hard Copy Exit Office Suite graphics needed graphics no needed tables needed 一个文档创建过程的活动图一个文档创建过程的活动图 print(file) print(file) :Printer Print 未完成未完成 已完

55、成已完成 65 4.3 并发与同步并发与同步 p在活动图中用在活动图中用“分劈分劈”(Fork)和和“接合接合”(Join)来表达并发和同步行来表达并发和同步行 为。为。 “分劈分劈”和和“接合接合”均用同步杆(均用同步杆(Synchronization bar)表示。表示。 p对于对于“接合接合”的同步的规则:的同步的规则: 只有当所有的入转移全部只有当所有的入转移全部 完成其活动后才发生出转完成其活动后才发生出转 移。可有一种例外情况,移。可有一种例外情况, 就是条件线程就是条件线程 (Conditional Thread),), 条件线程是从一个条件线程是从一个“分劈分劈” 发出的线程上

56、加上条件,发出的线程上加上条件, 在执行时,如果该线程在执行时,如果该线程 的条件取值为的条件取值为“假假”,则就,则就 “接合接合”而论认为该线程已经完成。而论认为该线程已经完成。 享用晚餐享用晚餐 烹调菜肴烹调菜肴煮饭煮饭 安排餐桌安排餐桌 打开啤酒打开啤酒 想喝酒想喝酒 砌筑基础砌筑基础 主体结构主体结构水电准备水电准备 安装门窗安装门窗 铺设室内管道铺设室内管道 室内装修室内装修 安装水电设备安装水电设备 竣工验收竣工验收 活动的同步状态示例活动的同步状态示例 67 3.4.4 并发子状态并发子状态同步同步 p在并发状态图中一个子状态图中在并发状态图中一个子状态图中 的子状态,常常需要

57、与另一个子的子状态,常常需要与另一个子 状态图中的子状态的行为同步。状态图中的子状态的行为同步。 在在UML中使用同步状态表示这中使用同步状态表示这 种情况。种情况。 p并发子状态之间的同步状态用含并发子状态之间的同步状态用含 “*”的小圆表示(伪状态),放的小圆表示(伪状态),放 在分隔子状态的虚线上。在分隔子状态的虚线上。 p例:例:建筑住宅的并发状态图建筑住宅的并发状态图。 其中有二个子状态图,分别其中有二个子状态图,分别 代表主体工程施工和水电工程代表主体工程施工和水电工程 施工,它们是并行进行的。施工,它们是并行进行的。 砌筑基础砌筑基础 铺设铺设 室内管线室内管线 安装安装 水电设

58、备水电设备 主体结构主体结构水电准备水电准备 安装门框安装门框 室内装修室内装修 竣工验收竣工验收 * * Time Event 68 A time event with an incoming edge represents a timeout A time event with no incoming flows models a repeating time event Calling Other Activities 69 Rather than cluttering up the top-level diagram with details of the Prepare Mother

59、board action, details are provided in another activity diagram Objects - Showing Objects Passed Between Actions 70 The Order object node emphasizes that it is important data in this activity and shows which actions interact with it P125 Objects-Showing Action Inputs and Outputs 71 Pins in this chang

60、e request approval process allow finer- grained specification of input and output parameters Transformations show where input parameters come from, only part of Order needed Objects-Showing How Objects Change State During an Activity 72 The focus of this diagram is the change of state of the Order o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论