統(tǒng)一軟件開(kāi)發(fā)過(guò)程
UP的幾個(gè)核心概念,也可以說(shuō)是最佳實(shí)踐:用例驅(qū)動(dòng)(所有的分析設(shè)計(jì)測(cè)試都是圍繞用例展開(kāi)),迭代(因此我們會(huì)不斷地編寫(xiě)用例,繪制用例圖,進(jìn)行分析,設(shè)計(jì),實(shí)現(xiàn),部署和測(cè)試活動(dòng)),基于組件(我們看到最后軟件是由組件構(gòu)成的),以架構(gòu)為中心(分層架構(gòu),完整的對(duì)象模型,核心領(lǐng)域模型)
核心工作流
|
模型
|
過(guò)程
|
UML圖
|
需求
|
用例模型
|
1 描述企業(yè)的業(yè)務(wù)流程,編寫(xiě)業(yè)務(wù)用例,然后以用例圖來(lái)表示各個(gè)用例之間的關(guān)系(include/extend),及使用(use)該用例的參與者(Actor)
|
用例圖
|
2 使用活動(dòng)圖來(lái)表示業(yè)務(wù)流程
|
活動(dòng)圖
|
3 根據(jù)業(yè)務(wù)流程,明確系統(tǒng)功能,編寫(xiě)系統(tǒng)用例,使用用例圖表示各個(gè)用例之間的關(guān)系,及使用該用例的參與者。
|
用例圖
|
4 使用系統(tǒng)順序圖描述系統(tǒng)事件與系統(tǒng)操作
|
順序圖
|
分析
|
分析模型
描述用例實(shí)現(xiàn)的對(duì)象模型,它是工件:設(shè)計(jì)模型的一個(gè)抽象。 分析模型包含用例分析的結(jié)果、工件:分析類(lèi)的實(shí)例。
用例實(shí)現(xiàn)-分析
|
5 對(duì)于用例中的一個(gè)或多個(gè)場(chǎng)景進(jìn)行分析,然后抽象出一些分析類(lèi)(包括邊界類(lèi),控制類(lèi)和實(shí)體類(lèi)),分析類(lèi)將被映射為設(shè)計(jì)類(lèi)(分析類(lèi)代表角色,一個(gè)分析類(lèi)可以由1或多個(gè)設(shè)計(jì)類(lèi)實(shí)現(xiàn))。分析類(lèi)也可以稱(chēng)之為業(yè)務(wù)模型,或者是領(lǐng)域模型。分析類(lèi)通常可跨越多個(gè)用例,其表示領(lǐng)域中的概念。
|
類(lèi)圖
|
6 分析類(lèi)與分析類(lèi)之間的交互,由協(xié)作圖來(lái)表示。這樣稱(chēng)之為用例實(shí)現(xiàn)。
|
協(xié)作圖
|
以上兩者再輔之以文本,可以用來(lái)描述用例實(shí)現(xiàn),每個(gè)用例對(duì)應(yīng)于一個(gè)用例實(shí)現(xiàn)。
|
|
設(shè)計(jì)
|
設(shè)計(jì)模型
用例實(shí)現(xiàn)-設(shè)計(jì)
|
7 設(shè)計(jì)類(lèi)代表系統(tǒng)中完成功能的類(lèi)。它受到分析類(lèi)的啟發(fā)或者是為了解決一些軟件問(wèn)題而被設(shè)計(jì)出來(lái)。
|
類(lèi)圖
|
8 用例實(shí)現(xiàn)。根據(jù)分析模型中的用例實(shí)現(xiàn),來(lái)完成設(shè)計(jì)模型中的用例實(shí)現(xiàn)。
|
順序圖
|
可以使用包圖來(lái)表示系統(tǒng)的分層架構(gòu)。
|
|
10 某些設(shè)計(jì)對(duì)象是由狀態(tài)決定的,也就是說(shuō)根據(jù)其狀態(tài)的不同,其會(huì)表現(xiàn)出不同的行為。狀態(tài)圖可以表示一個(gè)對(duì)象的狀態(tài)轉(zhuǎn)換關(guān)系及順序,可以理解為對(duì)象狀態(tài)流程圖。
|
狀態(tài)圖
|
實(shí)現(xiàn)
|
實(shí)現(xiàn)模型
|
11 將系統(tǒng)抽象為組件,實(shí)現(xiàn)模型即由組件構(gòu)成。這符合UP包含基于組件的思想。(Jacobson是組件開(kāi)發(fā)之父)
|
組件圖
|
實(shí)施
|
實(shí)施模型
|
12 實(shí)施模型根據(jù)相互連接的節(jié)點(diǎn)定義實(shí)際的系統(tǒng)架構(gòu)。
|
實(shí)施圖
|