軟體工程需求分析?

在進行軟體開發的過程中,首先我們必須要清楚使用者真正的需求,這樣就保證了我們後續軟體開發的可靠性和有效性,即我們開發的軟體能最大可能的逼近使用者的要求。因此,對軟體進行需求分析是非常有必要的。下面,小編將帶領大家瞭解軟體需求分析的任務、各種常用的軟體需求分析方法以及在需求分析過程中常用的建模工具等。

方法/步驟

需求分析概述。

需求分析是軟體開發的基礎和前提,也是最終目標軟體驗收的標準,它可以避免或者今早的剔除早期的錯誤。雖然在可行性研究階段,我們也進行了使用者需求的分析,但是隻是粗略的進行了分析,很多的細節部分都被忽略了,而需求分析比較詳細了對使用者的需求進行了分析,更加精確、細緻的回答了目標系統必須做什麼。通常我們在進行軟體開發的過程中,往往由於需求分析的不足,而最終導致專案的失敗。據統計,超過60%的失敗專案都是由於專案需求不明確或錯誤造成的,由此可見,對軟體進行需求分析是很有必要的。

需求分析的主要任務。需求分析主要有4大任務:

1. 確定系統的綜合需求:功能需求、效能需求、可靠性和可用性需求、出錯處理需求

、介面需求、約束需求、逆向需求、將來可能提出來的需求(可擴充套件性)等。

2. 分析系統的資料要求:由於我們的軟體系統一般都是對一系列資料或者資訊進行處理,因此在軟體開發的過程中,對系統執行過程中涉及到的資料進行分析也是很重要的。通常我們通過對資料進行建模來分析,即E-R圖。

3. 匯出系統的邏輯模型:在需求分析中,我們可以通過一系列的模型來匯出系統的邏輯模型,以方便我們對系統有一個更加直觀的瞭解。通常涉及到的模型有:功能模型、資料模型、行為模型、演算法邏輯模型等。。

4. 修正系統的開發計劃:在可行性分析階段的最後我們制定了一個開發計劃,在進行需求分析後,我們可以根據我們分析的結果對開發計劃中不合理的部分進行修正。

如何進行需求分析。在軟體工程中,我們總結了四種常用的需求分析方法:

1. 訪談:系統分析員或者設計人員針對該專案提出一些事先已經準備好的具體問題,鼓勵被訪問人員(即使用者)說出自己的想法。同時,也可以通過調查表的形式對相關問題進行一個初步的統計。也可以在某種程度上通過快速建立的原型演示系統的主要功能,然後讓使用者去體驗,使用者針對體驗的結果做出自己的分析和理解,這種方法充分提高了使用者在需求分析過程中積極主動的作用,這種方法我們通常稱之為“情景分析技術”。

2. 面向資料流的自頂向下求精:基本思想是--“自頂向下,逐步求精,抽象和細分”。主要是利用資料流圖,先建立一個初步的系統功能模型,然後按照基本思想,自頂向下,逐步對頂層資料流圖進行細分,在細分的過程中,與使用者進行充分的交流,使用者根據資料流圖判斷是否分解正確或者哪些地方有問題,分析員根據使用者的意見進行修正,這樣一步步完善資料流圖直到達到使用者的需求。

3. 簡易的應用規格說明技術:1)進行初步訪談,初步確定待解決的問題的範圍和解決方案;2)開發者和使用者分別寫出“產品需求”;3)選定會議的時間和地點,選舉協調人;4)邀請開發者和使用者雙方組織的代表出席會議;5)列出系統環境組成部分的物件、系統將產生的物件、系統為完成自己的功能將使用的物件,列出操作這些物件或與這些物件互動的服務,列出約束條件和效能標準;6)共同建立一張組合列表n起草完整的軟體需求規格說明書。

4. 快速原型分析技術:首先通過初步需求,快速建立一個系統原型;然後執行給使用者看,使用者根據原型提出自己的修改意見;最後程式開發者根據使用者的建議,對原型進行修改和完善。如此反覆的迭代進行,知道最終建立以個滿足使用者需求的軟體系統為止。

軟體需求分析過程中用到的建模工具:1)功能模型:資料流圖;2)資料模型:實體-聯絡圖;3)行為模型:狀態轉換圖。

軟體需求規格說明書。在軟體需求分析的最後,我們要提交一份詳盡的規格說明書,規格說明書具體包含內容如下:

Ⅰ.引言

A.系統參考文獻

B.整體描述C.軟體專案約束

Ⅱ.資訊描述

A.資訊內容

B.資訊流:1 .資料流、2 .控制流

Ⅲ.功能描述

A.功能分解

B.功能描述:1 .處理說明、2 .限制、3 .效能需求、4 .設計約束、5 .支撐圖

C.控制描述:1 .控制規格說明、2 .設計約束

Ⅳ.行為描述

A.系統狀態

B.事件和動作

Ⅴ.確認標準

A.效能範圍

B.測試種類

C.預期的軟體響應

D.特殊考慮

Ⅵ.參考書目

Ⅶ.附錄

相關問題答案