zoukankan      html  css  js  c++  java
  • 【StarUML】 活动图


    AlienSmile with tongue outCrying face


    StarUML中的活动图本质上是流程图,活动图相对来说,更加专业,它有对信号的处理,对状态动作、数据区别表示,使得更清晰地了解控制流的走向。

    1、基本元素

         a、活动状态图(Activity)、动作状态(Actions)

             活动和动作使用同一个图表示,活动状态与状态机的状态是同一个意思,代表着一种状态,它是由别的状态流转而来,也可以流转到别的状态,同时也可以自流转,流转到自己;动作状态代表的就是一个动作。

             批注 2020-02-28 110327

             活动状态图,是可以细化的,所以有时候会先画一个大的活动状态图,然后将该活动暴露的接口和所使用到的接口都在这个图里标识好,然后再在这个活动图里细化相应的逻辑。

             image

             内部填充具体的支付系统逻辑,更详细的案例,见文末案例e。


          b、动作流(Control Flow)

              即动作之间的转化,由一根连线将两个动作状态图连接起来。

              image

       

          c、开始节点(Initial)

             即活动开始的节点。

             image

         

          d、终止节点(Final nodes)

             终止节点分为活动终止节点和流程终止节点;

             活动终止节点,代表着整个活动结束了,不会有其他的分支在跑。

             image

             流程终止节点,代表着某个流程结束了,其他流程还在跑,整个活动还没有终止。

             image

     

        e、对象(object)

           对象属于数据流的一部分,用矩形框表示。

           image

     

        f、数据存储对象(DataStore)

            使用关键字<<datastore>>。

            image


        g、对象流(Object Flow)

            对象流实际上是控制流中插入对象,以表达对象、动作和状态之间的关系。

            具有以下特征:

            (1) 一个对象可以由对个动作操作;

            (2) 一个动作输出的对象可以作为另一个动作的输入对象;

            (3) 在活动图中,一个对象可以出现多次,它的每一次出现代表着对象分处于生命周期的不同状态。

            对象流中的对象名称分为两部分,一部分是对象名,下面是对象的状态,如果一个对象不存在多个状态,那么下面的状态表示可以去除掉。(暂时不知道怎么将状态写到下面,只能写在右边)

           image

      

        h、分支和合并(Decision Merge)

            分支和合并公用一个图形,该图形有多个出口也有多个入口,每个出口都用对应的条件标识,类似于编码中的if  else 或者 switch case,每个分支都是条件的。

            1582872387(1)


        i、分叉和汇合(Fork Join)

           分叉和汇合与分支和合并类似,但有本质区别,否则是状态流转与条件挂钩,一次只能走一条路,但是分叉和汇合则是并行的,每次每条路都要走,它表示的不是说多条路选一条的意思,而是多条路要同时走。

           分支和分叉因为前者入口都标有条件而后者没有标,所以容易区分,但是合并和汇合非常类似,入口都是没有条件的,区分的方法就是 所有入口是不是相斥的,如果是就是合并,后者就是汇合

           image

      

        j、信号(Signal)

            信号分为两种,一种是接收信号,一种是发出信号,还有一种比较特殊,时间事件,有的地方也把这个叫做时间信号

            image

             时间信号,本质上是在表示一种时间动作,一般是表示等待

             接收信号大部分情况下不用画,直接由发出信号指向活动或者动作图。


    2、泳道

         泳道图出自 跨职能图,每个泳道代表着不同的组织、系统或者是个人,泳道里的图代表着该组织所负责的逻辑,在活动图里也是一样,在信号部分,就用到了泳道。

         image  


    3、案例

       a、购物用例图

             image

        b、 带有发送信号与接收信号的活动图

          image

           这个案例中,左上角用的是汇合,用错了,应该采用合并,因为有空位和没有空位是相斥的,才能采用合并。


        c、带对象流的活动图

          image

           d、辅助活动图

           image


        e、典型案例

            image

            画得好的图,图在兼顾清晰明了的基础之上,尽量让图更加紧凑些。


    本文学习对象:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html

  • 相关阅读:
    【转载】SAP_ECC6.0_EHP4或SAP_ECC6.0_EHP5_基于Windows_Server_2008R2_和SQL_server_2008下的安装
    使用delphi 开发多层应用(二十四)KbmMW 的消息方式和创建WIB节点
    使用delphi 开发多层应用(二十三)KbmMW 的WIB
    实现KbmMw web server 支持https
    KbmMW 服务器架构简介
    Devexpress VCL Build v2014 vol 14.1.1 beta发布
    使用delphi 开发多层应用(二十二)使用kbmMW 的认证管理器
    KbmMW 4.50.00 测试版发布
    Basic4android v3.80 beta 发布
    KbmMW 认证管理器说明(转载)
  • 原文地址:https://www.cnblogs.com/jimmyai/p/star_uml_activity.html
Copyright © 2011-2022 走看看