第八章活动图

上传人:E**** 文档编号:91692032 上传时间:2019-07-01 格式:PPT 页数:47 大小:1.03MB
返回 下载 相关 举报
第八章活动图_第1页
第1页 / 共47页
第八章活动图_第2页
第2页 / 共47页
第八章活动图_第3页
第3页 / 共47页
第八章活动图_第4页
第4页 / 共47页
第八章活动图_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《第八章活动图》由会员分享,可在线阅读,更多相关《第八章活动图(47页珍藏版)》请在金锄头文库上搜索。

1、UML基础与建模实践,第八章 活动图,主讲人:,内容摘要,活动图的概念,1,活动图的表示,2,活动图的分类,3,构建活动图,4,小结与习题,5,8.1什么是活动图,活动图涵盖了什么? 1活动图 2活动图的作用 3活动图的组成元素 4活动图与交互图,8.2 活动图的表示,下面分别描述活动图中元素的语义和表示法 1初始节点和终点 初始节点表示活动的起点;终点表示活动的终结点。用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点,如图8-1所示。在活动图中,可能包含多个活动终点。,图8-1 初始节点和终点的表示方法,8.2 活动图的表示,2活动节点 活动节点是活动图中最主要的元素之一,它

2、用来表示一个活动,一个活动表示多个动作的集合。活动节点用一个圆角矩形表示,每个活动节点有一个名字,名字写在圆角矩形内部。活动节点的名字有两种表示方法:一种方法是用文字描述,另一种方法是用表达式描述。如图8-2(a),图8-2(b)所示。,8.2 活动图的表示,我们用for (i=0;i8;i+)循环输出07八个数字,用活动图来表示,如图8-3所示。,图8-3 用文字和表达式描述活动节点,8.2 活动图的表示,3转换 当一个活动执行结束时,活动控制流就会立刻传递给下一个活动节点,在活动图中称之为”转换”。用一条带箭头的直线来表示转换,如图8-4所示。,图8-4 转换的表示方法,8.2 活动图的表

3、示,4判决节点和监护条件 判决节点是用菱形表示的,它有一个输入转换(箭头从外指向判决节点),两个或多个输出转换(箭头从判决节点指向外)。并且每个输出转换上都会有一个监护条件,用来表示满足某种条件时才执行该转换,如图8-5所示。,图8-5 判决节点和监护条件,8.2 活动图的表示,5分岔与汇合 分岔线和汇合线都使用加粗的水平线或垂直线段表示,如图8-6所示。 图8-6 分岔与汇合的表示方法,分 岔,汇 合,8.2 活动图的表示,5分岔与汇合 (1)分岔: (2)汇合: 分岔用来表示两个或多个并发活动的分支;而汇合则用于同步这些并发活动的分支,当且仅当所有的并发分支(活动)都到达汇合点后,活动流程

4、才能进入下一个活动节点。,8.3 活动图应用,按照活动图表示的信息不同,可将活动图分为简单活动图、标识泳道的活动图、标识对象流的活动图和复合活动图。,8.3 活动图应用,8.3.1 简单活动图 1.业务员会见一个新客户的业务活动描述 公司业务员打电话给客户,确定一个约会,并确定会见地点。若选定在公司约会,则应安排技术人员为约会准备一间会议室;若在公司外约会,则要求公司业务员准备一份陈述报告。业务员、咨询顾问与客户见面后,业务员给客户准备会议用纸,若会议产生一个问题陈述, 顾问根据问题陈述编写一个提案,并把提案发给客户,结束会议。如没有产生问题陈述,则结束会议。因此这个活动图是用来描述公司会见新

5、客户的活动轨迹。,8.3 活动图应用,8.3.1 简单活动图 2.用活动图表示业务员约会活动 图8-7所示,是公司业务员与客户约会的的简单活动图,该图既没有标识活动的执行者,也没有标识在活动执行过程中创建了哪些对象。其中,每个活动都是简单的活动。,图8-7 业务员约会活动图,8.3 活动图应用,8.3.2 展示泳道的活动图 为了在活动图中标识出活动的执行者,可以通过泳道(Swim Lane)来实现。例如,在图8-8所示的活动图中,活动的执行者包括公司业务员、顾问和公司技术员,因此可以将其分成3个泳道。左边泳道中所有活动的执行者是公司业务员;右边泳道中所有活动的执行者是公司技术员;中间泳道所有活

