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

下载本文档

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

文档简介

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

2、一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行动作,引起转移到另一个状态,直到终结状态。 状态机的组成:状态、转移、事件、活动、动作等。状态(State):表示一个模型元素在生存期的一种状况,如满足某些条件,进行某些活动,或等待某些事件出现等。一个状态在有限的时间段内存在。转移/迁移(Transition):表示一个模型元素的不同状态之间的联系。在事件触发下,一个状态可以转移到另一个状态。事件(Event):一个有意义的出现(Occurrence)的说明。该出现在某个时间或空间点发生,并且立即触发一个状态的转移。例如

3、,一个信号、一个操作的调用、一个对象的创建或销毁、超时、某个条件的改变等。动作(Action):一个可执行的原子计算,它导致状态的变更或返回一个值。不能被中断。活动(Activity):是在状态机中一系列动作的执行。活动可能被某个事件中断。,7,3.1 状态机2,状态机用于对一个模型元素建立行为模型,该模型元素通常是一个对象类,也可以是一个子系统,甚至整个系统。 在UML中状态机用状态图可视化表示。状态图:状态的节点、转移的弧、事件等组成。,源状态,目标状态,事件,8,3.2 状态,状态:对象全部属性的当前值。(问题:对象任何一个新的属性值组合就是一个新状态,状态空间太大) 状态属性:对确定对

4、象的状态有重要意义的属性。 状态属性一般具有少量的值,而且这些属性的值的转换是有限的。并且其属性值反映所属对象的特定状态。 如:对于“汽车”对象,可能有“型号”、“车况”、“使用情况”、“公里数”、“汽油剩余量”等属性。不应取“公里数”或“汽油剩余量”作为状态属性,可取“使用情况”作为属性状态。则,“汽车”对象的有限个不同状态:“开动”、“停车”、“维修”、“闲置”、“报废”等。 在UML中,对一个对象(模型元素)的行为建模时,所选择的该对象的生存期中的状态数量是有限的,对象处于每个状态的持续时间也是有限的。当发生某个事件,或完成某个动作,都会触发状态的转移。,状态举例,状态指的是对象的状态。

5、例如: 发票(对象)被支付(状态) 小车(对象)正在停着(状态) 发动机(对象)正在工作(状态) 电灯(对象)开着(状态),9,10,3.2.1 状态图标,状态图标(状态节点) 一个状态可以加入信息:进入操作、退出操作、活动等,状态名,entry / 动作 do / 活动exit / 动作,11,3.2.2 状态行为1,进入操作(entry):系统进入该状态时要发生的动作,前面加上entry和“ / ”。不可中断。注:航班进入预定状态时,系统将时刻表发布到Internet。尽管发布动作在技术上是可以中断的,但其速度很快,用户很难在其发生时取消事物。 活动(do):系统处于该状态时要发生的活动,

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

7、名(消息参数) exit / 目标对象.消息名(消息参数),13,3.2.3 初始与终结状态,初始状态:是模型元素的初始状况,代表一个状态图的起始点,是一个伪状态。初始状态是转移的初始源,而不能是转移的目标。实心圆表示。 终结状态:是模型元素的最后状态,代表一个状态图的终止点,是一个伪状态。终结状态是转移的最后目标,而不能是转移的初始源。牛眼表示。,14,3.3 转移(迁移)1,转移:用实箭线表示,箭尾连接出发状态,即源状态,箭头连接到达状态,即目标状态。在箭线上可以标示与该转移有关的选项:事件、保护(警戒)条件和动作。 当处于源状态的对象接收到一个事件,并且保护条件得到满足时(如果有的话),

8、则执行相应的动作,并从源状态转移到目标状态。 当发生一个转移时,该转移进入的状态为活动状态,它将执行相应的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。 转移类型:简单转移、自转移、自动转移、复合转移等。,源状态,目标状态,事件警戒条件/动作,事件,事件(event)是指某个时刻发生的事情。 事件中最常见的是: 信号事件(signal event):从一个对象到另一个对象的明确的单向信息流动。 变更事件(change event):是指由满足布尔表达式而引起的事件。 时间事件(time event):是指在绝对时间上或在某个时间间隔上发生的事情所引起的事件。,15,16,3.3 转

