天天看點

UML模組化之時序圖(Sequence Diagram)

一、時序圖簡介(Brief introduction)

       時序圖(Sequence Diagram)是顯示對象之間互動的圖,這些對象是按時間順序排列的。順序圖中顯示的是參與互動的對象及其對象之間消息互動的順序。時序圖中包括的模組化元素主要有:對象(Actor)、生命線(Lifeline)、控制焦點(Focus of control)、消息(Message)等等。

二、時序圖元素(Sequence Diagram Elements)   角色(Actor)

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

  對象(Object)

  對象包括三種命名方式:

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

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

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

UML模組化之時序圖(Sequence Diagram)
  生命線(Lifeline)

  生命線在順序圖中表示為從對象圖示向下延伸的一條虛線,表示對象存在的時間,如下圖

UML模組化之時序圖(Sequence Diagram)
  控制焦點(Focus of Control)

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

UML模組化之時序圖(Sequence Diagram)
  消息(Message)

  消息一般分為同步消息(Synchronous Message),異步消息(Asynchronous Message)和傳回消息(Return Message).如下圖所示:

UML模組化之時序圖(Sequence Diagram)

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

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

  異步消息(Asynchronous Message)

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

  傳回消息(Return Message)

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

  自關聯消息(Self-Message)

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

UML模組化之時序圖(Sequence Diagram)
  Combined Fragments
UML模組化之時序圖(Sequence Diagram)

  Ø         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、完成課程建立功能

時序圖執行個體

UML模組化之時序圖(Sequence Diagram)
時序圖執行個體分析

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)等等。最後,以課程建立功能示範一時序圖執行個體。