谷瀟
【關鍵詞】軟件質量控制 軟件度量 質量評估
1 軟件度量
信息化的發展突飛猛進,逐步的滲透在各行各業中,人們也慢慢認識到軟件質量的重要性。只有擁有讓顧客滿意的軟件工具才能在激烈的市場競爭中占據優勢地位并且開拓更大的事業規模。但是近幾年軟件的發展卻不盡如人意,出現了許多低劣的軟件產品,導致市場秩序十分混亂,也迫使研究人員開始關注軟件的質量和軟件質量的評估方法。要研究軟件質量控制和定量評估,那么搞清楚軟件質量的含義至為關鍵。它不是我們在生活中我們常常向周圍朋友推薦某個有意思的軟件時所說的,某某軟件特別好用,擁有定位功能,還能智能識別等等,這些軟件的評價僅僅可以作為個人使用的體驗而距離軟件質量的科學定量評價還很遠。國際社會上的權威機構國際標準化組織對將軟件質量下過科學的定義,認為軟件質量是反映的軟件產品滿足規定需求和潛在需求能力的特征和特性的總和。在我看來,軟件質量是指一個內涵外延都很大的概念,它反映了軟件的方方面面,
是客觀與主觀的統一,不僅是軟件客觀上所提供的消費者的需求。還包含主觀上消費者使用后的用戶體驗。每個人的愛好不一樣、需求不一致,所以對于某一個軟件所提供的功能期望值和體驗效果也不一樣。在正確的理解軟件質量的概念后再考慮改善軟件的相關質量屬性才會更有效的提高軟件的整體質量,如此方能事半功倍。
在研究中,為實現定量評估,研究人員引入了數學函數度量,函數輸入和輸出均為一個數值。輸入不同的代表著軟件質量的變量,得出的結論就可以反映出給定屬性對軟件質量影響的程度。通過函數關系,幫助人們更容易理解軟件的特性和以此來描述。當需要評估一個新軟件質量時,軟件度量的引入必可或缺。當把所有影響軟件的質量要素的數值全部輸入函數中去,就能得出所有對軟件質量的影響因素和其影響大小,在此基礎上綜合分析所有數據,那么軟件的定量的質量評估也很容易做到了。所以,度量計算和度量分析的基礎都是數據收集,它也是最困難的過程,作為完整的度量過程的第一步,在理想情況下,數據收集是在項目中進行,但遺憾的是,現實在不同因素的干擾下很少能做到這樣,為了得到最有效最精準的數據,人們只能在項目中不斷的一次又一次的做調研,直至完成數據收集。
2 軟件質量的度量和建立軟件質量評估體系
軟件的質量控制應該在在整個軟件生存周期中而不僅僅是已經開發好的軟件。那么如何實現在軟件產品完成之前進行質量評估,在將度量的數學函數引入之前,是沒有辦法通過定量的方式來評價軟件的內部各個屬性,而依靠的是消費者使用后的主觀評價。這樣對于軟件產品的質量評價就存在著很大的主觀性并且無法再消費者使用之前有效的對其進行評測。軟件度量的出現徹底扭轉了這一劣勢,通過用數學函數定量的分析在軟件開發過程中對軟件就進行質量控制,提高了軟件產品的質量。在軟件研究人員的系統研究中,發現要進行科學軟件質量度量分析,必須要建立軟件質量評估體系。首先,建立軟件質量需求規格說明,每個軟件的開發都是順應當下社會發展和人民一定需求而產生的,因此,每個軟件都有自身所需要滿足的特定目的。這就要求軟件的研發人員必須在軟件的開發前完成質量需求規格,軟件的開發研制就有了方向,并且著還是未來軟件評估的質量的基礎。第二步驟是準備度量,在準備評測度量時,特別需要注意的是當遇到一些無法直接測量軟件質量需求時,就可以先確定相關的度量元。例如一些相關的軟件質量特性和子特性的描述軟件就會無法直接度量。同時要具體問題具體分析,不同的軟件的應用環境所確定軟件的度量元是不同的,建立軟件開發中各個階段的度量元、度量特性的發硬模型,由此確定合理的評估準則。第三步驟就是最終實現軟件質量的度量。在前文中提過,數據收集在軟件質量度量的過程中十分重要,沒有一份準確的數據則后面的度量分析、評價都無法開展。因此在數據收集過程中,首先要確定收集的數據條件,再了解數據的存放方法。由于全面實施度量的風險較大,因此在大范圍的實施度量前先進行小范圍的數據收集和度量計算,之前必須確認數據樣本具有隨機性和保證最小樣本數等原則,然后再檢查所收數據量的一致與否、檢查樣本。其次,分析質量度量結果。分析質量報告最重要的是對度量元的分析,分析當前的度量中可以用來預測軟件質量的屬性值。根據預測的數值決定是否要還要對軟件某一特性進行進一步的度量分析。最后是確認階段,對比預測值和最后實際中的度量值,判斷預測的度量值是否準確地測定了它們的相關質量要素。
3 軟件質量定量綜合評估
在對收集的數據仔細分析的基礎上,就可以對軟件質量的程度給出評價了。至于評價的方法多種多樣,如常見的達標法,達標,顧名思義就是符合標準的意思,當軟件符合要求的指標則為合格;不符就是不合格,除了達標法、還有評級法、評分法即使評分法、評級法將模糊的標準改為評定指標的具體數值,有所進步,但是這些方法的特點依舊沒有擺脫簡單容易操作但是很難保障結果科學性和公正性缺點。所以擺在我們面前的難題就是評估一些很難定量化的質量特性,由于每個人對于軟件的質量的各種屬性看法褒貶不一,很難直接量化,所以要建立一種可以對模糊屬性進行量化和定量評價的軟件質量評價體系。本文所要提到的就是模糊綜合評估模型。在這種模型下只有對各要素權重進行賦予一定的代表值才能實現有效的軟件質量評估。賦值方法是通過從定性數據信息得到定量數值,變定性為定量,那么怎樣實現權重的分配方案,本文選擇的是運用層次分配權重分析方法。它能判斷不完全和不確定屬性的可能性大小,一旦這些非數值型特性的被輸入就會被轉化為比例標度和絕對標度,進而就可求出質量屬性的權重。
4 軟件質量全面管理
上文主要是分析了所有軟件質量度量的相關的方法和技術,但方法和技術都是獲取數據的手段,這些數據是未來工作人員分析、研究、評估軟件質量的基礎。在擁有的數據的基礎上,如果我們想要實實在在的提高軟件的質量就只有從影響質量的幾大因素著手。據研究結果稱,影響質量的因素是過程、技術和人。在這些因素中,最容易實現的途徑就是從過程入手,技術的提高和人的管理都只有在有效的過程管理下,才可能發揮其最大成果。所以,鑒于管理過程對人和技術的巨大影響作用,要有效的控制軟件質量就必須制定軟件質量全面管理的體系。
制定和實施全面的質量管理,在設定好的軟件質量目標的基礎上進行設計制作,并且還要有詳細的關于流程的規定,此外,盡可能的排除質量環節中可能存在的缺陷隱患。軟件質量管理能力提高必然會提高軟件的質量,也容易贏得用戶的滿意度。全面質量管理是一套系統的控制、提高質量的管理技術和科學技術。作為一種管理的技術,他不是新生產物,產生于上世紀50年代發展到今天已經相當的成熟。在剛剛興起之時,軟件質量管理由于互聯網通訊技術還沒有實現普及,因此,直到70年代開始才逐漸的被人們重視和研究的,在發展的過程中,全面管理走過了從測試成品質量,其后引入了度量函數概念變成對產品生成過程的質量控制的發展歷程。為實現在軟件業上開展全面質量管理,確定了全面管理的基本的規則和實施指南。當前國際上較為流行的主要的二個成果是:CMM模型和S09000系列標準。但是雖然這兩個模型是國際上為大家公認的,但是并不是指它沒有缺點,完美無缺的。筆者認為至少這兩個軟件都存在以下幾個缺陷:有些人持著拋開商業目標光談質量的觀點,這種觀點顯然存在著問題,管理的重要性不必贅述,但是目標的重要性卻被很多人都忽略掉了,管理的最終也是要實現目標,一心追求全面高質量的管理而完全不管不顧商業目標是沒有任何現實意義的,未來發展也會受阻,因此在筆者看來,一套實用主義的“全面軟件質量管理”模型才是真正能夠令其發揮作用的。眾所周知,缺陷的對立面是質量,越高質量軟件意味著越少的軟件缺陷,所以作為工作人員就要盡量的減少缺陷進而提高質量,而減少缺陷的最有效的方法就是將高質量貫徹在于開發過程之中,通過質量控制監視軟件內部質量過程,盡可能減少質量環節中可能存在的缺陷隱患。
參考文獻
[1]李華旺.航天嵌入式現代工業小衛星軟件容錯設計及測試系統[D].中國科學院(博士論文),2001.
[2]劉孟仁等譯.卡耐基梅隆大學軟件工程研究所編著,能力成熟度模型(CMM)軟件過程改進指南[M].北京:電子工業出版社,2001.
[3]石柱.何新貴.基于模糊技術的軟件質量評價及可靠性評估[D],北京航空航天大學博士,2000.
[4]石柱.何新貴.模糊軟件質量綜合評價[J].系統工程與電子技術,2002,24. (12):121-122.
[5]李懷璋,王青.基于IS09000和CMM的軟件質量管理系統的研究[J].中國科學院研究所,2001,25-27.