關鍵字:需求分析 軟件可靠性
一、軟件可靠性工程與需求工程的關系
軟件需求分析是軟件產品開發設計的第一步,也是最重要的一步。其工作質量的高低,不僅直接影響后續工程的質量,而且決定著所開發軟件產品的價值。當然,完整、嚴密地描述用戶需求,并不是一件十分容易的事。有些軟件產品之所以功能不完善、性能差、可靠性低、可用度差、甚至不能使用,多數是因為用戶需求分析工作不徹底所致。但是,目前軟件可靠性工程研究與實踐的重點,在于軟件測試等一些事后的驗證性工作,對軟件可靠性設計重視不多,這在需求分析等前期階段尤為突出。
二、軟件需求分析
軟件需求分析是軟件設計的基礎。它采用一系列行之有效的技術、方法和工具來分析用戶需求,通過特定的形式系統地描述擬開發軟件的功能、性能,以及行為特征和相關約束,定義所有內外部特征,最后形成既能指導軟件設計、又能同用戶溝通的軟件需求規格說明。它覆蓋了軟件設計之前的各項活動。
軟件需求分析是從用戶最初的非形式化需求,到滿足用戶要求的軟件產品設計的一個映射。
在軟件計劃的基礎上,從深入分析用戶需求出發,把用戶的需求變換成以計算機為基礎的系統需求。需求分析實際上是調查、評價、以致肯定用戶對軟件的需求的過程,是一個對用戶意圖不斷進行揭示和判斷的過程。其目的在于細化、精化軟件的作用范圍,確定擬開發軟件的功能和性能,分析并確認其過程,確定軟件成分及接口。
1.軟件需求分析的任務與步驟
軟件需求分析可分為四個步驟。
、贇w納整理用戶提出的各種問題和要求,弄清用戶企圖通過軟件達到的目的,并把它作為要求和條件予以明確。即分析人員借助各種工具和方法,獲得對用戶需求的基本理解,然后在需求獲取方法的驅動和指導下,從非形式需求陳述中提取出用戶的實際需求。由此確定軟件的功能、性能、接口關系及有關屬性、軟件條件、限制和邊界等,標定軟件的作用范圍,確認支持性的軟硬件環境及輔助工具與條件。此階段還為軟件需求分析活動提供了相應的過程控制機制。
、谠谛枨螳@取的基礎上,建立邏輯模型,使用自頂向下、逐層分解的方法,把用戶對軟件的需求分解成若干子系統或軟件成分,將外部需求賦予軟件的各個功能成分,定義軟件成分的內部功能,并標定它們之間的接口。
、塾脺蚀_、簡練、無二義性的語言將用戶需求規格化為軟件需求規格說明,使用戶和開發人員對擬開發軟件有共同的理解,它同時還是軟件確認、測試、驗收和交付的基準。
、芡ㄟ^需求評審,對需求獲取、需求定義等進行全面審查,力圖發現需求分析中的錯誤和缺陷,最終確認軟件需求規格說明。同時,以需求規格說明為輸入,通過符號執行、模擬或快速原型等方法,向用戶展示需求規格說明所刻劃的系統外部行為和相應特征。
文章來源于領測軟件測試網 http://www.kjueaiud.com/