6、动的执行者是顾问。若某个活动是两个泳道共同完成的,就把该活动节点置于两个泳道共享。,8.3 活动图应用,每个泳道用一条垂直的线将它们分开,并且每个泳道都必须有一个唯一的名称(泳道的名称用泳道执行者来命名),例如本例中的公司业务员、顾问和公司技术员,他们都是各自泳道活动的执行者。从图8-8中可以看出,分岔与汇合是可以跨泳道的。通过泳道不仅体现了整个活动控制流,还体现出了每个活动的执行者。,图8-8 展示泳道的活动图,8.3 活动图应用,8.3.3 展示对象流的活动图 在活动图中可能存在这样一些现象:一些对象进入一个活动节点,经过活动处理,修改了对象的状态;某个活动节点创建或删除了一些对象;另一些

7、活动节点需要用到一些对象。在这些活动中,对象与节点活动是紧密相关的,用户可以在活动图中把相关的对象标识出来,即标识哪些对象进入活动节点,哪些对象从活动节点中输出,这对编程具有现实意义。,8.3 活动图应用,在UML中,用户可以在活动图中标识一个对象的角色、状态和属性值的变化。在活动图中,我们表示对象的方法如图8-9所示。,图8-9 活动图中的对象表示方法,8.3 活动图应用,图8-10所示表示了”订单处理”活动的一个片段。,图8-10 标识对象流的活动图,8.3 活动图应用,8.3.4 展示参数的活动图 我们用一个小矩形框表示参数(参数是一个对象节点)。参数有2种,分别是输入参数、输出参数。参

8、数都标识在活动节点的边界上,输入参数标识在活动节点的左边界上;输出参数标识在活动节点的右边界上。如图8-11所示。,图8-11 标识活动节点的输入参数和输出参数,8.3 活动图应用,8.3.5 展示别针的活动图 如果活动图中的对象流很多,这样,活动图看起来很混乱,我们可以用别针代替对象,这时的活动图显得清晰。 图8-12是一个登录活动图,这个活动图展示了对象流。这个活动图展示了2个对象流,当执行”获得用户名”时,产生对象”用户名”;当执行”获得密码”时,产生对象”密码”,当这2个对象输入到活动”认证用户”时,用户被认证,活动结束。,8.3 活动图应用,图8-12 展示对象流的活动图,8.3 活

9、动图应用,对图8-12,我们用别针代替对象,绘制等价的活动图,如图8-13所示。,图8-13 展示别针的活动图,8.3 活动图应用,别针是一个对象节点,用一个小方形框表示,别针又分为输出别针和输入别针,在一条虚线箭头的两端,箭尾部位是输出别针,箭头部位是输入别针。输入别针与输出别针代表同一个对象。我们一般把别针绘制在活动节点的边界上。,8.3 活动图应用,8.3.6 展示中断的活动图 若一个中断事件到达时,某些活动都会终止,我们把这些活动组成一个区域,这个区域就是中断区。 图8-14中,我们把三个活动封闭在虚线框中,这个虚线框就是中断区,中断边用齿形箭头表示。当控制焦点在中断活动区时,当”取消

10、”活动收到一个中断事件后,中断区中的三个活动都会停止执行,控制焦点转向中断边。,8.3 活动图应用,图8-14 展示中断的活动图,8.3 活动图应用,8.3.7 展示异常的活动图 图8-15所示,用UML图展示了计算机的异常处理流程。,图8-15 展示异常的活动图,8.3 活动图应用,8.3.8 展示扩展区的活动图 图8-15中,扩展区的工作模式是iterative,扩展区接收student对象的集合,但是,每次只有一个student对象进入扩展区,由扩展区中的两个活动对其进行处理,当所有的对象在扩展区中进行处理完毕后,在输出扩展节点上输出被处理完的学生对象集合。,8.3 活动图应用,图8-1

11、6 展示扩展区的活动图,8.3 活动图应用,1.对扩展节点的规范 (一)输入集合类与输出集合类型匹配 (二)输入对象与输出对象类型必须相同,8.3 活动图应用,2.扩展区的工作模式 扩展区的工作模式是以下三种情况之一: (一)Iterative:顺序处理集合中的每个对象。仅当所有对象处理完毕后,才将对象集合提交给输出扩展节点上。 (二)Parallel:并行处理集合中的每个对象。仅当所有对象处理完毕后,才将对象集合提交给输出扩展节点上。 (三)Stream:逐个处理集合中的每个对象,并将处理完的对象直接提交给输出扩展节点上。,8.3 活动图应用,8.3.9 展示信号的活动图 信号用来展示两个对

