2.1 軟件功能需求
軟件的功能需求是整個需求分析最主要、最關鍵和最復雜的部分,它描述軟件的各種可能的條件下,對所有可能輸入的數據信息,應完成那些具體功能,產生什么樣的輸出。描述軟件功能需求是應注意下面幾點:
1)功能需求的完整性和一致性
對功能的描述應包含與功能相關的信息,并應具有內在的一致性(即各種描述之間不矛盾、不沖突)。應注意以下幾點:
(1) 給出觸發功能的各種條件(如:控制流、運行狀態、運行模式等);
(2) 定義各種可能性條件下的所有可能的輸入(包括合法的輸入空間和非法的輸入空間);
(3) 給出各種功能間可能的相互關系(如各個功能間的控制流、數據流、信息流,功能運行關系:順序、重復、選擇、并發、同步);
(4) 給出功能性的主要級別(如:基本功能、可由設計者選擇逐步實現的功能、可由設計者改變實現的功能等);
(5) 盡可能不使用“待定”這樣的詞。所有含有待定內容的需求都不是完整的文件,如果出現待定的部分,必須進行待定部分內容說明,落實負責人員、落實實施日期。
2)功能描述的無岔意性和可追蹤性
需求功能描述的無岔意性、可追蹤性和規范化:
(1) 功能描述必須清晰地描述出怎樣輸入到怎樣輸出,并且輸入、輸出描述應對應有數據流描述、控制流描述圖,這些描述必須與其它地方描述一致;
(2) 可以用語言、方程式、決策表、矩陣或圖等對功能的描述。如果選用語言描述必須使用結構化的語言,描述前必須說明該步驟(或子功能)的執行是順序,選擇,重復,還是并發,然后說明步驟邏輯。整個描述必須單入單出。
(3) 描述時,每一個功能名稱和參照編號必須唯一,且不要將多個功能混在一起進行描述,這樣便于功能的追蹤和修改。
(4) 功能描述應注意需求說明和程序設計的區別。需求設計僅僅是軟件的功能設計,它給出軟件運行的的外部功能描述,以及為了實現這一外部功能必須做哪些事情(采用和種數據結構,定義多個模塊,接口間的接口等)是設計階段的事情,功能描述不應涉及到那些細節問題,以避免給軟件設計帶來不必要的約束。
文章來源于領測軟件測試網 http://www.kjueaiud.com/