20年研發管理經驗談(九)

本文繼20年研發管理經驗談(八)html

軟件工程的七條基本原理工具

  自從1968年提出「軟件工程」這一術語以來,研究軟件工程的專家學者們陸續提出了100多條關於軟件工程的準則或信條。美國著名的軟件工程專家 Boehm 綜合這些專家的意見,並總結了TRW公司多年的開
發軟件的經驗,於1983年提出了軟件工程的七條基本原理。 post

  Boehm 認爲,這七條原理是確保軟件產品質量和開發效率的原理的最小集合。它們是相互獨立的,是缺一不可的最小集合;同時,它們又是至關完備的。 編碼

  人們固然不能用數學方法嚴格證實它們是一個完備的集合,可是能夠證實,在此以前已經提出的100多條軟件工程準則均可以有這七條原理的任意組合蘊含或派生。 設計

下面簡要介紹軟件工程的七條原理: htm

1 用分階段的生命週期計劃嚴格管理 對象

  這一條是吸收前人的教訓而提出來的。統計代表,50%以上的失敗項目是因爲計劃不周而形成的。在軟件開發與維護的漫長生命週期中,須要完成許多性質各異的工做。這條原理意味着,應該把軟件生命週期分紅若干階段,並相應制定出切實可行的計劃,而後嚴格按照計劃對軟件的開發和維護進行管理。 Boehm 認爲,在整個軟件生命週期中應指定並嚴格執行6類計劃:項目概要計劃、里程碑計劃、項目控制計劃、產品控制計劃、驗證計劃、運行維護計劃。 blog

2 堅持進行階段評審 生命週期

  統計結果顯示: 大部分錯誤是在編碼以前形成的,大約佔63%; <2> 錯誤發現的越晚,改正它要付出的代價就越大,要差2到3個數量級。 所以,軟件的質量保證工做不能等到編碼結束以後再進行,應堅持進行嚴格的階段評審,以便儘早發現錯誤。 開發

3 實行嚴格的產品控制

  開發人員最痛恨的事情之一就是改動需求。可是實踐告訴咱們,需求的改動每每是不可避免的。這就要求咱們要採用科學的產品控制技術來順應這種要求。也就是要採用變更控制,又叫基準配置管理。當需求變更時,其它各個階段的文檔或代碼隨之相應變更,以保證軟件的一致性。

4 採納現代程序設計技術

  從6、七時年代的結構化軟件開發技術,到最近的面向對象技術,從第1、第二代語言,到第四代語言,人們已經充分認識到:方法大似氣力。採用先進的技術便可以提升軟件開發的效率,又能夠減小軟件維護的成本。

5 結果應能清楚地審查

  軟件是一種看不見、摸不着的邏輯產品。軟件開發小組的工做進展狀況可見性差,難於評價和管理。爲更好地進行管理,應根據軟件開發的總目標及完成期限,儘可能明確地規定開發小組的責任和產品標準,從而使所獲得的標準能清楚地審查。

6 開發小組的人員應少而精

  開發人員的素質和數量是影響軟件質量和開發效率的重要因素,應該少而精。這一條基於兩點緣由:高素質開發人員的效率比低素質開發人員的效率要高几倍到幾十倍,開發工做中犯的錯誤也要少的多; 當開發小組爲N人時,可能的通信信道爲N(N-1)/2, 可見隨着人數N的增大,通信開銷將急劇增大。

7 認可不斷改進軟件工程實踐的必要性

  聽從上述六條基本原理,就可以較好地實現軟件的工程化生產。可是,它們只是對現有的經驗的總結和概括,並不能保證遇上技術不斷前進發展的步伐。所以,Boehm提出應把認可不斷改進軟件工程實踐的必要性做爲軟件工程的第七條原理。根據這條原理,不只要積極採納新的軟件開發技術,還要注意不斷總結經驗,收集進度和消耗等數據,進行出錯類型和問題報告統計。這些數據既能夠用來評估新的軟件技術的效果,也能夠用來指明必須着重注意的問題和應該優先進行研究的工具和技術。

相關文章
相關標籤/搜索