【Report】時序圖繪製

144 阅读4分钟

1. 時序圖元素

我们在画时序图时会涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。

  • 角色(Actor)

    系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。

  • 对象(Object)

    对象位于时序图的顶部,以一个矩形表示。对象的命名方式一般有三种:
    1. 对象名和类名。例如:华为手机:手机、loginServiceObject:LoginService。
    2. 只显示类名,不显示对象,即为一个匿名类。例如::手机、:LoginSservice。
    3. 只显示对象名,不显示类名。例如:华为手机:、loginServiceObject:。

  • 生命线(LifeLine)

    时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表。

  • 控制焦点(Activation)

    控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。

  • 消息(Message)

    表现代表对象之间发送的信息。消息分为三种类型。

    1. 同步消息(Synchronous Message)

    消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。以一条实线+实心箭头表示。

    1. 异步消息(Asynchronous Message)

    消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。以一条实线+大于号表示。

    1. 返回消息(Return Message)

    返回消息表示从过程调用返回。以小于号+虚线表示。

  • 自关联消息

    表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。

2. 組合片段

片段類型名稱說明
Opt選項包含一個可能發生或可能不發生的序列,可以在臨界中指定序列發生的條件
Alt抉擇包含一個片段列表,這些片段包含備選消息序列,在任何場合下只發生一個序列。可以在每一個片段中設置一個臨界來指示該片段可以運行的條件,else的臨界指示其它任何臨界都不為true時應運行的片段,如果所有臨界都為false並沒有else,則不執行任何臨界
Loop循環片段重複一定次數,可以在臨界中指示片段重複的條件。Loop組合片段具有Max和Min屬性,它們指示該片段可以重複的最小和最大次數,默認值是無限制
Break中斷如果執行此片段,則放棄序列的其餘片段 可以使用臨界來指示發生中斷的條件
Par並行並行處理,片段中的事件可以交錯
Critical關鍵使用在Par或者Seq片段中,指示此片段中的消息不得與其它消息交錯
Seq弱順序有兩個或更多操作數片段。涉及同一生命線的消息必須以片段的順序發生。如果消息涉及的生命線不同,來自不同偏度的消息可能會並行交錯
Strict強順序有兩個或更多操作數片段,這些片段必須按給定順序發生
Consider考慮指定此片段描述的消息隊列,其它消息可發生在運行的系統中,在"Message"屬性中鍵入該列表
Ignore忽略此片段未描述的消息列表,這些消息可發生在運行的系統中,在"Message"屬性中鍵入該列表
Assert斷言操作數片段指定唯一有效的序列,通常用在Consider或者Ignore片段中
Neg否定此片段中顯示的序列不得發生,通常用在Consider或Ignore 片段中

Demo:

  • 每個週末老媽檢查作業

    沒做完,罵我,我邊哭邊寫,最後寫完

    寫完了,切水果,送到我房間,更愛媽媽

image.png

  • 每次睡覺都要打呼嚕

image.png