表達調用關係,依賴關係(UML)

序列圖的主要目的:展示對象間交互的順序。詳細介紹可以參考上一篇文章,序列圖是一個二維圖。縱向是時間軸,時間沿着豎線向下延伸,橫向軸代表了在協作中各個獨立對象的類元角色,也稱作生命線,當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時,生命線是一個雙道線。

舉例:

1、生命線

生命線名稱可帶下劃線。當使用下劃線時,意味着序列圖中的生命線代表一個類的特定實例。

2、同步消息

發送人在它繼續之前,將等待同步消息響應。

3、異步消息

在發送方繼續之前,無需等待響應的消息。

4、註釋

5、約束

約束的符號很簡單,中括號包括約束內容:[Boolean Test]

6、組合片段

組合片段用來解決交互執行的條件及方式,它允許在序列圖中直接表示邏輯組件,用於通過制定條件或子進程的應用區域,爲任何生命線的任何部分定義特殊條件和子進程。

<1>抉擇(Alt)

抉擇用來指明在兩個或更多的消息序列之間的互斥的選擇,相當於經典的if...else...。

抉擇在任何場合下只發生一個序列。可以在每個片段中設置一個臨界來指示該片段可以運行的條件。else的臨界指示其他任何臨界都不爲true時應運行的片段。如果所有的臨界都爲false並且沒有else,則不執行任何片段。

<2>選項(Opt)

包含一個可能發生或不能發生的序列

<3>循環(Loop)

片段重複一定次數。可以在臨界中指示片段重複的條件。

<4>並行(Par)

一個生命線中持續操作的部分

下面還有幾種常見的組合片段:

1、Opt(選項)

包含一個可能發生或可能不發生的序列。可以在臨界中指定序列發生的條件。相對於OR

2、Alt(抉擇)

包含一個列表,這些片段中包含備選信息序列。在任何場合下只能發生一個序列。可以在每個片段中設置一個臨界來指示該運行的條件。else的臨界指示其他任何臨界都不爲True時運行的片段。如果所有的臨界都爲False並且沒有else,則不執行任何片段。相當於swith...if..

3、Loop(循環)

片段重複一定次數。可以在臨界中指示片段重複的條件。

loop組合片段具有”Min“和”Max“屬性,它們指示片段可以重複的最小和最大次數。默認值是無限制。相當於freach....for

4、Break(中斷)

如果執行片段,則放棄序列的其餘部分。可以使用臨界來指示發生中斷的條件。

5、Par(並行)

並行處理。片段中的事件可以交錯。

6、Critical(關鍵)

用在par或Seq片段中。指示此片段中的消息不得與其他消息交錯。

7、Seq(弱順序)

有兩個或更多操作數片段。涉及同一生命線的消息必須以片段的順序發生。如果消息涉及的生命線不同,來自不同片段的消息可能會並行交錯。

8、Strict(強順序)

有兩個或更多操作數片段。這些片段必須按給定順序發生。

解釋序列的片段

默認情況下,序列圖表明可能發生的一系列消息。在運行的系統中,可能會出現您未選擇顯示在關係圖上的其他消息。

需要考慮更改此釋義

1、consider(考慮)

指定此片段描述的消息列表。其他消息可發生在運行的系統中,但對此描述來說意義不大。

可在”Message“屬性中鍵入該列表

2、Ignore(忽略)

此片段描述的消息列表。這些消息可發生在運行的系統中,但對此描述來說意義不大。在”Message“屬性中鍵入該列表。

3、Assert(斷言)

操作數片段指定唯一有效的序列。通常在consider或Ignore片段中。

4、Neg(否定)

在此片段中顯示的順序不得發生。通常在Consider或Ignore片段中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章