軟件開發(fā)項目具有風(fēng)險大,周期長的特點,由于行業(yè)的復(fù)雜性,對于很多開發(fā)小組,人員的更替是十分頻繁的,而軟件開發(fā)項目的特點又恰恰是需要統(tǒng)一定義的信息非常多,包括組件名、對象名、變量名、界面、版本號、配置文件、功能清單等等,而人員的更替往往帶來的結(jié)果是是新成員需要長時間的適應(yīng)項目規(guī)范、定義等,而由于定義混淆而造成的編碼錯誤占軟件開發(fā)錯誤很大比重,因此,軟件項目組如果能有一個很好的規(guī)范定義體系,可以大幅度提高軟件開發(fā)的效率及軟件質(zhì)量。
由于面向?qū)ο蟮能浖_發(fā)模式在減少代碼冗余,解除項目組成員過多耦合等軟件項目管理問題中具有特殊的優(yōu)勢,現(xiàn)代的絕大多數(shù)軟件開發(fā)項目都采用了此種模式進行開發(fā)。 在此種模式下,數(shù)據(jù)層、業(yè)務(wù)層、界面層的對象被分別封裝在了各自的組件中,有不同的項目組成員負責(zé)編碼及調(diào)試工作,因此在軟件開發(fā)小組中,經(jīng)常會進行組件間的方法調(diào)用、不同成員編碼檢查等工作,但一個令人痛苦的問題是,現(xiàn)在的變量命名都是用英文字母,結(jié)果是變量的含義在不同人理解中會千奇百怪,難以理解的程序八成是對變量或方法的不理解,尤其對于剛進入小組的程序員。
我們的做法是,在軟件架構(gòu)設(shè)計時,即按照對象所屬的不同功能區(qū)域進行編號,如U01表示用戶管理系統(tǒng)用戶對象基類等,在擴展開,可以用U01_1表示用戶對象的一個子類,比如管理員用戶,在命名設(shè)計中,還可以添加U01_1_Admin來幫助理解對象內(nèi)容,而在軟件設(shè)計的編碼時,也按照此類編碼進行,對象處于不同層次時,還可以在前面加輔助識別碼,如B_U01_1表示位于業(yè)務(wù)層的用戶對象基類。這樣成員間就很容易相互理解變量的含義了。
對于對象關(guān)聯(lián)的現(xiàn)象,也可以用編碼來解決,比如部門用U02表示,而對象所屬部門就可以表示為U01.U02_Dept.
現(xiàn)代的大部分軟件項目都采用了分層軟件開發(fā)方式,同一個對象會出現(xiàn)數(shù)據(jù)層、業(yè)務(wù)層、界面層等出現(xiàn),采用了此種編號方式后,可以實現(xiàn)界面層、業(yè)務(wù)層、數(shù)據(jù)層甚至是數(shù)據(jù)庫的對象編號統(tǒng)一,這樣一套編號體系可以很容易的進行演繹及繼承,大幅度的降低編號的工作量。項目經(jīng)理在組織項目管理的其他工作,如架構(gòu)設(shè)計、功能設(shè)計、測試方案、進度跟蹤、實施測試等工作時,也可以采用此統(tǒng)一的編碼體系,以提高效率及質(zhì)量。