目录

  • 1 教学内容
    • 1.1 导言
    • 1.2 用例图
    • 1.3 对象图
    • 1.4 顺序图
    • 1.5 通讯图
    • 1.6 类图
    • 1.7 状态图
    • 1.8 活动图
    • 1.9 包图
    • 1.10 构件图
    • 1.11 部署图
    • 1.12 面向对象分析的uml模型
    • 1.13 面向对象设计的uml模型
  • 2 教学视频
    • 2.1 OOAD详解
    • 2.2 UML简介
    • 2.3 用例图
    • 2.4 类图1
    • 2.5 类图2
    • 2.6 类图3
    • 2.7 对象图
    • 2.8 组件图
    • 2.9 部署图
    • 2.10 时序图
    • 2.11 协作图
    • 2.12 状态图
    • 2.13 包
    • 2.14 使用UML分析十种设计模式
  • 3 软件设计师考试教程教学视频2
    • 3.1 UML建模前言
    • 3.2 UML图(用例图)
    • 3.3 UML图(类图)
    • 3.4 UML图(顺序图)
    • 3.5 UML图(活动图)
    • 3.6 UML图(状态图)
    • 3.7 UML图(通信图)
    • 3.8 UML案例分析
  • 4 实验
    • 4.1 实验一:用例图设计
    • 4.2 实验二:类图设计
    • 4.3 实验三:活动图设计
    • 4.4 实验四:顺序图设计
    • 4.5 实验五:协作图设计
    • 4.6 实验六:状态图设计
    • 4.7 实验七:物理图设计
  • 5 期末考核
    • 5.1 期末考试要求
  • 6 软件
    • 6.1 startuml
    • 6.2 rose
  • 7 课件
    • 7.1 第一章 导言
    • 7.2 第二章 用例图
    • 7.3 第三章 对象图
    • 7.4 第四章 顺序图
    • 7.5 第五章 通讯图
    • 7.6 第六章 类图
    • 7.7 第七章 状态图
    • 7.8 第八章 活动图
    • 7.9 第九章 包图
    • 7.10 第十章  构件图
    • 7.11 第十一章 部署图
活动图

 8.  1     基于活动的系统行为建模

 8.1 基于活动的系统行为建模

考虑 PPS 项目中手工创建订单的活动过程首先 业务员选择订单所属的客户和客户需要的然后系统列出该产品的所有可选的配置信息 ; 接着业务员 根据客户需求配置产品并填写客户对产品的相应需求数擞填写产品的运输信息系统检查这些 信息如果信息的填和选择系统允 许业务员提交订单否则系统给出提 不允许业务员 提交订单 这就是个完整的手创建订单活动过个活动过程包括多个  务的并行发、条件分支、校验和循环操作这个活动过程反映 的系统行为如何规范地描述这个活 动过程? UML  活动图 Activ  i ty Diagra  m)   为活动过程建模的有 效活动图主要用 于描述可以引 发对象状态变化的条件和动作

UML 活动图 常被用 于描述复杂的企业 流程、用例场景或为具体业务的 逻辑虽然活动图也 可以为对象的 某种体行为建模,但是 ,在面向 对象分析和设计中更倾向将杂的操作分解为多个极 为简单的操作,所以 ,活动图为其建模的意义并 不重要了

8.2    活  动  图

          UML 活动图由 4 种元素组成活动动作活动边活动节点它的表达方式为

 

8.3      活动图的

 

在活动中,不仅有组成活动的动作参与,而且还有许多其他元素的参与,这些元素包括活动边和活动节点活动图通过展现活动、动作、活动边和各 种各样的 活动节现对系统某种逻辑行为的建模 活动并 不只有系列动作 还有数据、状态和逻辑 判断参与元素

 

8.3.1         活动和动作

 

活动( A c t iv it y ) 是由个或多个动作( A ctio n ) 组成的行为动作是活动中的个步骤 动作 并不是组成活动的最小单位每个动作只是相对它的活动而如果把个动作作为个活动,那这个 动作又可分为更多个组成这个活动的动作

        在 U ML 活动图中,活动和动作都用同样种图形来表示,圆角矩形, 圆角矩形内书写动作或活动的名字8-1示了个登录系统活动及其包括的动作

 

