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

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

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

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

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

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

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


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

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

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

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

          圖4


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

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


          圖5

               這5個級別包含18項內(nèi)容
                    5(優(yōu)化):過程變化管理、技術(shù)變化管理、缺點防止;
                    4(管理):軟件質(zhì)量管理、過程定量化管理; 
                    3(確定):仔細(xì)觀察、整體協(xié)調(diào)、軟件生產(chǎn)工程、集成軟件管理、訓(xùn)練規(guī)劃、組織過程確定、組織過程中心點;
                    2(重復(fù)):軟件構(gòu)形管理、軟件質(zhì)量保證、軟件合同管理、軟件工程跟蹤和統(tǒng)籌、軟件工程計劃、需求管理;
                    1(初始):經(jīng)驗和個人行為。

               還可以進(jìn)一步分解,例如:軟件工程跟蹤和統(tǒng)籌可分解為13項活動。軟件生產(chǎn)組織的這13項活動水平,可進(jìn)行評分;0分;1分;2分……9分;10分。比如第6項,軟件計劃費用跟蹤并采取修正。評分標(biāo)準(zhǔn)是0~10,分為:差-0分;弱-2分;中等-4分;基本合格-6分;合格-8分;優(yōu)秀-10分。事實上,每一級別、每一項內(nèi)容都有豐富的內(nèi)涵,為CMM實施奠定了基礎(chǔ)。
               目前,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 );
          * 系統(tǒng)工程能力成熟度模型(SE-CMM: Systems Engineering Capability Maturity Model );
          * 一體化生產(chǎn)研制能力成熟度模型( IPD-CMM :Integrated Product Development Capability Maturity Model )。
          建立這些模型的指導(dǎo)思想和方法論,都是一樣的:評估能力,發(fā)現(xiàn)問題,幫助改進(jìn)。

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

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

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


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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宜都市| 大关县| 尼木县| 华池县| 辽宁省| 沙田区| 开平市| 拜城县| 洪江市| 澄城县| 柳州市| 美姑县| 冀州市| 沙洋县| 成都市| 桂平市| 灵宝市| 阿克苏市| 通榆县| 滁州市| 林口县| 安平县| 延长县| 英山县| 浦江县| 高清| 纳雍县| 靖安县| 金秀| 广汉市| 九台市| 大英县| 闽清县| 林周县| 潜山县| 内乡县| 巴中市| 临海市| 沂水县| 高雄县| 澜沧|