一、概念和意義
以文檔形式提供關于目标系統功能和性能等需求的完整描述。
需求分析結果以模型形式展示:如DFD圖,IDEF0圖等,稱為功能模型。
軟體開發的依據:功能模型和軟體需求規格說明書。
二、需求擷取方法
面談、實地觀察、問卷調查、查閱資料。
三、需求分析過程
1.辨別問題
了解現行系統的業務流程,發現存在的問題和需要改進的方面,還要注意系統的人機界面。
2.建立需求模型
借助模型和抽象方法把複雜事物變簡單,便于認識和分析複雜問題。
3.描述需求
對待開發系統從宏觀和整體上的一個完整性描述。
主要由需求模型(系統功能模型,展現業務流程)和軟體需求說明書組成。
需求文檔是需求分析工作完成的标志,力求論述全面、結構清晰、内容準确、描述清楚。
4.确認需求
證明需求說明書描述的内容是可惡所期望和需要的。
四、需求分析方法
1.概述
主要有DFD(data flow diagram)和IDEF0(結構化分析與模組化方法),優點:不過早地陷入細節、從宏觀和整體入手分析、圖形化、不涉及太多技術術語。
UML用例模組化(面向對象分析方法)
2.DFD需求模組化方法
核心:資料流,抽象出主要業務流程,分析其輸入,初始資料,從哪裡來,流向何處,經過什麼加工,變為什麼資料,最終結果。
基本元素:
資料流

處理(或圓)
一個處理隻做一件事情。
資料存儲
靜态存儲,可代表檔案、資料庫的元素等
外部項(實體)
人、物或其他軟體系統
(或正方形)
DFD圖:
自頂向下,逐漸細化的結構化分析方法表示目标系統。
直到每項活動都是具體的、可操作性的、用一個程式子產品可以實作其功能為止。
模組化過程:(對功能進行模組化)
明确目标,确定系統範圍:明确系統需求,完整準确一緻地描述出來。
分為三層
建立頂層DFD圖:(頂層DFD圖中包含的處理隻有一個)
描述主要功能
建構第一層DFD分解圖:
将頂層圖中的處理分解成多個更細化的處理。
開發DFD層次結構圖:
對第一層分解圖中的每個處理框進行進一步分解,在分解圖中要列出所有處理及相關的資訊。
大連工業大學——《軟體工程導論》
DFD圖示例:
兩個表 表示“資料存儲”。
上一層是下一層的抽象,下一層是上一層的求精和細化。
IDEF0:
矩形框:代表功能活動
箭頭:資料
自頂向下,逐漸細化
機制:計算機系統、人或組織
控制:執行的事件或限制條件
功能活動執行個體:
DFD和IDEF0比較:
DFD強調流或順序,IDEF0強調資料限制。
IDEF0的箭頭語義更加豐富,不僅能夠表示資料流,還可以表示資料流和限制。
IDEF0箭頭說明可以在文檔中,不必表示在圖中,适合于大型複雜系統的需求模組化。