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月21日
    25
  • SAE J1939介绍

    SAE J1939介绍CAN协议最初由美国博世公司提出,后来SAE在CAN2.0B的基础之上提出J1939协议,该协议主要面向客车和载重货车。J1939协议对应ISO提出的七层OSI模型中的物理层、数据链路层、网络层和应用层,除了这四层,为了保证数据的准确传输和故障诊断,J1939还具有网络管理和应用层诊断。物理层对应J1939-11、J1939-15;数据链路层对应协议中的J1939-21;网络层对应协议中的

    2022年5月1日
    111
  • 第三章:activiti流程工具使用和学生请假流程实例

    第三章:activiti流程工具使用和学生请假流程实例第三章:activiti流程工具使用和学生请假流程实例

    2022年4月23日
    52
  • offsetwidth/clientwidth的区别「建议收藏」

    offsetwidth/clientwidth的区别「建议收藏」1.2.小小总结一小下”title=”clientWidth/scrollWidth/offsetWidth 小小总结一小下”style=”margin:0px;padding:0px;border:0px;list-style:none”>clientWidth是对象看到的宽度(不含边线,即border)scrollWidth是对象实际内容的宽度(若无p

    2022年7月22日
    14
  • AdminLTE 背景色小结

    AdminLTE 背景色小结adminLTE背景色

    2022年7月27日
    7
  • Spring JDBC StoredProcedure类示例

    Spring JDBC StoredProcedure类示例org.springframework.jdbc.core.StoredProcedure类是RDBMS存储过程的对象抽象的超类。这个类是抽象的,目的是让子类将提供一个用于调用的类型化方法,该方法委托给所提供的execute(java.lang.Object…)方法。继承的sql属性是RDBMS中存储过程的名称。使用到的Student表的结构如下-CREATETAB…

    2022年7月26日
    1

发表回复

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

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