- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 活动图 学习内容 什么是活动图 活动图的组成 使用Rose创建活动图 用Rose创建活动图的案例 活动图概述 类似于传统意义上的流程图,描述系统的动态行为。 活动图是一个流图,描述了从活动到活动的流。 活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程 什么是活动图 1. 活动图的基本概念 活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。 通常,活动图记录单个操作或方法的逻辑、单个用例或商业过程的逻辑流程。 在UML中,活动的起点用来描述活动图的开始状态,用黑的实心圆表示。活动的终止点描述活动图的终止状态,用一个含有实心圆的空心圆表示。活动图中的活动既可以是手动执行的任务,也可以是自动执行的任务,用圆角矩形表示。 什么是活动图 2. 为什么要用活动图 活动图的作用主要体现在: (1)描述一个操作执行过程中所完成的工作。说明角色、工作流、组织和对象是如何工作的。 (2)活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态。 (3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。 (4)活动图对理解业务处理过程十分有用。活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。 (5)描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。 活动图的组成 1. 动作状态 动作状态(action state)是原子性的动作或操作的执行状态,它不能被外部事件的转换中断,占用的处理时间极短。构造活动图的最小单位。 动作由可执行的原子计算组成,这些计算会导致系统状态的改变或者返回一个值。例如调用另一个操作、发送一个信号、创建或破坏一个对象、或者是纯粹的计算(例如计算一个表达式的值)等都是动作。 在UML中,动作状态使用平滑的圆角矩形表示,动作状态表示的动作写在矩形内部。 活动图的组成 2. 活动状态 活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。活动状态可以分解成其他子活动或动作状态,可以被使转换离开状态的事件从外部中断。 活动状态是一个程序的执行过程的状态而不是一个普通对象的状态。离开一个活动状态的转换通常不包括事件触发器。 动作状态是一种特殊的活动状态。可以把动作状态理解为一种原子的活动状态,即它只有一个入口动作,并且它活动时不会被转换所中断。 活动状态和动作状态的表示图标相同,都是平滑的圆角矩形。两者不同的是活动状态可以在图标中给出入口动作和出口动作等信息。 活动图的组成 3. 组合活动 组合活动是一种内嵌活动图的状态。一个组合活动在表面上看是一个状态,但其本质却是一组子活动的概括。一个组合活动可以分解为多个活动或者动作的组合。每个组合活动都有自己的名字和相应的子活动图。一旦进入组合活动,嵌套在其中的子活动图就开始执行,直到到达子活动图的最后一个状态,组合活动结束。 如果一些活动状态比较发杂,就会用到组合活动。比如,我们去购物,当选购完商品后就需要付款。虽然付款只是一个活动状态,但是付款却可以包括不同的情况。对于会员来说,一般是打折后付款,而一般的顾客就要全额付款了。这样,在付款这个活动状态中,就又内嵌了两个活动,所以付款活动状态就是一个组合活动。 活动图的组成 4. 分叉与结合 并发(concurrency)指的是在同一时间间隔内,有两个或者两个以上的活动执行。对于一些复杂的大型系统而言,对象在运行时往往不止存在一个控制流,而是存在两个或者多个并发运行的控制流。为了对并发的控制流建模,在UML中引入了分叉和汇合的概念。 分叉用来表示将一个控制流分成两个或者多个并发运行的分支,结合用来表示并行分支在此得到同步。 示例-分叉和结合(联结) 活动图的组成 5. 分支与合并 分支在活动图中很常见,它是转换的一部分,它将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件(布尔值)的真假来判定动作的流向。分支的每个路径的监护条件应该是互斥的,这样可以保证只有一条路径的转换被激发。在活动图中,离开一个活动状态的分支通常是完成转换,它们是在状态内活动完成时隐含触发的。 合并指的是两个或者多个控制路径在此汇合的情况。合并是一种便利的表示法,省略它不会丢失信息。合并和分支常常成对的使用,合并表示从对应分支开始的条件行为的结束。 合并与结合的区别 示例-分支 示例-一般活动图 本活动图描述一
文档评论(0)