UML 状态图与活动图课件_第1页
UML 状态图与活动图课件_第2页
UML 状态图与活动图课件_第3页
UML 状态图与活动图课件_第4页
UML 状态图与活动图课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第八章状态图与活动图什么是状态图UML中的状态图(statechartdiagram)主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作状态就是对象生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件一个状态图表现了一个对象的生存史,着重描述从一个状态到另一个状态的控制流状态图:一部电梯的运行方式转移:用实箭线表示,箭尾连接出发状态,即源状态,箭头连接到达状态,即目标状态在箭线上可以标示与该转移有关的选项:事件、保安条件和动作初始状态:是模型元素的初始状态,代表一个状态图的起始点,是一个伪状态。初始状态用一个实心的圆表终结状态:是模型元素的最后的状态,代表一个状态图的终止点,是一个伪状态。终结状态用一个圆中套一个实心圆表示初始状态终结状态判定:判定是在状态图中的一个特定的位置,工作流在此按保安条件的取值而发生分支判定用空心小菱形表示同步:同步可视化地定义了并发工作流的分劈(fork)与接合(join)分劈是一个源状态分为两个或两个以上的目标状态接合是两个以上的源状态连接为一个目标状态同步在状态图中用一条粗短线表示,成为同步杆使用组合状态的优点:避免了转移线交叉,使图面清晰,简化了状态图,更重要的是要清楚地表达了状态的结构关系,便于分清主次,分别对待顺序状态与并发状态顺序状态:组合状态的子状态是一个一个执行的,不是并发存在的顺序状态与并发状态并发状态:子状态是并发存在的两个并发的子状态图用一条虚线分隔并发状态图:用于描述一个对象在某个时刻有多个并发的子状态机的情况,并发状态图是这些子状态图的组合历史状态历史状态是一个伪状态,代表上次离开组合状态时的最后一个活动子状态,当再次进入这个组合状态时,可直接进入这个子状态历史状态用一个含字母“H”的小圆圈表示事件是一个有意义的事情的说明,它位于特定的时间和空间点在状态图中,事件是一个激励的出现,它定义一个触发子触发对象改变其状态在UML中,事件分为4类:调用事件、变化事件、时间事件、信号事件事件调用事件:表示对操作的调度格式:Event-name’(‘comma-separated-parameter-list’)’时间事件:指满足某一时间表达式的情况的事件时间事件用关键字after或when表示信号事件:表示对象接收了信号这种情况,往往会触发状态的转移在UML中,信号用构造型《signal》表示信号事件和调用事件的表示格式是一样的小结状态图的基本概念、用途状态图的图形元素状态的定义及分类组合状态的分类事件、事件的分类、动作什么是活动图活动图是系统的一种行为视图,它描述参与行为的对象类的活动的顺序,包括依赖于条件的行为和并发行为[没有可口可乐]判断条件判定活动[找到可口可乐]活动[找到咖啡][没有咖啡]同步条件找饮料将咖啡放到过滤器中取一听可口可乐加水到容器中取出咖啡杯人熄灭咖啡炉

点燃咖啡炉把过滤器放到咖啡炉上冲调咖啡终点喝饮料倒咖啡

活动活动:活动是某件事情正在进行的状态,表现为由一系列动作组成的非原子的执行过程。UML中的表示:泳道泳道是活动图中的区域划分,每个泳道代表一个责任区,一个泳道可由一个或多个类实现。分支对于同一触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。分叉和汇合表示系统或对象中的并发行为。分叉表示一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的;汇合正好相反。对象流在活动图中可以出现对象,对象可以作为活动的输入或输出。对象流表示活动与对象之间的关系。注释体和注释连接注释体:用于对UML实体进行文字描述。注释连接:用于将注释体与要描述的实体相连,说明该注释体是针对该实体所进行的描述。活动图例子活动图例子课堂作业某公司的设备采购流程设置为:A、由业务部门提出需求设备清单;B、将需求设备清单交采购部门建立采购采买单据;C、采购部门建立采购单据后,交财务部门,向财务部门申请款项,预支零用金;D、财务部门建立应付帐款单据后:核支款项;E、采购部门在收到款项后,进行采买;F、采买完成后,执行:(1)发票和剩余款项交财务部:(2)设备交业务部门;G、(a)采购部门:采购单据结案;(b)财务部门:帐款冲销结案;活动图的优点和缺点优点:最适合支持并行行为,而且也是支持多线程编程的有力工具,可用于描述业务流程。缺点:很难清楚地描述动作与对象之间的关系。虽然在活动旁标出对象名或者采用泳道技术可以定义这种关系,但仍然没有交互图简单直接。因此,像大多数建模技术一样,最好把活动图与其他技术结合使用。活动图与状态图的区别活动图描述的是响应内部处理的对象类的行为,状态图描述的是对象类响应事件的外部行为。活动图着重表现的是一个活动到另一个活动的控制流,是内部处理驱动的流程;而状态图着重表现的是从一个状态到另一个状态的流程,常用于有异步事件发生的情况活动图与交互图的区别活动图着重表现的是活动的控制流,描述在对象之间传递的操作;而交互图着重表现的是对象到对象的控制流,描述对象之间传递的消息活动图的应用-用途分析UseCase在分析UseCase时需要理解系统将会发生哪些动作,行为之间的依赖关系是什么,此时可以用活动图来验证UseCase理解工作流程对理解业务处理过程十分有用,可以画出描述业务工作流的活动图与领域专家进行交流,明确业务处理操作是如何进行的,将会有怎样的变化描述复杂过程的算法此时相当于UML版的程序流程图,常规的顺序、分支过程在活动图中都能得到充分体现处理多线程应用利用活动图支持并发的特点,描述多线程应用的行为活动图是一种用于系统的行为建模的工具,它能支持对并发行为的描述的特点,使其成为对工作流(业务流)建立模型的强大工具,尤其适合于多线程的程序的建模主要缺点:动作与对象之间的连接关系不够清晰活动图的应用-工作流建模何时可使用活动图分析用例。能直观清晰地分析用例,了解应当采取哪些动作以及这些动作之间的依赖关系。一张完整的活动图是所有用例的集成图。理解牵涉多个用例的工作流。在难于区分不同用例而对整个系统的工作过程又十分清楚时,可以先构造活动图,然后用切片技术派生用例图。处理多线程应用。

温馨提示

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

评论

0/150

提交评论