如何做好軟體工程質量管理

才智咖 人氣:9.56K

提起如今的IT專案,軟體工程倍受關注。而軟體的質量更是眾人關注的焦點,因為目前還沒有一套完善的評估標準。甚至有人提出,現在的軟體開發根本提不上是“工程”,因為它太稚嫩了,還沒有一套成熟的標準來比照;因而軟體專案極易出現失敗或失誤。大量實踐證明,軟體工程專案的成敗,通常是因為管理問題(協同工作的能力),而不是技術上的問題。要想做一盤“完美”的軟體大餐,質量管理的作用是不言而喻的。

如何做好軟體工程質量管理

在實際的專案質量管理中,質量管理總是圍繞著質量保證(Quality Assurance)過程和質量控制(Quality Control)過程兩方面。這兩個過程相互作用,在實際應用中還可能會發生交叉。正如引言所述,關於軟體的質量,很難下一個非常明確的定義。本文主要針對軟體工程中的質量管理來進行討論。

   做軟體“大餐”的工序

   軟體質量保證(Software Quality Assurance,以下簡稱SQA)的目的是驗證在軟體開發過程中是否遵循了合適的過程和標準。軟體質量保證過程一般包含以下幾項活動:
 
  首先是建立SQA組;其次是選擇和確定SQA活動,即選擇SQA組所要進行的質量保證活動,這些SQA活動將作為SQA計劃的輸入;然後是制定和維護SQA計劃,這個計劃明確了SQA活動與整個軟體開發生命週期中各個階段的關係;還有執行SQA計劃、對相關人員進行培訓、選擇與整個軟體工程環境相適應的質量保證工具;最後是不斷完善質量保證過程活動中存在的不足,改進專案的質量保證過程。
 
  獨立的SQA組是衡量軟體開發活動優劣與否的尺度之一。SQA組的這一獨立性,使其享有一項關鍵權利——“越級上報”。當SQA組發現產品質量出現危機時,它有權向專案組的上級機構直接報告這一危機。這無疑對專案組起到相當的“威懾”作用,也可以看成是促使專案組重視軟體開發質量的一種激勵。這一形式使許多問題在組內得以解決,提高了軟體開發的質量和效率。

   選擇和確定SQA活動這一過程的目的是策劃在整個專案開發過
程中所需要進行的質量保證活動。質量保證活動應與整個專案的開發計劃和配置管理計劃相一致。一般把該活動分為以下五類:

   1)評審軟體產品、工具與設施

   軟體產品常被稱為“無形”的產品。評審時難度更大。在此要注意的一點是:在評審時不能只對最終的軟體程式碼進行評審,還要對軟體開發計劃、標準、過程、軟體需求、軟體設計、資料庫、手冊以及測試資訊等進行評審。評估軟體工具主要是為了保證專案組採用合適的技術和工具。評估專案設施的目的是保證專案組有充足裝置和資源進行軟體開發工作。這也為規劃今後軟體專案的裝置購置、資源擴充、資源共享等提供依據。

   2)SQA活動審查的軟體開發過程


  SQA活動審查的軟體開發過程主要有:軟體產品的評審過程、專案的計劃和跟蹤過程、軟體需求分析過程、軟體設計過程、軟體實現和單元測試過程、整合和系統測試過程、專案交付過程、子承包商控制過程、配置管理過程。特別要強調的是,為保證軟體質量,應賦予SQA阻止交付某些不符合專案需求和標準產品的權利。

3)參與技術和管理評審

   參與技術和管理評審的目的是為了保證此類評審滿足專案要求,便於監督問題的解決。

   4)做SQA報告