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

下载本文档

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

文档简介

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

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

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

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

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

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

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

8、对象)被被支付支付(状态状态)p小车(对象对象)正在正在停着停着(状态状态)p发动机(对象对象)正在正在工作工作(状态状态)p电灯(对象对象)开着开着(状态状态)9103.2.1 状态图标状态图标p 状态图标(状态节点)状态图标(状态节点)一个状态可以加入信息一个状态可以加入信息:进入操作、退出操作、进入操作、退出操作、活动等活动等状态名状态名entry / 动作动作do / 活动活动exit / 动作动作113.2.2 状态行为状态行为1p进入操作(进入操作(entry):):系统进入该状态时要发生的动作,前面加上系统进入该状态时要发生的动作,前面加上entry和和“ / ”。不可中断。不可

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

10、表发布到 Internet航班取消航班取消do / 为客户寻找其它航班为客户寻找其它航班123.2.2 状态行为状态行为2p退出操作(退出操作(exit):):系统离开该状态时要发生的动作,前面加上系统离开该状态时要发生的动作,前面加上exit和和“ / ”。不可中断。不可中断。注:飞机着陆时退出飞行状态,注:飞机着陆时退出飞行状态, 系统记录登陆时间。系统记录登陆时间。p发送事件:发送事件:在活动、进入和退出操作的动作中可以是对象内部发生在活动、进入和退出操作的动作中可以是对象内部发生的行为,也可能是向另外的行为,也可能是向另外一个对象发送消息。一个对象发送消息。飞行状态飞行状态exit /

11、 记录登陆时间记录登陆时间状态名状态名entry / 目标对象目标对象.消息名消息名(消息参数消息参数)do / 目标对象目标对象.消息名消息名(消息参数消息参数)exit / 目标对象目标对象.消息名消息名(消息参数消息参数)133.2.3 初始与终结状态初始与终结状态p初始状态:初始状态:是模型元素的初始状况,代表一个状是模型元素的初始状况,代表一个状态图的起始点,是一个伪状态。初始状态是转移态图的起始点,是一个伪状态。初始状态是转移的初始源,而不能是转移的目标。实心圆表示。的初始源,而不能是转移的目标。实心圆表示。p终结状态:终结状态:是模型元素的最后状态,代表一个状是模型元素的最后状态

12、,代表一个状态图的终止点,是一个伪状态。终结状态是转移态图的终止点,是一个伪状态。终结状态是转移的最后目标,而不能是转移的初始源。牛眼表示。的最后目标,而不能是转移的初始源。牛眼表示。143.3 转移转移(迁移)(迁移)1p转移:用实箭线表示,箭尾连接出发状态,即转移:用实箭线表示,箭尾连接出发状态,即源状态源状态,箭头连接到,箭头连接到达状态,即达状态,即目标状态目标状态。在箭线上可以标示与该转移有关的选项:事。在箭线上可以标示与该转移有关的选项:事件、保护件、保护(警戒)条件(警戒)条件和动作。和动作。p当处于源状态的对象接收到一个当处于源状态的对象接收到一个事件,事件,并且保护条件得到满

13、足时并且保护条件得到满足时(如果有的话),则执行相应的动作,并从源状态转移到目标状态。(如果有的话),则执行相应的动作,并从源状态转移到目标状态。p当发生一个转移时,该转移进入的状态为活动状态,它将执行相应当发生一个转移时,该转移进入的状态为活动状态,它将执行相应的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。p转移类型:转移类型:简单转移、自转移、自动转移、复合转移等简单转移、自转移、自动转移、复合转移等。源状态源状态目标状态目标状态事件事件警戒条件警戒条件/动作动作事件事件p事件(event)是指某个时刻发生的事情。p

14、事件中最常见的是:n信号事件(signal event):从一个对象到另一个对象的明确的单向信息流动。n变更事件(change event):是指由满足布尔表达式而引起的事件。n时间事件(time event):是指在绝对时间上或在某个时间间隔上发生的事情所引起的事件。15163.3 转移转移2 初始化初始化do / 自启动自启动工作工作 关闭关闭 打开打开PC机机关闭机器关闭机器屏幕保护屏幕保护等待超时等待超时击键或移动鼠标击键或移动鼠标GUI的状态图的状态图173.3.1 转移类型转移类型1p自身转移(自身转移(Self-Transition):是指那些源状态与目):是指那些源状态与目标状

