一、時序圖簡介(Brief introduction)
時序圖(Sequence Diagram)是顯示對象之間交互的圖,這些對象是按時間順序排列的。順序圖中顯示的是參與交互的對象及其對象之間消息交互的順序。時序圖中包括的建模元素主要有:對象(Actor)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等等。
二、時序圖元素(Sequence Diagram Elements)
角色(Actor)
系統角色,可以是人、及其甚至其他的系統或者子系統。
對象(Object)
對象包括三種命名方式:
第一種方式包括對象名和類名;
第二中方式只顯示類名不顯示對象名,即表示他是一個匿名對象;
第三種方式只顯示對象名不顯示類明。
生命線(Lifeline)
生命線在順序圖中表示為從對象圖標向下延伸的一條虛線,表示對象存在的時間,如下圖
控制焦點(Focus of Control)
控制焦點是順序圖中表示時間段的符號,在這個時間段內對象將執行相應的操作。用小矩形表示,如下圖。
消息(Message)
消息一般分為同步消息(Synchronous Message),異步消息(Asynchronous Message)和返回消息(Return Message).如下圖所示:
同步消息=調用消息(Synchronous Message)
消息的發送者把控制傳遞給消息的接收者,然后停止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。
異步消息(Asynchronous Message)
消息發送者通過消息把信號傳遞給消息的接收者,然后繼續自己的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是並發工作的。
返回消息(Return Message)
返回消息表示從過程調用返回
自關聯消息(Self-Message)
表示方法的自身調用以及一個對象內的一個方法調用另外一個方法。
Combined Fragments
- Alternative fragment(denoted “alt”) 與 if…then…else對應
- Option fragment (denoted “opt”) 與 Switch對應
- Parallel fragment (denoted “par”) 表示同時發生
- Loop fragment(denoted “loop”) 與 for 或者 Foreach對應
三、時序圖實例分析(Sequece Diagram Example Analysis)
時序圖場景
完成課程創建功能,主要流程有:
1、請求添加課程頁面,填寫課程表單,點擊【create】按鈕
2、添加課程信息到數據庫
3、向課程對象追加主題信息
4、為課程指派教師
5、完成課程創建功能
時序圖實例
時序圖實例分析
1、序號1.0-1.3 完成頁面的初始化
2、序號1.4-1.5 課程管理員填充課程表單
3、序號1.6-1.7 課程管理員點擊【Create】按鈕,並響應點擊事件
4、序號1.8 Service層創建課程
5、序號1.9-1.10 添加課程到數據庫,並返回課程編號CourseId
6、序號1.11-1.12 添加課程主題到數據庫,並返回主題編號topicId
7、序號1.13 給課程指派教師
8、序號1.14 向界面拋創建課程成功與否的消息
四、總結(Summary)
時序圖(Sequence Diagram)是顯示對象之間交互的圖,這些對象是按時間順序排列的。順序圖中顯示的是參與交互的對象及其對象之間消息交互的順序。時序圖中包括的建模元素主要有:對象(Actor)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等等。最后,以課程創建功能演示一時序圖實例。