8.3.2         活动边

   在活动图中,仅有动作是没有意义的,因为活动图需要表现动作与动作之间、动作与数据之间、数据与动作之间的关联和方向UML2.0称这些出现在活动中的信息之间的关联为活动边( ActivityE dge ) 如图 8- 2所示


UML 2. 0 的活动边为条带有开放式箭头的实线,其 箭头指向下个动作或下个节点活动边所连的点(动作或节点)不同 ,所形成的信息流也不同在活动图由活动边关联起来的信息 流程可分为两大类控制流和对象流这种对流程的分类方法在对个包括大动作和数据的复杂活动进行建模时,具 有 帮助区分流程的意义和性质的作用

 

1.控制流

 

   当活动边连接的是两个动作时,这种活动边称为控制流( Co nt ro low ) 控制流般发生在两种情况: 在活动边控制下,活动由个动作直接转变为另个动作时, 或者由个动作经过个逻辑判断条件转变为另个动作时表示控制流的活动边的箭头指明下个动作,如图 8-3 所示

 

2.  对象流

 

   当活动边连接动作与数值或活动与数值时,UML    2.   O   称这类活动边为对象流(ObjectFlow ) ,对象 流用于描述活动中的数据输出输入。如图8-4所示,对象p roduct 表示的是个数据包,它是动作 Inspect的输出,是动作 Storing的输入值

在对象流中 般用对象的形式表示 动作的输入和输出值个动作的输出表示个对象作为另个动作的输入

 

8.3.3         活动节点

 

在活动图中,流动的信息不仅只有动作,还有许多其他的流动信息,U ML  2.  除了动作外的其他活动信息称为活动节点这些活动节点主要分为大类:参     数节点、对象节点和控制节点

 

1.  参数节点     

       UML 2. 0 参数节点(ParameteNode ) 来表示数进入个活动或者参数个活动中输出。参数节点用个直角的长方形来表示如图8-5,活动ProducePla n 内有两个动作,它们 分 别 Checking Storage Plann ing

 

数节点是出现在活动框上的长方形活动框上可以 有个或数节点,它个边通常与活动框内的某个动作相连以表示它是这个动作的输入或输出数据数的输入来源于活动之外参数的输出表示参数将输出到活动之外

 

2.  对象节点

 

U ML  活动图表达个复杂的数据试图通过个活动时 ,这个穿越活动的数据包被称为对象节点( Objec t   Node)    对象节点用千表示活动中移动的数据对象节点用矩形框表示 ,对 象 节点名可以加在矩形框内或外部,框内标明数据的名称,如图8-6 所示 ,O rd er 个数据包,它 是 动作 Create Ord er 的输出数据,接下 来是动作 F il l O rd er 的输入数据

   对象节点与数节点的差别,对象 节点与动作相连,参 数 节 点 是在活动框上的数据。


       另外,对象 节 点 也 可以不用对象来表示数据包的输入输出, 而是用栓( Pin ) 来表8- 7与图 8-6表示的是具有完全相同意思的两种不同对象节点。在图 8-7  中, 对 象 消失了 ,取而代之的是出现在两个动作侧面的小矩形框,UML2.O将 其 称 为栓, 表示这两个动作之间将有数据的输入和输出

 

8- 6与图 8-7均表示活动 CreateOrder产生了对象 order而对象 order将作为个参数传递给活动 FillOrderCreateOrder可以是某个类的方法,在 CreateOrder可以包含下面的代码O  rder   o  =   new  Order(

在另,对 象 o  可以作为 Fill  Order  的参数传递给方法 fillOrder它可能是另个类的方法),代码应该是fillOrder ( o )

当不知道动作输出的对象节点的去向,或者不知道动作输入的对象节点的来源       时,UML2. O个小箭头标志在对象节点的栓的小方块中来表示该对象节点的输入栓( InputPin ) 和输出栓( OutputPin) 例如在图 8-8动作 CreateOrder分别标有输入栓和输出栓

   现在已经学习了几种对象节的不同表示方法,图 8-9个综合所有对象节点表现形式的图例在图 8- 9注意活动Orde rActivit y包括两个动作C reat e