9、移2,初始化 do / 自启动,工作,关闭,打开PC机,关闭机器,屏幕保护,等待超时,击键或移动鼠标,GUI的状态图,17,3.3.1 转移类型1,自身转移(Self-Transition):是指那些源状态与目标状态是同一状态的转移。如:卖票的航班中增加乘客或减少乘客时,航班是打开的。 自动转移(Automatic-Transition):自动转移又称完成转移(Completion-Transition)。每个状态都可能有一个不由事件触发的转移,它是根据该状态内的动作完成而自动触发的。见GUI状态图。,打开,增加乘客,人数+1 未满/sum+1,关闭,增加人数+1 已满/sum+1,减少乘客/

10、sum-1,减少乘客/sum-1,18,3.3.1 转移类型2,判定:是在状态图中的一个特定的位置,工作流在此依据保护条件的取值而发生的分支。判定用空心小菱形表示。 复合转移(Compound-Transition):复合转移由简单转移组成,这些简单转移通过分支判定、分叉组成。,源状态,目标状态2,目标状态1,条件1,条件2,19,3.3.1 转移类型3,制定计划,招聘人员,实施,人员齐备,人员未齐备,制定计划,招聘人员,实施,人员齐备,人员未齐备,20,源状态,目标状态4,目标状态3,目标状态2,目标状态1,事件1,条件1/动作1,条件3/动作3,条件4/动作4,条件5/动作6,条件2/动作

11、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.2 转移示例,未分配任务,已分配任务,取消对任务的资源分配,NumAssTasks1 / NumAssTasks-1,NumAssTasks=1 / NumAssTasks=0,分配任务给资源 / NumAssTasks+1,资源休闲,资源管理员,PRMS的一个资源状态图,分配任务给资源 /

12、 NumAssTasks+1,22,3.4.1 组合状态子状态,一个状态内嵌套了若干个状态,则称该状态为组合状态(超状态)。其中,被嵌套的状态称为子状态。子状态本身仍然可以是组合状态。 一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的一个入转移代表对其子区域内的初始状态的入转移,对子区域内的终结状态的转移代表包含它的组合状态的相应活动的完成。 采用组合状态可以简化复杂行为的建模。,发货处理,取消,已发货,取消,网上商店处理送货过程的状态图,检查 do / 检查商品,办货处理 do / 启动发货,等待,取消,已发货,全部商品

13、已 检查完,但部 分商品缺货,全部商品 检查完且全 部商品都有,收到商品 全部商品都有,收到商品 部分商品缺货,未检查完 全部商品 / 取下一个,取消,取消,取消,网上商店处理送货过程的状态图,检查 do / 检查商品,办货处理 do / 启动发货,等待,取消,已发货,全部商品已 检查完,但部 分商品缺货,全部商品已检查完且全部商品都有,收到商品 全部商品都有,收到商品 部分商品缺货,发货处理,未检查完 全部商品 / 取下一个,网上商店处理送货过程的状态图,取消,25,在店内,entry/ 令store = theStore(本店),购入项目,已出租,归还项目,弃置项目,租出项目,已租出,正常

14、,entry/ 令store = null(空值),do/ 每天检查到期时间, 超过到期日子 ,过期,entry/ 通知会员,租借店软件系统中的租借项目(录像带、游戏等)状态图,租出项目,26,3.4.2 顺序子状态,顺序子状态:子状态是一个一个顺序转移的,不是并发存在的。,等待用户输入,登记用户输入,显示用户输入,输入,工作,GUI中“工作”的组合状态,27,活动,?,?,?,?,验卡,拨号,通话,挂断,休闲,继续,维修,结束,维修完成,维修,插卡,取消,IC卡电话机顺序状态示例,28,3.4.3 并发子状态1,并发状态图用于描述一个对象在某个时刻有多个并发的子状态机的情况,并发状态图是这些

