軟件全生命周期質量管理探討
學術交流
作者:陸曉明
【摘要】軟件生命周期是軟件的產生直到報廢的生命周期,包括軟件的定義及規劃、需求分析、軟件設計、編碼、軟件測試和運行維護六個階段。軟件生命周期的各個階段都會涉及質量問題,通常來說軟件設計缺陷發現得越晚,所需付出的代價就越高,因此有必要通過采用合理的管理手段來提高軟件產品的質量。
【關鍵詞】軟件生命周期;質量管理;軟件測試
1.引言
軟件質量是指與軟件產品滿足明確或隱含需求的能力有關的特性,由於軟件產品是邏輯體,不具有實體的可見性,因而其質量也就更加難以把握。軟件產品的質量是通過軟件開發活動和軟件開發過程構造入軟件的,所以軟件開發管理者和軟件開發者必須了解每一個開發活動對軟件產品質量可能產生的影響,及時掌握每一個開發活動對軟件質量所產生的影響,並且對在開發過程中可能產生的或已經產生的質量問題,能夠及時發現並加以控製。要做到這些必須實現軟件開發的工程化。軟件全生命周期質量管理實際上就是工程化管理。它的主要任務就是使軟件開發活動規範化、程序化、標準化。軟件質量管理的基本方法就是根據軟件開發活動的各階段,將質量管理目標分解為若幹可實現並可管理的部分,並采用相應的技術和方法進行管理,並對其階段性產品的質量進行驗證,確保最終軟件產品質量滿足用戶的要求。下圖是一個軟件開發過程的主要階段分解圖。
2.需求分析階段
2.1 任務及目標
軟件需求分析階段的任務是確定所開發軟件的運行環境、功能和性能要求,編寫開發計劃。軟件需求分析是由軟件開發方根據委托方提出的軟件任務書以及其它文件,詳細確定軟件需求並編製出一個需求完整、詳細的軟件需求規格說明。
2.2 實施步驟
1)分析和確定軟件開發和運行的環境;2)明確操作者的要求,經分析後將任務書中的技術指標條文擬定成相應的軟件需求規格說明的條文;3)確定人機界麵;4)編製項目開發計劃,確定項目質量要求,並將它分解為對軟件開發各階段的質量要求,給出檢查準則;5)確定本項目的質量保證、配置管理工作,並寫入項目開發計劃;6)編寫軟件需求規格說明;7)初步編寫軟件測試工作計劃,明確計劃安排。軟件測試工作計劃一般由軟件項目組編寫。如要求獨立測試,則測試計劃應由獨立測試單位在本階段評審通過後根據需求規格說明另行編寫;8)開始編寫軟件使用說明;9)評審;10)安排測試工作。若需要開發專門的測試軟件或研製專門的軟件測試設備,則應在本階段評審通過後與軟件開發並行地進行此項工作,以保證軟件測試工作按時順利進行。軟件測試的測試軟件開發和測試設備的研製工作按計劃由軟件項目組或獨立測試單位承擔。
2.3 階段產品
1)項目開發計劃;2)軟件需求規格說明;3)軟件測試工作計劃;4)軟件項目計劃數據表。
2.4 技術要求
1)軟件需求規格說明應對軟件的主要功能、性能、技術指標進行定義,其內容應全麵、可檢查;2)項目開發計劃中應給出階段評審及配置管理計劃,並明確人員。
2.5 配置管理要求
軟件任務書、開發計劃、軟件需求規格說明、軟件項目計劃數據表、軟件需求分析階段評審表、軟件測試工作計劃進入受控庫。
2.6 評審要求
在軟件需求分析階段,必須進行軟件需求評審,以保證軟件需求的完整性、一致性和準確性。提交軟件任務書、項目開發計劃、軟件需求規格說明、軟件項目計劃數據等,針對項目開發計劃及軟件需求規格說明,對任務和需求分析、可行性分析、質量保證、標準化、配置管理等進行評審,以決定是否開展下階段工作。
3.軟件設計階段
3.1 任務
軟件設計階段的任務是根據軟件需求規格說明進行軟件的總體結構和功能模塊間的設計,初步編製軟件集成測試計劃。定義各功能模塊的接口並設計數據結構,對功能模塊進行過程描述設計,設計功能模塊的內部細節,包括算法和數據結構,為編寫源代碼提供必要的說明。
3.2 實施步驟
1)總體結構設計;2)設計該軟件係統的數據結構,給出所需的模型及所采用的算法原理;3)設計高層模塊的數據流和控製關係;4)給出各個功能模塊的功能描述、數據接口描述及全局數據定義;5)根據軟件可靠性要求,對各功能模塊進行可靠性指標的分配和相應的可靠性設計;6)進行安全性分析,使安全性關鍵的軟件設計符合安全性要求;7)初步編製軟件集成測試計劃;8)確定所有模塊的功能及詳細的接口信息;9)對構成軟件係統的各功能模塊逐步細化,形成若幹個可編碼的程序模塊或程序單元。
3.3 階段產品
1)軟件設計說明;2)軟件集成測試計劃(初步)。
3.4 技術要求
1)各功能模塊間應具有低耦合度及高內聚度,功能模塊的作用範圍應在其控製範圍之內;2)各模塊功能單一,模塊接口的複雜度低;3)軟件設計說明和軟件需求規格說明要保持一致,並具有良好的可追蹤性;4)各子項目、模塊的功能和接口要求必須完整、正確。
3.5 配置管理要求
集成測試計劃(初步)、軟件設計說明進入受控庫。