15、态是同一状态的转移。标状态是同一状态的转移。如:卖票的航班中增加乘客如:卖票的航班中增加乘客或减少乘客时,航班是打开的。或减少乘客时,航班是打开的。p自动转移(自动转移(Automatic-Transition):自动转移又称):自动转移又称完成转移(完成转移(Completion-Transition)。每个状态都)。每个状态都可能有一个不由事件触发的转移,它是根据该状态内的动可能有一个不由事件触发的转移,它是根据该状态内的动作完成而自动触发的。见作完成而自动触发的。见GUI状态图。状态图。打开打开增加乘客增加乘客 人数人数+1 未满未满/sum+1关闭关闭增加增加人数人数+1 已满已满/s

16、um+1减少乘客减少乘客/sum-1减少乘客减少乘客/sum-1183.3.1 转移类型转移类型2p判定:是在状态图中的一个特定的位置,工作流在此依判定:是在状态图中的一个特定的位置,工作流在此依据保护条件的取值而发生的分支。判定用空心小菱形表示。据保护条件的取值而发生的分支。判定用空心小菱形表示。p复合转移(复合转移(Compound-Transition):复合转移由简):复合转移由简单转移组成,这些简单转移通过分支判定、分叉组成。单转移组成,这些简单转移通过分支判定、分叉组成。源状态源状态目标状态目标状态2目标状态目标状态1条件条件1条件条件2193.3.1 转移类型转移类型3 制定计划

17、制定计划招聘人员招聘人员实施实施人员齐备人员齐备人员未齐备人员未齐备制定计划制定计划招聘人员招聘人员实施实施人员齐备人员齐备人员未齐备人员未齐备20 源状态源状态目标状态目标状态4目标状态目标状态3目标状态目标状态2目标状态目标状态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条件

18、条件2 and 条件条件6/动作动作2,动作,动作6事件事件1条件条件2 and 条件条件5/动作动作2,动作,动作5事件事件1条件条件1 and 条件条件4/动作动作1,动作,动作4213.3.2 转移示例转移示例 未分配任务未分配任务已分配任务已分配任务取消对任务的资源分配取消对任务的资源分配NumAssTasks1 / NumAssTasks-1NumAssTasks=1 / NumAssTasks=0分配任务给资源分配任务给资源 / NumAssTasks+1资源休闲资源休闲资源管理员资源管理员PRMS的一个资源状态图的一个资源状态图分配任务给资源分配任务给资源 / NumAssTas

19、ks+1223.4.1 组合状态组合状态子状态子状态p一个状态内嵌套了若干个状态,则称该状态为一个状态内嵌套了若干个状态,则称该状态为组合状态组合状态(超状态)。(超状态)。其中,被嵌套的状态称为其中,被嵌套的状态称为子状态子状态。子状态本身仍然可以是组合状态。子状态本身仍然可以是组合状态。p一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的一个入转移代表对其子区域内的初始状态的入转移,对子区域内的终一个入

20、转移代表对其子区域内的初始状态的入转移,对子区域内的终结状态的转移代表包含它的组合状态的相应活动的完成。结状态的转移代表包含它的组合状态的相应活动的完成。p采用组合状态可以简化复杂行为的建模。采用组合状态可以简化复杂行为的建模。发货处理发货处理取消取消已发货已发货取消取消网上商店处理送货过程的状态图网上商店处理送货过程的状态图检查检查do / 检查商品检查商品办货处理办货处理do / 启动发货启动发货等待等待取消取消已发货已发货全部商品已全部商品已检查完,但部检查完,但部分商品缺货分商品缺货全部商品全部商品检查完且全检查完且全部商品都有部商品都有收到商品收到商品全部商品都有全部商品都有收到商品

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

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

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

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

