(指引手冊系列)循序圖繪圖指引(PART 1) @ Simon's Software Sky :: 隨意窩 Xuite日誌
  • Google Search
  • 關鍵字
  • -
    1. 沒有新回應!






  • 如何使用RSS
    Powered by Xuite
    2005-12-27 23:01 (指引手冊系列)循序圖繪圖指引(PART 1)
    平均分數:0 顆星    投票人數:0
    我要評分:

    此份指引內容參考自Ambler S.W. 的著作 The Object Primer 2nd Edition(SIGS Books, 2001),並做了一些修改。這份文件能協助我們使用循序圖(Sequence Diagram)進行系統設計,並提供許多設計時需要注意的地方。由於內容滿多的,得分成多篇文章來發表,我們先來看繪圖的一般原則吧!

    General Guidelines

    此章節將說明繪製循序圖時的一般原則,主要著重在畫循序圖時,要注意的一些基本原則及規範。

    1 依循命名規則為循序圖命名

    循序圖的命名規則如下(這是我訂的命名規則,參考就好,重點就是要訂出命名規則):

    l 描繪基本流程的圖,命名規則為:循序圖類型縮寫名稱-使用案例代碼-系統事件名稱

    l 描繪替代流程的圖,命名規則為:循序圖類型縮寫名稱-使用案例代碼_AF_替代流程代碼-系統事件名稱

    l 描繪分支流程的圖,命名規則為:循序圖類型縮寫名稱-使用案例代碼_BF_分支流程代碼-系統事件名稱

    下表為各種不同類型的循序圖之縮寫名稱及命名的範例。

    1. 循序圖的命名規則

    Diagram Type

    Abbreviation 

    Example

    System Sequence Diagram

    SSD

    SSD-UC_001-InvokeProcess

    System Sequence Diagram with User Interface

    UISSD

    UISSD-UC_001-InvokeProcess

    Design Sequence Diagram

    DSD

    DSD-UC_001-InvokeProcess

    DSD-UC_001_AF_B-InvokeProcess

    DSD-UC_001_BF_A-InvokeProcess

    User Interface Sequence Diagram

    UISD

    UISD-UC_001-InvokeProcess

    UISD-UC_001_AF_B-InvokeProcess

    UISD-UC_001_BF_A-InvokeProcess

    2 訊息傳遞以由左至右的方向開始

    循序圖上的訊息傳遞方向,以由左至右為主,如圖1所示,每個訊息基本上都是以由左至右的方向發出。不過有時候訊息的傳遞方向還是有可能由右至左,譬如兩個物件互動傳遞訊息給對方時。 

    3 按由外而內的類別層次順序擺放類別

    循序圖會出現不同的類別層次的類別(Class),不同層次的類別會有不同的擺放順序,一般的由左至右的擺放順序是參與者(Actor Class)、使用者介面類別(User-Interface Class)、控制類別(Controller Class)、企業類別(Business Class)、儲存輔助類別(Persistent Class)及相關的系統類別(System Class),圖1便採用這樣的順序來擺放物件,這樣的擺放順序能增加循序圖的可讀性,也能表現各種類別由外而內的層次關係。

    圖1. Enrolling a student

    4 參與者的命名與使用案例模型一致

    當使用案例模型中的參與者(Actor)出現在循序圖上時,在循序圖中的參與者之名稱應該要和使用案例模型一致。

    5 類別的命名與類別模型一致

    當類別模型 Class Model)中的類別出現在循序圖上時,在循序圖中的類別之名稱應該要和類別模型保持一致。

    6 在圖的左側列出使用案例的步驟

    圖1,對一個不是很熟悉循序圖的人來說,這樣的圖其實並不是很容易理解,因為它已經滿接近程式碼。所以你可以像2一樣,把循序圖所描述的使用案例步驟列在圖的左側方便對照,除了可以讓循序圖更容易解讀外,也可以讓你確認循序圖與使用案例的一致性。

    此指引不具強制性,若您使用的Modeling工具無法很方便地在循序圖上加上使用案例步驟,那您可以不循序此指引的規範。

    2. Checking out an online order.

    7 塑模物件消滅行為的時機

    對任何系統而言,記憶體管理一直是很重要的議題,如何在對的時間將物件從記憶體中移除更是特別的重要。不過對於非即時系統而言,我們依循Agile Modeling的「簡單塑模」原則,不在循序圖上使用物件消滅標記(包括”X”符號及<>造型的訊息),如圖1有塑模物件消滅行為,2則沒有去塑模物件消滅行為,兩張圖比較起來,2顯得簡單清楚的多。

    不特別去塑模物件的消滅行為有兩個理由:第一理由是,許多程式語言,如JavaSmalltalk會透過Garbage Collection的技術來自動地管理記憶體。第二個理由是,有些如C++這種必須由你自己來管理記憶體的程式語言,此類語言的程式設計師一般都必須有好的記憶體管理技巧,所以不需在循序圖上添加這些物件消滅的資訊。

    然而,對於即時系統而言,你可能需要去塑模物件的消滅行為,因為即時系統的記憶體管理通常會較非即時系統重要許多。

    循序圖上不可或缺的元素是物件(Object)及訊息(Message),下一篇文章我們將說明在繪製循序圖上的物件時,需要注意的地方及繪製原則。

    shuen.min / Xuite日誌 / 回應(0) / 引用(0) / 好文轉寄
    回應