計(jì)算機(jī)軟件開發(fā)中需求分析的研究
軟件需求分析主要是指開發(fā)者對于軟件用戶定制軟件使用意圖的分析和判斷的過程,下面是小編搜集整理的一篇探究計(jì)算機(jī)軟件開發(fā)需求的論文范文,歡迎閱讀查看。
摘要:計(jì)算機(jī)軟件開發(fā)需求分析是軟件開發(fā)中的關(guān)鍵步驟,需求分析的好壞直接影響整個(gè)軟件開發(fā)項(xiàng)目的成敗。文章通過對計(jì)算機(jī)軟件開發(fā)過程中需求分析的任務(wù)、具體的分析過程、方法進(jìn)行研究,并且結(jié)合具體的軟件開發(fā)經(jīng)驗(yàn)提出優(yōu)化需求分析的可行性措施。
關(guān)鍵字:計(jì)算機(jī)軟件;軟件開發(fā);需求分析;開發(fā)項(xiàng)目
伴隨著全球經(jīng)濟(jì)的加速發(fā)展和現(xiàn)代化進(jìn)程的加快,計(jì)算機(jī)已經(jīng)被廣泛地應(yīng)用于各個(gè)行業(yè)和領(lǐng)域,其發(fā)揮的作用是不可估量的,而不同的軟件是計(jì)算機(jī)在各個(gè)不同行業(yè)應(yīng)用的基礎(chǔ),計(jì)算機(jī)的大規(guī)模應(yīng)用也刺激了軟件開發(fā)的快速發(fā)展。軟件日益向著高度專業(yè)化、操作簡便性發(fā)展,在這種新的形勢下,軟件用戶也給軟件開發(fā)提出了新的更高的挑戰(zhàn)。軟件需求分析就是為了針對不同用戶的個(gè)性化進(jìn)行用戶的軟件使用需要、使用目的以及使用能力方面的綜合分析然后針對性地進(jìn)行軟件開發(fā),以更好地滿足用戶的需求。在軟件開發(fā)的整個(gè)過程中,軟件需求分析是第一步,也是至關(guān)重要的一步,它直接關(guān)系軟件開發(fā)項(xiàng)目的成敗。根據(jù)統(tǒng)計(jì)資料顯示,目前75%的軟件開發(fā)失敗案例中,一半以上是由于沒有做好軟件開發(fā)前的需求分析導(dǎo)致的。因此,一個(gè)好的軟件需求分析是成功軟件開發(fā)的第一步,能夠達(dá)到事半功倍的效果,相反,就會造成大量的人力物力浪費(fèi),甚至直接導(dǎo)致軟件開發(fā)項(xiàng)目的失敗。
1 軟件需求分析的內(nèi)容及主要任務(wù)
軟件需求分析主要是指開發(fā)者對于軟件用戶定制軟件使用意圖的分析和判斷的過程,并且需要在對軟件可行性分析的基礎(chǔ)上進(jìn)行系統(tǒng)和軟件功能實(shí)現(xiàn)方面的詳細(xì)論證和說明,最終確定用戶的真正需要是什么,所要完成的功能具體是什么。從內(nèi)容上來說需求分析主要有兩大類:基于軟件功能的需求分析和基于非功能的需求分析。其中前者是指分析所開發(fā)的軟件具有能夠完成什么樣的功能以及利用這些軟件功能可以實(shí)現(xiàn)什么樣的具體操作功能,主要是指滿足性能方面的需求,也即用戶對于軟件的最基本的需求。后者則更加側(cè)重于一些軟件附屬功能,例如軟件日后的升級、軟件的操作界面選擇等等,這些是基于用戶的實(shí)際需求進(jìn)行的,具有更大的靈活性,對軟件開發(fā)也有很大的影響。
需求分析是在正式開發(fā)前的最關(guān)鍵步驟,它的最終目的就是要通過對用戶需求進(jìn)行詳盡分析,并且能夠形成一份用戶和開發(fā)者之間的關(guān)于待開發(fā)軟件的詳細(xì)的技術(shù)說明,包括軟件的功能等都要做出具體的描述。需求分析的主要任務(wù)由針對用戶的問題分析、對問題進(jìn)行系統(tǒng)綜合分析、編寫詳細(xì)的技術(shù)文檔以及用戶需求確認(rèn)四部分。
2 軟件需求分析基本步驟
軟件需求分析的實(shí)質(zhì)就是將各個(gè)方面的因素集中在一起,并且逐漸地進(jìn)行條理化分析,最終得出能夠?qū)栴}充分解決的方案的過程,做好軟件需求分析最關(guān)鍵的是要和用戶做好需求的溝通,真正地了解用戶的需求。在這個(gè)過程中,將各個(gè)方面的因素聚集在一起是第一步,這些包含用戶對于軟件功能的要求、功能實(shí)現(xiàn)的可行性分析、實(shí)現(xiàn)功能的難度分析以及軟件開發(fā)的工作量等大量的因素。在這個(gè)過程中,一定要正確理解用戶對于軟件功能的要求,避免錯(cuò)誤的理解導(dǎo)致后面的時(shí)間浪費(fèi)甚至項(xiàng)目失敗,很多軟件開發(fā)項(xiàng)目最后在提交時(shí)出現(xiàn)問題就是由于開發(fā)者在最初就錯(cuò)誤地理解用戶的真正需求到底在哪里,形成了本位主義思想,這樣的錯(cuò)誤往往會產(chǎn)生極其嚴(yán)重的后果。因此,在這個(gè)過程中,開發(fā)者需要根據(jù)自己對于需求的理解,繪制出軟件功能的詳細(xì)框圖,并且讓用戶進(jìn)行確認(rèn),根據(jù)用戶的反饋信息及時(shí)修改和補(bǔ)充理解偏差的地方,使得對于用戶需求的理解達(dá)到完美的地步。
3 軟件需求分析方法
在進(jìn)行軟件需求分析時(shí),根據(jù)不同的用戶可以采取不同的需求分析方法。需求分析方法主要有基于功能需求的分析方法、原型法和基于軟件系統(tǒng)的結(jié)構(gòu)化分析方法。(1)基于功能需求的分析方法較為簡單,是指在開發(fā)前就對軟件需求就行嚴(yán)格的定義,這種方法目前已經(jīng)很難滿足不同領(lǐng)域用戶的需求,而且在軟件正式開發(fā)前想要形成一套完整的、各個(gè)方面沒有漏洞的方案是不現(xiàn)實(shí)的,因此目前這種傳統(tǒng)需求分析方法的弊端日益顯現(xiàn),已經(jīng)很難滿足市場的需要,需要對其進(jìn)行進(jìn)一步的改進(jìn)和優(yōu)化。(2)原型法。原型法是目前應(yīng)用最為普遍、使用效果最為顯著的方法,它與傳統(tǒng)的自上而下的方法不同,原型法是根據(jù)用戶的具體需求信息進(jìn)行“個(gè)性化”設(shè)計(jì),這種方法的實(shí)現(xiàn)一般是由用戶向開發(fā)人員或者業(yè)務(wù)人員描述所需軟件的具體實(shí)現(xiàn)功能、用途等需求,由開發(fā)人員根據(jù)用戶的需求進(jìn)行技術(shù)分析,論證軟件功能實(shí)現(xiàn)的可行性,給出選用的參考技術(shù)功能實(shí)現(xiàn)方案,然后根據(jù)用戶的需求進(jìn)一步做后期的改進(jìn)和優(yōu)化處理。這種方法的實(shí)現(xiàn)相對復(fù)雜,但是取得的效果也是非常明顯的。在與用戶的'溝通過程中,開發(fā)人員能夠更好地把握用戶真正的需求所在,使本來含混不清的問題變得清楚,同時(shí)對于整個(gè)系統(tǒng)的設(shè)計(jì)也是大有裨益的,節(jié)約了軟件設(shè)計(jì)人員的大量時(shí)間,提高了軟件的設(shè)計(jì)效率。
4 軟件需求變更及其預(yù)防措施
軟件需求變更是指軟件在開發(fā)階段,用戶提出新的需求,并且和以前提出的需求不能吻合,就需要開發(fā)人員對軟件需求做出變更。分析造成需求變更的原因主要有:(1)在軟件開發(fā)前的需求分析階段,設(shè)計(jì)人員沒有真正地理解用戶的需求所在,造成在設(shè)計(jì)過程中出現(xiàn)功能性的偏差,不能很好地滿足用戶的需求,導(dǎo)致軟件需求發(fā)生變更。(2)在較長的軟件開發(fā)周期中,由于經(jīng)濟(jì)社會的快速發(fā)展和技術(shù)的不斷更新,用戶對于軟件的需求發(fā)生變化,需要增加所需軟件新的功能來滿足自己的需求,這也會直接導(dǎo)致用戶需求的發(fā)生,有些可能只是簡單地增加軟件的功能就可以實(shí)現(xiàn),有些可能需要改變整個(gè)軟件系統(tǒng)的設(shè)計(jì)框架,甚至需要進(jìn)行軟件的重新開發(fā)和設(shè)計(jì),使得原先的開發(fā)工作付之一炬,造成了嚴(yán)重的人力物力的浪費(fèi),降低了軟件開發(fā)的成功率,使得軟件企業(yè)蒙受巨大損失。軟件需求變更通常會給軟件企業(yè)帶來巨大的損失,而且會嚴(yán)重打擊軟件設(shè)計(jì)人員的積極性,因此,很有必要采取多種措施進(jìn)行預(yù)防,降低直至消除需求變更的發(fā)生。
為了預(yù)防軟件需求變更的發(fā)生,首先要在開發(fā)前的軟件需求分析中做好工作,要組織專業(yè)技術(shù)人員直接與用戶進(jìn)行溝通交流,反復(fù)進(jìn)行若干遍,以確定對于用戶的需求分析方向正確,并且沒有遺漏的功能部分,和用戶的有效溝通能夠在一定范圍內(nèi)有效地起到預(yù)防需求變更的效果,也只有軟件設(shè)計(jì)人員真正理解了用戶的時(shí)間需求,才能設(shè)計(jì)出真正切實(shí)滿足用戶需求的軟件產(chǎn)品,使得用戶滿意;其次,還需要加強(qiáng)對于軟件開發(fā)合同的認(rèn)識。一般的軟件公司認(rèn)為開發(fā)合同只是一些功能性的參數(shù)實(shí)現(xiàn)的說明,在軟件需求分析階段制度的說明文檔也大都是偏重于技術(shù)方面的,很少有對軟件開發(fā)失敗或者需求變更的責(zé)任做出詳細(xì)說明的合同,因此,在和用戶簽訂開發(fā)合同時(shí)就應(yīng)該在合同中明確地對軟件需求變更的雙方責(zé)任制度,一旦發(fā)生問題時(shí)可以及時(shí)地做出處理,減小軟件企業(yè)的損失,這也體現(xiàn)了對用戶和產(chǎn)品負(fù)責(zé)的態(tài)度;同時(shí)還要適當(dāng)加快軟件開發(fā)的速度,減少由于開發(fā)周期內(nèi)新技術(shù)發(fā)展引起的軟件需求變更的發(fā)生,以更快的速度滿足用戶的功能需求。
5 結(jié)語
通過本文對于軟件需求分析的內(nèi)容、需求分析過程以及分析方法的闡述,更加明確軟件需求分析對于整個(gè)軟件系統(tǒng)開發(fā)過程的重要性,直接關(guān)系整個(gè)軟件開發(fā)項(xiàng)目的成敗,因此必須對需求分析引起足夠的重視,并且采取積極的措施預(yù)防,為軟件開發(fā)階段的實(shí)施奠定良好的基礎(chǔ),提高軟件開發(fā)的成功率,降低軟件公司開發(fā)風(fēng)險(xiǎn)。
參考文獻(xiàn)
[1] 王曉寧.關(guān)于如何做好軟件需求分析的探討[J].科技資訊,2010.
[2] 馮阿芳,石研.軟件需求分析的思考[J].中國新技術(shù)新產(chǎn)品,2010.
[3] 孟亞輝.淺析軟件開發(fā)項(xiàng)目中的需求分析[J].職業(yè)圈,2007.
【計(jì)算機(jī)軟件開發(fā)中需求分析的研究】相關(guān)文章:
4.計(jì)算機(jī)軟件開發(fā)中的分層技術(shù)分析
5.淺析計(jì)算機(jī)軟件項(xiàng)目管理中的需求分析
6.計(jì)算機(jī)應(yīng)用軟件開發(fā)技術(shù)研究分析