內容摘要
1.什麼是需求工程
2.什麼是軟體需求工程?
3.軟體需求的重要性
4.軟體需求的困難
5.軟體需求內容
6.需求工程的活動
要求:
(1)識記:需求工程的活動,傳統需求分析階段的具體任務,需求分析方法。
(2)領會:資料流圖,狀態圖的相關概念以及描述方法等
(3)綜合應用:能夠對一個規模適度的應用系統用結構化分析方法進行需求分析,給出資料流圖。
1. 什麼是需求工程
需求工程(RE)的概念
是指應用已證實有效技術、方法進行需求分析,確定客戶需求,協助分析人員理解問題並定義目標系統的所有外部特徵的一門學科。
需求工程RE可分為:
系統需求工程(如果是針對由軟硬體共同組成的整個系統)
軟體需求工程(如果僅是專門針對純軟體部分)。
2.什麼是軟體需求工程
軟體需求——是指使用者對目標軟體系統在功能、行為、效能、設計約束等方面的期望。
軟體需求工程——是一門分析並記錄軟體需求的學科,它把系統需求分解成一些主要的子系統和任務,把這些子系統或任務分配給軟體,並通過一系列重複的分析、設計、比較研究、原型開發過程把這些系統需求轉換成軟體的需求描述和一些績效參數。
3.軟體需求的重要性
需求的重要性
Frederick Brooks在他1987年經典文章“No Silver Bullet”中闡述了需求的重要性:
開發軟體系統最困難的部分就是準確說明開發什麼。最困難的概念性工作是編寫出詳細的需求,包括所有面向使用者、面向機器和其它軟體系統的介面。此工作一旦做錯,將會給系統帶來極大的損害,並且以後對它修改也極為困難。
4. 軟體需求的困難
軟體需求是軟體工程中最複雜的過程之一:
應用領域的廣泛性,它的實施無疑與各個應用行業的特徵密切相關。
非功能性需求建模技術的缺乏及其與功能性需求有著錯綜複雜的聯絡,大大增加了需求工程的複雜性。
溝通上的困難,由於系統分析員、需求分析員等各方面人員有不同的著眼點和不同的知識背景,給需求工程的實施增加了人為的難度。
6. 需求工程的活動
需求工程中的活動可分為兩大類,一類屬於需求開發,另一類屬於需求管理。
常用的需求分析方法:
功能分解方法
面向資料流的結構化分析方法 (SA)
面向資料結構的分析方法
資訊建模法
物件導向的分析方法 (OOA)
需求工程小結
軟體需求工程,是軟體開發人員與使用者密切配合,充分交換意見,獲得對需求一致意見的過程。
在開發人員一方,參與工作的主要角色是系統分析員和系統工程師等,負責溝通使用者和開發人員的認識和見解,起著橋樑作用。
需求工程階段的最終任務是要完成目標系統的需求規格說明,確定系統的功能、非功能需求和效能,為後階段的開發打下基礎。
本階段常用的有SA法,原型法,OOA法等。