《状态图与活动》PPT课件.ppt

上传人:牧羊曲112 文档编号:5551214 上传时间:2023-07-20 格式:PPT 页数:47 大小:466KB
返回 下载 相关 举报
《状态图与活动》PPT课件.ppt_第1页
第1页 / 共47页
《状态图与活动》PPT课件.ppt_第2页
第2页 / 共47页
《状态图与活动》PPT课件.ppt_第3页
第3页 / 共47页
《状态图与活动》PPT课件.ppt_第4页
第4页 / 共47页
《状态图与活动》PPT课件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《《状态图与活动》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《状态图与活动》PPT课件.ppt(47页珍藏版)》请在三一办公上搜索。

1、第八章 状态图与活动图,主讲教师:阿都建华单位:软件工程系,什么是状态图,UML中的状态图(statechart diagram)主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作状态就是对象生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件一个状态图表现了一个对象的生存史,着重描述从一个状态到另一个状态的控制流,状态图:一部电梯的运行方式,状态图的图形元素,状态:用一个带圆角的矩形框表示,可以进一步划分为3个分隔框:名称框、内部转移框和嵌套状态图框名称框:标出状态的名称内部转移框:规定动作或活

2、动,但不改变对象的当前状态嵌套状态图:放置被嵌套的子状态图,转移:用实箭线表示,箭尾连接出发状态,即源状态,箭头连接到达状态,即目标状态在箭线上可以标示与该转移有关的选项:事件、保安条件和动作,初始状态:是模型元素的初始状态,代表一个状态图的起始点,是一个伪状态。初始状态用一个实心的圆表终结状态:是模型元素的最后的状态,代表一个状态图的终止点,是一个伪状态。终结状态用一个圆中套一个实心圆表示,初始状态,终结状态,判定:判定是在状态图中的一个特定的位置,工作流在此按保安条件的取值而发生分支判定用空心小菱形表示,同步:同步可视化地定义了并发工作流的分劈(fork)与接合(join)分劈是一个源状态

3、分为两个或两个以上的目标状态接合是两个以上的源状态连接为一个目标状态同步在状态图中用一条粗短线表示,成为同步杆,状态,状态(state)是指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件状态属性:对确定对象的状态有重要意义的属性一个状态有以下几个部分:状态名(name)、进入/退出(entry/exit action)、内部转移(internal transition)、子状态(substate)、延迟事件(deferred event),组合状态,简单状态:一个不含有嵌套状态的状态组合状态:如果一个状态内嵌套了若干个状态,则称该状态为组合状态或超状态

4、子状态:嵌套在另一个状态中的状态,使用组合状态的优点:避免了转移线交叉,使图面清晰,简化了状态图,更重要的是要清楚地表达了状态的结构关系,便于分清主次,分别对待,顺序状态与并发状态,顺序状态:组合状态的子状态是一个一个执行的,不是并发存在的,顺序状态与并发状态,并发状态:子状态是并发存在的两个并发的子状态图用一条虚线分隔并发状态图:用于描述一个对象在某个时刻有多个并发的子状态机的情况,并发状态图是这些子状态图的组合,历史状态,历史状态是一个伪状态,代表上次离开组合状态时的最后一个活动子状态,当再次进入这个组合状态时,可直接进入这个子状态历史状态用一个含字母“H”的小圆圈表示,事件是一个有意义的

5、事情的说明,它位于特定的时间和空间点在状态图中,事件是一个激励的出现,它定义一个触发子触发对象改变其状态在UML中,事件分为4类:调用事件、变化事件、时间事件、信号事件,事件,调用事件:表示对操作的调度格式:Event-name(comma-separated-parameter-list),变化事件:如果一个布尔表达式中的变量发生变化,使得该布尔表达式的值相应地变化,从而满足某些条件,则这种事件称为变化事件变化事件用关键字when表示,时间事件:指满足某一时间表达式的情况的事件时间事件用关键字after或when表示,信号事件:表示对象接收了信号这种情况,往往会触发状态的转移在UML中,信号

