UML活动图
活动图(Activity Diagram)是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。它对于系统的功能建模特别重要,强调对象间的控制流程,活动图在本质上是一种流程图
二、特点
-描述一个操作执行过程中所完成的工作,说明角色、工作流、组织和对象是如何工作的。
-活动图对用例描述尤其有用,它可建模用例的工作流、显示用例内部和用例之间的路径。它可以说明用例的实例是如何执行动作以及如何改变对象状态的。
-显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
-活动图对理解业务处理过程十分有用,活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。
-描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是相似的。
三、常用元素
四、 案例实战
1 分叉与结合 &&判断与合并
2 泳道对比
泳道图的特点:
泳道是用垂直实线绘出,垂直线分隔的区域就是泳道。在泳道的上方可以给出泳道的名字或对象的名字,该对象负责泳道内的全部活动。泳道没有顺序,不同泳道中的活动既可以顺序进行也可以并发进行,动作流和对象流允许穿越分隔线。泳道可以更明确表达出活动图的意图。泳道将活动图中的活动化分为若干组,并把每一组指定给负责这组活动的业务组织,即对象。
3 多个活动终点的案例
4 某购物网站的卖家在接到用户订单后,会同时做以下事情:
(1) 准备货物,然后根据用户需求选择发货方式:如加急则选择顺丰、否则选择EMS
(2) 开局发票,然后收款
当以上两件事情都做完之后,订单会自动关闭。根据上述描述,绘制“订单处理”的活动图。
五、泳道图
泳道图定义
泳道图也叫跨职能流程图,旨在展示工作流中每个步骤涉及的流程和职能部门。泳道流程图是一种特殊的图表可以展示出一个商业过程之间的关系,并展示为那个过程负责的功能板块(比如说部门)。泳道流程图专注于价值活动之间的逻辑关系,更好地展示每个价值活动的责任。
流程图描述一个过程的步骤,当这个过程涉及许多不同的人,部门或功能区域时,很难跟踪每个步骤的负责人。解决此问题的一个有用方法是把流程图分栏,这样也能清晰地了解任务转交的次数。在每一栏的顶部写出负责此栏内过程的人或部门的名字。每次执行一个行为时,在此栏描述。
泳道图的形式就是在流程图之上增加了两个纬度:阶段和负责对象。
绘制方法
-
列出这个过程或者功能涉及的所有人员或部门(活动对象)
-
梳理每个对象和对象之间交互的活动流程步骤
-
改进优化工作流,使其表达性、易读性更好
一般情况下,可以通过以下3个维度进行分析
-
部门维度:应该通过部门或者责任来区分。指出哪一个部门负责完成这个活动。
-
阶段维度(非必须):应该通过任务阶段来区分。每一个过程是由不同的阶段组成的。
-
活动:每一个网格中的活动都应该有那个阶段的部门来实施。
先勾勒出主脉络,先把主干流程理出来,再逐步完善分支流程和异常流程。
示例
一个简版的下单流程示例
该下单示例中注意有两个分支流程:
分支流程有两个。
1、物流人员除了给用户送货,还要给用户送发票。
2、物流人员除了直接给货,还要依据用户的付款方式,先收钱再给货。
财务报销流程示例
横向
纵向
参考文章:
https://blog.csdn.net/neusoft2016/article/details/117412480
https://blog.csdn.net/LoveForever0/article/details/102826216
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架