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

2018-07-09 16:11:14

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

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

一、需求分析的含義

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

二、需求分析的意義

1.全面熟悉該軟件項(xiàng)目的所有相關(guān)人員,明確需求分析方成員和用戶成員的交流和溝通,最終確定對(duì)目標(biāo)軟件的綜合要求,同時(shí)最終確定如何實(shí)現(xiàn)用戶方的需求和軟件最終應(yīng)達(dá)到的水平和標(biāo)準(zhǔn)。

2.能夠挖掘用戶需求,并對(duì)其需求進(jìn)行分析建模,有些用戶由于缺乏計(jì)算機(jī)方面的相關(guān)知識(shí),所以沒(méi)有辦法提出相對(duì)準(zhǔn)確的需求,從而導(dǎo)致一些潛在的需求得不到有效的滿足和完善,只是最后的軟件模型不能使用戶完全滿意,所以軟件需求分析人員應(yīng)視圖站在用戶的角度,不但要確定用戶的需求,還要適當(dāng)?shù)膯l(fā)用戶。挖掘用戶的潛在需求。

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

1.問(wèn)題識(shí)別:就是從系統(tǒng)角度來(lái)理解軟件,確定對(duì)所開(kāi)發(fā)系統(tǒng)的綜合要求,并提出這些需求的實(shí)現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn)。這些需求包括:功能需求(做什么)、性能需求(要達(dá)到什么指標(biāo))、環(huán)境需求(如機(jī)型、操作系統(tǒng)等)、可靠性需求(不發(fā)生故障的概率)、安全保密需求、用戶界面需求、資源使用需求(軟件運(yùn)行是所需的內(nèi)存、CPU等)、軟件成本消耗與開(kāi)發(fā)進(jìn)度需求、預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo)。 

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

3.制訂規(guī)格說(shuō)明書(shū): 即編制文檔,描述需求的文檔稱為軟件需求規(guī)格說(shuō)明書(shū)。請(qǐng)注意,需求分析階段的成果是需求規(guī)格說(shuō)明書(shū),向下一階段提交。

4. 評(píng)審: 對(duì)功能的正確性,完整性和清晰性,以及其它需求給予評(píng)價(jià)。評(píng)審?fù)ㄟ^(guò)才可進(jìn)行下一階段的工作,否則重新進(jìn)行需求分析。

四、優(yōu)化需求分析的方法

目前,軟件需求的分析與設(shè)計(jì)方法較多,一些大同小異,而有的則基本思路相差很大。從開(kāi)發(fā)過(guò)程及特點(diǎn)出發(fā),軟件開(kāi)發(fā)一般采用軟件生存周期的開(kāi)發(fā)方法,有時(shí)采用開(kāi)發(fā)原型以幫助了解用戶需求。在軟件分析與設(shè)計(jì)時(shí),自上而下由全局出發(fā)全面規(guī)劃分析,然后逐步設(shè)計(jì)實(shí)現(xiàn)。 從系統(tǒng)分析出發(fā),可將需求分析方法大致分為功能分解方法、結(jié)構(gòu)化分析方法、信息建模法和面向?qū)ο蟮姆治龇椒ā?nbsp;

(1)功能分解方法 

將新系統(tǒng)作為多功能模塊的組合。各功能義可分解為若干子功能及接口,子功能再繼續(xù)分解。便可得到系統(tǒng)的雛形,即功能分解——功能、子功能、功能接口。

(2)結(jié)構(gòu)化分析方法

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