UML活动图

UML活动图面向对象的软件开发方法的第一步:业务建模<–使用活动图转载:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html活动图概述•活动图和交互图是UML中对系统动态方面建模的两种主要形式•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流•活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用…

大家好,又见面了,我是你们的朋友全栈君。

面向对象的软件开发方法的第一步:业务建模<–使用活动图

转载:https://www.cnblogs.com/xiaolongbao-lzh/p/4591953.html

活动图概述

•活动图和交互图是UML中对系统动态方面建模的两种主要形式

•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流

•活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模

•UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定

【用途】活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。

活动图在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

一、活动图的组成元素 Activity Diagram Element

1、活动状态图(Activity)——活动状态用于表达状态机中的非原子的运行

  活动状态图特点如下:

  (1)、活动状态可以分解成其他子活动或者动作状态。

  (2)、活动状态的内部活动可以用另一个活动图来表示。

  (3)、和动作状态不同,活动状态可以有入口动作出口动作,也可以有内部转移

  (4)、动作状态是活动状态的一个特例,如果某个活动状态只包括一个动作,那么它就是一个动作状态

  UML中活动状态和动作状态的图标相同,但是活动状态可以在图标中给出入口动作和出口动作等信息

  【图形】平滑的圆角矩形

                          UML活动图

2、动作状态(Actions)—— 动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。

  动作状态有如下特点:

  (1)、动作状态是原子的,它是构造活动图的最小单位

  (2)、动作状态是不可中断的。

  (3)、动作状态是瞬时的行为。

  (4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关

  (5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移

  (6)、在一张活动图中,动作状态允许多处出现。

  【图形】平滑的圆角矩形

                           UML活动图

3、动作状态约束(Action Constraints)——动作状态约束:用来约束动作状态

  【图形】如下图展示了动作状态的前置条件和后置条件

                    UML活动图 

4、动作流(Control Flow)——动作之间的转换称之为动作流活动图的转换

  【图形】用带箭头的直线表示,箭头的方向指向转入的方向。

                    UML活动图

5、开始节点(Initial Node)——活动开始节点
  【图形】实心黑色圆点

                   UML活动图

6、终止节点(Final Node)——分为活动终止节点(activity final nodes流程终止节点(flow final nodes)

  (1)、活动终止节点表示整个活动的结束

  【图形】圆圈+内部实心黑色圆点

                                UML活动图

  (2)、而流程终止节点表示是子流程的结束。

  【图形】圆圈+内部十字叉

                               UML活动图

7、对象(Objects)

  【图形】矩形方框  

             UML活动图

8、数据存储对象(DataStore) ——使用关键字«datastore»

   【图形】矩形方框,内含关键字

                                UML活动图

9、对象流(Object Flows)——对象流是动作状态或者活动状态对象之间的依赖关系,表示动作使用对象或动作对对象的影响

  用活动图描述某个对象时,可以把涉及到的对象放置在活动图中并用一个依赖将其连接到进行创建、修改和撤销的动作状态或者活动状态上,对象的这种使用方法就构成了对象流。

  对象流中的对象有以下特点:

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

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

  (3)、在活动图中,同一个对象可以多次出现,它的每一次出现表面该对象正处于对象生存期的不同时间点。

  【图形】用带有箭头的虚线表示。如果箭头是从动作状态出发指向对象,则表示动作对对象施加了一定的影响。施加的影响包括创建、修改和撤销等。如果箭头从对象指向动作状态,则表示该动作使用对象流所指向的对象。

  状态图中的对象用矩形表示矩形内是该对象的名称名称下的方括号表明对象此时的状态

             UML活动图 

10、分支与合并(Decision and Merge Nodes)——选择分支
  【图形】分支与合并用菱形表示,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。

                                         UML活动图

11、分叉与汇合(Fork and Join Nodes)——分叉用于将动作流分为两个或多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。

  对象在运行时可能会存在两个或多个并发运行的控制流,为了对并发的控制流建模,UML中引入了分叉与汇合的概念。

  【图形】分为水平风向和垂直方向。

UML活动图UML活动图

12、时间信号

                             UML活动图

13、发送信号

                         UML活动图

14、接收信号

                       UML活动图

14、泳道(Partition)——泳道将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
在活动图中,泳道区分了负责活动的对象,它明确地表示了哪些活动是由哪些对象进行的。在包含泳道的活动图中,每个活动只能明确地属于一个泳道。

泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线

               UML活动图

二、活动图案例分析

例1.购物用例图

UML活动图

1、  泳道分为:会员泳道和系统泳道。会员选择商品并加入购物车,系统完成订单生成及其支付完毕。

2、  开始节点:会员添加商品到购物车,点击【订单确认】,开始交于系统处理订单流程

3、  结束节点:商品发送完毕和付款成功,订单处理流程结束

4、  活动状态:产生订单、Check Credit Cart核对信用卡、Check Stock 核对库存量、Deliver Goods 发送商品、Process Credit Cart付款

5、  分叉与汇合:【产生订单】份叉为检查库存量和会员支付金额是否足够,如果不足,取消订单,如过库存量和支付金额足够,发送商品和付款,最后汇合为订单完成。

 

例2. 带有发送信号与接收信号的活动图

image

 

例3.带对象流的活动图

image

 

 

例4.辅助活动图

image

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130212.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月14日 下午6:46
下一篇 2022年6月14日 下午6:46


相关推荐

  • 关于opacity属性的探究

    关于opacity属性的探究关于opacity属性的探究上问题!!在前一段时间我朋友和我讨论到了opcaity的属性问题问题如下:代码如下清重点关注opcaity<!–css样式–><style>.boxfather{width:500px;height:500px;background-color:blue;text-align:cen

    2022年5月26日
    38
  • Cloneable_c++list容器

    Cloneable_c++list容器Cloneable类开心一笑开心是最重要的…..哥要出国旅游,让三哥帮忙看家,临走前特别交代:家里的藏獒随便逗,别惹鹦鹉。之后,三哥怎么逗藏獒,藏獒都不咬人。三哥心想:藏獒都这样,这鹦鹉也就一破鸟,能把我怎样?遂逗鹦鹉玩。结果,鹦鹉开口说话:咬他!藏獒扑上……三哥,享年27……自我介绍大家好,我叫能复制,英文名字叫“Cloneable”,住java.lang这个家,我这个人怎么说,

    2022年10月14日
    7
  • 喊山第二部_软组raid0

    喊山第二部_软组raid0原题链接喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。(图文摘自:http://news.xrxxw.com/newsshow-8018.html)一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个山头最多有两个能听到它的临近山头。给定任意一个发

    2022年8月9日
    7
  • 编辑器 editor_ios 编辑器

    编辑器 editor_ios 编辑器editor.md编辑器使用记录

    2026年2月24日
    3
  • 黑马程序员—只要路对,不怕路远——寂寞中蔓延着成功路途[通俗易懂]

    黑马程序员—只要路对,不怕路远——寂寞中蔓延着成功路途[通俗易懂]文章来源:黑马程序员,黑马论坛

    2026年4月15日
    8
  • Vue2 后台管理系统解决方案

    Vue2 后台管理系统解决方案

    2021年10月11日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号