时序图(Sequence Diagram)
将用户与分析类结合在一起,实现将用例的行为分配到所识别的分析类中
绘制步骤
- 列出启动该用例的参与者;
- 列出启动用例时参与者使用的边界对象;
- 列出管理该用例的控制对象;
- 根据用例描述的流程,按时间顺序列出分析类之间进行消息访问的序列。
注意:
- 每个用例对应一张时序图;
- 时序图描述的消息序列需要与用例的事件流保持一致;
- 时序图中出现的每个箭头代表一个操作,需要包含在箭头所指向的分析类中。
出现在时序图中的箭头, UML中分了六种类型:
- Create:obj1调用Class2的new操作,创建出obj2实例
- Call:obj1调用obj2的某个操作
- Return:obj2被调用的操作执行结束后,将结果返回obj1
- Self-call:obj2自己调用自己内部的某个操作;
- Send:obj1向obj2发送消息来触发(而不直接调用其操作)
- Destroy:obj1调用Class2的destroy操作,销毁obj2实例。
- 图形表示方式分别如下图中的1~6箭头所示。
组成元素
1. Actor
系统角色,可以是人、及其甚至其他的系统或者子系统
2. Object
对象包括三种命名方式:
-
包括对象名和类名;
-
只显示类名不显示对象名,即表示他是一个匿名对象;
-
只显示对象名不显示类明。
3. Lifeline
生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。
4. Focus of Control
控制焦点是顺序图中表示时间段的符号,在这个时间段内对象将执行相应的操作。用小矩形表示。
5. Message
消息一般分为同步消息、异步消息和返回消息。
- 异步通信:消息是信号的时候, 发送信号之后, 等待对方触发相应方法
- 同步通信:直接调用对象的方法, 执行方法返回结果
6. Self-Message
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。