什么是時序圖
時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML交互圖。它通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。它可以表示用例的行為順序,當(dāng)執(zhí)行一個用例行為時,其中的每條消息對應(yīng)一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。
什么是類圖
類圖(Class diagram)是顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖不顯示暫時性的信息。類圖是面向?qū)ο蠼5闹饕M成部分。它既用于應(yīng)用程序的系統(tǒng)分類的一般概念建模,也用于詳細(xì)建模,將模型轉(zhuǎn)換成編程代碼。類圖也可用于數(shù)據(jù)建模。
時序圖和類圖的關(guān)系
類圖和時序圖是在軟件系統(tǒng)設(shè)計中直接和程序代碼相關(guān)聯(lián)的圖,準(zhǔn)確地說,程序代碼是由類圖直接產(chǎn)生,而時序圖可以定義類圖的方法。用例圖用來描述系統(tǒng)功能,和類圖與時序圖沒有直接關(guān)系。
類圖在UML中由三個部分組成,如下圖所示,分別表示類的名字、類的屬性、類的方法。在定義一個類時可需要給出類的名字、屬性和方法,其中方法也可以在時序圖中定義,在方法中定義了一個消息,則會在相應(yīng)類圖中自動增加一個方法,但在修改或刪除時序圖中已經(jīng)定義的消息時,相應(yīng)類圖中的方法不會自動修改、刪除。
例如; 學(xué)生注冊的業(yè)務(wù)可以用以下的類圖和時序圖來描述。
1、用例圖
2、類圖
Register類有一個方法inputStudents(),Student類有兩個方法addNewStudent()和modifyRegisterDate(),每個方法都和時序圖的消息相對應(yīng)。
3、時序圖
消息傳遞箭頭指向?qū)ο蟮念悤詣由梢粋€相同的方法,Register有一個箭頭指向它,則再Register類圖中自動生成一個inputStudents()方法,Student有兩個箭頭指向它,則在Student類中自動生成modifyRegisterDate()和addNewStudent()方法。
綜上所述,三個圖可以有以下一些經(jīng)驗(yàn)的歸納:
1、 用例圖的每一個用例(這里是指系統(tǒng)用例而非業(yè)務(wù)用例)應(yīng)有一張時序圖來表述;
2、 時序圖要將所有類圖中類的連線表示出來,如做得好,每一個連線用一個時序圖表述;
3、 時序圖中的每一個消息,要和類圖中各個類的方法一一對應(yīng)。
評論
查看更多