第10章活动图-修订

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

35
活动图分类
信号:
在活动图中,有三种信号元素:发送信号,接 收信号和时间信号。
三种信号的表示法
36
活动图分类
(1)时间信号:时间信号是用来表示随着时间的 流逝而自动发出的信号,时间信号表示,当时间到 达某个特定的时刻时,就会触发时间事件,例如每 天10点时,闹钟开始响铃,10点钟发出响铃的信 号就是时间信号。 (2)发送信号:也就是发出一个异步消息,对于 发送者而言,就是发送信号;对于接收到这种消息 的目标而言,就是“接收信号’。 (3)接收信号:就是接收者收到的一个外部信号。
41
活动图分类
在图中,它表示活动“计算利息”节点将接受三个输入 参数:本金(principal)、利率(rate) 、年限(year); 如果传入的参数合法,那么将输出参数利息值 (accrual);如果输入了错误的参数,则产生异常。
42
活动图分类
在这个例子中,在小矩形中添加箭头符号, 以区别输入参数和输出参数的不同。可以直 接在参数边上标注表示参数顺序的数字。例 如在本图中,principal、rate和year分别 是第1,2,3个参数。另外,如果输出产生 异常对象,则可以在符号边上标注一个空心 三角形。
31
活动图分类
32
活动图分类
在以上活动图中实际上还蕴藏着许多对象流, 例如:
(1)当“收款”后,Order类的实例的状态就 变成了“已付款”。 (2)当“修改订单项状态”后,Order类中部 分订单项的状态就变成了“已送货”。 (3)当用户取消或订单超过时限时,Order类 的状态就将成为Cancel。
38
活动图分类
信号在活动图中的应用
39
活动图分类
5 标识参数的活动图
一个方法可以包含多个参数,一个活动节点也 可能带有多个参数。在绝大多数情况下,并不 需要在活动图上标明参数信息,如果打算标明 每个活动节点执行前,需要输入哪些参数,活 动节点执行后,需要输出哪些参数,以及活动 节点执行后,要进行的错误处理。这时,在活 动图中标明参数,使活动图表示更多的信息。
19
分支与合并
20
分叉与汇合
分叉用于将动作流分为两个或者多个并发运行的分 支,而汇合则用于同步这些并发分支,以达到共同 完成一项事务的目的。 分叉可以用来描述并发线程,每个分叉可以有一个 输入转换和两个或多个输出转换,每个转换都可以 是独立的控制流。 汇合代表两个或多个并发控制流同步发生,当所有 的控制流都达到汇合点后,控制才能继续往下进行。 每个汇合可以有两个或多个输入转换和一个输出转 换。 分叉和汇合都使用加粗的水平线段表示。
45
活动图分类
7 嵌套活动图
如果一个活动图又包含了子活动图,则称这种 图为嵌套活动图(也称为主活动图)。当一个活动 图很复杂,我们可以把其中的一组相关活动看 作一个子活动图,这时,在嵌套活动图中,用 子活动图的简图代替子活动图。
46
活动图分类
我们可以将子图单独放在一个图中详细说明它 的活动,然后,在嵌套活动图引用子活动图。
26
泳道
泳道用垂直实线绘出,垂直线分隔的区域就 是泳道。在泳道上方可以给出泳道的名字或 对象(对象类)的名字,该对象(对象类) 负责泳道内的全部活动。 泳道没有顺序,不同泳道中的活动既可以顺 序进行也可以并发进行,动作流和对象流允 许穿越分隔线。
27
活动图分类
2标识泳道的活动图 为了有效地表示各个活动由谁负 责的信息,可以通过泳道(Swim Lane)来实现。例如,活动的执 行者包括窗口和打印机,因此可 以将其分成二个泳道。左边泳道 中的所有活动的执行者是窗口; 右边泳道中的所有活动的执行者 是打印机。 每个泳道用一条垂直的线将它们 分开,并且每个泳道都必须有一 个唯一的名称,例如本例中的窗 口和打印机。从图中可以看出, 每个活动节点,分支必须只属于 一个泳道,而转换,分岔与汇合 是可以跨泳道的。通过泳道,不 仅体现了整个活动控制流,还体 现出了每个活动的实施者。
33
活动图分类
在实际应用中,绘制活动图时并不一定需要 将所有的对象流都标识出来,这样会使活动 图变得复杂、混乱。在实际建模中,只对重 要的对象进行描述。
34
活动图分类
4 标识信号的活动图
在交互图中,利用“信号”可以增加活动图的 可读性。信号是表示两个对象之间进行异步通 讯的方式,当一个对象接收到一个信号时,将 触发信号事件。
47
源自文库
构建活动图
“活动图”是一种比较直观易懂的模型,它 与传统的流程图十分相近,下面是绘制活动 图几个关键步骤:
(1)如故希望在活动图中标识出活动的实施者, 我们就应该采用标识泳道的活动图,这时,绘 制活动图前,先找出活动的执行者,然后找出 每个执行者参与的活动。 (2)在描述活动节点关系时,最大限度的采用 分支,分岔和汇合等基本的建模元素来描述活 动控制流程。
24
泳道
对于程序设计而言,活动图没有指出每个活 动是由哪个类负责。而对于建模而言,活动 图没有表达出某些活动是由哪些人或哪些部 门负责。虽然可以在每个活动上标记出其所 负责的类或者部门,但难免带出诸多麻烦。 泳道的引用解决了这些问题。
25
泳道
泳道将活动图中的活动化分为若干组,并把 每一组指定给负责这组活动的业务组织即对 象。 泳道区分了负责活动的对象,明确地表示了 哪些活动是由哪些对象进行的。 每个活动只能明确地属于一个泳道。
28
活动图分类
在活动图中,存在这样一些现象:一种情况 是,可能存在一些对象进入一个活动节点, 经过活动处理,修改了对象的状态;另一种 情况是,活动节点创建或删除了一些对象; 一些情况是,输出一些对象。在这些活动中, 对象与节点活动是紧密相关的,我们可以在 活动图中把相关的对象标识出来
29
活动图分类
在UML中,可以在活动图中标识一个对象的 角色,状态和属性值的变化,它的表示方法 如图所示。
30
活动图分类
3 标识对象流的活动图 (1)当“用户下订单”时,将创建一个Order类 的实例,用来存放订单的信息,该Order类还包含 着相应的OrderItem(针对每个产品一条) (2)当“生成送货单”时,将根据Order类的实 例创建多个DeliverOrder(送货单)的实例。 (3)当“修改订单项状态”之后,DeliverOrder 对象的状态将变成finished。
13
活动图的表示
3.转换
当一个活动结束时,活动控制流就会马上传递 给下一个活动节点,在活动图中称之为“转 换”,用一条带箭头的直线来表示转换.下面 的直线箭头就表示了一个转换示。
14
活动图的表示
4.分支与监护条件
在实际应用中,有三种活动控制流,它们是顺 序结构、分支结构、循环结构.当从一个活动 节点到另一个活动节点的转换需要条件时,常 用分支与监护条件来表示活动的分支结构.
4
活动图与流程图的区别
1、流程图着重描述处理过程,它的主要控 制结构是顺序、分支和循环,各个处理之间 有严格的顺序和时间关系;而活动图描述的 则是对象活动的顺序关系所遵循的规则,它 着重表现的是系统的行为,而非系统的处理 过程。
5
活动图与流程图的区别
2、活动图能够表示并发活动的情形,而流 程图做不到。 3、活动图是面向对象的,而流程图是面向 过程的。
43
活动图分类
6 标识扩展区的活动图
在活动图中,有时需要表示一个活动需要多次 执行的情况。例如有三个活动节点“供应商送 货”,“修改订单项状态”以及分支“所有订 单项已送货完毕”都需要多次执行。由于一个 订单对应多个“送货单”,因此采用了扩展区 来表示活动节点的循环执行。
44
活动图分类
用扩展区表示活动节点的循环执行
2
活动图
活动图与交互图都是用来对系统动态方面进 行建模,它们的区别在于:交互图的节点是 对象,描述了对象之间通过消息进行协作; 而活动图的节点是活动,强调了系统中多个 的活动形成的控制流。
3
活动图
活动图是一种表述业务过程以及工作流的技 术。它可以用来对业务过程,工作流建模, 也可以对用例实现,甚至是对程序实现进行 建模。活动图与流程图的最主要的区别在于, 活动图能够标识活动的并行行为。
•分岔用来开始并行处理 分岔用来开始并行处理 •联结用于把并行处理转换为单个 联结用于把并行处理转换为单个 处理
10
活动图的表示
1.初始节点和终点
初始节点表示活动的起点;终点表示活动的终 结点.用一个实心圆表示初始节点,用一个圆 圈内加一个实心圆来表示活动终点.在活动图 中,可能包含多个活动终点。
8
活动图
活动图的组成元素
活动图的元素包括初始节点、终点、活动节点、 转换、分支、分岔与汇合。其中,转换、分支、 分岔与汇合把多个活动节点连接在一起。
9
活动图的符号
•一个活动图必然有一个开始状态 一个活动图必然有一个开始状态 •至少有一个结束状态 至少有一个结束状态 •转移用来表示活动或状态间的控制流 转移用来表示活动或状态间的控制流 •有分支时要在分支路径中注明分支条 有分支时要在分支路径中注明分支条 件
37
活动图分类
例:活动图中标识时间信号 例如小张去必胜客饭店吃饭,发现要排队等待,他 决定如果15分钟还轮不到,就到隔壁的肯德基吃 饭,这时就可以通过上述的符号来表示小张吃饭的 活动。图中假设小张排在最前面。 在“小张”这个泳道中,两个控制流中只有一个控 制流会执行。在时间信号发生之间,收到当必胜客 饭店发出“有空位”信号,小张接收到“有空位” 信号时,小张才会执行“进入必胜客”的活动;否 则小张会执行“进入肯德基”的活动。
40
活动图分类
1)参数
参数是一个对象节点,用一个小矩形框表示。 参数分三种:输入参数,输出参数,错误参数。 输入参数,输出参数, 参数都标识在活动节点的边界上,输入参数标 识在活动节点的左边界上;输出参数和错误参 数标识在活动节点的右边界上。参数有名称和 序号,我们把参数名称和号标识在参数节点的 旁边。
17
活动图的表示
18
分支与合并
分支一般用于表示对象类所具有的条件行为。 条件行为用分支和合并表达。 在活动图中分支与合并用空心小菱形表示。 一个分支有一个入转换和两个带条件的出转换,出 转换的条件应当是互斥的,这样可以保证只有一条 出转换能够被触发。 一个合并有两个带条件的入转换和一个出转换,合 并表示从对应的分支开始的条件行为的结束。
活动图
主讲教师:马宁 讲师 E-mail:maninghsd@163.com 授课对象:软件学院2009级软件工程 课程名称:UML统一建模
1
活动图
活动图是一种描述系统行为的图,它用于展 现参与行为的类所进行的各种活动的顺序关 系。 活动图的主要作用就是来描述工作流,其中 每个活动都代表工作流中一组动作的执行。
15
活动图的表示
分支是用菱形表示的,它有一个进入转换(箭 头从外指向分支符号),一个或多个离开转换 (箭头从分支符号指向外)。而每个离开转换 上都会有一个监护条件,用来表示满足某种条 件时才执行该转换。分支的表示法。
16
活动图的表示
5.分岔与汇合
在实际应用中,如果活动的转换是有条件的, 我们就用分支与监护条件来表示转换,如果一 些活动是并发执行的,我们就用分岔和汇合来 表示并发活动。分岔线和汇合线都使用加粗的 水平线或垂直线段表示。
11
活动图的表示
2.活动节点
活动节点是活动图中最主要的元素之一,它用 来表示一个活动,一个活动表示多个动作的集 合。活动节点用一个圆角矩形表示.活动的名 称写在圆角矩形内部。
12
活动图的表示
在图中列出的就是一些可能的活动节点描述, 可能用文字描述活动节点,可能用表达式描 述活动节点,可能用消息描述活动节点。
21
分叉与汇合
例:去体育馆 打羽毛球的场 景 1 进入场馆 2 并发分叉 3 付款 4 打羽毛球
22
报价 找位置, 查价格
活动图的表示
按照活动图表示的信息不同,将活动图分为:
简单活动图 标识泳道的活动图 标识对象流的活动图 复合活动图
23
活动图分类
1 简单活动图
下图是一个描述 订单处理的简单 活动图,这个图 既没有标识活动 的执行者,也没 有标识活动执行 过程中,创建了 哪些对象。其中, 每个活动都是简 单的活动。
6
活动图
活动图是描述系统或业务 的一序列活动构成的控制 流,它描述了系统从一种 活动转换到另一种活动的 整个过程。 例如,有一个表示某公司 销售过程的一张活动图, 右图是描述这一业务过程 的活动图。
7
活动图
活动图的作用
活动图常用来描述业务或软件系统的活动轨迹, 描述了系统的活动控制流程。我们常用活动图 对业务过程、工作流和用例实现进行建模。
相关文档
最新文档