15、子状态图的组合。,等待用户输入,登记用户输入,显示用户输入,输入,工作,监视 系统时钟,更新 界面显示,时钟间隔已过,GUI中“工作”的并发组合状态,29,3.4.3 并发子状态2,网上商店系统中“订货”对象的并发状态图,等待,商品检查,办理装货,付款检查,已付款,取消,发货,拒绝,订货,30,3.4.4 同步,同步:同步可定义为并发工作流的分劈(Fork)与接合(Join)。分劈(拆分):是一个源状态分为两个或两个以上的目标状态。接合:是两个以上的源状态连接为一个目标状态。同步在状态图中用一条粗短实线表示,称为同步杆。,源状态,目标状态,目标状态1,目标状态2,源状态1,源状态2,31,3.

16、4.4 并发子状态同步,在并发状态图中一个子状态图中的子状态,常常需要与另一个子状态图中的子状态的行为同步。 在UML中使用同步状态表示这种情况。 并发子状态之间的同步状态用含 “*”的小圆表示(伪状态),放在分隔子状态的虚线上。 例:建筑住宅的并发状态图。其中有二个子状态图,分别代表主体工程施工和水电工程施工,它们是并行进行的。,砌筑基础,铺设 室内管线,安装 水电设备,主体结构,水电准备,安装门框,室内装修,竣工验收,*,*,32,3.4.5 历史状态1,历史状态(History State):代表上次离开组合状态时的最后一个活动子状态。历史状态用含有字母“H”的小园圈表示。每当转移到组合

17、状态中的历史状态时,对象便恢复上次离开该组合状态时最后一个子状态,并执行入口动作。 历史状态是一个伪状态的图形标记,只能作为组合状态中的子状态,不能在顶层状态图中使用。,33,3.4.5 历史状态2,停止,播发,选择,暂停,H,恢复,活动,中断,影碟机对象工作的部分状态图,34,3.5 状态图的应用,状态图为一个对象的生命周期建立模型。状态图可以表示一个对象的历史,引起一个状态向另一个状态转移的事件,以及由于状态的转移而引发的动作。 状态图适合描述一个对象穿越多个Use Case的行为,但不适合描述多个对象的协同行为。 使用状态图可以对一个对象(类)的行为建模,也可以对一个子系统或整个系统的行

18、为建模。,状态图建模技术,建模的时候要找出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作 具体步骤如下: 1、找出适合用模型描述其行为的类。 2、确定对象可能存在的状态。找出状态属性。 3、确定引起状态转换的事件。 4、确定转换进行时对对象执行的相应动作。利用子状态、分支、历史状态等概念组织和简化一个复杂的状态机。 5、对建模的结果进行相应的精化和细化。,35,36,3.5.2 系统总体状态图,备份系统 未激活,PRMS 未激活,备份系统 已激活,PRMS 已激活,退出系统,启动系统,启动备份系统/ 使PRMS备份 例程工作,关闭备份系统/ 使PRMS备份 例程不工作,启动

19、PRMS 第一次使用,启动PRMS 非第一次使用 /装载数据,关闭PRMS系统 备份系统已激活 /备份数据,37,PRMS已激活 资源管理 项目管理 系统管理,休闲,忙,资源管理启动处理,完成处理,休闲,忙,项目管理启动处理,完成处理,休闲,忙,系统管理启动处理,完成处理,PRMS的激活状态的组合状态,38,用于预定的状态图:在Reservation创建后,就处于等待状态,一旦到达Concluded状态,在系统中就不再承担任何任务。,Waiting, 没找到汽车 ,Notifiable,Needing,Renewal,Collectable,Storable,Concluded,会员取消, 会

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

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

22、:图书馆中“图书”的状态图,图书状态有:订购、编目、馆藏、借出。,46,47,四、活动图(Activity Diagram),活动图是系统的一种行为视图,它描述参与行为的对象类的活动的顺序,包括依赖于条件的行为和并发行为。 活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集需求时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪里结束,工作流中发生了哪些活动,这些活动按什么顺序发生,活动是由哪些对象来完成的。 活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图描述的是响应内部处理的对象类

23、行为,状态图描述的是对象类响应事件的外部行为。,48,接受订货,填写订单,通宵发货,常规发货,寄送货票,接收付款,关闭订货,快速订货,否则,顾客订货处理的活动图,49,主要内容,1. 活动图的组成 2. 活动分解 3. 并发与同步 4. 活动图的应用,50,4.1 活动图的组成1,活动图的基本图形元素有:动作状态(或活动状态)、转移、泳道、对象流、信号。此外,初始状态、终结状态、判定、同步等也是常用的图形元素和符号。(1)动作状态:表达不可中断的动作或操作的执行。动作的持续时间不重要。表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。动作状态可以有入转移,动作状态至少有一条出转移,出转

