UML序列圖總結

作者: tianhai110  發布時間: 2012-01-30 15:57  閱讀: 57398 次  推薦: 37   原文鏈接   [收藏]  

  序列圖主要用于展示對象之間交互的順序。

  序列圖將交互關系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處于激活狀態時,生命線是一個雙道線。

  消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。 

  序列圖中涉及的元素:

  1. 生命線:

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

  2. 同步消息

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

   

  3. 異步消息

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

  4. 注釋

  5. 約束

  約束的符號很簡單;格式是: [Boolean Test]

  6. 組合片段

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

  常用的組合片段有:

  抉擇(Alt

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

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

  選項(Opt

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

  循環(Loop

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

 

  并行(Par

  下表列出了常用的組合片段:

片段類型

名稱

說明

Opt

選項

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

Alt

抉擇

包含一個片段列表,這些片段包含備選消息序列。 在任何場合下只發生一個序列。

可以在每個片段中設置一個臨界來指示該片段可以運行的條件。 else 的臨界指示其他任何臨界都不為 True 時應運行的片段。 如果所有臨界都為 False 并且沒有 else,則不執行任何片段。

Loop

循環

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

Loop 組合片段具有“Min”“Max”屬性,它們指示片段可以重復的最小和最大次數。 默認值是無限制。

Break

中斷

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

Par

并行

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

Critical

關鍵

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

Seq

弱順序

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

Strict

強順序

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

  有關如何解釋序列的片段

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

  以下片段類型可用于更改此釋義:

片段類型

名稱

說明

Consider

考慮

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

“Messages”屬性中鍵入該列表。

Ignore

忽略

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

“Messages”屬性中鍵入該列表。

Assert

斷言

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

Neg

否定

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

37
1
 
標簽:UML
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()