25、合:接合:是两个以上的源状态连接为一个目标状态。是两个以上的源状态连接为一个目标状态。同步在状态图中用一条粗短实线表示,称为同步杆。同步在状态图中用一条粗短实线表示,称为同步杆。源状态源状态目标状态目标状态目标状态目标状态1目标状态目标状态2源状态源状态1源状态源状态2313.4.4 并发子状态并发子状态同步同步p在并发状态图中一个子状态图中在并发状态图中一个子状态图中的子状态,常常需要与另一个子的子状态,常常需要与另一个子状态图中的子状态的行为同步。状态图中的子状态的行为同步。 在在UML中使用同步状态表示这中使用同步状态表示这种情况。种情况。p并发子状态之间的同步状态用含并发子状态之间的同

26、步状态用含 “*”的小圆表示(伪状态),放的小圆表示(伪状态),放在分隔子状态的虚线上。在分隔子状态的虚线上。 p例:例:建筑住宅的并发状态图建筑住宅的并发状态图。其中有二个子状态图,分别其中有二个子状态图,分别代表主体工程施工和水电工程代表主体工程施工和水电工程施工,它们是并行进行的。施工,它们是并行进行的。砌筑基础砌筑基础铺设铺设室内管线室内管线安装安装水电设备水电设备主体结构主体结构水电准备水电准备安装门框安装门框室内装修室内装修竣工验收竣工验收*323.4.5 历史状态历史状态1p历史状态(历史状态(History State):代表上次离开组合状态时代表上次离开组合状态时的最后一个活

27、动子状态。历史状态用含有字母的最后一个活动子状态。历史状态用含有字母“H”的小的小园圈表示。每当转移到组合状态中的历史状态时,对象便园圈表示。每当转移到组合状态中的历史状态时,对象便恢复上次离开该组合状态时最后一个子状态,并执行入口恢复上次离开该组合状态时最后一个子状态,并执行入口动作。动作。p历史状态是一个伪状态的图形标记,只能作为组合状态中历史状态是一个伪状态的图形标记,只能作为组合状态中的子状态,不能在顶层状态图中使用。的子状态,不能在顶层状态图中使用。333.4.5 历史状态历史状态2 停止停止播发播发选择选择暂停暂停H恢复恢复活动活动中断中断影碟机对象工作的部分状态图影碟机对象工作的

28、部分状态图343.5 状态图的应用状态图的应用p状态图为一个对象的生命周期建立模型。状态图可以表示状态图为一个对象的生命周期建立模型。状态图可以表示一个对象的历史,引起一个状态向另一个状态转移的事件,一个对象的历史,引起一个状态向另一个状态转移的事件,以及由于状态的转移而引发的动作。以及由于状态的转移而引发的动作。p状态图适合描述一个对象穿越多个状态图适合描述一个对象穿越多个Use Case的行为,但的行为,但不适合描述多个对象的协同行为。不适合描述多个对象的协同行为。p使用状态图可以对一个对象(类)的行为建模,也可以对使用状态图可以对一个对象(类)的行为建模,也可以对一个子系统或整个系统的行

29、为建模。一个子系统或整个系统的行为建模。状态图建模技术状态图建模技术p建模的时候要找出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作具体步骤如下:1、找出适合用模型描述其行为的类。、找出适合用模型描述其行为的类。2、确定对象可能存在的状态。、确定对象可能存在的状态。找出状态属性。找出状态属性。3、确定引起状态转换的事件。、确定引起状态转换的事件。4、确定转换进行时对对象执行的相应动作。、确定转换进行时对对象执行的相应动作。利用利用子状态、分支、历史状态等概念组织和简化一个子状态、分支、历史状态等概念组织和简化一个复杂的状态机。复杂的状态机。5、对建模的结果进行相应的精化和细

30、化。、对建模的结果进行相应的精化和细化。35363.5.2 系统总体状态图系统总体状态图备份系统备份系统未激活未激活PRMS未激活未激活备份系统备份系统已激活已激活PRMS已激活已激活退出系统退出系统启动系统启动系统启动备份系统启动备份系统/使使PRMS备份备份例程工作例程工作关闭备份系统关闭备份系统/使使PRMS备份备份例程不工作例程不工作启动启动PRMS第一次使用第一次使用启动启动PRMS非第一次使用非第一次使用/装载数据装载数据关闭关闭PRMS系统系统备份系统已激活备份系统已激活/备份数据备份数据37PRMS已激活已激活资源管理资源管理项目管理项目管理系统管理系统管理休闲休闲忙忙资源管理

31、启动处理资源管理启动处理完成处理完成处理休闲休闲忙忙项目管理启动处理项目管理启动处理完成处理完成处理休闲休闲忙忙系统管理启动处理系统管理启动处理完成处理完成处理PRMS的激活状态的组合状态的激活状态的组合状态38用于预定的状态图:用于预定的状态图:在在Reservation创建后,就处于等待状态,创建后,就处于等待状态,一旦到达一旦到达Concluded状态,在系统中就不再承担任何任务。状态,在系统中就不再承担任何任务。Waiting 没找到汽车没找到汽车 NotifiableNeeding RenewalCollectableStorableConcluded会员取消会员取消 会员没有来会员

32、没有来 会员取车会员取车返回汽车返回汽车 助手找到汽车助手找到汽车 没有汽车回来没有汽车回来 会员取消会员取消助手存储助手存储会员再次预约会员再次预约 找不到会员找不到会员 会员取消会员取消助手已通知会员助手已通知会员会员取消会员取消 找不到会员找不到会员 何时使用状态图何时使用状态图p大多数面向商业的应用中的类不需要状态图p以下情况经常使用状态图:状态多于三个n动态模型中产生或接收大量信息的类:订单、交通n界面类n实时系统中的类39404142状态图的代码实现状态图的代码实现p状态图用于辅助类图建模p迁移通常被实现成对象上的操作,操作名与信号名相对应;信号比操作更富有表现力,因为信号不仅依赖

33、于类,而且依赖于状态p状态通常是类的属性p状态的完整性反映了属性的取值的特点p迁移与状态的关系反映了对象属性与操作的关系4344两种不同的系统两种不同的系统p一种是“信息处理系统”:系统对某些输入信息按照预先指定的步骤和方式进行处理,以便得到某些输出的信息,系统目前的状态可以用資料目前的状态來描述,例如:人事薪资系統、仓储物流系统; p另外一类是与外界环境互动的系统,例如:飛航管制系統、交通管制系統、游戏等等,这一类系统一般没有明确的输入和输出,但是与外界有很多不预期的互动。p通常系统回应的方法与系统内部的状态有关系,而系統內部通常有许多记录的变数。p针对这两大类的系统,我们描述他们的方法也不

34、一样,对于前者,我们通常使用活动图来描述,因为活动图中最重要的部分是活动的处理控制。p后者则常用状态图。45练习练习1:图书馆中图书馆中“图书图书”的状态图的状态图p图书状态有:订购、编目、馆藏、借出。4647四、活动图(四、活动图(Activity Diagram)p活动图是系统的一种行为视图,它描述参与行为的对象类的活动图是系统的一种行为视图,它描述参与行为的对象类的活动活动的顺序,包的顺序,包括依赖于条件的行为和并发行为。括依赖于条件的行为和并发行为。p活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集需求

35、时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪需求时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪里结束,工作流中发生了哪些活动,这些活动按什么顺序发生,活动是由哪里结束,工作流中发生了哪些活动,这些活动按什么顺序发生,活动是由哪些对象来完成的。些对象来完成的。p活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图描述的是响应内部处理的对象类行为,状态图描

36、述的是对象类响应事件的外描述的是响应内部处理的对象类行为,状态图描述的是对象类响应事件的外部行为。部行为。48 接受订货接受订货填写订单填写订单通宵发货通宵发货常规发货常规发货寄送货票寄送货票接收付款接收付款关闭订货关闭订货快速订货快速订货否则否则顾客订货处理的活动图顾客订货处理的活动图49主要内容主要内容1. 活动图的组成活动图的组成2. 活动分解活动分解3. 并发与同步并发与同步4. 活动图的应用活动图的应用504.1 活动图的组成活动图的组成1p活动图的基本图形元素有:活动图的基本图形元素有:动作状态(或活动状态)、转移、泳道、动作状态(或活动状态)、转移、泳道、对象流、信号。此外,初始

37、状态、终结状态、判定、同步等也是常用对象流、信号。此外,初始状态、终结状态、判定、同步等也是常用的图形元素和符号。的图形元素和符号。(1)动作状态:动作状态:表达不可中断的动作或操作的执行。动作的持续时间不重要。表达不可中断的动作或操作的执行。动作的持续时间不重要。表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。动作状态可以有动作状态可以有入转移入转移,动作状态至少有一条,动作状态至少有一条出转移出转移,出转移不是基于外部事,出转移不是基于外部事件,而是件,而是隐含表示内部动作的完成隐含表示内部动作的完成。matrix.inv

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

39、有入口动作和出口动作,也可以有内部转移。注:注:动作状态的图标可以代表一个不可中断的动作状态,也可以代表一个可动作状态的图标可以代表一个不可中断的动作状态,也可以代表一个可以被中断的活动,后者可用另外的活动图详细表达。以被中断的活动,后者可用另外的活动图详细表达。制定计划制定计划 制订计划制订计划entry / SetGoal()524.1 活动图的组成活动图的组成3(2)转移:转移:在活动图中转移用实箭线表示,箭线从一个动作出发指向在活动图中转移用实箭线表示,箭线从一个动作出发指向另一个动作状态。转移可以是无条件的,也可以是有条件的。另一个动作状态。转移可以是无条件的,也可以是有条件的。计算

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

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

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

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

44、t up appointmentPrepare a conference roomPrepare a laptop appointment onsite appointment offsite Meet with the clientSend follow-up letterCreate proposal statement of problem Send proposal to client no statement of problem 参见参见“创建文创建文档档”活动图活动图业务过程业务过程“会见新客户会见新客户”的活动图的活动图Call client andset up appoint

45、mentSend follow-up letterPrepare a conference room appointment onsite Create proposalSend proposal to clientMeet with the clientPrepare a laptop appointment offsite 参见参见“创建创建文档文档“活动图活动图 statement of problem no statement of problem Corporate TechnicianConsultantSale Person584.1 活动图的组成活动图的组成5 当活动图过于复杂

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

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

48、成6(5)信号事件(信号事件(Signal Event):):在活动图中,可以使用信号发送在活动图中,可以使用信号发送构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一个活动的发生。个活动的发生。P124 Press Channel NumberWatchChange(channel)Show New ChannelTelevisionChange(channel)614.2 活动分解活动分解p一个活动可以

49、分解为若干个子活动或动作,这些子活动或一个活动可以分解为若干个子活动或动作,这些子活动或动作本身组成一个活动图。动作本身组成一个活动图。p如果一个活动内嵌套了若干个活动或动作,则称该活动为如果一个活动内嵌套了若干个活动或动作,则称该活动为组合活动,其中的被嵌套的活动称为子活动。组合活动,其中的被嵌套的活动称为子活动。p使用活动分解的好处是,在高一层的活动图中只需要给出使用活动分解的好处是,在高一层的活动图中只需要给出组合活动,不必涉及子活动图的内容,组合活动的内部行组合活动,不必涉及子活动图的内容,组合活动的内部行为可以在低一层的活动图中表示,这样便于抓住主要问题,为可以在低一层的活动图中表示

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

51、形软件包,创建图形,将图形粘)如果文档中需要图形,则打开图形软件包,创建图形,将图形粘贴到文档中。贴到文档中。(6)如果文档中需要电子表格,则打开电子表格软件包,建立电子表)如果文档中需要电子表格,则打开电子表格软件包,建立电子表格,将电子表格粘贴到文档中。格,将电子表格粘贴到文档中。(7)保存该文件。)保存该文件。(8)打印一份该文档的硬拷贝。)打印一份该文档的硬拷贝。(9)退出)退出Office软件包。软件包。 tables no needed Open Word Processing PackageCreate FileSave FileType the DocumentOpen and