24、移不是基于外部事件,而是隐含表示内部动作的完成。,matrix.invert(tolerance:real),选择课程,51,4.1 活动图的组成2,活动状态:表达一个非原子的运行。一个活动可以拥有一组不可中断的动作或操作。活动本身可以被中断,而且通常需要持续一个时间段才能完成。用动作图标来表示活动状态。活动状态可以进一步分解,或者用另外一个活动图来表示。与状态图一样,活动状态可以有入口动作和出口动作,也可以有内部转移。 注:动作状态的图标可以代表一个不可中断的动作状态,也可以代表一个可以被中断的活动,后者可用另外的活动图详细表达。,制定计划,制订计划 entry / SetGoal() ,5

25、2,4.1 活动图的组成3,(2)转移:在活动图中转移用实箭线表示,箭线从一个动作出发指向另一个动作状态。转移可以是无条件的,也可以是有条件的。,计算所得,计算所得税,发放津贴,else,总所得2000,计算所得,计算所得税,发放津贴,else,总所得2000,53,4.1 活动图的组成4,(3)泳道(Swimlance):泳道代表对象对活动的责任。泳道把活动图中的活动划分为若干组,并把这些组指定给对象,这些对象必须履行该组所包含的活动。泳道是把活动与对象相联系的方法之一,它明确表示哪些活动由哪些对象进行的。 在活动图上泳道用垂直实线画出,垂直线分隔的区域就是泳道。在泳道的上方给出泳道的名字或

26、对象名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动可以是顺序进行的,也可以是并发进行的,允许转移和对象流穿过泳道分隔线。,填写订单,发货,接受订货,寄送货票,关闭订货,接收付款,财务结算,顾客服务,处理订货,泳道示例,55,考虑咨询公司会见一个新客户时的业务过程。活动可能这样发生:(1)公司业务员打电话给客户,确定一个约定。(2)如果约定的地点在公司内,那么公司中的技术人员就要为会面准备一间会议室。(3)如果约定地点在公司外,那么咨询顾问就要用便携电脑准备一份陈述报告。(4)咨询顾问与客户在约定的时间和地点见面。(5)业务员随后给他们准备好会议用纸。(6)如果会议产生了一个问

27、题陈述,咨询顾问就要根据问题陈述建立一个提案并把该提案发给客户。,在一般情况下,绘制活动图时应先集中注意力在业务工作上或系统的服务内容上,绘制动作状态和转移等,弄清楚系统的总体行为含义,而后在绘制泳道,把开展活动的责任分配到对象。,Call client and,set up appointment,Prepare a,conference room,Prepare a,laptop, appointment onsite , appointment offsite ,Meet with the,client,Send follow-up,letter,Create,proposal, sta

28、tement of problem ,Send proposal,to client, no statement of problem ,参见“创建文 档”活动图,业务过程“会见新客户”的活动图,Call client and,set up appointment,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

29、 ,参见“创建 文档“活动图, statement of problem , no statement of problem ,Corporate Technician,Consultant,Sale Person,58,4.1 活动图的组成5,当活动图过于复杂时,绘制泳道可能出现困难,这时可以不用泳道表现活动与对象的联系。替代的方法之一是在活动上贴上对象名标签,或者改用交互图指定负责活动的对象。 (4)对象流(Object Flow):对象流是动作状态(或活动状态)与对象之间的依赖联系,表示动作使用对象或动作对对象的影响。在活动图中对象流用虚箭线表示。虚箭线从动作状态出发指向对象:表示该动作

30、创建或更新了对象流所指的对象,该对象是动作的输出。虚箭线从对象出发指向动作状态:表示该动作使用对象流所指的对象,该对象是动作的输入。,59,按名找资源,按名找技能,指定技能给资源,R : 资源,S : 技能,R-S: 资源-技能,把技能指定给资源的活动图,资源中已指定技能,资源中未指定技能,60,4.1 活动图的组成6,(5)信号事件(Signal Event):在活动图中,可以使用信号发送构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一个活动的发生。 P124,Press Channel Number,Watch,Cha

