在面向对象软件分析过程中,状态机图和活动图用于建立软件的动态模型,主要描述系统随时间变化的行为。
1.状态图
1.1概念
状态图用来描述对象状态和事件之间的关系,强调一个实体基于事件反应的动态行为。状态图适合用于表述在不同用例之间的对象行为。
1.2 举例
举例:图1-1是一个系统状态机图
2.活动图
2.1 概念
活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现系统的行为,强调了行为活动的顺序和条件控制。
活动图是由状态图变化而来的,他们各自用于不同的目的。活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。活动图中一个活动结束后立即进入下一个活动(在状态图中,状态的变迁可能需要事件的触发)。
2.2 举例
下图是一个活动图的例子,它对教师的授课过程进行了描述。从这个活动图中,我们可以知道一个教师授课的过程包括的主要活动有:起立、复习和提问、讲授新课、播放PPT、书写板书、注意学生行为、与学生互动、总结本次课内容及布置练习和作业等。同时,通过活动图可以看到各个活动之间的衔接关系内容。
3.比较
活动图和状态图的区别
- 描述对象不同
状态图描述对象状态及状态之间的转移,活动图描述到活动的控制流。
- 使用场合不同
状态图描述对象在其生命期中的行为状态变化,活动图描述过程的流程变化。
- 侧重点不同
状态图侧重从行为的结果来描述(状态),活动图侧重从行为的动作来描述(活动);