又雙叒叕,需求分析在軟件開(kāi)發(fā)的重要性!

2018-07-09 16:11:14

對(duì)于軟件需求分析及其變更的探讨是軟件開(kāi)發(fā)項目的基礎和前提條件,也是軟件開(kāi)發(fā)能(néng)否取得成(chéng)功的關鍵因素之一,提升軟件項目管理中軟件需求分析是我們當前的課題。然而,軟件是計算機技術開(kāi)發(fā)的核心和關鍵軟件的開(kāi)發(fā)和應用使人們不斷追求的目标,在軟件使用規模不斷擴大,應用領域不斷拓寬的新階段,軟件開(kāi)發(fā)過(guò)程中對(duì)需求的分析至關重要,需求分析是軟件項目成(chéng)功與否的關鍵。下面(miàn)我們將(jiāng)主要讨論需求分析在軟件開(kāi)發(fā)過(guò)程中的重要作用以及怎樣(yàng)做好(hǎo)需求分析。

在當前的軟件開(kāi)發(fā)過(guò)程中,軟件需求變得尤爲重要,軟件工程中的需求分析是軟件生命周期中最重要、最基本的環節,它不僅影響著(zhe)整個軟件開(kāi)發(fā)項目的質量,也同時決定著(zhe)軟件能(néng)否成(chéng)功的應用與生活以及能(néng)否給人們的生活帶來相應的便利。

一、需求分析的含義

需求分析是一個對(duì)用戶意圖不斷進(jìn)行揭示和判斷的過(guò)程,同時要進(jìn)一步對(duì)經(jīng)過(guò)可行性分析所确定的系統目标和功能(néng)進(jìn)行詳細論述,在此基礎上進(jìn)一步确定用戶的要求和目的。需求分析的内容大緻可以分爲兩(liǎng)類,主要包括功能(néng)性需求和非功能(néng)性需求,功能(néng)性需求主要是用于說明系統各功能(néng)部件與環境之間相互作用的本質,換言之,就(jiù)是還(hái)沒(méi)開(kāi)發(fā)出來的軟件在實際應用中能(néng)做到什麼(me),他是用戶最主要的需求,常常包括系統的輸入以及系統的輸出、系統能(néng)完成(chéng)的功能(néng)以及其他反應、非功能(néng)性需求主要是從不同的角度對(duì)能(néng)想到的具有可行性的解決方案 的約束和限制作用,例如對(duì)時間、存儲、界面(miàn)的約束等等,非功能(néng)性需求也被(bèi)稱爲“約束性需求”。

二、需求分析的意義

1.全面(miàn)熟悉該軟件項目的所有相關人員,明确需求分析方成(chéng)員和用戶成(chéng)員的交流和溝通,最終确定對(duì)目标軟件的綜合要求,同時最終确定如何實現用戶方的需求和軟件最終應達到的水平和标準。

2.能(néng)夠挖掘用戶需求,并對(duì)其需求進(jìn)行分析建模,有些用戶由于缺乏計算機方面(miàn)的相關知識,所以沒(méi)有辦法提出相對(duì)準确的需求,從而導緻一些潛在的需求得不到有效的滿足和完善,隻是最後(hòu)的軟件模型不能(néng)使用戶完全滿意,所以軟件需求分析人員應視圖站在用戶的角度,不但要确定用戶的需求,還(hái)要适當的啓發(fā)用戶。挖掘用戶的潛在需求。

三、優化分析需求的過(guò)程

1.問題識别:就(jiù)是從系統角度來理解軟件,确定對(duì)所開(kāi)發(fā)系統的綜合要求,并提出這(zhè)些需求的實現條件,以及需求應該達到的标準。這(zhè)些需求包括:功能(néng)需求(做什麼(me))、性能(néng)需求(要達到什麼(me)指标)、環境需求(如機型、操作系統等)、可靠性需求(不發(fā)生故障的概率)、安全保密需求、用戶界面(miàn)需求、資源使用需求(軟件運行是所需的内存、CPU等)、軟件成(chéng)本消耗與開(kāi)發(fā)進(jìn)度需求、預先估計以後(hòu)系統可能(néng)達到的目标。 

2.分析與綜合: 逐步細化所有的軟件功能(néng),找出系統各元素間的聯系,接口特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最後(hòu)綜合成(chéng)系統的解決方案,給出要開(kāi)發(fā)的系統的詳細邏輯模型(做什麼(me)的模型)。 

3.制訂規格說明書: 即編制文檔,描述需求的文檔稱爲軟件需求規格說明書。請注意,需求分析階段的成(chéng)果是需求規格說明書,向(xiàng)下一階段提交。

4. 評審: 對(duì)功能(néng)的正确性,完整性和清晰性,以及其它需求給予評價。評審通過(guò)才可進(jìn)行下一階段的工作,否則重新進(jìn)行需求分析。

四、優化需求分析的方法

目前,軟件需求的分析與設計方法較多,一些大同小異,而有的則基本思路相差很大。從開(kāi)發(fā)過(guò)程及特點出發(fā),軟件開(kāi)發(fā)一般采用軟件生存周期的開(kāi)發(fā)方法,有時采用開(kāi)發(fā)原型以幫助了解用戶需求。在軟件分析與設計時,自上而下由全局出發(fā)全面(miàn)規劃分析,然後(hòu)逐步設計實現。 從系統分析出發(fā),可將(jiāng)需求分析方法大緻分爲功能(néng)分解方法、結構化分析方法、信息建模法和面(miàn)向(xiàng)對(duì)象的分析方法。 

(1)功能(néng)分解方法 

將(jiāng)新系統作爲多功能(néng)模塊的組合。各功能(néng)義可分解爲若幹子功能(néng)及接口,子功能(néng)再繼續分解。便可得到系統的雛形,即功能(néng)分解——功能(néng)、子功能(néng)、功能(néng)接口。

(2)結構化分析方法

結構化分析方法是一種(zhǒng)從問題空間到某種(zhǒng)表示的映射方法,是結構化方法中重要且被(bèi)普遍接受的表示系統,由數據流圖和數據詞典構成(chéng)并表示。此分析法又稱爲數據流法。其基本策略是跟蹤數據流,即研究問題域中數據流動方式及在各個環節上所進(jìn)行的處理,從而發(fā)現數據流和加工。結構化分析可定義爲數據流、數據處理或加工、數據存儲、端點、處理說明和數據字典。