1、業務需求
(1) 時間需求:輸入、輸出頻率,輸入、輸出響應時間,各種功能恢復時間等;
(2) 處理容限、精度、采樣參數的分辨率,誤差處理等;
(3) 可靠性的MTBF要求,可維護性、安全性要求等。(對可能的不正常的輸入給以正常響應是可靠性的重要內容,這屬於功能性需求。)
2、用戶需求
1)誘導客戶需求
2)確認客戶需求
3、功能需求
1)功能需求的完整性和一致性
對功能的描述應包含與功能相關的信息,並應具有內在的一致性(即各種描述之間不矛盾、不沖突)。應注意以下幾點:
(1) 給出觸發功能的各種條件(如:控制流、運行狀態、運行模式等);
(2) 定義各種可能性條件下的所有可能的輸入(包括合法的輸入空間和非法的輸入空間);
(3) 給出各種功能間可能的相互關系(如各個功能間的控制流、數據流、信息流,功能運行關系:順序、重復、選擇、並發、同步);
(4) 給出功能性的主要級別(如:基本功能、可由設計者選擇逐步實現的功能、可由設計者改變實現的功能等);
(5) 盡可能不使用“待定”這樣的詞。所有含有待定內容的需求都不是完整的文件,如果出現待定的部分,必須進行待定部分內容說明,落實負責人員、落實實施日期。
2)功能描述的無岔意性和可追蹤性
需求功能描述的無岔意性、可追蹤性和規范化:
(1) 功能描述必須清晰地描述出怎樣輸入到怎樣輸出,並且輸入、輸出描述應對應有數據流描述、控制流描述圖,這些描述必須與其它地方描述一致;
(2) 可以用語言、方程式、決策表、矩陣或圖等對功能的描述。如果選用語言描述必須使用結構化的語言,描述前必須說明該步驟(或子功能)的執行是順序,選擇,重復,還是並發,然后說明步驟邏輯。整個描述必須單入單出。
(3) 描述時,每一個功能名稱和參照編號必須唯一,且不要將多個功能混在一起進行描述,這樣便於功能的追蹤和修改。
(4) 功能描述應注意需求說明和程序設計的區別。需求設計僅僅是軟件的功能設計,它給出軟件運行的的外部功能描述,以及為了實現這一外部功能必須做哪些事情(采用和種數據結構,定義多個模塊,接口間的接口等)是設計階段的事情,功能描述不應涉及到那些細節問題,以避免給軟件設計帶來不必要的約束。
4、需求分析相關工具
l 效果圖描述。主要是用戶UI界面的描述反映用戶需求功能;
l 邏輯圖描述。根據用戶需求功能,使用抽象化理論,以及需求分析理論,對用戶需求功能進行全面的分析,建立功能性邏輯關系圖,流程邏輯關系圖等;
l 關系圖表描述。主要是對信息關系、數據庫表格、接口函數等描述;
l 工程數學描述。分析用戶需求,分析用戶需求信息,運用工程數學進行算法推導,進行合理化需求分析推導;
l 甘地圖描述。主要是軟件項目工作安排,開發周期預估;
l 其它方法描述。保證完整性合理性的有效描述
5、需求評估
1)滿足客戶需求
2)保證可實施
3)工作周期
4)需求不可更改性