面向对象之建立动态行为模型

时序图

Posted by mtt on November 25, 2017

时序图(Sequence Diagram)

将用户与分析类结合在一起,实现将用例的行为分配到所识别的分析类中

绘制步骤

  1. 列出启动该用例的参与者;
  2. 列出启动用例时参与者使用的边界对象;
  3. 列出管理该用例的控制对象;
  4. 根据用例描述的流程,按时间顺序列出分析类之间进行消息访问的序列。

注意:

  • 每个用例对应一张时序图;
  • 时序图描述的消息序列需要与用例的事件流保持一致;
  • 时序图中出现的每个箭头代表一个操作,需要包含在箭头所指向的分析类中。

出现在时序图中的箭头, 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

表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。