以下内容部分出至博客园coolstream,主要是自己懒得写了,部分做了修改。
官方连接
![](https://img.haomeiwen.com/i4027460/e1801942aa3f11f9.png)
定时图(Timing Diagram)简介
定时图也是一种交互图,用来描述对象或实体随时间变化的状态或值,及其相应的时间或期限约束。定时图应用较广,并不局限于软件工程领域。
定时图侧重与时间线相关的值或状态的改变,这些改变可能来自于收到消息、发生事件、系统内部变化或者由时间流逝带来的改变。
因为定时图是UML2.0中的新增图,所以一部分基于UML1.x的工具并不支持定时图的创建。
定时图建模步骤
(1)确定系统有哪些生命线,及对应的对象或实体
(2) 确定这些生命线分别有哪些状态或取值,以及相应的时间线
(3)确定生命线与生命线之间的消息传递,以及有哪些状态或取值会发生变化
(4)确定系统运行过程中有哪些内部变化或事件,以及随时间流逝会有哪些改变
(5)确定生命线的时间约束、期限约束
(6)对照其他交互图添加相应的注释或文字说明
定时图主要元素
定时图中的主要元素包括生命线、时间线、状态、消息、事件、时间约束和期限约束。
生命线一般是抽象化的对象或实体,生命线本身有不同的状态或值,这些状态和值随时间发生变化,这里的时间用X轴上固定单位的时间间隔表示,称为时间线。
定时图中可能有一个或多个生命线,消息或事件可以从一个生命线传递到另一个生命线带来状态或值的变化。
时间约束表示消息或事件何时发生,期限约束表示状态或值多长时间内有效。不管是时间约束或期限约束,一旦超出了约束范围就表明系统是有问题的。
-
生命线(Lifeline):交互中的单个参与者,与对象或实体相对应。
-
UML表示:可以修改Lifeline的名称;
在EA中TimeLineA是名称,ClassA是指定的实体。不同于Visual Paradigm中的单独小块显示名称
另外每增加一个都会像下面一样合在一起。在工具栏拖进来就行。
image.png
-
分类:根据状态和值两个不同的维度分为状态生命线和值生命线
- 状态生命线:对象或实体的状态随时间变化。X轴表示时间,Y轴表示状态
image.png
- 值生命线:对象或实体的值随时间变化。X轴表示时间,Y轴表示值。平行线之间显示值,每次值发生变化时平行线都会交叉一次
image.png
- EA中不提供状态生命线与值生命线之间的转换:
-
-
时间线(Timeline):有效状态和时间的集合。使用时间线来显示对象或实体在某个状态上保持了多长时间
-
UML表示:用X轴上固定间隔的时间段标识
image.png
-
操作指引
- 右击时间线选择setTimelineRange
image.png
- 右击图上空白区域,选择setTimelinePosition,可以设置0到时间线最前端的间隔。
image.png
-
-
状态(State):对象或实体的离散或连续状态
-
UML表示:不同线上表示位置不一样
State A、State B
image.png
-
操作指引
- 右键点击Lifeline处,在弹出的菜单选项中选择properties,然后继续在子选项中选择properties。
在configure Timeline中选择States选项卡。
image.png
-
-
消息(Time Message):对象或实体之间传递信息的载体
1.UML表示:用带箭头的直线标识
image.png
- 操作指引:
在工具栏选择mesage,然后通过鼠标连线
- 操作指引:
-
事件(Stimuli):引起生命线状态改变的事情
-
UML表示:在事件发生的时间点处以文字描述标识
image.png
-
操作指引
- 右键点击Lifeline处,在弹出的菜单选项中选择properties,然后继续在子选项中选择properties。
在configure Timeline中选择Transitions选项卡。
image.png
-
-
期限约束(Duration Constraints):确定是否满足指定期限间隔的约束,若不满足则说明系统有问题
-
UML表示:用{Duration Constraint}标识
image.png
-
操作指引
- 右键点击Lifeline处,在弹出的菜单选项中选择properties,然后继续在子选项中选择properties。
在configure Timeline中选择Transitions选项卡。
image.png
-
-
时间约束(Time Constraints):确定是否满足指定时间要求的约束,若不满足则说明系统有问题
-
UML表示:用{Time Constraint}标识,紧跟事件后面
image.png
-
操作指引
- 右键点击Lifeline处,在弹出的菜单选项中选择properties,然后继续在子选项中选择properties。
在configure Timeline中选择Transitions选项卡。
image.png
-
-
消息标签(Message Label
EA独有
):是表示生命线之间消息的另一种方法
当消息很多时,会引起很多交叉,由其跨度很大。
用相同文字的来表示是一个消息。
UML表示:方块加文字(工具栏直接使用)
image.png
image
-
消息结束点(Message Endpoint
EA独有
):是表示生命线的终止。
UML表示:一个黑实心圆(工具栏直接使用)
image.png
image.png
定时图示例
定时图注意事项
(1)定时图本身是交互图的一种,侧重点是对象或实体随时间变化的状态或值,所以时间轴的选取在粒度上必须精确在范围上必须能够覆盖重要的状态或值的变化
(2) 对于复杂的定时图建议采用状态生命线和值生命线两个不同维度叠加组合的方式,这样能够更全面直观地展示对象或实体在状态或值上随时间变化的持续及转折
(3)生命线之间传递的消息、有时间约束的事件或者有期限约束的状态,如果受限于示图的大小或布局,可以在titile, header, footer, legend或caption处补充说明
网友评论