隨筆-1  評論-1  文章-7  trackbacks-0

          軟件能力成熟度是屬于軟件質量和軟件生產組織管理問題。
          這里,先給出軟件質量概念;然后討論軟件質量模型;最后評論軟件質量控制方法。

          1.軟件質量概念和問題
             軟件質量是一模糊的、捉摸不定的概念。對于什么是產品質量,可以從以下幾個觀點來看:
          * 透明性觀點:質量是產品一種可以認識但不可定義的性質;
          * 使用者觀點:質量是產品滿足使用目的之程度;
          * 制造者觀點:質量是產品性能和規格要求的符合度;
          * 產品觀點:質量是聯結產品固有性能的紐帶;
          * 基于價值觀點:質量依賴于顧客愿意付給產品報酬的數量。

               概括地說,有三類方法來改進軟件質量:控制軟件生產過程、提高軟件生產者組織性和軟件生產者個人能力,已經應用的著名的方法有:
          凈化軟件工程(Clearnroom Software Engineering):這是把軟件生產過程,放在統計質量控制下的軟件工程管理過程。其特點是:勞動質量管理、重視生產過程和定量分析。這一方法的本質是干干凈凈生產,以求提高產品質量。
          * 評估軟件能力成熟度:用軟件能力成熟度模型(CMM:Capability Maturity Model)來評估軟件生產組織研制軟件能力的成熟度。CMM是從軟件生產組織過程角度,來評估其生產能力和技術水平。軟件能力成熟度分5級,當前一般的軟件生產組織的軟件能力成熟度水平沒超過3級。
          * 提高軟件生產力和個人技能:用人事軟件過程(PSP:Personal Software Process)作為一個工具和方法,它給軟件工程師提供了測量和分析的工具,并幫助他(她)們理解自己的軟件生產水平和技巧的高低,以求得到提高。

               軟件質量和很多研究領域及實際問題有關,主要相關領域和因素有:
               需求工程(RE:Requirements Engineering), 理論上,需求工程是應用已被證明的原理、技術和工具,幫助系統分析人員理解問題或描述產品的外在行為。
               軟件復用(SR:Software Reuse), 定義為利用工程知識或方法,由一已存在的系統,來建造一新系統, 這種技術,可改進軟件產品質量和生產率。還有軟件檢查、軟件計量、軟件可靠性、軟件可維修性、軟件工具評估和選擇等。

          2.軟件質量模型 
               McCall模型
               McCall,J.A. 等人對軟件質量因素進行了研究,將軟件需求按照3個緯度對11個軟件質量因素進行分類。其模型分為三層:因素、準則、計量。這就是說,軟件質量是正確性、可靠性、效率……的函數。正確性、可靠性、效率……稱之為軟件質量因素,或軟件質量特征。每一因素又由一些準則來衡量,例如正確性由跟蹤性、完全性、相容性來判斷;而每一準則又有一些定量化指標來計量。McCall模型可用下圖表達。

                            
               軟件質量特征,在國際標準化組織軟件質量測量標準(ISO9126)“信息技術----軟件產品評估----和應用指南”中,給出了一些定義(和McCall,J.A. 等人軟件質量因素不盡相同)如下表1。


               還有人提出了軟件質量計量模型(SQM:Software Quality Metrics Model)。軟件質量計量模型是把軟件質量因素-準則-計量三者綜合的軟件質量結構模型;其思路如圖2示。
          圖2  

               可把SQM改為目標規則檢查計量層次結構(GRCM)模型:例如評估可讀性、可擴充性。
               規則1:可讀性----目的在于理解類結構,界面和方法。 
               規則2:可擴性----目的在于可以擴充,保持先進性。 
               要進行:
                    可讀性檢查.1
                    查看在一個類中方法數目是否小于20 * 計量1.1 方法個數(NIS) 
                    可讀性檢查.2
                    查看在一個類層次機構層次數是否小于6 * 計量2.1 層次結構的層數(HNL) (從底層開始數)
                    可讀性檢查.3 
                    查看在一個子類服務于子類是否合理 * 計量3.1 方法不理會需求的個數(NMO)
                     ……
                一般的思路是:
               在GRCM結構中,因素(Factor)對應于目的(Goal);準則(Criteria)對應于規則(Rules)。關于計量(Metric)可以參考[2]。

               SQM綜合模型和ISO9216對比如圖3所示:
            圖3

               GRCM模型在軟件工程過程中的作用和地位如圖4所示:

          圖4


          實際上,軟件質量特性通過有形的質量載體性質表達。而這可由一些計量(定量化)指標表示。

          軟件生產部門能力成熟模型 Capability Maturity Model(CMM)
          1993年,美國防部設在卡內基-梅隆大學的軟件研究所(SEI)正式發表了能力成熟度模型。這是評估軟件生產部門(組織、廠家)軟件生產能力成熟度的模型,是從軟件生產組織過程角度,來評估其達到的水平級別。它分5級(如圖5),當前我國一般的軟件生產組織的水平沒超過3級。 


          圖5

               這5個級別包含18項內容
                    5(優化):過程變化管理、技術變化管理、缺點防止;
                    4(管理):軟件質量管理、過程定量化管理; 
                    3(確定):仔細觀察、整體協調、軟件生產工程、集成軟件管理、訓練規劃、組織過程確定、組織過程中心點;
                    2(重復):軟件構形管理、軟件質量保證、軟件合同管理、軟件工程跟蹤和統籌、軟件工程計劃、需求管理;
                    1(初始):經驗和個人行為。

               還可以進一步分解,例如:軟件工程跟蹤和統籌可分解為13項活動。軟件生產組織的這13項活動水平,可進行評分;0分;1分;2分……9分;10分。比如第6項,軟件計劃費用跟蹤并采取修正。評分標準是0~10,分為:差-0分;弱-2分;中等-4分;基本合格-6分;合格-8分;優秀-10分。事實上,每一級別、每一項內容都有豐富的內涵,為CMM實施奠定了基礎。
               目前,SEI研制和保有的能力成熟度模型有:
          * 軟件集成能力成熟度模型(CMMISM: CMM IntegrationSM );
          * 軟件能力成熟度模型(SW-CMM :Capability Maturity Model(r) for Software);
          * 人力能力成熟度模型( P-CMM :People Capability Maturity Model );
          * 軟件采辦能力成熟度模型(SA-CMM:Software Acquisition Capability Maturity Model );
          * 系統工程能力成熟度模型(SE-CMM: Systems Engineering Capability Maturity Model );
          * 一體化生產研制能力成熟度模型( IPD-CMM :Integrated Product Development Capability Maturity Model )。
          建立這些模型的指導思想和方法論,都是一樣的:評估能力,發現問題,幫助改進。

          3.軟件質量—系統工程問題和系統方法
               軟件質量是一復雜系統工程問題,它必需用系統方法(Systems Approach)來研究。軟件研制是一過程,是以個人智力為基礎的有組織的團隊性生產活動。這一過程可用水滴模型或螺旋模型來描述,基本內容是:需求、設計、編程、測試、運用,如圖6所示。
                 圖6

               用全面質量管理思想方法,把軟件研制和運用過程全壽命全系統科學的管理,這就是我們的軟件質量管理觀點和思路,可稱之為軟件質量系統管理。這是保證軟件質量的必由之路。根本原因在于,影響軟件質量的因素太多、太復雜。軟件質量系統管理,是要把上述水滴模型的每一階段、每一步驟都管起來。例如,對設計、編程和測試活動的質量保證,如圖7所示。
                 圖7

               圖7中,拿顯微鏡這位老專家,代表質量系統管理組,根據質量管理規范、程序和方法,實施其質量管理職責。重要的問題在于質量管理規范、程序和方法制定與選擇,必需從三個方面進行研究和實施:
          * 軟件生產組織;
          * 軟件生產過程;
          * 軟件生產者個人。 
               給定軟件生產組織環境和個人水平,研究軟件生產規律,通過生產過程質量特性計量,反過來對軟件質量進行控制。把軟件質量控制和軟件可靠性、可維修性、測試和監控接合起來。當前,對軟件生產組織可用CMM方法,評估其能力成熟程度; 用個人能力軟件評價其軟件生產水平。然后,再深入軟件生產過程中,研究軟件計量(定量)和質量控制方法,就能夠取得成功。


          posted on 2007-08-28 18:03 亂游 閱讀(971) 評論(0)  編輯  收藏 所屬分類: 軟件能力成熟度模型 - Capability Maturity Model(CMM)

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 九江市| 历史| 长岛县| 拉萨市| 内乡县| 浙江省| 新龙县| 泗阳县| 新泰市| 隆林| 大石桥市| 广元市| 达州市| 蒙自县| 盐边县| 九寨沟县| 岳普湖县| 玛纳斯县| 柳林县| 旬阳县| 南丹县| 潞西市| 米脂县| 厦门市| 前郭尔| 台山市| 瑞金市| 旬邑县| 安龙县| 望都县| 武宣县| 卢湾区| 通城县| 石林| 阿鲁科尔沁旗| 开原市| 榆树市| 绍兴市| 镇江市| 汪清县| 永安市|