保證軟體品質,是一個貫穿整個軟體生存周期的重要問題。在早期,由于忽視了品質管理,導緻軟體項目管理的嚴重問題,以至于在軟體開發中出現軟體危機。重視軟體品質管理,規範軟體品質管理體系,對整個軟體項目管理起到非常重用的促進作用。本文主要通過對管理政策的介紹,來達到提高軟體品質的目的。
在軟體開發團隊中,由于品質被視為軟體産品的生命。那麼什麼是軟體品質?軟體品質:與軟體産品滿足明确或隐含需求的能力有關的特征和特征的總和,它反映了三個方面的問題:
1、能滿足客戶需求的特性之全體;
2、利用各種品質标準體系,指導軟體開發人員開發軟體;
3、是否滿足使用者隐含需求。軟體品質管理的目的是建立對項目的軟體産品品質的定量了解,和實作特定的品質目标;着重于确定軟體産品的品質目标、制定達到這些目标的計劃,并監控及調整軟體計劃、軟體工作産品、活動及品質目标以滿足顧客及最終使用者對高品質産品的需要及期望。
一、軟體品質管理的現狀
在現實軟體開發過程中,許多軟體産品卻時常陷入品質低下、甚至軟體不符合使用者需求的旋渦。究其根源,有以下幾個方面:
1、軟體品質保證技術(審查、複審和測試)沒有貫穿到整個軟體開發全過程中去。
2、在于這些軟體産品對其品質内涵的把握,僅僅停留在減少軟體運作錯誤、加強軟體測試,避免軟體缺陷的一般性層面,而對整個軟體開發生命周期的全過程品質管理,缺乏總體架構。
3、測試管理的一些誤區也會導緻嚴重的品質問題。沒有按照測試原則進行盡早測試、連續測試與自動化測試。是測試本省變得的形式化。
4、品質是全過程的,不僅是測試。品質管理者應該将品質控制與保證着眼于整個軟體開發生存周期内。而事實上,品質管理者僅僅認為通過嚴格的測試就可以保證軟體品質。
二、軟體品質保證
1、在軟體開發中,可以采用以下措施保證軟體的品質;
2、審查。在生命周期每個階段結束之前,都要使用标準對該階段生産的軟體配置進行嚴格的技術審查;
3、複查和管理複審。複查是檢查已有的材料,以斷定某階段的工作是否能夠開始或繼續;管理複審是向開發組織或使用部門的管理人員,提供有關項目的總體狀況、成本和進度等方面的情況,以便他們從管理角度對開發工作進行審查。
4、測試。通過測試計劃、測試過程與測試結果對軟體品質進行保證;
5、軟體品質保證活動。以上各項活動内容都須寫入品質保證計劃,并由品質保證小組監督實施。由此可見,品質保證既是技術活動,也是管理活動;
6、軟體評審。評審是以提高軟體品質為目的的技術活動。要通過對軟體的規格說明、可靠性、性能實作、可修改性、可擴充性、可移植性、可測試性、可複用性以及評審的實施等方面對軟體項目做好嚴格的評審,以確定軟體品質;
7、采用品質保證标準。品質标準用于實作品質管理的組織結構、責任、規程、過程和資源。采用ISO品質保證模型。可以用于品質計劃、品質控制、品質保證和品質改經所需的組織結構、規程、過程和資源;
8、結構化的軟體測試。經過嚴格的軟體測試,盡可能找出軟體計劃、總體設計、詳細設計、軟體編碼的錯誤,并加以糾正,才能提高軟體的品質。測試要覆寫整個軟體的生存周期,而不限于程式的編碼階段。
9、軟體維護。采用結構化維護,完整的軟體配置為基礎,通過完善性維護、糾錯性維護、适應性維護及預防性維護提高軟體品質。
三、品質管理實施
1、項目進度的品質保證
項目進度是項目進行是否順利的最直覺表現。顯然在項目開始之前,項目開發計劃是必須的。如果項目開發計劃的制定的是完全合理的,那項目進度也就真正表達了項目與最終的傳遞使用之間的距離,然而要制定完全合理的項目開發計劃幾乎不太可能。可見要保證項目進度,首先要保證項目開發計劃盡可能合理。
2、項目開發各階段的品質保證
2.1需求分析
需求分析是開發人員對系統需要做什麼的定義過程。從系統分析的經驗來看,這個過程往往是個循序漸進的過程,一次性對系統形成完整的認識是困難的。隻有不斷地和客戶領域專家進行交流确認,方能逐漸明了使用者的需求。從系統開發的過程得知,系統分析時犯下的錯誤,會在接下來的階段被成倍的放大,越是在開發的後期,糾正分析時犯下的錯誤所花費的代價越是昂貴,也越發影響系統的工期和系統的品質。
2.2系統設計
優良的體系結構應當具備可擴充性和可配置性,而好的體系結構則需要好的設計方法,自然設計選型成為了系統設計首要的工作,究竟是采用哪種設計方法好呢?
對于設計選型不能一概而論,需要針對項目的結構、項目的特征和使用者的需求來分析,同樣也要考慮到參與項目小組成員的素質,如果其中大部分都沒有從事過面向對象的設計且項目進對緊迫,這樣沒有多餘的時間來教育訓練小組成員來掌握面向對象的設計方法,盡管衆所周知面向對象設計方法的優勢,我們還是不如采用面向過程的方式(除使用者指定開發設計方式外)可以減少項目承擔的技術風險。
2.3實作
實作也就是編碼過程。這裡不僅包括代碼的産生,同時也包括測試用例的産生。針對上一階段提供詳細設計,程式員開始編碼并且調試程式,測試人員則根據設計進行測試用例的設計,設計出來的用例需要得到項目組成員認可由項目經理稽核通過才能進入配置庫。同時程式員調試完程式送出測試人員進行程式正确性檢測。
2.4文檔管理
文檔維護主要是配置管理小組的工作。
如何保證文檔的全面性,使其真正為項目的進度提供保證,又不因為文檔的寫作而耽誤項目的進度,這仍然是一個比較難解決的問題。解決此問題,其核心仍然是個“度”的問題。
配置管理小組真正核心的工作是對文檔的組織管理。根據文檔的不同,文檔的來源也不同,有些是通過品質保證小組經過複審之後轉交給配置管理小組,有些則會直接從文檔的出處到達配置管理小組。文檔的管理是一個非常煩瑣的工作,但是長遠來看它不僅使項目的開發對單個主要人員的依賴減少,進而減少人員流動給項目的帶來的風險,更重要的是在項目進行到後百分之十的時候起到拉動項目的作用。
總之,建立一個完善的項目管理體系和項目品質管理标準,對軟體項目的管理與品質有着重要的意義和決定性。合理并且有效地運用
項目管理軟體,不僅可以讓我們工作井然有序地進行,還能最大程度保證項目目标的達成。我推薦使用
CORNERSTONE,它提供了包括任務/需求/測試管理、疊代規劃、缺陷追蹤、報表統計、團隊協作、WIKI、共享檔案和月曆等功能子產品,現在申請20人以下團隊即可免費使用。