UML之行为图(活动图和状态图)

活动图

流程图:流程图常被用来建立算法模型,使用流程图可以表示一个算法的执行序列、过程、判定点、分支和循环

为什么要先介绍一下流程图呢???
因为活动图与流程图十分相似,不同之处在于它支持并行活动

活动图的作用
1.描述一个系统的执行过程中所完成的工作或者动作
2.描述对象内部的工作
3.显示如何执行一组相关的动作,以及这些动作如何影响周围对象
4.描述用例的执行
5.处理多线程应用

活动图的缺点:很难清楚地描述动作与对象之间的关系,没有交互图直接

以下场合不使用活动图
1.显示对象之间的合作
2.显示对象在其生命周期内的运转情况

活动图的基本要素
(1)活动状态action status
(2)活动状态之间的转移transitions,箭头
(3)判断decisions,一种表示判断决策的特殊活动,空心菱形表示决策点
(4)保证条件guard conditions 判断条件,只有保证条件为真时转移才发生
(5)同步条synchronization bar,一种表示活动之间的同步的特殊活动
(6)起点和终点,终点:实心黑圈外面一个圈,起点:实心黑圈,起点有且只有一个,终点可有一个或多个

活动图实例
在这里插入图片描述
泳道swimlanes:用于对活动图中的活动进行分组,用于描述对象之间的合作关系,所谓泳道技术,是将活动用线分成一些纵向区域,这些纵向区域成为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制。可以为提取类及分析各个对象之间的交互提供方便。
在这里插入图片描述
以机房收费系统为例
在这里插入图片描述

状态图

状态图:状态图用来描述一个特定对象的所有可能的状态以及由于各种事件的发生而引起来的状态之间的转移。

图符表示:
起点:实心黑圈
终点:实心黑圈外面再加一个圈
状态转移:箭头
状态:圆角矩形
在这里插入图片描述
状态机:状态机是这样一种行为,它描述了一个对象或一个交互在生命期内相应时间所经历的状态序列。单个类或一组类之间的协作的行为可以用状态机来描述。一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的事物)和活动(对一个转换的响应)。
状态:状态是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
一个状态有以下几个部分
(1)名称name
(2)进行协作和退出动作entry action/exit action
(3)内部转换internal transition
(4)子状态substate
(5)延迟事件deferred event
在这里插入图片描述
特殊状态:
1.初始状态
2.终止状态
在这里插入图片描述
转换:一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生或某个特定的条件满足时进入第二个状态.
一个转换由5个部分组成
(1)源状态source state
(2)事件触发 event trigger
(3)监护条件 guard condition
(4)动作action
(5)目标状态 target state
在这里插入图片描述
活动图和状态图的区别:
1.状态图侧重从行为的结果来描述(状态)
3.活动图侧重从行为的动作来描述(活动)

在实际项目中,活动图并不是必须的。一般在一下情况需要使用活动图:
1.描述一个并行的过程或者行为
2.描述一个算法
3.描述一个跨越多个用例的活动

以机房收费系统为例
在这里插入图片描述

第一次画,不正确的地方欢迎大家指正~~~

发布了54 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wtt15100/article/details/104036334