本章内容:
- 状态、转移和活动
- 为对象的生命周期建模
- 创建结构良好的算法
使用交互,可以对共同工作的对象群体的行为建模。使用状态机,可以对单个对象的行为建模。状态机是一个行为,它说明对象在它的生命周期中响应事件所经历的状态序列以及对那些事件的响应。
状态机用于对系统的动态方面建模。在大多数情况下,这包括描述一个类、一个用况或整个系统实例的生命期。这些实例可能响应诸如信号、操作或计时这样的事件。当事件发生时,某些效应将依赖对象的当前状态而发生。效应(effect)是对状态机中的行为执行的规约。效应最后将细化为某些引起对象状态改变或值的返回的动作的执行。对象的状态(state)是指对象满足某些条件,执行某些活动或等待某些事件的一段时间。
可以用两种方式来可视化执行的状态:一种是强调从活动到活动的控制流(使用活动图),另一种是强调对象潜在的状态之间的转移(使用状态图)。
结构良好的状态机就像结构良好的算法一样:简单、高效、易适应而且易理解。
1.入门
在UML中,使用像类图和对象图这样的元素对系统的静态方面建模。这些图允许对系统中的事物(包括类、接口、构件、结点、用况以及它们的实例)以及它们之间的关系进行可视化、详述、构造和文档化。
在UML中,使用状态机对系统的动态方面建模。交互是共同完成某些动作的对象群体建模,而状态机是对单个对象的生命周期建模,不管它是一个类、用况还是整个系统的实例。在一个对象的生命周期中,可能出现各种各样的事件,如信号、操作的调用、对象的创建和撤销、时间的推移或某些条件的改变。在响应这些事件时,对象通过通过某些动作(某种计算)做出反应