动态模型是用来描述系统的动态行为,分为状态模型和交互模型。
其中状态模型分为状态图和活动图;交互模型分为时序图和协作图。
一、交互模型
时序图是描述信息交换时的时间顺序,而协作图是描述系统对象之间共同完成系统功能的要求。
1、时序图
将交互关系表现为一个二维图,纵轴是时间轴,时间沿着竖线向下延申;横向轴代表了协作中各独立对象的类元角色,其活动用生命线表示。
包括对象、生命线、控制焦点、消息
①对象:用一个对象框表示,对象名需要带下划线。
②生命线:对象框下面画的一条垂直的虚线,称为该对象的生命线,表示该对象生存的时间。
③控制焦点:对象生命线一个细长方形框。表示该对象的激活时间段,即活动期间。
④消息:对象之间的消息的发送和接受用两个对象生命线之间的消息箭头线。
例子:
其中交互片段有:
opt(单条件分支)、alt(多条件分支)、par(并行子片段)、loop(循环)、ref(引用)
2、协作图
描述对象、对象间的链接及链接对象之间如何发送消息。与时序图在意义上是等价的,有路径、无生命线、有控制焦点。
协作图强调的是空间,时序图强调的是时间。(可以在顺序图的基础上按F5生成)
例子:
二、状态模型
1、活动图
是描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动。对系统的功能建模特别重要,强调对象间的控制流程,活动图的本质上是一种流程图。
泳道:是将一个活动图中的活动状态分组,每一组表示一个特定的类、人或者部门。
其中红色的横线叫做同步条
2、状态图
用来描述一个特定对象的所有可能的状态以及其引起状态转移的事件,通常描述单个对象的行为。
组成元素:初始状态(实心圆点)、终止状态(实心圆外加圆圈)、多个状态框(两格,上放名,下放状态)、转移(实线)、过度事件、动作、守护条件。
分为简单状态和复合状态。
①简单状态:不包含其他状态的状态。
②复合状态:又称为组合状态,可以将若干个状态组织在一起得到一个复合状态。包含在一个复合状态中的又称为子状态。其中有顺序子状态和并发子状态。