zoukankan      html  css  js  c++  java
  • 活动图

    活动图的基本概念

    活动图是状态机的一个特殊例子,他强调计算过程中的顺序和并发步骤。活动图所有或多数状态都是活动状态或动作状态,所有或大部分的转换都由原状态中完成的活动触发。

    含义:活动图是一种用于描述系统行为的模型视图,它可用来描述动作和动作导致对象状态改变的结果,而不用考虑引发状态改变的事件。通常,活动图记录单个操作或方法的逻辑、单个用例或商业过程中的逻辑流程。

            在UML中,活动的起点用来描述活动图的开始状态,用黑的实心圆表示。活动的终止点描述活动图的终止状态,用一个含有实心圆的同心圆表示。活动图中的活动既可以是手动执行是任务,也可以是自动执行的任务,用圆角矩形表示。状态图中的状态也可以用矩形表示,不过与状态的矩形比较起来,活动的矩形更加柔和,更加接近椭圆。活动图中的转换描述了一个活动转向另一个活动,用带箭头的实线段表示,箭头指向转向的活动,可以在转换上用文字标识转换发生的条件。活动图还包括分支与合并、分叉与汇合等模型元素。分支与合并的图标和状态图中判定的图标相同,分叉与汇合则用一条加粗的线段表示。

    作用:活动图是模型中的完整单元,表示一个程序或工作流,常用于计算流程和工作流程的建模。活动图着重描述用例实例或对象的活动,以及操作实现中完成的工作。活动图通常出现在设计的前期,即在所有实现决定前出现,特别是在对象被指定执行所有活动前。活动图的作用主要体现在以下几点:描述一个操作执行过程中所完成的工作;活动图对用例描述尤其有用,它可对用例的工作流建模,显示用例内部和用例之间的路径;显示如何执行一组相关的动作,以及这些动作如何影响他们周围的对象;活动图对理解业务处理过程十分有用;描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。

    活动图的组成

    UML活动图中包含的图形元素有动作状态、活动状态、组合状态、分叉与结合、分支和合并、泳道、对象流。

    动作状态:动作状态是原子性的动作或操作的执行状态,他不能被外部事件的转换中断。动作状态的原子性决定了动作状态要么不执行,要么完全执行,不能中断。

    活动状态:活动状态是非原子性的,用来表示一个具有子结构的纯粹计算的执行。活动状态可以分解成其他子活动或动作状态,可以被使转换离开转态的事件从外部中断。活动状态可以有内部转换,可以有入口动作和出口动作。活动状态具有至少一个输出完成转换,当状态中的活动完成时该转换被激发。

    组合活动:组合活动是一种内嵌活动图的状态。我们把不含内嵌活动或动作的活动称为简单活动,把嵌套了若干活动或动作的活动成为组合活动。

    分叉与结合:并发指的是在同一时间间隔内,有两个或两个以上的活动执行。对于一些复杂的大型系统而言,对象在运行时往往不止存在一个控制流,而是存在两个或多个并发运行的控制流。为了对并发的控制流建模,在UML中引入了分叉和结合的概念。分叉用来表示将一个控制流分成两个或多个并发运行的分支,结合用来表示并行分支在此得到同步。

    分支与合并:分支在活动糊涂中很常见,它是转换的一部分,它将转换路径分成多个部分,每一部分都有单独的监护条件和不同的结果。当动作流遇到分支时,会根据监护条件的真假来判定动作的流向。分支的每个路径的监护条件应该都是互斥的,这样可以保证只有一条路径的转换被激发。在活动图中,离开一个活动状态的分支通常是完成转换,它们是在状态内活动完成时隐含触发的。要注意的是,分支应该尽可能的包含所有的功能,否则可能会有一些转换无法被触发。这样最终会因为输出转换不在重新激发而是活动图冻结。

          合并指的是两个或多个控制路径在此汇合的情况。合并是一种便利的表示法,省略它不会丢失信息。合并与分支常常成对使用,合并表示从对应分支开始的条件行为的结束。

    泳道:为了对活动的职责进行组织而在活动图中将活动状态分为不同的组,称为泳道。每个泳道代表了特定含义的状态职责的部分。在活动图中,每个活动只能明确的属于一个泳道,泳道明确的表示了哪些活动是由哪些对象进行的。每个泳道都有与其他泳道不一样的名称。

    对象流:活动图中交互的简单元素是活动和对象,控制流就是活动和对象之间的关系的描述。详细的说,控制流表示动作与其参与者和猴急动作之间以及动作与其输入对象和输出对象之间的关系,而对象流就是一种特殊的控制流。

            对象流是将对象流状态作为输入或输出的控制流。在活动图中,对象流描述了动作状态或者动作状态与对象之间的关系,表示动作使用对象以及动作对对象的影响。

            对象流的几个重要概念:动作状态、活动状态、对象流状态。

  • 相关阅读:
    OpenJTAG与Jlink/Jlink的区别
    Ubunut 10.04 upgrade git
    HEVC播放器出炉,迅雷看看支持H.265
    平铺文理+拉伸按钮图片
    黑马程序员java基础学习IO流4
    Excel 2010实战技巧精粹
    昆明虚假楼盘吸引 2 千多人购买诈骗近 3 亿
    Canonical 公司预计最晚明年 4 月推出 Ubuntu 中国版
    Canonical 公司预计最晚明年 4 月推出 Ubuntu 中国版
    十二个理由让你不得不期待 Ubuntu10.10
  • 原文地址:https://www.cnblogs.com/strawqqhat/p/10602295.html
Copyright © 2011-2022 走看看