• 【UML】活动图Activity Diagram、状态机图State Machine Diagram、顺序图Sequence Diagram


    一、活动图

    1、简述

    活动图和流程图很相似,但是流程图不属于UML图的一种。
    类图是一种静态图,属于结构建模;活动图是一个动态图,属于行为建模。

    2、元素

    2.1 开始、结束、判读、活动、合并

    流程图的元素很简单:圆表示开始或结束、圆角矩形框表示一个行为节点(活动)、菱形表示判断分支、箭头线表示流程走向。如下图所示:

    Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no

    活动图的示例如下,和流程图的不同点:开始和结束的表示方法、用于判断的菱形中文字描述没有在菱形里面、和判断对应的有合并菱形。
    在这里插入图片描述

    2.2 泳道、分叉

    泳道:将不同的角色使用类似游泳比赛的泳道划分到不同方格里,可以很好的区分参与者;
    分叉:菱形判断分支一次只能走一个分支,使用“粗短棒”可以引出多个分支,对应的还有汇合
    在这里插入图片描述

    2.3 对象

    活动图中也有对象的概念,即某个活动产生的结果,使用方框表示。对象可以是活动的输出、也会是下个活动的输入。活动使用动词短语表示、对象使用名词表示

    3、使用活动图的建议

    1)一张活动图无法表示整个项目流程;
    2)一张活动图只表示一个事情;
    3)思考一个活动的所有参与者,主角有哪些;
    4)先画正常情况的主干,后补充异常情况;
    5)主干中的活动对应的主角是谁
    6)逐步增加分支,很复杂的分支可以使用文字描述来代替
    7)适当控制活动的粒度
    8)先画出当前情况的流程,再画优化后的流程,比对前后差异

    二、状态机图

    1、简述

    活动图是对行为流程的描述;状态机图是对属性值(状态)变化的描述。

    2、元素

    开始:使用实心圆表示
    结束:使用圆环表示
    状态:使用圆角矩形表示
    状态转换:使用箭头表示

    状态机图没有泳道的概念
    在这里插入图片描述

    3、建议

    1)可以同时使用活动图和状态机图,从不同角度分析问题
    2)尝试用状态图表达出当前流程的情况
    3)注意不要用活动图的思维去分析状态机图

    三、顺序图

    1、简述

    顺序图也称为序列图。顺序图的每一竖表示一种角色,读顺序图时,从左到右、从上到下一次了解事情的发生过程。

    2、元素

    对象:每一竖表示一个对象,在上面用文字描述对象的名称,一般用“[对象名]:类名”的格式表达。
    生命线:对象下面的虚线
    激活框:生命线上的细高矩形,也称为会话
    消息:实线箭头
    返回值:虚线箭头
    循环、条件、可选分支:使用框将这段顺序框住
    在这里插入图片描述

    在这里插入图片描述

    四、活动图、状态机图、顺序图取舍

    如果事情是围绕某个东西展开,优先尝试使用状态机图;
    如果没有复杂的流程,优先考虑使用顺序图;
    如果有复杂的流程,优先考虑使用活动图;

    顺序图强调对象之间的信息传递、事情发生的时间顺序;
    活动图强调某件事情的流程分支;
    状态机图强调某件事情本身的状态变化。

  • 相关阅读:
    #DAYU200#OpenHarmony 视频播放器
    Lazarus网络编程
    推荐一个Java学习路线图
    CSS的媒体查询:响应式布局的利器
    [技术至简-16]:基本概念 - 数字通信的本质是二进制0和1的恢复、是间谍传送情报
    【算法|二分查找No.5】leetcode162. 寻找峰值 & AcWing 1611. 寻找峰值
    redis(1)-hiredis-Windows下的编译
    爬虫与云服务器云数据库
    clip-path图片裁剪
    【实测】python模拟jenkins的定时设置时间库:------------------【 python_jenkins_monitor 】
  • 原文地址:https://blog.csdn.net/u010168781/article/details/127941209