UML-状态图

  • Post author:
  • Post category:其他


基于状态的行为建模,对象既有行为又有状态,捕获对象所有可能发生的状态。


1.概念

用来显示状态机的图,一个状态机可以用多张状态图描述。

1)状态图与交互图的区别

交互图不显示对象所有可能的动态行为,只显示特定交互场景(一个具体的用例)中对象的行为。 状态图可以显示对象所有的动态行为。 笔 完整 折断两种状态,是由谁折断?只能由交互图看出

2)状态图与活动图的区别

状态图只建模一个对象的行为,活动图可以建模多个对象的活动 活动图中也允许建模特定活动中对象的某个状态


2.组成

1)状态 state

2)转换/迁移 transition

3)事件 event

事件发生,执行某动作后,状态1转换为状态2



2.1 什么是状态(state)

状态是指在对象的生命周期中满足某些条件、执行某些活动或等待某些事件时的一个条件或状况。 万事俱备,只欠东风 学生正在上课 网络购物,订单等待处理



2.2 理解

对象在任何时候都会处于某种状态中,所有对象都有状态 对象所处的状态决定了它如何响应所检测到的事件或所接收的消息。  清醒-(被批评)-生气   醉酒-(被批评)-无反应 通常,事件使对象从一个状态转向另一个状态(即状态的转换)



2.3 状态的几种类型

1)初态

2)终态

3)中间状态

4)组合状态

5)历史状态



2.4 转换

转换是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。 每个转换只允许有一个事件触发,一个事件只允许有一个动作



2.5 事件

事件是对一个时间和空间上占有一定位置的有意义的事情的规格说明。 事件触发状态的转换 四类主要事件 信号事件 调用事件 变化事件 时间事件


3 状态图建模


3.1 步骤

1)寻找主要的状态

2)确定状态之间的转换

3)细化状态内的活动与转换

4)用组合/嵌套状态来展开细节



版权声明:本文为qq_35507234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。