軟件工程科技論文
軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。下面就是小編整理的軟件工程科技論文,一起來看一下吧。
1前言:
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展和進(jìn)步,計(jì)算機(jī)軟件已經(jīng)在工業(yè)控制、電子商務(wù)、電子政務(wù)、金融證券、電力通信等領(lǐng)域得到了廣泛的應(yīng)用。軟件系統(tǒng)開發(fā)過程中,需求分析可以幫助軟件工程師與用戶進(jìn)行溝通,能夠快速的獲取軟件需要完成的操作功能,以便滿足用戶的需求,具有重要的作用。
2 什么是需求分析
結(jié)構(gòu)化軟件開發(fā)一般分為分析、設(shè)計(jì)、開發(fā)、測試、驗(yàn)收與運(yùn)行等階段。開發(fā)前,會(huì)進(jìn)行前期的可行性研究;在運(yùn)行開始以后,還要進(jìn)行后期維護(hù)。需求分析是結(jié)構(gòu)化開發(fā)中的重要階段。通常情況下,國內(nèi)軟件開發(fā)公司在做歐美和日本的項(xiàng)目時(shí),對(duì)前期的可行性研究參與得較少,一般都是對(duì)方已經(jīng)做完可行性研究,國內(nèi)軟件開發(fā)公司從需求分析開始做起,直到軟件開發(fā)后的運(yùn)行和維護(hù)。所謂“需求分析”,是指對(duì)要解決的問題進(jìn)行詳細(xì)的分析,弄清楚客戶的需求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么,等等。可以說,軟件工程當(dāng)中的“需求分析”就是確定要計(jì)算機(jī)“做什么”。
3 需求分析的重要性
從需求分析的定義上,就可以看出需求分析在軟件開發(fā)過程中的重要性了。需求分析做得不對(duì),后面的步驟做得再好,也只能是南轅北轍,無法滿足客戶的要求。研究表明,改正產(chǎn)品付諸應(yīng)用后所發(fā)現(xiàn)的一個(gè)需求方面的缺陷,比在需求階段改正這個(gè)錯(cuò)誤要多付出大約100倍的成本。而另一項(xiàng)研究發(fā)現(xiàn),在需求開發(fā)階段發(fā)現(xiàn)的一個(gè)錯(cuò)誤,平均僅需要花30分鐘修復(fù),但若在系統(tǒng)測試時(shí)發(fā)現(xiàn)則需要5-17個(gè)小時(shí)來修復(fù)。
需求工程的成功與否直接關(guān)系到系統(tǒng)給的命運(yùn),需求工程絕對(duì)不是軟件開發(fā)的前期任務(wù),而應(yīng)該在整個(gè)系統(tǒng)的生命周期里都扮演著重要角色。在需求工程階段解決和根除需求引起的問題可以大大降低生產(chǎn)和維護(hù)的.成本,提高用戶的滿意度。在軟件開發(fā)的過程中,需求工程階段是了解用戶需求的最佳時(shí)期,但很大一部分用戶不知道、不了解需求工程,以至于在和他們交流的時(shí)候,他們都不能準(zhǔn)確完整的說出自己的需求,因而對(duì)于從事需求工程的人員來說,能夠正確的理解用戶的需求觀點(diǎn),利用一些方法和技巧來啟發(fā)用戶闡述清楚自己的需求是很重要的。需求工程作為了解并實(shí)現(xiàn)軟件開發(fā)者的目標(biāo)的重要手段,有著不可替代的作用。
比如一個(gè)失敗的案例:由于和客戶簽訂了合同,5個(gè)月必須交付軟件,開發(fā)時(shí)間緊迫,導(dǎo)致項(xiàng)目計(jì)劃時(shí)做需求分析的時(shí)間只給了2周時(shí)間(理由是客戶的文檔已經(jīng)提供好了,照著做即可)。結(jié)果,由于前期對(duì)客戶文檔理解得不是很清楚,導(dǎo)致開發(fā)進(jìn)行到3個(gè)月的時(shí)候發(fā)現(xiàn)需求上有爭議。在和客戶確認(rèn)后得出結(jié)論:如果要滿足客戶的要求,則需要對(duì)整體架構(gòu)進(jìn)行修改。雖然最后按期交付了軟件,但是整個(gè)項(xiàng)目組最后兩個(gè)月每天都在加班,包括周末,而且軟件質(zhì)量也沒有得到客戶的充分認(rèn)可。
再如我們?cè)诹私饪蛻粜枨蟮耐瑫r(shí),應(yīng)該盡量了解客戶為什么要這么做,幫客戶一起想需求,以便我們開發(fā)的軟件能夠更好地為客戶服務(wù)。每天開完會(huì)后,我們應(yīng)該把客戶的需求整理好,發(fā)給同事進(jìn)行研究分析,建立簡單的基礎(chǔ)模型并研究技術(shù)可行性。需求分析結(jié)束后,保持每周至少3次電話會(huì)議與客戶進(jìn)行溝通,隨時(shí)了解客戶的需求。最后正因?yàn)樵谇捌陔A段進(jìn)行了這種細(xì)致的需求分析,項(xiàng)目組在很少加班的情況下,不但按時(shí)交付了項(xiàng)目,并且得到客戶的充分認(rèn)可。
4 軟件需求分析的任務(wù)
軟件工程的發(fā)展來源于信息需求對(duì)它的推動(dòng),現(xiàn)在互聯(lián)網(wǎng)技術(shù)和應(yīng)用越來越成熟,信息的獲取也逐漸變得簡單和完整,但是由于資源的開放性、系統(tǒng)與系統(tǒng)的相互滲透性、用戶的變動(dòng)性讓需求變得多目的、多變化,增加了軟件制作的難度,但同樣帶來了巨大的用戶市場。需求的獲取同樣也是困擾軟件工程的絆腳石。需求與資源的搭配不合理,就會(huì)影響軟件工程的發(fā)展。未來適應(yīng)變化多端的用戶需求,必須讓軟件也隨之變化。要滿足多樣化的信息需求,提取合適的信息需求建立模式,就要有相應(yīng)的系統(tǒng)對(duì)需求信息進(jìn)行分析和總結(jié),通過程序化的模式來制定切實(shí)可行的軟件方案。
國項(xiàng)目中,在前期分析時(shí)軟件開發(fā)的核心技術(shù)人員和測試人員就已經(jīng)進(jìn)入項(xiàng)目組,每天技術(shù)人員會(huì)對(duì)分析的結(jié)果提出技術(shù)實(shí)現(xiàn)的難點(diǎn)以及改進(jìn)的方法,筆者在隨后的會(huì)議上就會(huì)和客戶進(jìn)行討論,盡量在滿足客戶需求的同時(shí),使用更簡單可行的技術(shù),這樣就為以后的開發(fā)奠定了基礎(chǔ),使開發(fā)時(shí)的工作量大大減少。測試人員也在需求時(shí)提出從測試角度看到的問題,同樣在需求分析階段得到解決,節(jié)省了大量的開發(fā)時(shí)間。
需求工程在未來發(fā)展中會(huì)有如下幾個(gè)方面的著重考慮:
。1)縮小需求工程在理論研究階段取得的成果同實(shí)際應(yīng)用中得到的效果的差距,通過得到的結(jié)論來更好的設(shè)計(jì)軟件;
。2)規(guī)范需求工程的各種機(jī)制,可以有需求工程規(guī)格數(shù)據(jù)的搜集、整理、制作、實(shí)現(xiàn)以及維護(hù),也可以有需求工程的問題的解決辦法;
。3)保證需求工程有較高的質(zhì)量。這一點(diǎn)是需求工程最為關(guān)鍵的要求,質(zhì)量的高低直接影響了未來實(shí)現(xiàn)效果的好壞。需求工程就是對(duì)未知問題進(jìn)行探索、處理的過程。未來必然會(huì)朝著對(duì)象具體化、分析自動(dòng)化的方向發(fā)展。
5 進(jìn)行需求分析的注意事項(xiàng)
5.1 需求分析是分析人員與用戶共同的責(zé)任
用戶必須對(duì)軟件功能和性能提出初步要求,并澄清一些模糊概念。而需求分析人員則要認(rèn)真了解用戶的要求,細(xì)致地進(jìn)行調(diào)查分析,把用戶“做什么”的要求最終轉(zhuǎn)換成一個(gè)完全的、精細(xì)的軟件邏輯模型,并寫出軟件的需求規(guī)格說明,準(zhǔn)確地表達(dá)用戶的要求。在一些項(xiàng)目中,由于時(shí)間緊迫,一些模糊問題沒有及時(shí)澄清,導(dǎo)致最后返工,影響了項(xiàng)目進(jìn)度。
5.2 需求分析階段研究的對(duì)象是軟件項(xiàng)目的用戶要求
需要注意的是,必須理解用戶的各項(xiàng)要求,但又不能全盤接受所有的要求。在一些項(xiàng)目中,針對(duì)客戶提出的需求,了解客戶的意圖后,發(fā)現(xiàn)技術(shù)上實(shí)現(xiàn)有很大難度。我們了解到這個(gè)需求對(duì)客戶來說不是十分重要,于是和客戶商量出一個(gè)折中的解決方案,繞過技術(shù)難點(diǎn),并且沒有降低客戶滿意度。
5.3 主動(dòng)積極了解客戶業(yè)務(wù)和相關(guān)知識(shí)
求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語?蛻魬(yīng)將有關(guān)術(shù)語教給分析人員,而客戶不一定要懂得計(jì)算機(jī)本收集整理行業(yè)的術(shù)語。由于通常情況下客戶對(duì)計(jì)算機(jī)術(shù)語了解不多,需求分析人員應(yīng)該盡量將計(jì)算機(jī)術(shù)語轉(zhuǎn)化成通俗易懂的語言,這樣便于和客戶溝通。而對(duì)于客戶方面的術(shù)語,一方面不懂的時(shí)候一定要問;另一方面也要多學(xué)習(xí)。
6 結(jié)語
綜上所述,需求分析是軟件開發(fā)周期中的重要階段,關(guān)系到軟件開發(fā)的成敗。我們?cè)谲浖_發(fā)中應(yīng)該充分重視這一階段,盡量將問題在這一階段解決好,為后期的軟件開發(fā)打好堅(jiān)實(shí)的基礎(chǔ),使項(xiàng)目能夠保質(zhì)保量的完成。隨著軟件工程的發(fā)展和應(yīng)用,軟件需求分析技術(shù)也得到了極大的改進(jìn),軟件需求分析技術(shù)已經(jīng)逐漸向原型化系統(tǒng)、敏捷需求分析、構(gòu)件和組件等方向發(fā)展,其適用于PC軟件、移動(dòng)終端軟件等不同類型軟件的需求分析,可以導(dǎo)出完善的軟件功能,滿足用戶多樣化的需求。
【軟件工程科技論文】相關(guān)文章:
科技論文致謝08-05
軟件工程論文開題報(bào)告01-25
科技論文作文11-07
軟件工程論文開題報(bào)告范文01-25
軟件工程論文的開題報(bào)告07-31
物理科技論文02-15
物理科技論文11-19
科技實(shí)驗(yàn)論文08-25
科技論文怎么寫07-28
科技論文_1000字09-14