52、 Use Graphing PackageOpen and Use SpreadsheetSave the FilePrint Hard CopyExit Office Suite graphics needed graphics no needed tables needed 一个文档创建过程的活动图一个文档创建过程的活动图print(file)print(file):PrinterPrint 未完成未完成 已完成已完成 654.3 并发与同步并发与同步p在活动图中用在活动图中用“分劈分劈”(Fork)和和“接合接合”(Join)来表达并发和同步行来表达并发和同步行为。为。 “分劈分劈”和和

53、“接合接合”均用同步杆(均用同步杆(Synchronization bar)表示。表示。p对于对于“接合接合”的同步的规则:的同步的规则:只有当所有的入转移全部只有当所有的入转移全部完成其活动后才发生出转完成其活动后才发生出转移。可有一种例外情况,移。可有一种例外情况,就是条件线程就是条件线程(Conditional Thread),),条件线程是从一个条件线程是从一个“分劈分劈”发出的线程上加上条件,发出的线程上加上条件,在执行时,如果该线程在执行时,如果该线程的条件取值为的条件取值为“假假”,则就,则就“接合接合”而论认为该线程已经完成。而论认为该线程已经完成。享用晚餐享用晚餐烹调菜肴烹调

54、菜肴煮饭煮饭安排餐桌安排餐桌打开啤酒打开啤酒想喝酒想喝酒砌筑基础砌筑基础主体结构主体结构水电准备水电准备安装门窗安装门窗铺设室内管道铺设室内管道室内装修室内装修安装水电设备安装水电设备竣工验收竣工验收活动的同步状态示例活动的同步状态示例673.4.4 并发子状态并发子状态同步同步p在并发状态图中一个子状态图中在并发状态图中一个子状态图中的子状态,常常需要与另一个子的子状态,常常需要与另一个子状态图中的子状态的行为同步。状态图中的子状态的行为同步。 在在UML中使用同步状态表示这中使用同步状态表示这种情况。种情况。p并发子状态之间的同步状态用含并发子状态之间的同步状态用含 “*”的小圆表示(伪状

55、态),放的小圆表示(伪状态),放在分隔子状态的虚线上。在分隔子状态的虚线上。 p例:例:建筑住宅的并发状态图建筑住宅的并发状态图。其中有二个子状态图,分别其中有二个子状态图,分别代表主体工程施工和水电工程代表主体工程施工和水电工程施工,它们是并行进行的。施工,它们是并行进行的。砌筑基础砌筑基础铺设铺设室内管线室内管线安装安装水电设备水电设备主体结构主体结构水电准备水电准备安装门框安装门框室内装修室内装修竣工验收竣工验收*Time Event68A time event with an incoming edge represents a timeoutA time event with no

56、incoming flows models a repeating time eventCalling Other Activities69Rather than cluttering up the top-level diagram with details of the Prepare Motherboard action, details are provided in another activity diagramObjects - Showing Objects Passed Between Actions70The Order object node emphasizes tha

57、t it is important data in this activity and shows which actions interact with itP125Objects-Showing Action Inputs and Outputs71Pins in this change request approval process allow finer-grained specification of input and output parametersTransformations show where input parameters come from, only part

58、 of Order neededObjects-Showing How Objects Change State During an Activity72The focus of this diagram is the change of state of the Order object throughout the order approval process Showing Input to and Output from an ActivityObject nodes can be used to emphasize input to and output from an activi

59、tySending and Receiving Signals73Send and receive signal nodes show interactions with external participantsStarting an activity with a receive signal node: the receive signal node replaces the usual initial nodeEnding Activities and Flows-Interrupting an Activity74if a cancellation is received while

60、 Process Order is active, Process Order will be interrupted and Cancel Order will become active. Cancellation regions are relevant only to the contained actions. If a cancellation is received while Ship Order is active, Ship Order wont be interrupted since its not in the cancellation region. Excepti

温馨提示

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

评论

0/150

提交评论