軟體質量因素的定義
1.正確性(Correctness):系統滿足規格說明和用戶目標的程度,即在預定環境下能正確地完成預期功能的程度;
2.健壯性(Robustness):在硬體發生故障、輸入的數據無效或操作錯誤等意外環境下,系統能做出適當回響的程度;
3.效率(Efficiency):為了完成預定的功能,系統需要的計算資源的多少;
4.完整性(Efficiency)或安全性(Security):對未經授權的人使用軟體或數據的企圖,系統能夠控制(禁止)的程度;
5.可用性(Usability):系統在完成預定應該完成的功能時令人滿意的程度;
6.風險(Risk):按預定的成本和進度把系統開發出來,並且為用戶所滿意的機率;
7.可理解性(Comprehensibility):理解和使用該系統的容易程度;
8.可維修性(Maintainability):診斷和改正在運行現場發現的錯誤所需要的工作量的大小;
9.靈活性(Maintainability)或適應性(Adaptability):修改或改進正在運行的系統需要的工作量的多少;
10.可測試性(Adaptability):軟體容易測試的程度;
11.可移植性(Portability):把程式從一種硬體配置和(或)軟體系統環境轉移到另一種配置和環境時,需要的工作量多少。有一種定量度量的方法是:用原來程式設計和調試的成本除移植時需用的費用;
12.可再用性(Reusability):在其他套用中該程式可以被再次使用的程度(或範圍);
13.互運行性(Interoperability):把該系統和另一個系統結合起來需要的工作量的多少。
標準
(1)
軟體需求是度量軟體質量的基礎,與需求不一致就是質量不高。
(2)指定的標準定義了一組指導軟體開發的準則,如果沒有遵守這些準則,幾乎肯定會導致質量不高。
(3)通常,有一組沒有顯式描述的隱含需求(如期望軟體是容易維護的)。如果軟體滿足明確描述的需求,但卻不滿足隱含的需求,那么軟體的質量仍然是值得懷疑的。
QA和QC
QA即英文Quality Assurance的簡稱,中文意思是質量保證 ;
QC即英文Quality Control的簡稱,中文意義是
質量控制。
QA和QC的主要區別前者是保證產品質量符合規定,後者是建立體系並確保體系按要求運作,以提供內外部的信任.同時QC和QA又有相同點:即QC和QA都要進行驗證,如QC按標準檢測產品就是驗證產品是否符合規定要求,QA進行內審就是驗證體系運作是否符合標準要求,又如QA進行出貨稽核和可靠性檢測,就是驗證產品是否已按規定進行各項活動,是否能滿足規定要求,以確保工廠交付的產品都是合格和符合相關規定的。
軟體開發
需求分析
確保客戶所要求的系統是可行的。
確保客戶指定的需求確實能夠滿足他的真正 要求。
避免開發者和客戶之間的誤解。
向用戶提供為滿足他所提出的需求而實際構建的適當軟體系統。
軟體規格說明
通過建立需求跟蹤文檔,確保規格說明書與系統需求保持一致。
確保規格說明書能適當地改進系統的靈活性、可維護性以及性能。
確保已建立了測試策略。
確保已建立了現實的開發進度表,包括 預定的評審。
確保已為系統設計了正式的變更規程。
設計
確保已建立用於描述設計的標準,並且確保遵循這些標準。
確保適當地控制並用文檔記錄對設計進行的變更。
確保在
系統設計組件已按照商定的準則得到批准之後才開始編碼。
確保代碼遵循已建立的風格、結構和文檔標準。
確保代碼經過適當測試和集成,同時對編碼模組的修改得到適當的標識。
查看代碼編寫是否遵循既定的進度。
測試
確保創建的測試計畫能夠滿足所有系統規格說明書的要求。
確保經過測試和返工後軟體與規格說明書保持一致。
維護
確保代碼和文檔的一致性。
確保對已建立的變更控制過程進行監測,包括將變更集成到軟體的產品版本中的過程。
確保對代碼的修改遵循編碼標準,並且要對其進行評審,不要破壞整個代碼結構。