1.架構(gòu)優(yōu)先
RUP的統(tǒng)一過程的一個重要內(nèi)容就是架構(gòu)優(yōu)先以及以架構(gòu)為核心。架構(gòu)在整個軟件開發(fā)中啟到了很好的承上啟下的作用,要設(shè)計(jì)一個好的架構(gòu)必須要求架構(gòu)師既精通技術(shù)又熟悉業(yè)務(wù)。架構(gòu)設(shè)計(jì)完成了整個軟件或系統(tǒng)大概長什么樣子就清楚了。
?
如果說制造一個成年人有兩種方法,一種是從小慢慢制造大;一種則是先直接制造成年人的骨骼,再組建制造來有血有肉。這兩者間就有很大的差別的,第一種方法
使我們在整個生命周期前期很難看到以后這個成年人的大概樣子;而第一種方法骨骼框架先全部出來了,我們就很容易了解到造出來人是什么樣子,也知道了腦袋絕
對不會長在腳底下,也知道了腦袋和脖子是肯定可以銜接上的,不會說腦袋出來了銜接不到脖子上面的問題。而這些就恰恰都是架構(gòu)要解決的問題,一個軟件系統(tǒng)要
劃分為哪些package,哪些component,各自間的接口究竟是什么樣子的。這些都確定好了基本就不會出現(xiàn)由于前面各自為政導(dǎo)致的全部組件開發(fā)出
來后無法集成,本來改在邏輯層實(shí)現(xiàn)組件放到了UI層去實(shí)現(xiàn)等諸多問題。
?
對于全新的系統(tǒng)架構(gòu)設(shè)計(jì)完成后仍然需要進(jìn)行驗(yàn)證,如可以實(shí)現(xiàn)相關(guān)的原型對架構(gòu)進(jìn)行驗(yàn)證。保證架構(gòu)的可用性,通過架構(gòu)優(yōu)先和原型驗(yàn)證就大大降低了整個項(xiàng)目的風(fēng)險(xiǎn)。
?
2.盡早集成
盡早集成或說持續(xù)集成也是有效控制風(fēng)險(xiǎn)的一個重要手段。只有盡早集成才可能及早的發(fā)現(xiàn)缺陷和問題,而缺陷在項(xiàng)目生命周期前期得到修復(fù)的成本將比后期低得多。
?
盡早集成使開發(fā)得進(jìn)度隨時都使可見得,開發(fā)認(rèn)為是否真正完成只需要對Build出來得應(yīng)用做一個簡單得冒煙測試就可以搞清楚。
?
架構(gòu)設(shè)計(jì)也不能一開始就考慮得很全面,因此及早得集成可以發(fā)現(xiàn)架構(gòu)設(shè)計(jì)中不合理得地方,使設(shè)計(jì)得問題及早得暴露并得到修正。
?
及早和持續(xù)得集成可以使測試工作更好得迭代起來,測試可以盡早得介入到項(xiàng)目中,減少了后續(xù)全部功能開發(fā)完成后所需要得較長的系統(tǒng)測試時間。
?
3.Review的改進(jìn)
設(shè)計(jì)開發(fā)階段的Review對開發(fā)的質(zhì)量控制起到重要作用,好的Review至少可以發(fā)現(xiàn)60%的設(shè)計(jì)開發(fā)問題,防止了缺陷的進(jìn)一步泄漏。
?
Review也是白盒測試的一種重要的方法,Review的重點(diǎn)應(yīng)該放在黑盒測試無法觸及到的地方。如代碼的規(guī)范性,可讀性,健壯性,復(fù)用,方法和子函數(shù)的劃分,代碼的可讀性和可維護(hù)性等方面的內(nèi)容。
?
XP結(jié)隊(duì)開發(fā)強(qiáng)調(diào)開發(fā)人員間相互Review代碼以發(fā)現(xiàn)問題,Review應(yīng)該在編碼一開始后就開始啟動和計(jì)劃,而不是等全部編碼結(jié)束了才進(jìn)行。Review還應(yīng)該重點(diǎn)注意的是要盡量多增加Review的次數(shù),減少每次Review的時間。