6、用构造型signal表示信号事件和调用事件的表示格式是一样的,动作,动作是一个可执行的原子计算,即动作是不可被中断的,其执行时间是可忽略不计的 进入动作和退出动作的例子:Entry/setMode(onTrack)Exit/setMode(offTrack),小结,状态图的基本概念、用途状态图的图形元素状态的定义及分类组合状态的分类事件、事件的分类、动作,什么是活动图,活动图是系统的一种行为视图,它描述参与行为的对象类的活动的顺序,包括依赖于条件的行为和并发行为,活动;泳道;分支;分叉和汇合;对象流;注释体和注释连接。,活动图的基本要素,活动,活动:活动是某件事情正在进行的状态,表现为由一系列

7、动作组成的非原子的执行过程。UML中的表示:,泳道,泳道是活动图中的区域划分,每个泳道代表一个责任区,一个泳道可由一个或多个类实现。,分支,对于同一触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。,分叉和汇合,表示系统或对象中的并发行为。分叉表示一个控制流被两个或多个控制流代替,经过分叉后,这些控制流是并发进行的;汇合正好相反。,对象流,在活动图中可以出现对象,对象可以作为活动的输入或输出。对象流表示活动与对象之间的关系。,注释体和注释连接,注释体:用于对UML实体进行文字描述。注释连接:用于将注释体与要描述的实体相连,说明该注释体是针对该实体所进行的描述。,活动图例

8、子,活动图例子,课堂作业,某公司的设备采购流程设置为:A、由业务部门提出需求设备清单;B、将需求设备清单交采购部门建立采购采买单据;C、采购部门建立采购单据后,交财务部门,向财务部门申请款项,预支零用金;D、财务部门建立应付帐款单据后:核支款项;E、采购部门在收到款项后,进行采买;F、采买完成后,执行:(1)发票和剩余款项交财务部:(2)设备交业务部门;G、(a)采购部门:采购单据结案;(b)财务部门:帐款冲销结案;,活动图的优点和缺点,优点:最适合支持并行行为,而且也是支持多线程编程的有力工具,可用于描述业务流程。缺点:很难清楚地描述动作与对象之间的关系。虽然在活动旁标出对象名或者采用泳道技

9、术可以定义这种关系,但仍然没有交互图简单直接。因此,像大多数建模技术一样,最好把活动图与其他技术结合使用。,活动图与状态图的区别,活动图描述的是响应内部处理的对象类的行为,状态图描述的是对象类响应事件的外部行为。活动图着重表现的是一个活动到另一个活动的控制流,是内部处理驱动的流程;而状态图着重表现的是从一个状态到另一个状态的流程,常用于有异步事件发生的情况,活动图与交互图的区别,活动图着重表现的是活动的控制流,描述在对象之间传递的操作;而交互图着重表现的是对象到对象的控制流,描述对象之间传递的消息,活动图的应用用途,分析Use Case在分析Use Case时需要理解系统将会发生哪些动作,行为

10、之间的依赖关系是什么,此时可以用活动图来验证Use Case理解工作流程对理解业务处理过程十分有用,可以画出描述业务工作流的活动图与领域专家进行交流,明确业务处理操作是如何进行的,将会有怎样的变化描述复杂过程的算法此时相当于UML版的程序流程图,常规的顺序、分支过程在活动图中都能得到充分体现处理多线程应用利用活动图支持并发的特点,描述多线程应用的行为,活动图是一种用于系统的行为建模的工具,它能支持对并发行为的描述的特点,使其成为对工作流(业务流)建立模型的强大工具,尤其适合于多线程的程序的建模主要缺点:动作与对象之间的连接关系不够清晰,活动图的应用工作流建模,何时可使用活动图,分析用例。能直观清晰地分析用例,了解应当采取哪些动作以及这些动作之间的依赖关系。一张完整的活动图是所有用例的集成图。理解牵涉多个用例的工作流。在难于区分不同用例而对整个系统的工作过程又十分清楚时,可以先构造活动图,然后用切片技术派生用例图。处理多线程应用。采用“分层抽象,逐步细化”的原则描述多线程。,何时不应使用活动图,显示对象间的合作。用交互图显示对象间的合作更简单直观。显示对象在生命周期内的运转情况。活动图可以表示活动的激活条件,但不能表示一个对象的状态变换条件。因此,当要描述一个对象整个生命周期的运转情况时,应当使用状态图。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号