自從1968年提出“軟件工程”這一術(shù)語以來,研究軟件工程的專家學者們陸續(xù)提出了100多條關(guān)于軟件工程的準則或信條。 美國著名的軟件工程專家 Boehm 綜合這些專家的意見,并總結(jié)了TRW公司多年的開發(fā)軟件的經(jīng)驗,于1983年提出了軟件工程的七條基本原理。
Boehm 認為,這七條原理是確保軟件產(chǎn)品質(zhì)量和開發(fā)效率的原理的最小集合。它們是相互獨立的,是缺一不可的最小集合;同時,它們又是相當完備的。
人們當然不能用數(shù)學方法嚴格證明它們是一個完備的集合,但是可以證明,在此之前已經(jīng)提出的100多條軟件工程準則都可以有這七條原理的任意組合蘊含或派生。
下面簡要介紹軟件工程的七條原理:
1 用分階段的生命周期計劃嚴格管理
這一條是吸取前人的教訓而提出來的。統(tǒng)計表明,50%以上的失敗項目是由于計劃不周而造成的。在軟件開發(fā)與維護的漫長生命周期中,需要完成許多性質(zhì)各異的工作。這條原理意味著,應(yīng)該把軟件生命周期分成若干階段,并相應(yīng)制定出切實可行的計劃,然后嚴格按照計劃對軟件的開發(fā)和維護進行管理。 Boehm 認為,在整個軟件生命周期中應(yīng)指定并嚴格執(zhí)行6類計劃:項目概要計劃、里程碑計劃、項目控制計劃、產(chǎn)品控制計劃、驗證計劃、運行維護計劃。
2 堅持進行階段評審
統(tǒng)計結(jié)果顯示: 大部分錯誤是在編碼之前造成的,大約占63%; <2> 錯誤發(fā)現(xiàn)的越晚,改正它要付出的代價就越大,要差2到3個數(shù)量級。 因此,軟件的質(zhì)量保證工作不能等到編碼結(jié)束之后再進行,應(yīng)堅持進行嚴格的階段評審,以便盡早發(fā)現(xiàn)錯誤。
3 實行嚴格的產(chǎn)品控制
開發(fā)人員最痛恨的事情之一就是改動需求。但是實踐告訴我們,需求的改動往往是不可避免的。這就要求我們要采用科學的產(chǎn)品控制技術(shù)來順應(yīng)這種要求。也就是要采用變動控制,又叫基準配置管理。當需求變動時,其它各個階段的文檔或代碼隨之相應(yīng)變動,以保證軟件的一致性。
4 采納現(xiàn)代程序設(shè)計技術(shù)
從六、七時年代的結(jié)構(gòu)化軟件開發(fā)技術(shù),到最近的面向?qū)ο蠹夹g(shù),從第一、第二代語言,到第四代語言,人們已經(jīng)充分認識到:方法大似氣力。采用先進的技術(shù)即可以提高軟件開發(fā)的效率,又可以減少軟件維護的成本。
5 結(jié)果應(yīng)能清楚地審查
軟件是一種看不見、摸不著的邏輯產(chǎn)品。軟件開發(fā)小組的工作進展情況可見性差,難于評價和管理。為更好地進行管理,應(yīng)根據(jù)軟件開發(fā)的總目標及完成期限,盡量明確地規(guī)定開發(fā)小組的責任和產(chǎn)品標準,從而使所得到的標準能清楚地審查。
6 開發(fā)小組的人員應(yīng)少而精
開發(fā)人員的素質(zhì)和數(shù)量是影響軟件質(zhì)量和開發(fā)效率的重要因素,應(yīng)該少而精。這一條基于兩點原因:高素質(zhì)開發(fā)人員的效率比低素質(zhì)開發(fā)人員的效率要高幾倍到幾十倍,開發(fā)工作中犯的錯誤也要少的多; 當開發(fā)小組為N人時,可能的通訊信道為N(N-1)/2, 可見隨著人數(shù)N的增大,通訊開銷將急劇增大。
7 承認不斷改進軟件工程實踐的必要性
遵從上述六條基本原理,就能夠較好地實現(xiàn)軟件的工程化生產(chǎn)。但是,它們只是對現(xiàn)有的經(jīng)驗的總結(jié)和歸納,并不能保證趕上技術(shù)不斷前進發(fā)展的步伐。因此,Boehm提出應(yīng)把承認不斷改進軟件工程實踐的必要性作為軟件工程的第七條原理。根據(jù)這條原理,不僅要積極采納新的軟件開發(fā)技術(shù),還要注意不斷總結(jié)經(jīng)驗,收集進度和消耗等數(shù)據(jù),進行出錯類型和問題報告統(tǒng)計。這些數(shù)據(jù)既可以用來評估新的軟件技術(shù)的效果,也可以用來指明必須著重注意的問題和應(yīng)該優(yōu)先進行研究的工具和技術(shù)。
【?發(fā)表評論?0條?】