第 5 部分 :架構(gòu)與設(shè)計(jì)
Steven Franklin
軟件設(shè)計(jì)師和過(guò)程專家
2004 年 4 月
當(dāng)這個(gè)正在進(jìn)行的應(yīng)用 RUP 和其他的 Rational 工具的 J2EE 樣例項(xiàng)目從用例轉(zhuǎn)換成架構(gòu)和設(shè)計(jì)時(shí)(包括數(shù)據(jù)建模和構(gòu)建測(cè)試設(shè)計(jì)假想的原型),這個(gè)項(xiàng)目已經(jīng)進(jìn)入了更加技術(shù)的階段了。
這個(gè)系列的第 5 部分首先檢查了一下項(xiàng)目的時(shí)間進(jìn)度,然后當(dāng)我們進(jìn)入了架構(gòu)、設(shè)計(jì)、數(shù)據(jù)建模和創(chuàng)建原型時(shí),我們已經(jīng)在下一個(gè)階段進(jìn)行細(xì)化階段中了。
在第 5 部分演示的工具和技術(shù):
產(chǎn)生或者被更新的產(chǎn)物:
項(xiàng)目的時(shí)間進(jìn)度
在開(kāi)始進(jìn)行具體的架構(gòu)和設(shè)計(jì)工作之前,讓我們來(lái)檢查一下 ASDI 項(xiàng)目的整體進(jìn)度。就像你可以第 1 部分回想起來(lái)的,這個(gè)由多個(gè)部分組成的系列文章覆蓋了項(xiàng)目的第 1 個(gè)階段:以一系列需求、一個(gè)參考架構(gòu)和代碼(理想的可重用的)為結(jié)果的概念的驗(yàn)證。到目前為止,我們大概使用了整個(gè)第 1 階段預(yù)算的三分之一,但我們已經(jīng)接近了項(xiàng)目時(shí)間進(jìn)度的一半了。這是在我們的預(yù)料之中的,因?yàn)槲覀冇幸獾淖屵M(jìn)度稍微慢一點(diǎn)。分析和計(jì)劃活動(dòng)總是以較慢的步伐移動(dòng),團(tuán)隊(duì)?wèi)?yīng)該在項(xiàng)目開(kāi)始時(shí)逐步的將他們建立起來(lái)。
因?yàn)榈?1 階段要求一個(gè)相關(guān)的結(jié)構(gòu)化的和正式的概念的證據(jù),我們將它作為一個(gè)小的項(xiàng)目處理,通過(guò)在演進(jìn)的產(chǎn)品上進(jìn)行測(cè)試和 QA(同級(jí)審查)來(lái)完成它。RUP 有一些用于開(kāi)發(fā)概念證據(jù)的機(jī)制,基本在分析和設(shè)計(jì)工作流的執(zhí)行架構(gòu)的合成的活動(dòng)中。我們正在進(jìn)一步的將概念的證據(jù)轉(zhuǎn)化成可用的 beta 版產(chǎn)品。我們能夠?qū)⒏嗟墓δ堋L(fēng)險(xiǎn)的降低和產(chǎn)品的成熟放到這個(gè)階段中,我們?cè)蕉嗟膶⒓寄芎椭R(shí)用到系統(tǒng)的產(chǎn)品版本中,我們的客戶就越興奮。
這個(gè)接下來(lái)的一系列的任務(wù)將比之前的活動(dòng)更加具有技術(shù)性。我們正很好的向架構(gòu)。設(shè)計(jì)、數(shù)據(jù)建模和原型前進(jìn)。在第 4 部分中我們討論了一些原型和評(píng)估如何進(jìn)行我們的工具選擇;現(xiàn)在我們的原型的關(guān)注點(diǎn)在測(cè)試我們?cè)O(shè)想的需求、系統(tǒng)說(shuō)明和設(shè)計(jì)上。
過(guò)渡到架構(gòu)和設(shè)計(jì)
架構(gòu)和設(shè)計(jì)活動(dòng)是在 ASDI 項(xiàng)目中最令人愉快和具有創(chuàng)造力的任務(wù)。我們?yōu)槲覀儗⑾到y(tǒng)計(jì)劃的高效、安全和簡(jiǎn)單優(yōu)雅而自豪。技術(shù)方案的遠(yuǎn)景在多次令人興奮的會(huì)面、自由討論和技術(shù)探索中最終形產(chǎn)生了。
簡(jiǎn)單的講,架構(gòu)意在捕捉技術(shù)上靈活的方案,這個(gè)方案可以覆蓋上個(gè)月我們定義出來(lái)的系統(tǒng)需求。不論是向前看(對(duì)于設(shè)計(jì))還是向后看(對(duì)于需求),架構(gòu)團(tuán)隊(duì)都將承受巨大的壓力。 Rational Rose 的集成開(kāi)發(fā)環(huán)境通過(guò)讓我們能夠做以下的事情簡(jiǎn)化了這個(gè)挑戰(zhàn):
注重,因?yàn)槲覀冊(cè)谶^(guò)去的項(xiàng)目中創(chuàng)建的系統(tǒng)與目前這個(gè)系統(tǒng)類似,因此假如我們引用一些參考架構(gòu),我們的架構(gòu)將會(huì)從中受益。然而,我們不能在已存在的包或者設(shè)計(jì)模式中找到任何可重用的機(jī)會(huì),因此我們只是引用了已存在系統(tǒng)中可能會(huì)在將來(lái)用到的思想和類。
從用例到設(shè)計(jì)類的轉(zhuǎn)化
從用例到設(shè)計(jì)類的轉(zhuǎn)化過(guò)程是緩慢的,需要進(jìn)行多次的迭代。這牽扯到分析人員和設(shè)計(jì)人員,因?yàn)槲覀冇泻苌俚募瓤梢允孢m的與客戶討論業(yè)務(wù)領(lǐng)域又可以使用特定的工具進(jìn)行分析、細(xì)化設(shè)計(jì)產(chǎn)物的人員。
這個(gè)活動(dòng)的目標(biāo)
有時(shí)將需求直接的轉(zhuǎn)換成代碼是誘人的。實(shí)際上,我們?cè)谝郧暗捻?xiàng)目中就是這樣做的(因?yàn)槲覀冇蟹浅>唧w的需求說(shuō)明),我們?cè)谖覀儗?duì)項(xiàng)目的理解上非常自信。這樣就產(chǎn)生了一個(gè)錯(cuò)誤。需求被遺漏,范圍很難被跟蹤,并且大量的工作和返工是無(wú)用的。使用設(shè)計(jì)模型來(lái)連接在需求和代碼之間的鴻溝是重要的;設(shè)計(jì)模型可以在開(kāi)發(fā)和測(cè)試之前很久捕捉錯(cuò)誤和有問(wèn)題的假設(shè)。
在從用例向設(shè)計(jì)類轉(zhuǎn)化的過(guò)程中,我們希望能夠?qū)崿F(xiàn):
實(shí)現(xiàn)穩(wěn)定的設(shè)計(jì)
從用例和分析類到設(shè)計(jì)和設(shè)計(jì)類的轉(zhuǎn)化是不可避免的模糊的。在我們能夠擁有我們感到滿足的設(shè)計(jì)之前,我們需要做大量的工作。圖 1 顯示了我們以我們的方法定義一個(gè)穩(wěn)定的設(shè)計(jì)的主要活動(dòng)。
圖 1: 從用例模型到設(shè)計(jì)模型的轉(zhuǎn)化前面的文章部分討論了多數(shù)的在圖 1 中作為”架構(gòu)“預(yù)備的活動(dòng)和產(chǎn)物(非凡是 SOW 需求、用例、業(yè)務(wù)對(duì)象模型和分析類)。此外,這些其他的活動(dòng)對(duì)設(shè)計(jì)工作也是重要的:
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注