行为图是描述系统 动态模型和对象组成的交换关系的图,包括状态图和活动图。活动图侧重描述业务实现用例的工作 流程,状态图侧重描述状态到 状态转换,常用于动态特性建模。
状态图(state diagram)
什么是状态图?
通过建立类对象的生存周期模型来描述对象随时间变化的动态行为。
通俗来说,在系统分析员对某对象建模的时候,最直观的不是着眼于活动到活动的控制流,而是着眼于对象的状态到状态的转换。例如:按下电灯的开关,电灯改变了它的亮灭状态,拉上卧室的窗帘,屋子里的亮度状态发生改变,所以在UML图中,我们使用状态图展现状态的变化。
状态图是由什么组成的?
状态图=状态+转换
状态
状态:状态(state)是指在对象的生命期中的某个条件或状况,在此期间对象将满足某些条件、执行某些活动或等待某些事件。所有对象都具有状态,状态是对象执行了一系列活动的结果,当某个事件发生后,对象的状态发生变化。
转换
一个状态到另一个状态的变化过程。表示对象将在第一个状态中执行一定的动作,并在某个特定事件发生而某个特定的条件满足时进入第二个状态。
引发转换的事件(条件):
- 信号事件,系统运行时,对象受到了来自系统的信号使得对象发生状态迁移的事件。例如:开电脑这个操作,我们按下开机键,外界压机系统通过开关将信号传入内部系统,电脑变为开机状态。
- 变化事件,对象的内部或者外部条件发生变化使得对象发生状态迁移。例如:对象执行某一行为时,当布尔条件的值为true时,对象状态因此发生迁移。
- 时间事件,对象的状态因系统设定的时间点或时间段而自动发生迁移。例如:你的身份证的有效身份状态由户籍系统设定的日期时间段控制,当日期过了之后自动变为失效状态。
- 调用事件,系统之外的其他系统通过接口等直接执行该系统内部的对象行为,引发状态迁移。例如:办公室计算机远程操控自己家的各种家用电器,使电器的状态发生迁移。
转换由五个部分组成:源状态,目标状态,触发事件,监护条件,动作。
状态图图标
椭圆或圆角矩形:表示对象的一种状态,椭圆内部填写状态名
箭头:表示从箭头出发的状态可以转换到箭头指向的状态
事件:引起状态转换的原因。事件名可在箭头线上方标出
条件:事件名后加方括号,括号内写状态转换条件
实心圆:初始状态
内部实心的同心圆:最终状态
使用范围
对反应型对象建模一般使用状态图。
反应型对象的特点:
1、响应外部事件,即来自对象语境之外的事件
2、有清晰的生命周期,可以被建模为状态,迁徙,事件的演化
3、当前行为和过去行为存在着依赖关系
4、对事件做出反应后**,他又回到空闲状态,等待下一个事件。**
活动图
什么是活动图?
活动图用于展现参与行为的类的活动或者动作。更加突出活动。
活动图和流程图的区别
- 流程图着重描述处理过程,有严格的时间关系,而活动图更加强调对象活动的顺序关系所遵守的准则。着重表现是系统的行为,而不是处理过程。
- 活动图可以并发
- 活动图是面向对象的,流程图是面向过程的。
活动图图标
事物
关系
有问题请指正。