Skip to content
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » 理解UML中的序列圖符號

理解UML中的序列圖符號

介紹

統一建模語言(UML)是一種通用語言,用於視覺化、規格化、建構和記錄軟體系統的各項成果。在UML廣闊的領域中,序列圖成為一種強大的工具,用以呈現系統內各個組件之間的動態互動。

在本文中,我們將剖析序列圖符號,揭示用於呈現實體、訊息與生命線之間複雜互動的符號與規範。理解此符號對於任何參與複雜系統設計、分析或實作的人而言至關重要,因為它提供了一種標準化的視覺語言,超越了技術上的界限。

UML中的序列圖

在統一建模語言(UML)中,序列圖是一種圖形化表示法,用以說明系統內各個組件或物件在特定時間內的互動與動態行為。它提供事件的時間順序序列,展現訊息的傳遞流程以及每位參與者的生命線。

Sequence Diagram Example

以下是UML序列圖中的關鍵元素與概念:

1. 作用者

符號說明:作用者代表一個位於主題之外的實體所扮演的角色類型。作用者透過交換訊號與資料與主題互動。他們可以是人類使用者、外部硬體,或其他主題。

視覺呈現:

Actor

注意:作用者不一定代表具體的實體,而是實體所扮演的特定角色。

2. 生命線

符號說明:生命線代表互動中的單一參與者。它本質上呈現了實體在互動期間的時間存在。

視覺呈現:

Lifeline

3. 活動

符號說明:生命線上的細長矩形代表元件執行操作的期間。矩形的頂部與起始時間對齊,底部與完成時間對齊。

視覺呈現:

Activation

4. 呼叫訊息

符號說明:呼叫訊息是一種代表在目標生命線上調用操作的訊息類型。

視覺呈現:

5. 回傳訊息

符號說明:回傳訊息代表將資訊傳回給先前訊息的呼叫者。

視覺呈現:
Return Message

 

6. 自訊息

符號說明: 自我訊息代表在同一生命線上呼叫訊息。

視覺化表示:

Self-Message

7. 遞迴訊息

符號說明: 遞迴訊息代表在同一生命線上呼叫訊息。目標指向從呼叫訊息的激活上方的激活。

視覺化表示:
Recursive Message

8. 建立訊息

符號說明: 建立訊息代表目標生命線的實例化。

視覺化表示:
Create Message

9. 消除訊息

符號說明: 消除訊息代表請求銷毀目標生命線的生命周期。

視覺化表示:

Destroy Message

10. 持續時間訊息

符號說明: 持續時間訊息顯示訊息呼叫時兩個時間點之間的距離。

視覺化表示:

Duration Message

11. 註解

符號說明: 註解或評論可讓您將各種註解附加至元素,雖無語義意義,但包含對建模者有用的資訊。

視覺化表示:

Note

12. 訊息與控制焦點

符號說明: 事件是互動中任何發生某事的點。控制焦點,也稱為執行發生點,以生命線上的高而窄的矩形表示。

視覺化表示:

Message and Focus of Control

13. 序列片段

符號說明: 序列片段以合併片段表示,使建立和維護準確的序列圖變得更容易。

視覺化表示:

Combined Fragment example

片段類型與運算符:

  • alt:替代多個片段,僅有條件為真的片段會執行。
  • opt:選擇性片段,僅在提供的條件為真時執行。
  • par:平行片段,每個片段並行運行。
  • loop:迴圈片段,可能執行多次。
  • region:臨界區片段,一次僅允許一個執行緒執行。
  • neg:負面片段,顯示無效的互動。
  • ref:參考片段,指向另一張圖表中定義的互動。
  • sd:序列圖片段,用於包圍整個序列圖。

注意:組合片段可結合以捕捉迴圈或分支。

序列圖的典型用途是在捕捉並視覺化物件或參與者之間的互動,當它們協作以實現特定功能或使用案例時。它們在系統設計、分析以及利益相關者之間的溝通中特別有用,提供系統動態方面的高階概觀。

本質上,UML序列圖是一種強大的工具,有助於理解組件之間互動的時間順序,幫助開發人員和利益相關者視覺化系統的動態行為,並促進軟體開發過程中的有效溝通。

14. 用於建模使用案例情境的序列圖

符號說明:使用者需求被捕捉為使用案例,並進一步細化為情境。使用案例是外部參與者與系統之間互動的集合。

視覺化表示:

Combined Fragment example

15. 序列圖——先建模後編碼

符號說明:序列圖作為使用者需求與系統實作之間的橋樑。它們與程式碼層級有些接近,但提供語言中立的表示方式,非程式設計者也能理解。

視覺化表示:

Sequence Diagram for Use Case

結論

UML序列圖在統一模型語言(UML)中扮演關鍵的視覺化工具角色,用以描述系統內元件之間的動態互動與行為。它捕捉生命線之間交換的事件與訊息的時間順序,生命線代表互動中的個別參與者,無論是物件或參與者。該圖包含多種訊息類型,例如呼叫、回傳、自我、遞迴、建立、銷毀和持續時間訊息,每種訊息傳達特定的動作與互動。

標記元素,包括激活、組合片段和註解,提供了一種全面的語言來表達複雜的系統行為。激活表示元件執行操作的期間,而組合片段則引入了條件和迭代行為。

序列圖的實用性延伸至建模用例場景、捕捉用戶需求,並在高階系統設計與實現之間建立橋樑。它提供了一種標準化且語言無關的表示方式,促進開發人員、設計師及其他利益相關者之間的溝通。該圖表的多功能性使其成為團隊的寶貴工具,即使對於不擅長編碼的人,也能進行協作建模、測試和UX原型設計。本質上,UML序列圖扮演著視覺敘事者的角色,揭示了定義軟體系統動態本質的實體與訊息之間的精妙互動。

發佈留言