分析設計中用例圖、類圖與時序圖關係

一、時序圖與類圖

  時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。它可以表示用例的行為順序,當執行一個用例行為時,其中的每條消息對應一個類操作或狀態機中引起轉換的觸發事件。

  類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關係等。類圖不顯示暫時性的資訊。類圖是面向對象建模的主要組成部分。它既用於應用程式的系統分類的一般概念建模,也用於詳細建模,將模型轉換成編程程式碼。類圖也可用於數據建模。

二、時序圖和類圖的關係

時序圖和類圖的關係

  類圖和時序圖是在軟體系統設計中直接和程式程式碼相關聯的圖,準確地說,程式程式碼是由類圖直接產生,而時序圖可以定義類圖的方法。用例圖用來描述系統功能,和類圖與時序圖沒有直接關係。

  類圖在UML中由三個部分組成,如下圖所示,分別表示類的名字、類的屬性、類的方法。在定義一個類時可需要給出類的名字、屬性和方法,其中方法也可以在時序圖中定義,在方法中定義了一個消息,則會在相應類圖中自動增加一個方法,但在修改或刪除時序圖中已經定義的消息時,相應類圖中的方法不會自動修改、刪除。

  例如; 學生註冊的業務可以用以下的類圖和時序圖來描述。

  1、用例圖

  時序圖和類圖的關係

  2、類圖

  時序圖和類圖的關係

  Register類有一個方法inputStudents(),Student類有兩個方法addNewStudent()和modifyRegisterDate(),每個方法都和時序圖的消息相對應。

  3、時序圖

  時序圖和類圖的關係

  消息傳遞箭頭指向對象的類會自動生成一個相同的方法,Register有一個箭頭指向它,則再Register類圖中自動生成一個inputStudents()方法,Student有兩個箭頭指向它,則在Student類中自動生成modifyRegisterDate()和addNewStudent()方法。

三、總結

       綜上所述,三個圖可以有以下一些經驗的歸納:

  1、 用例圖的每一個用例(這裡是指系統用例而非業務用例)應有一張時序圖來表述;

  2、 時序圖要將所有類圖中類的連線表示出來,如做得好,每一個連線用一個時序圖表述;

  3、 時序圖中的每一個消息,要和類圖中各個類的方法一一對應。