【软件工程】 软件需求分析
生活随笔
收集整理的這篇文章主要介紹了
【软件工程】 软件需求分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
話不多說,導圖獻上:
&part one 【需求分析】
一. 軟件需求分析的任務和步驟及要求:
1.任務:它的基本任務是:準確回答“系統必須做什么”的問題。
-
深入描述軟件的功能和性能
-
確定軟件設計的約束和軟件同其他系統元素的接口細節
-
定義軟件的其他有效需求
具體任務:
(1)確定對系統的綜合需求:
-
功能需求
-
性能需求
-
環境需求
-
接口需求
-
用戶界面需求
-
以及可靠性、安全性、保密性、約束、可移植性和可維護性等方面
(2)分析系統的數據需求
(3)建立軟件的邏輯模型:用數據流圖、數據字典及處理算法等描述
(4)編寫軟件需求規格說明書(SRS)
(5)需求分析評審:目的是發現需求分析的錯誤和缺陷,然后修改開發計劃
2.需求分析的步驟:
(1)需求獲取:研究調查(問題識別)
(2)需求提煉:分析建模(分析綜合)
常用的分析方法:
-
面向數據流的結構化分析方法(SA)
-
面向數據結構的Jackson方法
-
結構化數據系統開發方法(DSSD)
-
面向對象的分析方法(OOA)等
(3)需求描述:編制需求分析階段的文檔:
-
軟件需求規格說明書(SRS)
-
數據要求說明書
-
初步的用戶手冊
-
修改、完善與確定軟件開發實施計劃
(4)需求驗證:(需求分析評審)
3.需求分析的要求:
-
一致性(所以需求之間不互相矛盾)
-
完整性
-
現實性(可實現)
-
有效性
-
可驗證性
二.需求獲取的方法:
1.常用方法:客戶訪談、建立聯合分析小組、問題分析與確認
2.快速建立軟件原型模型來獲取需求
三.需求分析的常用方法:
1.功能分解方法
2.結構化分析方法:數據流圖、數據字典、結構化語言、判定樹和判定表等工具
3.信息建模方法:實體聯系圖(實體、屬性和聯系構成)
常用的模型包括:數據流圖、實體聯系圖、控制流圖、狀態轉換圖、用例圖、類對象關系及其行為圖等
4.面向對象方法
四.需求分析的原則:抽象——分解——細化
1.數據流圖必須能表達系統的功能域和信息域(信息域的三個屬性:信息流(數據流)、數據內容、信息結構)
2.最頂向下逐層分解
3.給出系統的邏輯視圖和物理視圖
五.需求分析的評審:
-
一致性
-
完整性
-
現實性
-
有效性
六.需求分析圖形工具:
1.數據流圖
2.數據字典
3.層次方框圖
4.Warnier(維納)圖
5.IPO圖
另外:最常用的動態分析方法:
-
狀態遷移圖:描述系統
-
時序圖
-
Petri圖
?
&part two 【結構化分析方法】
結構化分析方法:(自頂向下,逐步分解)
1.是面向數據流進行需求分析的方法
特性:
-
支持數據域分析的機制
-
功能表示的方法
-
接口定義
-
問題分解的機制以及對抽象的知識
-
邏輯視圖和物理視圖
-
系統的抽象模型
2.結構化分析方法適合于數據處理類型軟件的需求分析
有數據流圖(DFD),數據字典,結構化語言,判定表和判定樹(這三個是描述加工邏輯的)等分析方法
一.數據流圖(DFD):表示系統邏輯模型的一種工具。
直觀的圖形——描述系統數據的流動和處理過程,圖中無任何具體的物理元素,主要強調數據流和處理過程。
設計數據流圖時只需考慮系統必須完成的基本邏輯功能,不考慮如何實現這些功能。
除上述4中基本符號之外,有時也使用幾種附加符號,星號(*)表示數據之間的關系(同時存在);加號(+)表示“或”關系,⊕號表示只能從中選一個(互斥的關系)。
數據流圖是軟件開發者從用戶的問題中提取4種成分:依次為源點和終點,加工,數據存儲以及數據流。
二.數據字典:是數據流圖中所包含元素的定義集合。
數據流圖只描述了系統的“分解”,系統由那幾部分組成,各部分之間的聯系,并沒有對所有的圖形元素都進行命名。
數據字典的作用就是給人提供數據描述,即對數據存儲(文件)和加工(處理)等名字進行定義。
三.加工邏輯的描述:結構化語言、判定樹和判定表
(一)結構化語言:可使用順序、選擇、循環三種控制結構
(二)判定表:表格形式描述加工邏輯。
如圖:判定表結構:
判定表能夠把在什么條件下系統應該做什么動作準確無誤地表示出來,但不能描述循環的處理特性。循環處理還需要用結構化語言來描述。
(三)判定樹:比表更直觀,也是多個邏輯關系時用
?
本章完~ 后續更加精彩~~~
?
總結
以上是生活随笔為你收集整理的【软件工程】 软件需求分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机APP界面设计尺寸笔记
- 下一篇: 2012年7月份第1周51Aspx源码发