軟體需求分析

2021-05-02 14:31:38 字數 3875 閱讀 8534

本章共分為四個部分,一軟體需求的任務和過程;二結構化分析方法;三,原型化方法四,動態分析方法。

本章學習的要點是

1。了解軟體需求分析的目標和任務;

2.了解軟體需求的獲得方法;

3.掌握結構化的分析方法;

4.了解需求規格說明和需求評審的主要內容。

軟體需求分析的主要任務

:深入描述軟體的功能和效能;

確定軟體設計的約束和軟體同其他系統元素的介面細節;定義軟體的其他有效性需求。

需求分析書要求做到一致性、完整性、現實性、有效性、可驗證性。

需求分析的過程共四個部分:

(1)問題的識別

從系統的角度來理解軟體並評審軟體範圍是否恰當;去誒大**對目標系統的綜合要求,即軟體的需求;提出這些需求實現條件,以及需求應達到的標準。

軟體的需求包括:功能需求;效能需求;環境需求;可靠性需求;安全保密需求;使用者介面需求;資源使用需求、成本消耗需求、開發進度需求;預先估計以後系統可能達到的目標。

問題識別的另一項工作是建立分析所需要的通訊途徑,以保證能順利地對問題進行分析。

(2)分析與綜合

從資訊流和資訊飢餓哦故出發,逐步細化所有的軟體功能找出相同各元素之間的聯絡、介面特性和設計上的約束,分析他們是否滿足功能要求,是否合理。

常用的分析方法:面向資料流的結構化分析方法(

sa面向資料流);面向資料結構的

jackson

方法(jsd

面向資料結構)、結構化資料系統開發方法(

dssd

)、物件導向的分析方法(

ooa)(3

)編制需求分析階段的文件

軟體需求說明書;資料要求說明書;、初步的使用者手冊;修改、完善與確定軟體開發實施計畫。

(4)需求分析評審

相同定義的目標是否與使用者的需求一致;系統需求分析階段提供的文件資料是否齊全;文件中的所有描述是否完整、清晰、準確反映使用者要求;與所有其他系統成分的重要介面是否都已經描述。

軟體需求分析的原則;

需要能夠表達和理解問題的資訊域和功能域;要能以層次化得方式對問題進行分解和不斷細化。

指導性原則:

1。在開始建立分析模型前先理解問題

2開發原型使得使用者能夠了解將如何發生人機互動。3.

記錄每個需求的起源以及原因。

4.使用多個需求檢視

5。給需求賦予優先順序

6.努力刪除含糊性。

軟體需求規格說明的原則:

從現實中分離功能,即描述要「要做什麼「而不是」怎麼樣實現「;要求使用面向處理的規格說明語言(或稱系統定義語言)

軟體需求方法:需求分析方法由對軟體問題的資訊域(資訊流、結構流、資訊內容)和功能域的系統分析過程及表示方法組成;大多數的繡球分析方法是有資訊驅動的

結構化分析方法:面向資料流進行需求分析方法;結構化分析方法適合於資料處理型別軟體的需求分析。

檢查和修改資料流圖的原則

1.資料流圖上所有圖形符號只限於前述四種基本圖形元素;2..

資料流圖的主圖必須包括前述四種基本元素。缺一不可

3.每個加工至少有乙個輸入資料流和乙個輸出資料流4..

在資料流圖中,需按層給加工框編號,標號表明該加工所處層次及上下層的親子關係。

5.5.

規定任何乙個資料流子圖必須與它上一層的乙個加工對應,兩者的輸入資料流和輸出資料流必須一致。

畫資料流圖的時候要注意的:

圖上每個元素都必須有名字;資料流圖中不可夾帶控制流;出畫時可以忽略瑣碎的細節,以集中精力於主要資料流

資料字典:資料字典與資料流圖配合,能清楚地表達資料處理的要求

詞條描述

--------

對於在資料流圖中每乙個別命名的圖形元素,均加以定義,其內容有:名字。別號或編號,分類,描述,定義,位置,其他等

用於寫加工邏輯說明的工具:結構化英語、判定表、判定樹。

結構化英語

的詞彙表有

英語命令動詞、資料詞典中定義的名字、有限的自定義詞、

邏輯關係詞

if -then -else

、case- of . while-do

等。判定樹也是用來表達加工邏輯的一種工具,用時候它比判定表更直觀。

ipo

輸入處理圖

機器可讀性

