zoukankan      html  css  js  c++  java
  • 【UML】状态图与活动图

              状态图:描述某一对象的状态转化
              组成:(1)状态: 状态主要用于描述一个对象在生命周期内的一个时间段。
              (2)转换: 转换是两个状态之间的关系,它表示当发生指定事件并且满足指定条件时,第一个状态中的对象将执行某些操作并进入第二个状态
              (3)判定:判定用来表示一个时间依据不同的监护条件有不同的影响,在实际建模的过程中,如果遇到需要使用判定的情况,通常用监护条件来覆盖每种可能,使得一个事件的发生能保证触发一个转换
              (4)同步: 同步是为了说明并发工作流的分支与汇合
              (5)事件:事件可以分成几种,主要包括:信号事件、调用事件、改变事件和时间事件等
              ①信号事件(signal event)信号是作为两个对象之间的通信媒介的命名的实体,它以对象之间显式通信为目的
              ②调用事件(call event)调用事件指的是一个对象对调用的接收,这个对象利用状态的转换而不是固定的处理过程实现操作
              ③改变事件(change event)指的是依赖与特定属性值的布尔表达式所表示的条件满足时,事件发生改变
              ④时间事件(time event)表示时间表达式被满足的事件,它代表事件的流逝
              这是以登录机房收费系统为例,画的状态图:
    这里写图片描述

              活动图:描述系统从一活动状态转换为另一活动状态的过程
              组成:(1)起点: 活动图中所有活动的起点,有且只有一个
              (2)终点: 用于表示活动图中活动的终点,可以有多个
              (3)活动名称: 活动图中要描述的一个动作
              (4)判断条件: 活动流程出现的分支与决策
              (5)同步条:活动之间的同步,由一个或多个信息流引入或引出
              (6)接收信号:从外部过程接收一个信号,并执行相应的活动
              (7)发送信号:向外部过程发送一个信号
              (8)泳道:用于对活动按照对象进行分组,用于描述对象之间的合作关系
              (9)转移:用于表示活动之间的转移,连接活动、七点、终点、同步条、判断等
              这是同样以登录为例,画的活动图:(本来打算画一张机房整体图的,但是因为这周学院实训,加上各种事情耽搁,就没有画,后续补上)
    这里写图片描述

              看完两张图之后,会发现状态图与活动图相似,不同的是状态图侧重从行为的结果来描述,是上机成功还是失败,只涉及一个特定的对象;活动图侧重从行为的动作来描述,最后是将数据存入了数据库,而不是上机成功。

              感谢您的阅读~

  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    剑指offer-栈的压入、弹出序列
    剑指offer-包含min函数的栈
    图-Dijkster最短路径
    剑指offer-顺时针打印矩阵
    二叉树的镜像
    剑指offer-树的子结构
  • 原文地址:https://www.cnblogs.com/zll-0405/p/12534181.html
Copyright © 2011-2022 走看看