概括地說,軟件質量就是“軟件與明確地和隱含地定義的需求相一致的程度”。具體地說,軟件質量是軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發標準、以及所有專業開發的軟件都應具有的隱含特徵的程度。上述定義強調了以下三點:
(1)軟件需求是度量軟件質量的基礎,與需求就一致就是質量不高。
(2)指定的標準定義了一組指導軟件開發的準則,如果沒有遵守這些準則,幾乎肯定會導致質量不高。
(3)通常,有一組沒有顯式描述的隱含需求(如期望軟件是容易維護的)。如果軟件滿足明確描述的需求,但卻不滿足隱含的需求,那麽軟件的質量仍然是值得懷疑的。
影響軟件質量的主要因素,這些因素是從管理角度對軟件質量的度量。可劃分為三組,分別反應用戶在使用軟件産品時的三種觀點。正確性、健壯性、效率、完整性、可用性、風險(産品運行);可理解性、可維修性、靈活性、可測試性(産品修改);可移植性、可再用性、互運行性(産品轉移)。
很多時候,說起軟件質量,就會提到QA和QC。
QA即英文QUALITY ASSURANCE 的簡稱,中文意思是質量保證
QC即英文QUALITY CONTROL的簡稱,中文意義是質量控製
QC和QA的主要區別前者是保證産品質量符合規定,後者是建立體係並確保體係按要求運作,以提供內外部的信任.同時QC和QA又有相同點:即QC和QA都要進行驗證,如QC按標準檢測産品就是驗證産品是否符合規定要求,QA進行內審就是驗證體係運作是否符合標準要求,又如QA進行出貨稽核和可靠性檢測,就是驗證産品是否已按規定進行各項活動,是否能滿足規定要求,以確保工廠交付的産品都是合格和符合相關規定的。
軟件開發各個階段SQA 的目標
軟件開發各個階段SQA 的目標 6-1
需求分析:
確保客戶所要求的係統是可行的。
確保客戶指定的需求確實能夠滿足他的真正 要求。
避免開發者和客戶之間的誤解。
嚮用戶提供為滿足他所提出的需求而實際構建的適當軟件係統。
軟件開發各個階段 SQA 的目標 6-2
軟件規格說明:
通過建立需求跟蹤文檔,確保規格說明書與係統需求保持一致。
確保規格說明書能適當地改進係統的靈活性、可維護性以及性能。
確保已建立了測試策略。
確保已建立了現實的開發進度表,包括 預定的評審。
確保已為係統設計了正式的變更規程。
軟件開發各個階段的 SQA 目標 6-3
設計:
確保已建立用於描述設計的標準,並且確保遵循這些標準。
確保適當地控製並用文檔記錄對設計進行的變更。
確保在係統設計組件已按照商定的準則得到批準之後纔開始編碼。
確保對設計的評審按照進度進行。
軟件開發各個階段的 SQA 目標 6-4編碼
確保代碼遵循已建立的風格、結構和文檔標準。
確保代碼經過適當測試和集成,同時對編碼模塊的修改得到適當的標識。
查看代碼編寫是否遵循既定的進度。
確保代碼評審按照進度進行。
軟件開發各個階段的 SQA 目標 6-5
測試:
確保測試計劃的建立和遵循。
確保創建的測試計劃能夠滿足所有係統規格說明書的要求。
確保經過測試和返工後軟件與規格說明書保持一致。
軟件開發各個階段的 SQA 目標 6-6
維護:
確保代碼和文檔的一致性。
確保對已建立的變更控製過程進行監測,包括將變更集成到軟件的産品版本中的過程。
確保對代碼的修改遵循編碼標準,並且要對其進行評審,不要破壞整個代碼結構。 |