軟件工程總結筆記——軟件需求分析(三)

第三章 軟件需求分析

地位:關係到軟件開發成敗的關鍵步驟

基本任務:明確“系統必須做什麼”

主要目的:分析用戶需求,構建抽象到具體的邏輯模型,寫軟件需求規格說明書

實質工作:調查研究、分析綜合、抽象思維、邏輯推理

用戶需求分類:功能需求、非功能需求

3.1 需求分析的任務

主要任務:通過軟件開發人員與用戶的交流和討論,準確地獲取用戶對系統的具體要求。
在正確理解用戶需求的前提下,軟件開發人員還需要將這些需求準確地以文檔的形式表達出來,作爲設計階段的依據。

輸出:軟件需求規格說明書

需求分析的主要任務:
(1)確定系統的綜合需求
①功能需求
②性能需求
③可靠性需求
④接口需求
⑤環境需求
⑥安全性需求
⑦資源需求
⑧成本和進度需求
⑨將來可能提出的要求
(2)分析系統的數據需求
(3)導出系統的邏輯模型
(4)編制需求階段文檔

3.2 需求分析的步驟

(1)通過調查研究,獲取用戶需求
方式:問卷調查、訪談、實地考察、建立原型、研究資料

(2)去除非本質因素,確定系統的真正需求

(3)描述需求,建立系統的邏輯模型
常用模型:數據流圖,E-R圖,用例圖,狀態轉換圖

(4)書寫需求規格說明書,進行需求複審

3.3 需求分析方法和原則

3.3.1 軟件需求分析理論
數學方法描述軟件需求分析:

將應用軟件定義爲 S,功能域爲 D₁,D₂,D₃…,則:

S = { D₁,D₂,D₃…}

每個功能域D,都存在若干個子功能P₁,P₂,P₃…,則:
D = {P₁,P₂,P₃…}

每個子功能 P 有若干個行爲F₁,F₂,F₃…,則:
P = {F₁,F₂,F₃…}

3.3.2 有效性軟件需求分析三步法

第一階段:訪談式
實現手段:訪談、調查表格
輸出成果:調查報告、業務流程報告

第二階段:誘導式
實現手段:拜訪(誘導)、原型演示
輸出成果:調研分析報告、原型反饋報告、業務流程報告

第三階段:確認式
實現手段:拜訪(回顧、確認)
輸出成果:需求分析報告

3.3.3 常用的需求分析方法

(1)結構化分析方法 (SA,Structured Analysis)

類型:面向數據流 需求分析法

基本思想:“抽象”和“分解”,採用“自頂向下、逐層分解”的分析思路,即先把軟件系統視爲一個抽象的系統,然後自頂向下、分支分層、逐步分解、逐步細化、逐步求精,最後落實到具體加工、基本加工、簡單加工,即直到每一個子功能足夠簡單,能夠清楚地被理解和表達爲止。

(2)面向對象的分析方法
基本思想:基於面向對象的思想,以用例模型爲基礎。

(3)原型化分析方法
基本思想:初步獲取需求後,快速的開發一個原型系統,進行模擬操作,來對需求進行分析。

3.3.4 需求分析原則

(1)能夠表達和理解問題的信息域和功能域

(2)能夠對問題進行分解和不斷細化,建立問題的層次結構

(3)能夠給出系統的邏輯表示和物理表示

3.4 需求分析的 case 工具

3.4.1 層次方框圖 (主要)

樹形結構,描述複雜數據的層次結構
在這裏插入圖片描述

3.4.2 Warnier圖

樹形結構表示,描述數據層次結構
在這裏插入圖片描述

3.4.3 IPO圖

輸入/處理/輸出 圖的簡稱
在這裏插入圖片描述

3.4.4 E-R圖

實體-聯繫圖
在這裏插入圖片描述

3.4.5 狀態遷移圖

在這裏插入圖片描述

3.4.6 Petri圖

對系統進行需求規格說明
在這裏插入圖片描述

3.5 軟件需求驗證

3.5.1 軟件需求規格說明的主要內容

① 引言
②項目概述
③具體需求

3.5.2 軟件需求的驗證

(1)有效性驗證
(2)一致性驗證
(3)完整性驗證
(4)可行性驗證
(5)可驗證性驗證
(6)可跟蹤性驗證
(7)可調節性驗證
(8)其他方面驗證

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章