專家解析 UML語言中各種圖形的建立步驟
本節(jié)向大家介紹一下UML語言各種圖形的建立步驟,主要包括用例圖,對象類圖和順序圖等十部分內(nèi)容,希望通過本節(jié)的學(xué)習(xí)你對UML語言中各種圖形的建立步驟有所了解。
UML語言各種圖形的建立步驟
1.用例圖的建立步驟:
1〉找出系統(tǒng)外部的活動者和外部系統(tǒng),確定系統(tǒng)的邊界和范圍。
2〉確定每一個活動者所希望的系統(tǒng)行為。
3〉把這些系統(tǒng)行為命名為用例。
4〉把一些公共的系統(tǒng)行為分解為一批新的用例,供其它的用例引用。把一些變更的行為分解為擴(kuò)展用例。
5〉編制每一個用例的劇本。
6〉繪制用例圖。
7〉區(qū)分主業(yè)務(wù)流和例外情況的事件流??梢园驯磉_(dá)例外的情況的事件流的用例圖畫成一個單獨的子用例圖。
8〉精化用例圖,解決用例見得重復(fù)與沖入問題,簡化用例中的對話序列,用力圖可以有不同的層次,高層次系統(tǒng)的用例可以分解為若干個下屬子系統(tǒng)中的子用例。
2.UML語言中對象類圖的建立步驟:
1〉研究分析問題領(lǐng)域,確定系統(tǒng)的需求。
2〉發(fā)現(xiàn)對象和對象類,明確他們的含義和責(zé)任,確定屬性和操作。
3〉發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚合、組合、依賴等聯(lián)系表達(dá)出來,雖然對象類圖表達(dá)的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應(yīng)當(dāng)把對系統(tǒng)的靜態(tài)分析與動態(tài)分析結(jié)合起來,更能準(zhǔn)確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。
4〉設(shè)計類與聯(lián)系。調(diào)整和精化已得到的對象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復(fù)等問題。
5〉繪制對象類圖并編制相應(yīng)的說明。上述做法是直接從領(lǐng)域分析抽取對象和對象類開始的,這是常規(guī)的面向?qū)ο蟮南到y(tǒng)分析與設(shè)計的做法。Rational統(tǒng)一過程主張采用用例驅(qū)動的系統(tǒng)分析與設(shè)計方法。從業(yè)務(wù)領(lǐng)域的分析中先抽取活動者和用例,建立業(yè)務(wù)模型。業(yè)務(wù)模型包括業(yè)務(wù)用例模型、設(shè)計模型、實現(xiàn)模型和測試模型。
3.系統(tǒng)中的例外情況建模:
1〉對于每一個對象類和接口,找出可能發(fā)生的例外情況和出現(xiàn)例外情況的條件。
2〉把每一個例外情況用一個信號類描述,類名前冠有構(gòu)造型《exception》。
3〉建立例外情況的層次結(jié)構(gòu),把一般性的例外情況置于高層,把特殊性的例外情況置于低層。
4〉對于每一個操作確定可能發(fā)生的例外情況。在操作和他的例外情況的信號圖表之間有一條虛箭線連接,其上標(biāo)出構(gòu)造型《send》,表示從操作到他的例外情況的send依賴。
4.UML語言中順序圖的建立步驟:
1〉確定交互的上下文。
2〉找出參與交互的對象類角色,把他們橫向排列在順序圖的頂部,最重要的對象安置在最左邊,交互密切的對象盡可能相鄰。在交互中創(chuàng)建的對象在垂直方向應(yīng)安置在其被創(chuàng)建的時間點處。
3〉對每一個對象設(shè)置一條垂直的向下的生命線。
4〉從初始化交互的信息開始,自頂向下在對象的生命線之間安置信息。注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說明層還是屬于實例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型與約束。
5〉在生命線上繪出對象的激活期,以及對象創(chuàng)建或銷毀的構(gòu)造型和標(biāo)記。
6〉更具消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及循環(huán)參數(shù)和出口條件。
5.UML語言中協(xié)同圖的建立步驟:
1〉確定交互的上下文。
2〉找出參與交互的對象類角色,把他們作為圖形的節(jié)點安置在協(xié)同圖中。最重要的對象安置在圖的中央,與他有直接交互的對象安置在鄰近。
3〉設(shè)置對象的初始性質(zhì)。
4〉說明對象之間的鏈接。首先給出對象之間的關(guān)聯(lián)連接,然后給出其它連接,并且給出必要的裝飾,如構(gòu)造型《global》《local》等。
5〉從初始化交互的消息開始,在鏈接上安置相應(yīng)的消息,給出消息的序號。注意用箭頭的形式區(qū)別同步消息和異步消息。根據(jù)順序圖是屬于說明層還是屬于實例層,給出消息標(biāo)簽的內(nèi)容,以及必要的構(gòu)造型和約束。
6〉處理一些特殊情況,如循環(huán)、自調(diào)用、回調(diào)、多對象等。
6.UML語言中狀態(tài)圖的建立步驟:
1〉確定狀態(tài)機(jī)的上下文,它可以是一個類、子系統(tǒng)或整個系統(tǒng)。
2〉選擇初始狀態(tài)和終結(jié)狀態(tài)。
3〉發(fā)現(xiàn)對象的各種狀態(tài)。注意應(yīng)當(dāng)仔細(xì)找出對問題有意義的對象狀態(tài)屬性,這些屬性具有少量的值,且該屬性的值的轉(zhuǎn)換受限制。狀態(tài)屬性值的組合,結(jié)合行為有關(guān)的事件和動作,就可以確定具有特定的行為特征的狀態(tài)。
4〉確定狀態(tài)可能發(fā)生的裝移。注意份已從一個狀態(tài)可能轉(zhuǎn)移到那些狀態(tài),對象的哪些行為可引起狀態(tài)的轉(zhuǎn)移并找出觸發(fā)狀態(tài)轉(zhuǎn)移的事件。
5〉把必要的動作加到狀態(tài)或轉(zhuǎn)移上。
6〉里要超狀態(tài)、子狀態(tài)、分支、歷史狀態(tài)等概念組織和簡化一個復(fù)雜的狀態(tài)機(jī)。
7〉分析狀態(tài)的并發(fā)和同步情況。
8〉繪制狀態(tài)圖。
9〉確認(rèn)每一個狀態(tài)在某個時間組合之下都是可到達(dá)的。確認(rèn)沒有一個死端狀態(tài),對象不能從該狀態(tài)轉(zhuǎn)移出來。
7.UML語言中活動圖的建立步驟:
1〉找出負(fù)責(zé)實現(xiàn)工作流的業(yè)務(wù)對象。這些對象可以是現(xiàn)實業(yè)務(wù)領(lǐng)域中的實體,也可以是一種抽象的概念或事物。為每一個重要的業(yè)務(wù)對象建立一條泳道。
2〉確定工作流的初始狀態(tài)和終結(jié)狀態(tài),明確工作流的邊界。
3〉從工作流的初始狀態(tài)開始,找出隨時間而發(fā)生的活動和動作,把他們表示成活動狀態(tài)或動作狀態(tài)。
4〉對于復(fù)雜的動作或多次重復(fù)出現(xiàn)的一組動作,可以把他們組成一個活動狀態(tài),并且用另外一個活動圖來展開表示。
5〉給出連接活動和動作的轉(zhuǎn)移(動作流)。首先處理順序動作流,然后處理條件分支。最后處理分劈和接合。
6〉在活動圖中給出與工作流有關(guān)的重要對象,并用虛箭線把他們與活動狀態(tài)或動作狀態(tài)相連接。
8.UML語言中包圖的建立步驟:
1〉分析系統(tǒng)模型元素(通常是對象類),把概念上或語義上相近的模型元素納入一個包。
注意可以從類的功能的相關(guān)性來確定納入包中的對象類。以下幾點可作為分析對象類的功能相關(guān)性的參考
(1)如果一個類的行為和/或結(jié)構(gòu)的變更要求另一個相應(yīng)的變更,則這兩個類是功能相關(guān)的。
(2)如果刪除一個類后,另一個類便變成是多余的,則這連個類是功能相關(guān)的,這說明該剩余的類只為那個被刪除的類所使用,他們之間有依賴關(guān)系。
(3)如果兩個類之間大量的頻繁交互或通信,則這兩個類是功能相關(guān)的。
(4)如果兩個類之間有一般/特殊關(guān)系,則這兩個類是功能相關(guān)的。
(5)如果一個類激發(fā)創(chuàng)建另一個類的對象,則這兩個類是功能相關(guān)的。
(6)如果兩個類不涉及統(tǒng)一個外部活動著,則這兩個類不應(yīng)放在同一個包中。
(7)一個包應(yīng)當(dāng)具有高內(nèi)聚性,包中的對象類應(yīng)該是功能相關(guān)的。
2〉對于每一個包,標(biāo)出其模型元素的可視性:公共、保護(hù)或私有。
3〉確定包與包之間的依賴關(guān)系,特別是輸入依賴。
4〉確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性和重載。
5〉繪制包圖。
6〉包圖精化。
9.UML語言中組件圖的建立步驟:
1〉確定組件。首先要分解系統(tǒng),考慮有關(guān)系統(tǒng)的組成管理、軟件的重用核物理節(jié)點的配置等因素,把關(guān)系密切的可執(zhí)行程序和對象庫分別歸入組件,找出相應(yīng)的對象類、接口等模型元素。
2〉對組件加上必要的構(gòu)造型。可以使用uml的標(biāo)準(zhǔn)構(gòu)造型《executable》、《library》、《table》、《file》、《document》,或自定義新的構(gòu)造型,說明組件的性質(zhì)。
3〉確定組件之間的聯(lián)系。最常見的組件之間的聯(lián)系是通過接口依賴。一個組件使用某個接口,另一個組件實現(xiàn)該接口。
4〉必要時把組件組織成包。組件和對象類、協(xié)同等模型元素一樣可以組織成包。
5〉繪制組件圖。
10.UML語言中配置圖的建立步驟:
1〉確定節(jié)點。注意:標(biāo)示系統(tǒng)中的硬件設(shè)備,包括大型主機(jī)、服務(wù)器、前端機(jī)、網(wǎng)絡(luò)設(shè)備、輸入/輸出設(shè)備等。一個處理機(jī)是一個節(jié)點,它具有處理功能,能夠執(zhí)行一個組件;一個設(shè)備也是一個節(jié)點,她沒有處理功能,但他是系統(tǒng)和現(xiàn)實世界的接口。
2〉對節(jié)點加上必要的構(gòu)造型。可以使用uml的標(biāo)準(zhǔn)構(gòu)造型或自定義新的構(gòu)造型,說明節(jié)點的性質(zhì)。
3〉確定聯(lián)系。這是關(guān)鍵步驟。配置圖中的聯(lián)系包括節(jié)點與節(jié)點之間的聯(lián)系,節(jié)電與組件之間的聯(lián)系,組件與組件之間的聯(lián)系,可以使用標(biāo)準(zhǔn)構(gòu)造型或自定義新的構(gòu)造型說明聯(lián)系的性質(zhì)。
把系統(tǒng)的組件如可執(zhí)行程序,動態(tài)連接庫等分配到節(jié)點上,并確定節(jié)點與節(jié)點之間,節(jié)點與組件之間,組件與組件之間的聯(lián)系,以及他們的性質(zhì)。
4〉繪制配置圖。
【編輯推薦】