12、象之间进行的异步通信,当一个对象接收到一个信号时,将触发信号事件。,8.3 活动图应用,1信号 在活动图中包括3种信号元素,分别是发送信号、接收信号和时间信号,其表示方法如图8-17所示。,图8-17 3种信号的表示方法,l 时间信号: l 发送信号: l 接收信号:,8.3 活动图应用,1信号 在活动图中包括3种信号元素,分别是发送信号、接收信号和时间信号,其表示方法如图8-17所示。,图8-17 3种信号的表示方法,l 时间信号: l 发送信号: l 接收信号:,8.3 活动图应用,2在活动图中标识信号 图8-18所示, 展示了手机卡 验证的信号图。,图8-18 手机pin验证,8.3 活

13、动图应用,8.3.10 展示嵌套活动图 如果一个大的活动图又包含了一个小的活动图,则称大活动图为嵌套活动图(也称为主活动图),称小活动图为子活动图。 当一个活动图很复杂,则可以把其中的一组相关活动看作是一个子活动图,这时在绘制主活动图时,可用子活动图的简图代替子活动图。,8.3 活动图应用,图8-15所示是一个嵌套活动图。子活动图”认证用户”如图8-19所示,其简图是图8-20所示。,图8-19 认证用户,8.3 活动图应用,图8-20 认证用户的简图,说明:一般来说,在嵌套活动图中使用叉齿符的简图(子活动图的简图)来代替子活动图。,8.4 构建活动图,下面是绘制活动图几个关键步骤: (1)如

14、果希望在活动图中标识出活动的实施者,就应采用标识泳道的活动图,同时在绘制活动图前,应先找出活动的执行者,然后找出每个执行者参与的活动。 (2)在描述活动节点关系时,应最大限度地采用分支,以及分岔和汇合等基本的建模元素来描述活动控制流程。,8.4 构建活动图,(3)如果希望标识出活动节点执行前后对象的创建、销毁以及对象的状态变化情况,则在绘制活动图时,应标识对象流以及对象的状态变化。 (4)如果希望标识活动图中更详细的信息,就应在活动图中利用一些高级的建模元素,如顺序活动图、并发活动图、在活动图中标识发送信号与接收信号、用扩展区来标识活动的循环执行等。,8.4 构建活动图,8.4.1 对工作流程

15、建模 当使用活动图来对工作流程进行建模时,应遵 循以下一些主要原则: (1)从整个工作流中选出一部分能体现高层职责的部门,并为每个重要的职责部门创建一条泳道。 (2)标识工作流初始节点的前置条件和活动终点的后置条件,以便有效地找出工作流的边界。 (3)从工作流的初始节点开始,找出随时间推动的动作和活动,并在活动图中把它们标识成活动节点。,8.4 构建活动图,(4)将复杂的活动或多次出现的活动用一个或多个子活动图的引用节点表示,然后为每个被引用的子活动图绘制出详细的活动图。 (5)找出连接这些活动节点的转换,首先从工作流的顺序开始,然后考虑分支,接着再考虑分岔和汇合。 (6)如果标识出工作流中重

16、要的对象,则可以把对象流也加入到活动图中。 (7)若工作流中有重复执行的活动,则采用扩展区来表示循环活动。,8.4 构建活动图,8.4.2 对操作流程建模 当使用活动图对操作进行建模时,应遵循以下原则: (1)寻找操作所涉及的属性,包括操作的参数、返回类型、所属类的属性以及某些邻近的类。 (2)识别该操作初始节点的前置条件和活动终点的后置条件,同时也要识别在操作执行过程中必须保存的信息。 (3)从该操作的初始节点开始,标识随着时间发生的活动,并在活动图中将它们表示为活动节点。 (4)如果需要,应使用分支来说明条件语句及循环语句。 (5)仅当操作属于一个主动类时,才在必要时用分岔和汇合来说明并行的控制流程。,8.5 小 结,本章首先讲解了活动节点、初始节点和活动终点、转换、分支与监护条件、分岔与汇合等基本建模元素,并逐步引出了泳道、对象流等控制流逻辑,然后分别介绍简单活动图、标识泳道

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号