31、nge(channel),Show New Channel,Television,Change(channel),61,4.2 活动分解,一个活动可以分解为若干个子活动或动作,这些子活动或动作本身组成一个活动图。 如果一个活动内嵌套了若干个活动或动作,则称该活动为组合活动,其中的被嵌套的活动称为子活动。 使用活动分解的好处是,在高一层的活动图中只需要给出组合活动,不必涉及子活动图的内容,组合活动的内部行为可以在低一层的活动图中表示,这样便于抓住主要问题,使得图形更为简洁明了。,接受订货,填写订单,发货,?,?,通宵发货,常规发货,寄送货票,接收付款,关闭订货,紧急订货,否则,组合活动示例,63

32、,使用Office软件包建立一个文档的过程。一个活动序列可能如下:,(1)打开Word处理软件包。 (2)创建一个文档。 (3)命名该文档并为该文档指定一个存放目录。 (4)键入文档的内容。 (5)如果文档中需要图形,则打开图形软件包,创建图形,将图形粘贴到文档中。 (6)如果文档中需要电子表格,则打开电子表格软件包,建立电子表格,将电子表格粘贴到文档中。 (7)保存该文件。 (8)打印一份该文档的硬拷贝。 (9)退出Office软件包。, tables no needed ,Open Word Processing,Package,Create File,Save File,Type the

33、,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, 未完成 , 已完成 ,65,4.3 并发与同步,在活动图中用“分劈”(Fork)和“接合”(Join)来表达并发和同步行为。 “分劈”和“接合”均用同步杆(S

34、ynchronization bar)表示。 对于“接合”的同步的规则:只有当所有的入转移全部完成其活动后才发生出转移。可有一种例外情况,就是条件线程(Conditional Thread),条件线程是从一个“分劈”发出的线程上加上条件,在执行时,如果该线程的条件取值为“假”,则就“接合”而论认为该线程已经完成。,享用晚餐,烹调菜肴,煮饭,安排餐桌,打开啤酒,想喝酒,砌筑基础,主体结构,水电准备,安装门窗,铺设室内管道,室内装修,安装水电设备,竣工验收,活动的同步状态示例,67,3.4.4 并发子状态同步,在并发状态图中一个子状态图中的子状态,常常需要与另一个子状态图中的子状态的行为同步。 在

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

36、ling Other Activities,69,Rather than cluttering up the top-level diagram with details of the Prepare Motherboard 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 an

37、d shows which actions interact with it P125,Objects-Showing Action Inputs and Outputs,71,Pins in this change 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

38、Objects Change State During an Activity,72,The 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 Activity,Object nodes can be used to emphasize input to and output from an activity,Sending and Receiving Signals,

39、73,Send and receive signal nodes show interactions with external participants,Starting an activity with a receive signal node: the receive signal node replaces the usual initial node,Ending Activities and Flows-Interrupting an Activity,74,if a cancellation is received while Process Order is active,

40、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.,Exception handler,Ending Activiti

41、es and FlowsEnding a flow,75,When the two-second timeout occurs, the search results are returned, and the entire activity ends, including the Improve Search Results action. However, if Improve Search Results finishes before the two-second timeout, it will not stop the overall activity since its flow

42、 ends with a flow final node.,Expansion Regions,76,The actions in an expansion region are performed for each item in a collection,77,4.4 活动图的应用1,活动图是一种用于系统的行为建模的工具,它能支持并发行为的描述特点,尤其适合于多线程的程序建模。 缺点:动作与对象之间的连接关系不够清晰。可以主要通过在活动上标上对象名,或者用泳道划分对象的责任,或者通过对象流表示,但这些动作与对象关系的表达都不如在交互图中表现得直接和清晰。 活动图实质上是一种流程图,但两者有区别。一般软件工程中常用的程序流程图所表示的内容,大多也能用活动图来表示,但传统的程序流程图描述的是处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的是对象类(或模型元素)的活动的顺序关系所遵循的规则,它着重表现的是系统的行为。更为重要的是活动图能够表示并发活动的情景,流程图不能表示并发过程。另外,活动图是面向对象的,流程图是面向过程的

温馨提示

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

最新文档

评论

0/150

提交评论