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