OrderFillOrder活动框上的customer是 活动 Order  Activity参数节点,对象节点输入栓order  ID  为动作Create   Order  个输入数据,但是,这个数据并没有被标明来源,对象节点栓 order   Form  表现出既是动作 Create  Order  的输出对象节点,也是 动作 F1Order的输入对象节点。

 3.  控制节点

 

   控制节点( ControlNode ) 是用于表示活动中的控制判断、同步运算、路径分叉、路径合并 等特殊节点控制 节点 主要 包括起始 节点 (InalNode汃 判 断节点(DecisionNode) 、汇合节点 ( MergeNode ) 、分叉 节点 (ForkNode ) 、结合 节点 (JoinNode) 以及终点节点( FinalNode) 如 表 8-1所示

 

8.3.4     活动划分或泳道

 

我们已可以用各种活动图元来描述个活动过程接下来就生了个问如何表示这个活动的归属也就是说活动中的各种动作或元素是属千个系统或对象 还是属千不 同的系统或对象呢为了明活动图中各种元素的归属UM  L 线将不同归属的元素分开,将它 称 为活动划分( ActivityPartition ) 由千这种划分的外观很像泳道所以也称为活动图中的泳道( SwimmingL ine)

活动划分将个活动图中的活动元素分组,每组的上方表明该组元素所属对   象,这样 很 容 易 通过划分看到活动的参与者8-12 用 于表示一般销售流程中业务用例的活动过程中,S a le s F u lf i ll m e n t 分 别 是活动的参与者,第 个 泳道中的内容都是 S a l e s 的活动 而活 动 F ill O r d e r 则 属于 F u lf ill m e n t 的活动

 

8.3.5        调用其他活动

 


   在顺序图中提到了r ef d eco m p o s ition 它指明了 在另个更详细的顺序图中展示了当交互参与者如何处理它所接收到的消息的细节为了增加可活动图 中用符号小表示当前动作在另个活动图中被详细描述如图 8-13  所示加密的活E ncr y p t 将在其他活动图中描述


8.    4    案 例 分 析

    活动图 用于对活动过 程和操作建 模个操作很复杂时 可以 用活动图来 表达这个操作向一个操作添个活动图 是最常见的此时活动图 只是个操作的动作的流程图 它更多展示了关于操 作算法的些信息8-14 给出 了根据订单中预订产品的数来计算产品格的操作活动图


再来看个为活 动建模的例子 ,以 PPS 项目的关千生产计划制定 过程的活动图时,活动图用 于为企业业务活动建模(图_8 - 1 5) 它的事件 流描述 如下:

 

(1 ) 业务员创建订单

( 2 ) 有关领导审查订单

( 3 ) 果有问题,则 返回给业务员重新修改

( 4 ) 单通过审进入技术部门

( 5) 技术部创建 BOM

( 6如果 通过,B  OM   表 直 接传给计划部 ,进行产品编号 。 ( 7)    同时 BOM   也传给采购部 ,进行零配件库存(8 ) 果发配件不足 制定采购计划

( 9 ) 如果配件足够通知计划部具备生产车型

(1 0 ) 计划部选择车型

(1 1) 计划部根据 BOM 标号和已经选择车型制定生产计划


8.   5    总    结


      创UML活动图,需要反复执行下列步骤: 

  第1 ,定 义活动图要对什么建模。

首先应该定义要对什么建模个用例个用例的一部个包含多个用户用例的业务流程的单个方

2 步 ,添加起始和结束

个活动图有个起始点和结束点F owler Scott 认 为结束点是可选的时候个活动只是个简单的结束如果是这种情况指明其唯的转变是 到结束点是无害这样,当 人阅读该图他或她知道你 已经考虑了如何退出这些活动

3 加活动

个用户案例建模应该 为每个参与者所发出的主要步骤添加个活动如果对高层的业务流程建模应为每个主要流程引入个活动通常为个用例 用例包如果为个方法建模,那么引 个活动图是很常见的

4 添加活动间的转换。

5 添加决策点

有时候所建模的逻辑需 要做出个决策。有可能是需要检查某些事务或比较某可以选择使用控制节点6 找出可并 行活动之处

当两个活动间没有接的联系而且它们都必须在第个活动开始前结束,那 它可以并行运行的并行活动可以 按任意次序进行 但是它们都要在结束整个流程前完成

最后,还要比较下活动图和顺序图

   正如你所了解的,顺序图更关注某个方法属千哪些类而应用活动图分析业务用例中的活动过程的时候,更关注的是这些活动之间的逻辑而不关注这些活动到底属于哪些类,因 为活动图被用于表达个方法的具体逻辑