• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件工程與能力成熟度模型CMM

    發布: 2008-1-18 11:13 | 作者: 周伯生 | 來源: qm-iso.com | 查看: 63次 | 進入軟件測試論壇討論

    領測軟件測試網 我們首先討論軟件工程管理的意義。軟件工程管理引起廣泛注意源于20世紀70年代中期。當時美國國防部曾立題專門研究軟件項目做不好的原因,發現70%的項目是因為管理不善而引起,而并不是因為技術實力不夠,進而得出一個結論,即管理是影響軟件研發項目全局的因素,而技術只影響局部。這個結論非常重要。到了20世紀90年代中期,軟件工程管理不善的問題仍然存在。據美國軟件工程實施現狀的調查,軟件研發的情況依然很難預測,大約只有10%的項目能夠在預定的費用和進度下交付。在商用軟件產業中,這一現象尤為嚴重。1995年,美國共取消了810億美元的軟件項目,其中31%的項目未做完就取消了,53%的軟件項目進度通常要延長50%的時間,通常只有9%的軟件項目能夠及時交付并且費用也不超支。軟件項目失敗的主要原因有:需求定義不明確;缺乏一個好的軟件開發過程;沒有一個統一領導的產品研發小組;子合同管理不嚴格;沒有經常注意改善軟件過程;對軟件構架很不重視;軟件界面定義不善且缺乏合適的控制;軟件升級暴露了硬件的缺點;關心創新而不關心費用和風險;軍用標準太少且不夠完善等等。在關系到軟件項目成功與否的眾多因素中,軟件度量、工作量估計、項目規劃、進展控制、需求變化和風險管理等都是與工程管理直接相關的因素。由此可見,軟件工程管理的意義至關重要。

        軟件工程管理和其它工程管理相比有其特殊性。首先,軟件是知識產品,進度和質量都難以度量,生產效率也難以保證。其次,軟件系統復雜程度也是超乎想象的。例如,宇宙飛船的軟件系統源程序代碼多達2000萬行,如果按過去的生產效率一個人一年只能寫1萬行代碼的話,那么需要2000人年的工作量,這是非常驚人的。正因為軟件如此復雜和難以度量,軟件工程管理的發展還很不成熟。

        美國 Carnegie Mellon 大學軟件工程研究所(CMU/SEI)主持研究與開發的CMM/PSP/TSP 技術,為軟件工程管理開辟了一條新的途經。CMM是英文 Capability Maturity Model 的簡稱,意為能力成熟度模型。CMM的本質是軟件管理工程的一個部分。根據軟件生產的歷史與現狀,CMM框架可用5個不斷進化的層次來表達:其中初始層是混沌的過程,可重復層是經過訓練的軟件過程,定義層是標準一致的軟件過程,管理層是可預測的軟件過程,優化層是能持續改善的軟件過程。任何單位所實施的軟件過程,都可能在某一方面比較成熟,在另一方面不夠成熟,但總體上必然屬于這5個層次中的某一個層次。在某個層次內部,也有成熟程度的區別。在一個較低層次的上沿,很可能與一個較高層次的下沿非常接近,此時由這個較低層次向該較高層次進化也就比較容易。反之,在一個較低層次的下沿向較高層次進化,就比較困難。在CMM框架的不同層次中,需要解決帶有不同層次特征的軟件過程問題。因此,一個軟件開發單位首先需要了解自己處于哪一個層次,然后才能夠對癥下藥地針對該層次的特殊要求解決相關問題,這樣才能收到事半功倍的軟件過程改善效果。任何軟件開發單位在致力于軟件過程改善時,只能由所處的層次向緊鄰的上一層次進化,即軟件過程的進化是漸進的,而不能是跳躍的。而且在由某一成熟層次向上一更成熟層次進化時,在原有層次中的那些已經具備的能力還應該得到保持與發揚。

        CMM家族包括CMM集成產品集、SA-CMM(軟件獲取能力成熟度模型)、SE-CMM(系統工程能力成熟度模型)和IDEAL模型。其中CMM集成產品集為工業界和政府部門提供了一系列集成產品,以支持軟件過程和產品的改善;SA-CMM用于單位獲取和采購基于軟件的應用系統的軟件過程,美國國防部、陸軍、海軍和一些商用單位都已采用SA - CMM對他們的獲取能力進行評估;SE-CMM是描述一個單位為保證實現一個好的系統工程的主要元素;而IDEAL模型則是一個單位用于啟動、規劃和實現過程改善措施藍圖的模型,概括了建立一個成功的過程改善項目的必要步驟,其中I代表Initiating(啟動)、D代表Diagnosing(診斷)、E代表Establishing(建造)、A代表Acting(措施)、L代表Learning(學習)。

        美國曾在1995年做過軟件產業成熟程度的調查,發現在美國的軟件產業中,CMM成熟度等級為初始級的竟占70%,其特征是軟件開發過程不能預測,風險度高;為可重復級的占15%,其特征是軟件開發過程需小心謹慎方能避免失;為定義級的所占比例小于10%,其特征是軟件開發過程相當穩定,進展順利且可以預測;為管理級的所占比例小于5%,其特征是軟件過程預測準確、值得信賴;為優化級的所占比例小于1%,其特征是軟件過程能持續改善。國內在這方面的起步則要晚一些,據我所知,目前只有清華鼎新公司的CMM成熟度等級達到可重復級。盡管CMM已經是一套發展相當成熟的方法,但國內要想完全掌握并廣泛付諸實踐,對絕大多數軟件企業來說,可能還需要3~5年的時間。

        需要注意的是,并不是實施了CMM,軟件項目的質量就能有所保障。CMM不是萬能的,它的成功與否,與一個組織內部有關人員的積極參與和創造性活動是密不可分的,而且CMM并未提供實現有關子過程域所需要的具體知識和技能。因此,個體軟件過程PSP(Personal Software Process)也就應運而生。PSP為基于個體和小型群組軟件過程的優化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質量,如何與其他人相互協作等等。在軟件設計階段,PSP的著眼點在于軟件缺陷的預防,其具體辦法是強化設計結束準則,而不是設計方法的選擇。根據對參加培訓的104位軟件人員的統計數據表明,在應用了PSP后,軟件中總的缺陷減少了58.0%,在測試階段發現的缺陷減少了71.9%,生產效率提高了20.8%。PSP的研究結果還表明,絕大多數軟件缺陷是由于對問題的錯誤理解或簡單的失誤所造成的,只有很少一部分是由于技術問題而產生的。而且根據多年來的軟件工程統計數據表明,如果在設計階段注入一個差錯,則這個差錯在編碼階段要引發3~5個新的缺陷,要修復這些缺陷所花的費用要比修復這個設計缺陷所花的費用多一個數量級。因此,PSP保障軟件產品質量的一個重要途徑是提高設計質量。PSP的推出,在軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個標志。

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 模型CMM

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>