1、用分階段的生命周期計劃嚴格管理
有人經(jīng)統計發(fā)現,在不成功的軟件項目中有一半左右是由于計劃不周造成的,可見(jiàn)把建立完善的計劃作為第一條基本原理是吸取了前人的教訓而提出來(lái)的。在軟件開(kāi)發(fā)與維護的漫長(cháng)的生命周期中,需要完成許多性質(zhì)各異的工作。這條基本原理意味著(zhù),應該把軟件生命周期劃分成若干個(gè)階段,并相應地制定出切實(shí)可行的計劃,然后嚴格按照計劃對軟件的開(kāi)發(fā)與維護工作進(jìn)行管理。Boehm 認為,在軟件的整個(gè)生命周期中應該制定并嚴格執行六類(lèi)計劃,它們是項目概要計劃,里程碑計劃,項目控制計劃,產(chǎn)品控制計劃,驗證計劃,運行維護計劃。 不同層次的管理人員都必須嚴格按照計劃各盡其職地管理軟件開(kāi)發(fā)與維護工作,絕不能受客戶(hù)或上級人員的影響而擅自背離預定計劃。
2、堅持進(jìn)行階段評審
當時(shí)已經(jīng)認識到,軟件的質(zhì)量保證工作不能等到編碼階段結束之后再進(jìn)行。這樣說(shuō)至少有兩個(gè)理由:第一,大部分錯誤是在編碼之前造成的,例如,根據Boehm 等人的統計,設計錯誤占軟件錯誤的63%,編碼僅占37%;第二,錯誤發(fā)現與改正得越晚,所需付出的代價(jià)也越高。因此,在每個(gè)階段都進(jìn)行嚴格的評審,以便盡早發(fā)現在軟件開(kāi)發(fā)過(guò)程中所犯的錯誤,是一條必須遵循的重要原則。
3、實(shí)行嚴格的產(chǎn)品控制
在軟件開(kāi)發(fā)過(guò)程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價(jià),但是,在軟件開(kāi)發(fā)過(guò)程中改變需求又是難免的,由于外部環(huán)境的變化,相應地改變用戶(hù)需求是一種客觀(guān)需要,顯然不能硬性禁止客戶(hù)提出改變需求的要求,而只能依靠科學(xué)的產(chǎn)品控制技術(shù)來(lái)順應這種要求。也就是說(shuō),當改變需求時(shí),為了保持軟件各個(gè)配置成分的一致性,必須實(shí)行嚴格的產(chǎn)品控制,其中主要 是實(shí)行基準配置管理。所謂基準配置又稱(chēng)基線(xiàn)配置,它們是經(jīng)過(guò)階段評審后的軟件配置成分(各個(gè)階段產(chǎn)生的文檔或程序代碼)?;鶞逝渲霉芾硪卜Q(chēng)為變動(dòng)控制:一切有關(guān)修改軟件的建議,特別是涉及到對基準配置的修改建議,都必須按照嚴格的規程進(jìn)行評審,獲得批準以后才能實(shí)施修改。絕對不能誰(shuí)想修改軟件(包括尚在開(kāi)發(fā)過(guò)程中的軟件),就隨意進(jìn)行修改。
4、采用現代程序設計技術(shù)
從提出軟件工程的概念開(kāi)始,人們一直把主要精力用于研究各種新的程序設計技術(shù)。60年代末提出的結構程序設計技術(shù),已經(jīng)成為絕大多數人公認的先進(jìn)的程序設計技術(shù)。以后又進(jìn)一步發(fā)展出各種結構分析(SA)與結構設計(SD)技術(shù)。實(shí)踐表明,采用先進(jìn)的技術(shù)既可提高軟件開(kāi)發(fā)的效率,又可提高軟件維護的效率。
5、結果應能清楚地審查
軟件產(chǎn)品不同于一般的物理產(chǎn)品,它是看不崢摸不著(zhù)的邏輯產(chǎn)品。軟件開(kāi)發(fā)人員(或開(kāi)發(fā)小組)的工作進(jìn)展情況可見(jiàn)性差,難以準確度量,從而使得軟件產(chǎn)品的開(kāi)發(fā)過(guò)程比一般產(chǎn)品的開(kāi)發(fā)過(guò)程更難于評價(jià)和管理。為了提高軟件開(kāi)發(fā)過(guò)程的可見(jiàn)性,更好地進(jìn)行管理,應該根據軟件開(kāi)發(fā)項目的總目標及完成期限,規定開(kāi)發(fā)組織的責任和產(chǎn)品標準,從而使得所得到的結果能夠清楚地審查。
6、開(kāi)發(fā)小組的人員應該少而精
這條基本原理的含義是,軟件開(kāi)發(fā)小組的組成人員的素質(zhì)應該好,而人數則不宜過(guò)多。開(kāi)發(fā)小組人員的素質(zhì)和數量是影響軟件產(chǎn)品質(zhì)量和開(kāi)發(fā)效率的重要因素。素質(zhì)高的人員的開(kāi)發(fā)效率比素質(zhì)低的人員的開(kāi)發(fā)效率可能高幾倍至幾十倍,而且素質(zhì)高的人員所開(kāi)發(fā)的軟件中的錯誤明顯少于素質(zhì)低的人員所開(kāi)發(fā)的軟件中的錯誤。此外,隨著(zhù)開(kāi)發(fā)小組人員數目的增加,因為交流情況討論問(wèn)題而造成的通信開(kāi)銷(xiāo)也急劇增加。當開(kāi)發(fā)小組人員數為N時(shí),可能的通信路徑有N(N?/FONT>1)/2條,可見(jiàn)隨著(zhù)人數N的增大,通信開(kāi)銷(xiāo)將急劇增加。因此,組成少而精的開(kāi)發(fā)小組是軟件工程的一條基本原理。
7、承認不斷改進(jìn)軟件工程實(shí)踐的必要性
遵循上述六條基本原理,就能夠按照當代軟件工程基本原理實(shí)現軟件的工程化生產(chǎn),但是,僅有上述六條原理并不能保證軟件開(kāi)發(fā)與維護的過(guò)程能趕上時(shí)代前進(jìn)的步伐,能跟上技術(shù)的不斷進(jìn)步。l因此,Boehm提出應把承認不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條基本原理。按照這條原理,不僅要積極主動(dòng)地采納新的軟件技術(shù),而且要注意不斷總結經(jīng)驗,例如,收集進(jìn)度和資源耗費數據,收集出錯類(lèi)型和問(wèn)題報告數據等等。這些數據不僅可以用來(lái)評價(jià)新的軟件技術(shù)的效果,而且可以用來(lái)指明必須著(zhù)重開(kāi)發(fā)的軟件工具和應該優(yōu)先研究的技術(shù)。
來(lái)源:http://www.cnblogs.com/mayingbao/archive/2006/06/01/414463.html
聯(lián)系客服