UML系统分析与设计教程(第2版) 课件 第9章 活动图_第1页
UML系统分析与设计教程(第2版) 课件 第9章 活动图_第2页
UML系统分析与设计教程(第2版) 课件 第9章 活动图_第3页
UML系统分析与设计教程(第2版) 课件 第9章 活动图_第4页
UML系统分析与设计教程(第2版) 课件 第9章 活动图_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

UML系统分析与设计SystemAnalysis&Design冀振燕北京交通大学

第九章活动图活动图组成元素活动图的应用UML系统分析与设计第2版ZhenyanJi2活动图活动图主要是一个流图,描述了从活动到活动的流。活动是在状态机中进行的一个非原子的执行,它由一系列的动作组成。动作是由可执行的不可分的计算组成,这些计算可以引起系统的状态发生变化或者返回一个值。交互作用图强调从对象到对象的控制流。活动图则强调从活动到活动的控制流。活动图主要包含下列元素:●活动状态 ●动作状态●跃迁 ●对象UML系统分析与设计第2版ZhenyanJi3活动图活动图UML系统分析与设计第2版ZhenyanJi4组成元素动作状态在用活动图描述的控制流中,或者要计算为属性赋值的表达式,或者调用对象的操作,或者发送信号给对象,或者创建、破坏对象,所有这些可执行的、不可分的计算都被称为动作状态。UML系统分析与设计第2版ZhenyanJi5组成元素活动状态与动作状态相反,活动状态是非原子的、可以分解的,也就是说活动状态是可以被打断的。通常,活动状态需要一段时间才能完成。活动状态和动作状态的UML符号没有区别,但是活动状态可以有入口动作、出口动作(入口动作和出口动作分别是进入或离开状态时要执行的动作)和对子状态机的规定。UML系统分析与设计第2版ZhenyanJi6组成元素跃迁当状态的活动或动作完成时,控制流立即传递到下一个动作或活动状态。跃迁被用来表示从一个动作或活动状态传递到下一个动作或活动状态的路径。跃迁的UML符号可以用简单的有向线表示。UML系统分析与设计第2版ZhenyanJi7组成元素分支在流图中,还可以含有分支,分支定义了基于布尔表达式的替换路径。分支起始于判定。分支有一个输入,有两个或多个输出。在每个输出的跃迁上,均有一个布尔表达式,只有该表达式为真时,该输出跃迁才能发生。各个输出的护卫条件不应该重复,否则,控制流是有歧义的;但这些护卫条件应该覆盖所有的可能性,否则,控制流会停滞。可以规定一个输出跃迁的护卫表达式为else,如果没有其他的护卫表达式为真,控制流则转向该跃迁。UML系统分析与设计第2版ZhenyanJi8分叉和联结在UML中,使用同步条来规定这些并行控制流的分叉与联结(ForkandJoin)。同步条的UML符号是一条粗的水平线或垂直线。分叉和联结应该是平衡的,也就是说,离开分叉的控制流的数目应该与进入相应联结的控制流数目相等。并行控制流的活动可以通过发送信号来彼此通信。UML系统分析与设计第2版ZhenyanJi9组成元素分叉和联结UML系统分析与设计第2版ZhenyanJi10组成元素泳道活动图描述了某项活动发生了什么,但没有说明由谁来完成。在程序设计中,这意味着活动图没有描述出各个活动由哪个类来完成,泳道(Swimlane)解决了这一问题。泳道的UML符号用矩形框来表示。将对象名放在矩形框的顶部,将属于某个对象的活动放在该对象的泳道内,而泳道中的活动则由相应对象负责。UML系统分析与设计第2版ZhenyanJi11组成元素对象流与活动图有关的控制流可能涉及对象。可以将对象放在活动图中,并用箭头将对象和产生、破坏或修改该对象的活动或跃迁连接起来,这被称作对象流(ObjectFlow),因为它代表了对象在控制流中的参与。活动图除了可以说明对象流,还可以说明对象的角色、状态和属性值的变化。UML系统分析与设计第2版ZhenyanJi12组成元素对象流UML系统分析与设计第2版ZhenyanJi13活动图的应用通常可以将活动图用于以下两种情况。(1)为工作流建模。在为工作流建模时,应完成如下内容。确定工作流的中心。这是因为对于比较复杂的系统,用一个活动图描述所有重要的工作流是不可能的。选择与工作流有关的商业对象,并为每个重要的商业对象创建一个泳道。识别工作流初始状态的前置条件和工作流最终状态的后置条件,这有利于确定工作流的边界。UML系统分析与设计第2版ZhenyanJi14活动图的应用(接上页)从工作流的初始状态开始,确定随时间发生的活动和动作,并将它们作为活动状态或动作状态放在活动图中。对于复杂的动作或多次出现的动作集合,可以将它们合并为活动状态,再提供一个单独的活动图来展开活动状态。用跃迁连接活动状态和动作状态,并考虑分支、分叉和联结。如果在工作流中涉及重要的对象,则将对象放在图中,必要时描述对象属性值和状态的变化。UML系统分析与设计第2版ZhenyanJi15活动图的应用(2)为操作建模。为操作建立模型,应完成以下内容。收集与操作有关的抽象,包括操作的参数、返回类型、操作所在类的属性等。识别工作流初始状态的前置条件和最终状态的后置条件,还要识别出在操作执行过程中必须持有的类的不变量。从工作流的初始状态开始,确定随时间发生的活动和动作,并将它们作为活动状态或动作状态放在活动图中。必要时使用分支、分叉和联结。UML系统分析与设计第2版ZhenyanJi16publicvoidhandleThread(intstate){for(inti=0;i<controls.length;i++){if(state==CustomControlsContext.START){if(controls[i]instanceof

CustomControls){((CustomControls)controls[i]).start();}}elseif(state==CustomControlsContext.STOP){if(controls[i]instanceof

CustomControls){((CustomControls)controls[i]).stop();}}}}UML系统分析与设计第2版ZhenyanJi下面是一段Java源代码,是方法handleThread(intstate)的源代码,下页图示的活动图则描述了该方法的流程。17活动图UML系统分析与设计第2版ZhenyanJi18小结在UML中,活动图是为系统的动态方面建模的7个图之一。活动图主要是一个流图,它描述了从活动到活动的控制

温馨提示

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

评论

0/150

提交评论