需求分析的具體內容能夠概括爲六個方面:軟件的功能需求,軟件與硬件或其餘外部系統接口,軟件的非功能性需求,軟件的反向需求,軟件設計和實現上的限制,閱讀支持信息。安全
軟件需求分析應儘可能提供軟件實現功能需求的所有信息,使得軟件設計人員和軟件測試人員再也不須要需求方的接觸。這就要求軟件需求分析內容應正確、完整、一致和可驗證。數據結構
軟件功能需求架構
它描述軟件的各類可能的條件下,對全部可能輸入的數據信息,應完成那些具體功能,產生什麼樣的輸出。併發
1)功能需求的完整性和一致性工具
對功能的描述應包含與功能相關的信息,並應具備內在的一致性(即各類描述之間不矛盾、不衝突)。應注意如下幾點:性能
(1) 給出觸發功能的各類條件(如:控制流、運行狀態、運行模式等);測試
(2) 定義各類可能性條件下的全部可能的輸入(包括合法的輸入空間和非法的輸入空間);spa
(3) 給出各類功能間可能的相互關係(如各個功能間的控制流、數據流、信息流,功能運行關係:順序、重複、選擇、併發、同步);操作系統
(4) 給出功能性的主要級別(如:基本功能、可由設計者選擇逐步實現的功能、可由設計者改變實現的功能等);設計
(5) 儘量不使用「待定」這樣的詞。全部含有待定內容的需求都不是完整的文件,若是出現待定的部分,必須進行待定部份內容說明,落實負責人員、落實實施日期。
2)功能描述的無岔意性和可追蹤性
需求功能描述的無岔意性、可追蹤性和規範化:
(1) 功能描述必須清晰地描述出怎樣輸入到怎樣輸出,而且輸入、輸出描述應對應有數據流描述、控制流描述圖,這些描述必須與其它地方描述一致;
(2) 能夠用語言、方程式、決策表、矩陣或圖等對功能的描述。若是選用語言描述必須使用結構化的語言,描述前必須說明該步驟(或子功能)的執行是順序,選擇,重複,仍是併發,而後說明步驟邏輯。整個描述必須單入單出。
(3) 描述時,每個功能名稱和參照編號必須惟一,且不要將多個功能混在一塊兒進行描述,這樣便於功能的追蹤和修改。
(4) 功能描述應注意需求說明和程序設計的區別。需求設計僅僅是軟件的功能設計,它給出軟件運行的的外部功能描述,以及爲了實現這一外部功能必須作哪些事情(採用和種數據結構,定義多個模塊,接口間的接口等)是設計階段的事情,功能描述不該涉及到那些細節問題,以免給軟件設計帶來沒必要要的約束。
2.二、 軟件與硬件或其餘外部系統接口
軟件與硬件或其它外部系統接口包括下述內容:
(1) 人機接口:說明輸入、輸出的內容、屏幕安排、格式等要求;
(2) 硬件接口:說明端口號,指令集,輸入輸出信號的內容與數據類型,初始化信號源,傳輸通道號和信號處理方式。
(3) 軟件接口:說明軟件的名稱、助記符、規格說明、版本號和來源;
(4) 通信接口:指定通信接口和通信協議等描述。
2.三、 軟件的非功能性需求
軟件非功能性需求是指軟件性能指標,容限等功能之外的需求。通常指下述內容:
(1) 時間需求:輸入、輸出頻率,輸入、輸出響應時間,各類功能恢復時間等;
(2) 處理容限、精度、採樣參數的分辨率,偏差處理等;
(3) 可靠性的MTBF要求,可維護性、安全性要求等。(對可能的不正常的輸入給以正常響應是可靠性的重要內容,這屬於功能性需求。)
2.四、 軟件反向需求
軟件的反向需求描述軟件在那些狀況下不能作什麼。這一條是隨軟件實際要求而定。有兩類情形須要採用反向需求的形式。第一種狀況:某些用戶需求適宜採用反向形式說明,如數據安全性要求屬於這類形式。第二種狀況:對一些可靠性和安全性要求較高的軟件,有些必須描述軟件不能作些什麼。如控制點火時序,咱們必須交代清楚在那些狀況下不能點火,不然會形成故障。
2.五、 軟件設計和實現上的限制
軟件設計和實現上的限制主要指對軟件設計者的限制。如軟件運行環境的限制(選擇計算機類型,使用配置,操做系統的限制等)、設計工具的限制(使用語言、執行的標準)和保密要求等。
2.六、 閱讀支持信息
這部份內容是爲了更好的幫助咱們理解用戶需求,也是爲了使需求便於修改和追蹤。其自己並非對需求的描述,但它影響到需求分析的可讀性,也屬於需求分析的一個重要部分。通常目錄、需求背景信息、內容索引、交叉引用表、註釋等均屬於這個部分的內容。
有效性軟件需求分析三步法
「訪談式Visitation」階段
「誘導式Inducement」階段
這一階段是在承建方已經瞭解了具體用戶方的組織架構、業務流程、硬件環境、軟件環境、現有的運行系統等等具體實際、客觀的信息基礎上,結合現有的硬件、軟件實現方案,作出簡單的用戶流程頁面,同時結合以往的項目經驗對用戶採用誘導式、啓發式的調研方法和手段,和用戶一塊兒探討業務流程設計的合理性、準確性、便易性、習慣性。
「確認式Afirm」階段
輸出成果:需求分析報告、數據項、業務流程報告、原型系統反饋意見(後三者能夠統一納入需求分析報告中,提交用戶方、監理方進行確認和存檔)
需求分析評價指標
主要有這麼幾個指標:功能性、完整性、正確性、邏輯性、表現性、合理性,可實施性等。