收藏 分销(赏)

UML状态图的画法教育课件.ppt

上传人:精*** 文档编号:12815187 上传时间:2025-12-10 格式:PPT 页数:89 大小:1.83MB 下载积分:18 金币
下载 相关 举报
UML状态图的画法教育课件.ppt_第1页
第1页 / 共89页
UML状态图的画法教育课件.ppt_第2页
第2页 / 共89页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,UML状态图的画法PPT讲座,动态模型的作用,2,3,4,二、状态图(,State Diagram,),状态图是系统分析的一种常见工具,用于描述系统的行为。,实体的生存期比较复杂时,需要状态图对其建模。,UML,中的状态图主要用于建立对象类或对象的动态行为模型,表现,一个,对象所经历的,状态,序列,引起状态或活动转移的,事件,,以及因状态或活动的转移而伴随的,动作,。,5,主要内容,1.,状态机,2.,状态,3.,转移,4.,组合状态,5.,状态图的应用,6,3.1,状态机,1,状态机对系统的动态特征建模。,状态机表示一个模型元素在其生命期间的情况:从该模型元素的开始状态起,响应事件,执行某些动作,引起转移到新状态,在新状态下响应事件,执行动作,引起转移到另一个状态,直到终结状态。,状态机的组成:状态、转移、事件、活动、动作等。,状态,(,State,):,表示一个模型元素在生存期的一种状况,如满足某些条件,进行某些活动,或等待某些事件出现等。一个状态在有限的时间段内存在。,转移,/,迁移,(,Transition,),:,表示一个模型元素的不同状态之间的联系。在事件触发下,一个状态可以转移到另一个状态。,事件,(,Event,):,一个有意义的出现(,Occurrence,),的说明。该出现在某个时间或空间点发生,并且立即触发一个状态的转移。例如,一个信号、一个操作的调用、一个对象的创建或销毁、超时、某个条件的改变等。,动作,(,Action,):,一个可执行的原子计算,它导致状态的变更或返回一个值。不能被中断。,活动,(,Activity,):,是在状态机中一系列动作的执行。活动可能被某个事件中断。,7,3.1,状态机,2,状态机用于对,一个,模型元素建立行为模型,该模型元素通常是一个对象类,也可以是一个子系统,,甚至整个系统。,在,UML,中状态机用状态图可视化表示。,状态图:状态的节点、转移的弧、事件等组成。,源状态,目标状态,事件,8,3.2,状态,状态:对象全部属性的当前值。,(问题:对象任何一个新的属性值组合就是一个新状态,状态空间太大),状态属性:对确定对象的状态有重要意义的属性。,状态属性一般具有少量的值,而且这些属性的值的转换是有限的。并且其属性值反映所属对象的特定状态。,如:对于,“,汽车,”,对象,可能有,“,型号,”,、,“,车况,”,、,“,使用情况,”,、,“,公里数,”,、,“,汽油剩余量,”,等属性。不应取,“,公里数,”,或,“,汽油剩余量,”,作为状态属性,可取,“,使用情况,”,作为属性状态。则,,“,汽车,”,对象的有限个不同状态:,“开动”,、,“,停车,”,、,“,维修,”,、,“,闲置,”,、,“,报废,”,等。,在,UML,中,对一个对象(模型元素)的行为建模时,所选择的该对象的生存期中的,状态数量是有限的,,,对象处于每个状态的持续时间也是有限的。,当发生某个事件,或完成某个动作,都会触发状态的转移。,状态举例,状态指的是对象的状态。例如,:,发票,(,对象,),被,支付,(,状态,),小车,(,对象,),正在,停着,(,状态,),发动机,(,对象,),正在,工作,(,状态,),电灯,(,对象,),开着,(,状态,),9,10,3.2.1,状态图标,状态图标(状态节点),一个状态可以加入信息,:,进入操作、退出操作、活动等,状态名,entry/,动作,do/,活动,exit/,动作,11,3.2.2,状态行为,1,进入操作(,entry,):,系统进入该状态时要发生的动作,前面加上,entry,和,“,/,”,。不可中断。,注:航班进入预定状态时,系统将时刻表发布到,Internet,。,尽管发布动作在技术上是可以中断的,但其速度很快,用户很难在其发生时取消事物。,活动(,do,):,系统处于该状态时要发生的活动,前面加上,do,和,“,/,”,。活动是可中断行为,可以在对象处于该状态时运行完毕,也可以在对象转入另一状态时中断。,航班预定,entry/,将时刻表发布到,Internet,航班取消,do/,为客户寻找其它航班,12,3.2.2,状态行为,2,退出操作(,exit,):,系统离开该状态时要发生的动作,前面加上,exit,和,“,/,”,。不可中断。,注:飞机着陆时退出飞行状态,系统记录登陆时间。,发送事件:,在活动、进入和退出操作的动作中可以是对象内部发生的行为,也可能是向另外一个对象发送消息。,飞行状态,exit/,记录登陆时间,状态名,entry/,目标对象,.,消息名,(,消息参数,),do/,目标对象,.,消息名,(,消息参数,),exit/,目标对象,.,消息名,(,消息参数,),13,3.2.3,初始与终结状态,初始状态:,是模型元素的初始状况,代表一个状态图的起始点,是一个伪状态。初始状态是转移的初始源,而不能是转移的目标。实心圆表示。,终结状态:,是模型元素的最后状态,代表一个状态图的终止点,是一个伪状态。终结状态是转移的最后目标,而不能是转移的初始源。牛眼表示。,14,3.3,转移,(迁移),1,转移:用实箭线表示,箭尾连接出发状态,即,源状态,,箭头连接到达状态,即,目标状态,。在箭线上可以标示与该转移有关的选项:事件、保护,(警戒)条件,和动作。,当处于源状态的对象接收到一个,事件,,并且保护条件得到满足时(如果有的话),则执行相应的动作,并从源状态转移到目标状态。,当发生一个转移时,该转移进入的状态为活动状态,它将执行相应的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。,转移类型:,简单转移、自转移、自动转移、复合转移等,。,源状态,目标状态,事件,警戒条件,/,动作,事件,事件(,event,)是指某个时刻发生的事情。,事件中最常见的是:,信号事件(,signal event,),:,从一个对象到另一个对象的明确的单向信息流动。,变更事件(,change event,):是指由满足布尔表达式而引起的事件。,时间事件(,time event,),:是指在绝对时间上或在某个时间间隔上发生的事情所引起的事件。,15,16,3.3,转移,2,初始化,do/,自启动,工作,关闭,打开,PC,机,关闭机器,屏幕保护,等待超时,击键或移动鼠标,GUI,的状态图,17,3.3.1,转移类型,1,自身转移(,Self-Transition,):是指那些源状态与目标状态是同一状态的转移。如:卖票的航班中增加乘客或减少乘客时,航班是打开的。,自动转移(,Automatic-Transition,):自动转移又称完成转移(,Completion-Transition,)。每个状态都可能有一个不由事件触发的转移,它是根据该状态内的动作完成而自动触发的。见,GUI,状态图。,打开,增加乘客,人数,+1,未满,/sum+1,关闭,增加,人数,+1,已满,/sum+1,减少乘客,/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/,动作,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,的一个资源状态图,分配任务给资源,/,NumAssTasks+1,22,3.4.1,组合状态,子状态,一个状态内嵌套了若干个状态,则称该状态为,组合状态,(超状态)。其中,被嵌套的状态称为,子状态,。子状态本身仍然可以是组合状态。,一个组合状态可以有一个被嵌套的子状态图,它代表了该组合状态的一个活动。子状态图中必须有自己的初始和终结状态。对组合状态的一个入转移代表对其子区域内的初始状态的入转移,对子区域内的终结状态的转移代表包含它的组合状态的相应活动的完成。,采用组合状态可以简化复杂行为的建模。,发货处理,取消,已发货,取消,网上商店处理送货过程的状态图,检查,do/,检查商品,办货处理,do/,启动发货,等待,取消,已发货,全部商品已,检查完,但部,分商品缺货,全部商品,检查完且全,部商品都有,收到商品,全部商品都有,收到商品,部分商品缺货,未检查完,全部商品,/,取下一个,取消,取消,取消,网上商店处理送货过程的状态图,检查,do/,检查商品,办货处理,do/,启动发货,等待,取消,已发货,全部商品已,检查完,但部,分商品缺货,全部商品已检查完且全部商品都有,收到商品,全部商品都有,收到商品,部分商品缺货,发货处理,未检查完,全部商品,/,取下一个,网上商店处理送货过程的状态图,取消,25,在店内,entry/,令,store=theStore(,本店,),购入项目,已出租,归还项目,弃置项目,租出项目,已租出,正常,entry/,令,store=null(,空值,),do/,每天检查到期时间,超过到期日子,过期,entry/,通知会员,租借店软件系统中的租借项目,(,录像带、游戏等,),状态图,租出项目,26,3.4.2,顺序子状态,顺序子状态:子状态是一个一个顺序转移的,不是并发存在的。,等待用户输入,登记用户输入,显示用户输入,输入,工作,GUI,中“工作”的组合状态,27,活动,?,?,?,?,验卡,拨号,通话,挂断,休闲,继续,维修,结束,维修完成,维修,插卡,取消,IC,卡电话机顺序状态示例,28,3.4.3,并发子状态,1,并发状态图用于描述一个对象在某个时刻有多个并发的子状态机的情况,并发状态图是这些子状态图的组合。,等待用户输入,登记用户输入,显示用户输入,输入,工作,监视,系统时钟,更新,界面显示,时钟间隔已过,GUI,中“工作”的并发组合状态,29,3.4.3,并发子状态,2,网上商店系统中“订货”对象的并发状态图,等待,商品检查,办理装货,付款检查,已付款,取消,发货,拒绝,订货,30,3.4.4,同步,同步:同步可定义为并发工作流的分劈(,Fork,)与接合(,Join,)。,分劈(拆分):,是一个源状态分为两个或两个以上的目标状态。,接合:,是两个以上的源状态连接为一个目标状态。同步在状态图中用一条粗短实线表示,称为同步杆。,源状态,目标状态,目标状态,1,目标状态,2,源状态,1,源状态,2,31,3.4.4,并发子状态,同步,在并发状态图中一个子状态图中的子状态,常常需要与另一个子状态图中的子状态的行为同步。在,UML,中使用同步状态表示这种情况。,并发子状态之间的同步状态用含,“,*,”,的小圆表示(伪状态),放在分隔子状态的虚线上。,例:,建筑住宅的并发状态图,。其中有二个子状态图,分别代表主体工程施工和水电工程施工,它们是并行进行的。,砌筑基础,铺设,室内管线,安装,水电设备,主体结构,水电准备,安装门框,室内装修,竣工验收,*,*,32,3.4.5,历史状态,1,历史状态(,History State,),:,代表上次离开组合状态时的最后一个活动子状态。历史状态用含有字母,“,H,”,的小园圈表示。每当转移到组合状态中的历史状态时,对象便恢复上次离开该组合状态时最后一个子状态,并执行入口动作。,历史状态是一个伪状态的图形标记,只能作为组合状态中的子状态,不能在顶层状态图中使用。,33,3.4.5,历史状态,2,停止,播发,选择,暂停,H,恢复,活动,中断,影碟机对象工作的部分状态图,34,3.5,状态图的应用,状态图为一个对象的生命周期建立模型。状态图可以表示一个对象的历史,引起一个状态向另一个状态转移的事件,以及由于状态的转移而引发的动作。,状态图适合描述一个对象穿越多个,Use Case,的行为,但不适合描述多个对象的协同行为。,使用状态图可以对一个对象(类)的行为建模,也可以对一个子系统或整个系统的行为建模。,状态图建模技术,建模的时候要找出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作,具体步骤如下:,1,、找出适合用模型描述其行为的类。,2,、确定对象可能存在的状态。,找出状态属性。,3,、确定引起状态转换的事件。,4,、确定转换进行时对对象执行的相应动作。,利用子状态、分支、历史状态等概念组织和简化一个复杂的状态机。,5,、对建模的结果进行相应的精化和细化。,35,36,3.5.2,系统总体状态图,备份系统,未激活,PRMS,未激活,备份系统,已激活,PRMS,已激活,退出系统,启动系统,启动备份系统,/,使,PRMS,备份,例程工作,关闭备份系统,/,使,PRMS,备份,例程不工作,启动,PRMS,第一次使用,启动,PRMS,非第一次使用,/,装载数据,关闭,PRMS,系统,备份系统已激活,/,备份数据,37,PRMS,已激活,资源管理,项目管理,系统管理,休闲,忙,资源管理启动处理,完成处理,休闲,忙,项目管理启动处理,完成处理,休闲,忙,系统管理启动处理,完成处理,PRMS,的激活状态的组合状态,38,用于预定的状态图:,在,Reservation,创建后,就处于等待状态,一旦到达,Concluded,状态,在系统中就不再承担任何任务。,Waiting,没找到汽车,Notifiable,Needing,Renewal,Collectable,Storable,Concluded,会员取消,会员没有来,会员取车,返回汽车,助手找到汽车,没有汽车回来,会员取消,助手存储,会员再次预约,找不到会员,会员取消,助手已通知会员,会员取消,找不到会员,何时使用状态图,大多数面向商业的应用中的类不需要状态图,以下情况经常使用状态图:状态多于三个,动态模型中产生或接收大量信息的类:订单、交通,界面类,实时系统中的类,39,40,41,42,状态图的代码实现,状态图用于辅助类图建模,迁移通常被实现成对象上的操作,操作名与信号名相对应;信号比操作更富有表现力,因为信号不仅依赖于类,而且依赖于状态,状态通常是类的属性,状态的完整性反映了属性的取值的特点,迁移与状态的关系反映了对象属性与操作的关系,43,44,两种不同的系统,一,种,是,“信息处理系统”,:系统对某些输,入,信息按照预先指定,的,步骤和方式进行处理,,以便得到某些,输,出的,信息,,,系统,目前的,状态,可以用資料目前的,状态,來描述,例如:人事薪,资,系統、,仓储,物流系,统,;,另外一,类,是,与,外界,环境互动,的系,统,,例如:飛航管制系統、交通管制系統、,游戏,等等,,这一类系统一般没有明确的输入和输出,但是与外界有很多不预期的互动。,通常,系统回应的方法与系统内部的状态有关系,而,系統內部通常有,许,多,记录,的,变数,。,针对这两大类的系统,我们描述他们的方法也不一样,对于前者,,,我们通常使用活动图来描述,因为活动图中最重要的部分是活动的处理控制。,后者则常用状态图。,45,练习,1,:,图书馆中“图书”的状态图,图书状态有:订购、编目、馆藏、借出。,46,47,四、活动图(,Activity Diagram,),活动图是系统的一种行为视图,它描述参与行为的对象类的,活动,的顺序,包括依赖于条件的行为和并发行为。,活动图演示了系统中的功能流。如:在业务模型中显示业务工作流;在收集需求时显示一个用例中的事件流等。活动图定义了工作流从哪里开始,到哪里结束,工作流中发生了哪些活动,这些活动按什么顺序发生,活动是由哪些对象来完成的。,活动图是状态图的一种扩展形式。如果在一个状态图中的大多数状态是表示操作的活动,而转移是自动转移,就演化为活动图。但两者有区别,活动图描述的是响应内部处理的对象类行为,状态图描述的是对象类响应事件的外部行为。,48,接受订货,填写订单,通宵发货,常规发货,寄送货票,接收付款,关闭订货,快速订货,否则,顾客订货处理的活动图,49,主要内容,1.,活动图的组成,2.,活动分解,3.,并发与同步,4.,活动图的应用,50,4.1,活动图的组成,1,活动图的基本图形元素有:,动作状态(或活动状态)、转移、泳道、对象流、信号。此外,初始状态、终结状态、判定、同步等也是常用的图形元素和符号。,(,1,),动作状态:,表达不可中断的动作或操作的执行。动作的持续时间不重要。表示方式:圆边矩形图框,框内可以设置动作名称或动作表达式。动作状态可以有,入转移,,动作状态至少有一条,出转移,,出转移不是基于外部事件,而是,隐含表示内部动作的完成,。,matrix.invert(tolerance:real),选择课程,51,4.1,活动图的组成,2,活动状态:,表达一个非原子的运行。一个活动可以拥有一组不可中断的动作或操作。活动本身可以被中断,而且通常需要持续一个时间段才能完成。用动作图标来表示活动状态。活动状态可以进一步分解,或者用另外一个活动图来表示。与状态图一样,活动状态可以有入口动作和出口动作,也可以有内部转移。,注:,动作状态的图标可以代表一个不可中断的动作状态,也可以代表一个可以被中断的活动,后者可用另外的活动图详细表达。,制定计划,制订计划,entry/SetGoal(),52,4.1,活动图的组成,3,(,2,),转移:,在活动图中转移用实箭线表示,箭线从一个动作出发指向另一个动作状态。转移可以是无条件的,也可以是有条件的。,计算所得,计算所得税,发放津贴,else,总所得,2000,计算所得,计算所得税,发放津贴,else,总所得,2000,53,4.1,活动图的组成,4,(,3,),泳道(,Swimlance,):,泳道代表对象对活动的责任。,泳道把活动图中的活动划分为若干组,并把这些组指定给对象,这些对象必须履行该组所包含的活动。泳道是,把活动与对象相联系,的方法之一,它明确表示哪些活动由哪些对象进行的。在活动图上泳道用垂直实线画出,垂直线分隔的区域就是泳道。在泳道的上方给出泳道的名字或对象名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动可以是顺序进行的,也可以是并发进行的,允许转移和对象流穿过泳道分隔线。,填写订单,发货,接受订货,寄送货票,关闭订货,接收付款,财务结算,顾客服务,处理订货,泳道示例,55,考虑咨询公司会见一个新客户时的业务过程。活动可能这样发生:(,1,)公司业务员打电话给客户,确定一个约定。(,2,)如果约定的地点在公司内,那么公司中的技术人员就要为会面准备一间会议室。(,3,)如果约定地点在公司外,那么咨询顾问就要用便携电脑准备一份陈述报告。(,4,)咨询顾问与客户在约定的时间和地点见面。(,5,)业务员随后给他们准备好会议用纸。(,6,)如果会议产生了一个问题陈述,咨询顾问就要根据问题陈述建立一个提案并把该提案发给客户。,在一般情况下,绘制活动图时应先集中注意力在,业务工作上或系统的服务内容,上,绘制动作状态和转移等,弄清楚系统的总体行为含义,而后在绘制泳道,把开展活动的责任分配到对象。,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,statement 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,参见“创建,文档“活动图,statement of problem,no statement of problem,Corporate Technician,Consultant,Sale Person,58,4.1,活动图的组成,5,当活动图过于复杂时,绘制泳道可能出现困难,这时可以不用泳道表现活动与对象的联系。替代的方法之一是在活动上贴上对象名标签,或者改用交互图指定负责活动的对象。,(,4,),对象流(,Object Flow,):,对象流是动作状态(或活动状态)与对象之间的依赖联系,表示动作使用对象或动作对对象的影响。在活动图中,对象流用虚箭线表示,。,虚箭线从动作状态出发指向对象,:表示该动作创建或更新了对象流所指的对象,该对象是动作的输出。虚箭线从对象出发指向动作状态:表示该动作使用对象流所指的对象,该对象是动作的输入。,59,按名找资源,按名找技能,指定技能给资源,R:,资源,S:,技能,R-S:,资源,-,技能,把技能指定给资源的活动图,资源中已指定技能,资源中未指定技能,60,4.1,活动图的组成,6,(,5,),信号事件(,Signal Event,):,在活动图中,可以使用信号发送构造型图标和信号接收构造型图标表示信号事件。发送信号图标是凸角五边形,接收信号图标是凹角五边形。当信号被接收时,会引起一个活动的发生。,P124,Press Channel Number,Watch,Change(channel),Show New Channel,Television,Change,(channel),61,4.2,活动分解,一个活动可以分解为若干个子活动或动作,这些子活动或动作本身组成一个活动图。,如果一个活动内嵌套了若干个活动或动作,则称该活动为组合活动,其中的被嵌套的活动称为子活动。,使用活动分解的好处是,在高一层的活动图中只需要给出组合活动,不必涉及子活动图的内容,组合活动的内部行为可以在低一层的活动图中表示,这样便于抓住主要问题,使得图形更为简洁明了。,接受订货,填写订单,发货,?,?,通宵发货,常规发货,寄送货票,接收付款,关闭订货,紧急订货,否则,组合活动示例,63,使用,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,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,),来表达并发和同步行为。,“,分劈,”,和,“,接合,”,均用同步杆(,Synchronization bar,),表示。,对于,“,接合,”,的同步的规则:只有当所有的入转移全部完成其活动后才发生出转移。可有一种例外情况,就是条件线程(,Conditional Thread,),,条件线程是从一个,“,分劈,”,发出的线程上加上条件,在执行时,如果该线程的条件取值为,“,假,”,,则就,“,接合,”,而论认为该线程已经完成。,享用晚餐,烹调菜肴,煮饭,安排餐桌,打开啤酒,想喝酒,砌筑基础,主体结构,水电准备,安装门窗,铺设室内管道,室内装修,安装水电设备,竣工验收,活动的同步状态示例,67,3.4.4,并发子状态,同步,在并发状态图中一个子状态图中的子状态,常常需要与另一个子状态图中的子状态的行为同步。在,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,Calling 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 and 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 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,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,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 Activities 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 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,活动图是一种用于系统的,行为,建模的工具,它能支持,并发,行为的描述特点,尤其适合于多线程的程序建模。,缺点:动作与对象之间的连接关系不够清晰。可以主要通过在活动上标上对象名,或者用泳道划分对象的责任,或者通过对象流表示,但这些动作与对象关系的表达都不如在交互图中表现得直接和清晰。,活动图实质上是一种流程图,但两者有区别。,一般软件工程中常用的程序流程图所表示的内容,大多也能用活动图来表示,但传统的程序流程图描述的是处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的是对象类(或模型元素)的活动的顺序关系所遵循的规则,它着重表现的是系统的行为。更为重要的是活动图能够表示,并发活动,的情景,流程图不能表示并发过程。另外,活动图是,面向对象,的,流程图是,面向过程,的。,78,4.4,活动图的应用,2,下列情况可以使用活动图:(,1,),分析,Use Case,:,在分析,Use Case,时需要理解系统将会发生哪些动作,行为之间依赖关系是什么,此时可以用活动图来验证,Use Case,。(,2,),理解工作流程,:活动图对理解业务处理过程十分有用。可以画出业务工作流的活动图与领域专家进行交流,明确业务处理操作是如何进行的,将会有怎样的变化。(3),描述复杂过程的算法,:在这种情况下使用活动图不过是,UML,版的程序流程图,常规的顺序、分支过程在活动图中都能表现。利用分支条件也可以实现循环控制结构:用一个动作状态设置循环变量,另一个条件动作状态增加循环变量,再用一个判定测试循环结束条件。(4),处理多线程应用,:利用活动图支持并发活动的特点,描述多线程应用的行为。,下列情况不应使用活动图:表现对象之间的协同关系、理解对象在其生命期的行为等。这些任务可以分别用交互图、状态图来完成。,79,80,81,82,了解餐馆领域:,理解业务过程,-,招待一位顾客,当一名顾客走进餐馆时,你们要做什么?,餐馆工作人员:经过是这样的。如果顾客穿着外套,我们会帮他(她)拖下外套,将外套存放到存衣间里,并给顾客一张取衣票。对顾客的帽子也按同样过程处理。如果顾客比较多,需要排队等候,会询问顾客是否预定席位。如果没有空缺位置,顾客可以登记下他的名字,并选择先到我们安排的休息室里喝点饮料,休息一会儿。当然,顾客也可以不去休息室,到一个指定的候餐区坐下来等。,好,轮到某个排队的顾客或者已经预订的顾客来到餐馆后,是不是就让他们入座就餐了?,是的,但是也没想象的那么简单。在顾客入座就餐之前,餐桌必须提前准备好。清洁工要事先清理桌面,除去旧的桌布,换上新的桌布,还要调整好桌子和座位。当一切准备就绪后,领餐员将顾客领到餐桌前就座,并叫一名服务员来招待顾客,85,4.4,活动图的画法,3,在软件系统的分析和设计中,对业务领域的工作流的分析是至关重要的。可以使用活动图对工作流建模。采用以下步骤:(,1,)确定工作流的,初始状态和终结状态,,明确工作流的边界。(,2,)从工作流的初始状态开始,找出,随时间而发生的活动和动作,,把它们表示成,活动状态或动作状态,。(,3,)对于复杂的动作或多次重复出现的一组动作,可以把它们组成一个活动状态,并且用另外一个活动图来展开表示。(,4,)给出连接活动和动作的转移。首先处理,顺序,动作流,然后处理条件,分支,,最后处理分劈和接合(,并发与同步,)。(,5,)在活动图中给出与工作流有关的,重要对象,,并用虚箭线把它们与活动状态或动作状态相连接。(,6,)找出负责实现工作流的业务对象。这些对象可以是现实业务领域中的实体,也可以是抽象的概念和事物。为每个重要的概念建立一条泳道,把相关活动,划分到泳道中,。,86,在活动图中演示用例,非会员预约汽车型号,1.,非会员顾客告诉助手要预约的汽车型号。,2.,助手请求非会员交纳押金、提供驾照。,3.,在非会员查找押金和驾照的同时,助手也在,Auk,系统上查找该汽车型号。,4.,找到这些东西后,助手检查押金和驾照。,5.,如果非会员交了押金,驾照也有效,助手就进行预约,活动结束。,6.,否则,活动结束。,非会员预约汽车型号的活动图,(,非会员,),告诉助手,要预约的汽车型号,(,助手,),请求,押金和驾照,(,非会员,),查找押金,(,非会员,),查找驾照,(,助手,),在,Auk,上,查找汽车型号,(,助手,),检查,押金和驾照,(,助手,),进行预约,有效,无效,88,89,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服