時序圖(Sequence Diagram)是顯示對象之間交互的圖,這些對象是按時間順序排列的。順序圖中顯示的是參與交互的對象及其對象之間消息交互的順序。時序圖中包括的建模元素主要有:角色(Actor)、對象(Object)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等等。
角色(Actor)
系統角色,可以是人、及其甚至其他的系統或者子系統。
對象(Object)
對象包括三種命名方式:
第一種方式包括對象名和類名;
第二中方式只顯示類名不顯示對象名,即表示他是一個匿名對象;
第三種方式只顯示對象名不顯示類明。
生命線(Lifeline)
生命線在順序圖中表示為從對象圖標向下延伸的一條虛線,表示對象存在的時間,如下圖
控制焦點(Focus of Control)
控制焦點是順序圖中表示時間段的符號,在這個時間段內對象將執行相應的操作。用小矩形表示。如下圖表示:
消息(Message)
消息一般分為同步消息(Synchronous Message),異步消息(Asynchronous Message)和返回消息(Return Message).如下圖所示:
同步消息=調用消息(Synchronous Message)
消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。
異步消息(Asynchronous Message)
消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是并發工作的。
返回消息(Return Message)
返回消息表示從過程調用返回
自關聯消息(Self-Message)
表示方法的自身調用以及一個對象內的一個方法調用另外一個方法。
Combined Fragments
表示帶有一些特定條件發送的消息。
如上圖,就表示,循環(loop)發送GetProperty消息獲得屬性。在使用Astah畫時序圖時,選擇一個Combined Fragments之后,可以在其對應的屬性面板更改對應的發送條件。里面介紹了很多,此處列舉一二:
Alternative fragment(denoted “alt”) 與 if…then…else對應
Option fragment (denoted “opt”) 與 Switch對應
Parallel fragment (denoted “par”) 表示同時發生
Loop fragment(denoted “loop”) 與 for 或者 Foreach對應