【UML】活动图和状态图
一、活动图
①活动图的作用
- 描述一个操作的执行过程中所完成的工作或者动作。
- 描述对象内部的工作
- 显示如何执行一组相关的动作,以及这些动作如何影响周围对象
- 描述用例的执行
- 处理多线程应用
②以下场合不使用活动图
- 显示对象这些的合作
- 显示对象在其生命周期内的运转情况
如上图所示:状态图包括初始状态,终止状态,活动,菱形(表示分支判断),并行活动的分支点和汇聚点
③活动图的基本要素
- 活动状态
- 活动状态之间的转移
- 判断(一种表述判断决策的特殊活动)
- 保证条件(只有保证条件为真时转移才发生)
- 同步条(有并行活动)同步条要成对出现(一种表示活动之间的同步的特殊活动 )
-
起点和终点:起点有且只有一个,终点可有一个或多个
④泳道:用于对活动图中的活动进行分组,用于描述对象之间的合作关系。
所谓泳道技术,是将活动用线分成一些纵向区域,这些纵向区域称为泳道。每个区域代表一个特定类,或者人,或者部门的责任区。泳道技术是活动图中引入的一种面向对象机制。可为提取类及分析各个对象之间的交互提供方便。
我的机房活动图如下:
二、状态图
①概念
用来描述一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态之间的转移。
- 状态机state machine
- 状态state
- 转换transition
- 子状态substate
- 状态图
- 状态图的例子
Idle:空闲状态
Running:运行状态
②状态机
- 描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。
- 单个类或一组类之间协作的行为可以用状态机来描述。
- 一个状态机涉及到一些其他元素,包括状态、转换(从一个状态到另一个状态的流)、事件(触发转换的)
③状态
是指在对象的生命期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。
一个状态有以下几个部分:
- 名称name
- 进入协作或退出动作entry action/exit action
- 内部转换internal transition
- 子状态substate
- 延迟事件deferred event
特殊状态
- 初始状态
- 终止状态
④转换
一个转换是两个状态之间的一种关系,表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
一个转换由5部分组成:
- 源状态source state
- 事件触发event trigger
- 监护条件guard condition
- 动作action
- 目标状态target state
我的机房状态图如下:
三、活动图和状态图区别
状态图侧重从行为的结果来描述(状态)
活动图侧重从行为的动作来描述(活动)