UML建模之時序圖(Sequence Diagram)


UML是什么?

UML是UnifiedModelingLanguage的簡稱,是00P(Object-Orientedprogramming面向對象編程)技術及至所成,可用於確定、展示和記錄軟件系統,是一種便於軟件系統規約化、可視化的構造及建模標識。而其中的圖形標記,尤其適用與面向對象的軟件設計。

UML有靜態和動態兩種分析方法和建模機制。靜態建模分析主要通過類圖、對象圖、用例圖等來描述,一般用於系統的核心模塊設計;動態建模通過合作圖、狀態圖、活動圖、UML時序圖來表述,可以用來描述系統對象間的關系模式。

時序圖簡介(Brief introduction

時序圖是一種交互圖,時序圖的重點是標記出某個行為的對象類和這些對象類之間所傳遞的消息及其時間順序。另外時序圖允許直觀地表示出對象的生存期,在生存期內,對象可以對輸入消息做出響應,並且可以發送消息。正是對象生存期的引入,時序圖具備了時間順序的概念,從而可以清晰地表示出對象在其生存期的某一個時刻的動態行為。這種時間概念的精確性使時序圖在描述對象動態行為的時間特性方面具備了卓越的能力。

UML時序圖是一個二維圖形。其中縱軸是時間軸,時間沿豎線向下延伸;橫軸代表了在寫作中個獨立的對象。

時序圖元素(Sequence Diagram Elements

角色(Actor

   系統角色,可以是人、及其甚至其他的系統或者子系統。

對象(Object

 對象代表時序圖中的對象在交互中所扮演的角色。對象包括三種命名方式:

  第一種方式包括對象名和類名;

  第二中方式只顯示類名不顯示對象名,即表示他是一個匿名對象;

  第三種方式只顯示對象名不顯示類名。

生命線(Lifeline

  生命線是一條垂直的虛線,從對象底部延伸出來的,表示時序圖中對象存在的時間,如下圖

 控制焦點(Focus of Control

   控制焦點是順序圖中表示時間段的符號,在這個時間段內對象將執行相應的操作。用小矩形表示,如下圖。

消息(Message

  消息顯示為箭頭。消息可以完成傳輸,也可能丟失和找回,它可以是同步的,也可以是異步的,即可以是調用,也可以是信號。在下圖中,第一條消息是同步消息(Synchronous Message,標為實箭頭)完成傳輸,並隱含一條返回消息。第二條消息是異步消息(Asynchronous Message,標為實線箭頭),第三條是異步返回消息(Return Message,標為虛線)。如下圖所示:

 同步消息=調用消息(Synchronous Message

  消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。

  異步消息(Asynchronous Message

  消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是並發工作的。

  返回消息(Return Message

  返回消息表示從過程調用返回

 自關聯消息(Self-Message

  表示方法的自身調用以及一個對象內的一個方法調用另外一個方法。

迷路消息和拾取消息
迷路消息是那些發送了卻沒有到達指定接收者,或者到達的接收者不再當前圖中。拾取消息是收到來自那些未知的發送者,或者來自沒有顯示在當前圖的發送者的消息。它們都表明是去往或來自一個終點元素。

 

生命線開始與結束
生命線可以在順序圖時間刻度范圍內創建和銷毀,在下面的例子中,生命線被停止符號(叉號)終止。在前面的例子中,生命線頂端的符號(Child)顯示在比創建它的對象符號(parent)沿頁面要低的位置上。下圖顯示創建和終止對象。

時間和期限約束
消息默認顯示為水平線。因為生命線顯示為沿屏幕向下的時間通道,所以當給實時系統建模,或是有時間約束的業務過程建模,考慮執行動作所需時間長度是很重要的。因此可以給消息設置一個期限約束,這樣的消息顯示為下斜線。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM