1. 程式人生 > >【UML】互動圖--序列圖 協作圖

【UML】互動圖--序列圖 協作圖

目錄:

1、什麼是互動圖
2、序列圖(sequence diagram)/協作圖(collaboration diagram)
3、序列圖/協作圖的構成
4、序列圖/協作圖例項--汽車租賃
5、序列圖--機房收費系統
6、協作圖--機房收費系統
7、小結

1、什麼是互動圖

互動圖是描繪物件之間的關係以及物件之間的資訊傳遞的圖
    互動圖分為序列圖(Sequence Diagram)和協作圖(Collaboration Diagram)

2、序列圖(Sequence Diagram)/協作圖(Collaboration Diagram)

序列圖用來描述物件之間訊息傳送的先後次序,闡明物件之間的互動過程以及在系統執行過程中的某一具體時刻將會發生什麼事件。
    序列圖是一種強調時間順序的互動圖,序列圖提供了隨著時間推移的、清晰的、視覺化的軌跡

    協作圖顯示物件之間如何為了由一個用例描述的一個系統事件而與另一組物件進行協作的互動圖。使用協作圖可以顯示物件角色之間的關係,如為實現某個操作或達到某種結果而在物件間交換的一組訊息
    協作圖強調收發訊息的物件的組織結構,顯示了物件之間的關係

3、序列圖/協作圖的構成

序列圖:

(1)object(物件)

   類的例項,具有特定的屬性和操作。在互動圖中,屬性展示了物件的資訊和狀態,操作展示了物件的行為和功能


(2)lifeline(生命線)

     物件下面那條虛線即為該物件的生命線,表示該物件的生命週期,即存在的時間
    “X”標記表明生命的結束
    虛線上的窄條表示該物件正在執行的操作,長度即表示該操作的時間



(3)message(訊息)

    表示一個物件到另一個物件的資訊傳遞或者多個物件的資訊傳遞,即物件之間、參與者之間、物件與參與者之間的通訊方式,可以是資訊的傳遞,也可以是協調作用,分為兩種,可以使傳送者向接收者傳送訊息,也可以使呼叫者向被呼叫者用協作

表示方法:


協作圖:

(1)object(物件)

    類的例項,具有特定的屬性和操作。在互動圖中,屬性展示了物件的資訊和狀態,操作展示了物件的行為和功能


(2)message(訊息)

    表示一個物件到另一個物件的資訊傳遞或者多個物件的資訊傳遞,即物件之間、參與者之間、物件與參與者之間的通訊方式,可以是資訊的傳遞,也可以是協調作用,分為兩種,可以使傳送者向接收者傳送訊息,也可以使呼叫者向被呼叫者用協作



(3)link(鏈)

    鏈是關聯的例項,當一個類與另一個類之間有關聯時,這兩個類的例項之間就有鏈,一個物件就能向另一個物件傳送訊息,所以鏈是物件間的傳送訊息的路徑

    表示方法:


4、序列圖/協作圖例項--汽車租賃

    使用場景:汽車租賃公司

    使用物件:Customer (客戶), Worker (工作人員), Order (請求), Record (記錄), Car (汽車)

    工作流程:① 客戶 向 工人 提出租車要求, ② 工人 檢查 請求, ③ 客戶 付款, ④ 工人 填寫 記錄, ⑤ 工人 取車

序列圖:


協作圖:

5、序列圖--機房收費系統

    主要從一般使用者上機和操作員註冊兩方面畫了一下序列圖,序列圖主要是從時間順序方面描述的,具體的我就不解釋了,上面解釋的都很清楚了,下面是我畫的圖

一般使用者上機


操作員註冊


6、協作圖--機房收費系統

    協作圖主要是從收發訊息的物件的組織結構方面描述的,我主要從一般使用者上機和操作員註冊兩方面畫的,雖然可以直接轉換過去,但是還是自己畫了畫,下面是我畫的兩個圖

一般使用者上機


操作員註冊


7、小結

    序列圖和協作圖都是互動圖的一種,所以對比著總結的,這樣理解的比較清晰一些。序列圖和協作圖雖然都是互動圖,但是他們側重強調的方面不一樣,抓住重點很重要,再就是結合一些比較貼合生活的例項去理解,這樣印象會更深刻一些

    以上僅為個人理解和認識,如有不同見解,歡迎指教