判定表和結構化英語

優於判定樹

描述的直觀性來講

判定樹好

邏輯驗證和優化能力判斷表優於判定樹和結構化英語

原型化方法:

在開發初期,要想得到乙個完整準確的規格說明不是一件容易的事。

使用者往往對系統只有乙個模糊的想法,很難完全準確地表達對系統的全面要求。

軟體原型的分類

探索型實驗型

進化型原型使用策略

:廢棄策略

追加策略

最常用的動態分析方法:狀態遷移圖、

時序圖、

petri

網圓圈表示可得到的系統中狀態

箭頭表示從一種狀態向另一種狀態的遷移。

狀態遷移圖的優點:

狀態之間的關係能夠直接地捕捉到

由於狀態遷移圖的單純性,能夠機械地分析許多情況,可恨容易地建立分析工具。

處理連兩個程序的同步問題

petri

網需要完成的乙個文件:

需求規格說明書

1.引言

1.1編寫目的

1.2專案背景

1.3定義

1.4參考資料

2.任務概述

2.1目標

2.2執行環境

2.3條件與限制

3.資料描述

3.1靜態資料

3.2動態資料

3.3資料庫介紹

3.4資料庫詞典

3.5資料採集

4.功能需求

4.1功能劃分

4.2功能描述

5.效能要求

5.1資料準確度

5.2時間特性

5.3適應性

6.執行需求

6.1使用者介面

6.2硬體介面

6.3軟體介面

6.4故障處理

7.其他需求(安全,保密等)

需求分析的任務不是確定系統如何完成它的工作,而是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。

在這個階段結束時交出的文件中應該包括詳細的資料流圖(

dfd),資料字典(

dd)和一組簡明的演算法描述。

需求分析方法

大多數的需求分析方法時由資料驅動的,資料域具有三種屬性:資料流

、資料內容和資料結構。

具有的一下的共性:

1.支援資料域

2.功能表示的方法

3.介面的定義

4.問題分解的機制以及對抽象的支援

5.邏輯檢視和物理檢視

6.系統抽象模型

結構化分析方法使用資料流圖

dfd與資料字典

dd來描述。

資料流圖的特性:

抽象性概括性

層次性資料流圖的用途

資料流圖的作用主要有以下幾條;(1

)系統分析員用這種工具可以自頂向下分析系統資訊流程(2

)可在圖上畫出需要計算機處理的部分(3

)根據資料存貯,進一步做資料分析,向資料庫設計過度。(4

)根據資料流向,定出訪問方式(5

)對應乙個處理過程,用相應的語言、判定表等工具表達處理方法。

5.資料流圖的優缺點(1

)總體概念強,每一層都明確強調「幹什麼」「需要什麼」,「給出什麼」(2

)可以反映出資料的流向和處理過程(3

)由於自頂向下的分析,同意及早發現系統各部分的邏輯錯誤,也容易修正(4

)容易與計算機處理相對照(5

)不直觀,一般都要在作業流程分析的基礎上加以概括、抽象、修正

來得到。(6

)如果沒有計算機系統幫助的話,人工繪製太麻煩,工作量較大。

軟體需求分析

軟體需求分析所要做的工作是深入描述軟體的功能和效能,確定軟體設計的限制和軟體同其它系統元素的介面細節,定義軟體的其它有效性需求。進行需求分析時,應注意一切資訊與需求都是站在使用者的角度上。盡量避免分析員的主觀想象,並盡量將分析進度提交給使用者。在不進行直接指導的前提下,讓使用者進行檢查與評價。從而達...

軟體需求分析

軟體需求分析是把軟體計畫期間建立的 軟體可行性分析 求精和細化,分析各種可能的解法,並且分配給各個軟體元素 軟體需求分析的任務 深入描述軟體的功能和i效能 確定軟體設計的約束和軟體 同其他系統元素的介面細節 定義軟體的其他有效性需求 任務 從現有的模型中匯出目標系統的邏輯模型,解決目標系統的 做什麼...

軟體需求分析

需求的三個層次 1.業務需求 組織或客戶高層次的目標,一般來自專案的投資人,購買產品的客戶,實際使用者的管理者,市場營銷部門或產品策劃部門 輸出文件 產品前景和專案範圍 業務需求決定了應用的廣度和深度,廣度只應用能完成哪些工作 即用例 而深度則說明將各項用例實現到何種程度。當依據業務需求確定每項用例...