天天看點

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

一、時序圖與類圖

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

  類圖(Class diagram)是顯示了模型的靜态結構,特别是模型中存在的類、類的内部結構以及它們與其他類的關系等。類圖不顯示暫時性的資訊。類圖是面向對象模組化的主要組成部分。它既用于應用程式的系統分類的一般概念模組化,也用于詳細模組化,将模型轉換成程式設計代碼。類圖也可用于資料模組化。

二、時序圖和類圖的關系

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

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

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

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

  1、用例圖

  

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

  2、類圖

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

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

  3、時序圖

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

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

三、總結

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

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

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

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