軟體工程科技論文

來源:才華庫 1.23W

軟體工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟體的學科。下面就是小編整理的軟體工程科技論文,一起來看一下吧。

軟體工程科技論文

1前言:

隨著計算機技術的快速發展和進步,計算機軟體已經在工業控制、電子商務、電子政務、金融證券、電力通訊等領域得到了廣泛的應用。軟體系統開發過程中,需求分析可以幫助軟體工程師與使用者進行溝通,能夠快速的獲取軟體需要完成的操作功能,以便滿足使用者的需求,具有重要的作用。

2 什麼是需求分析

結構化軟體開發一般分為分析、設計、開發、測試、驗收與執行等階段。開發前,會進行前期的可行性研究;在執行開始以後,還要進行後期維護。需求分析是結構化開發中的重要階段。通常情況下,國內軟體開發公司在做歐美和日本的專案時,對前期的可行性研究參與得較少,一般都是對方已經做完可行性研究,國內軟體開發公司從需求分析開始做起,直到軟體開發後的執行和維護。所謂“需求分析”,是指對要解決的問題進行詳細的分析,弄清楚客戶的需求,包括需要輸入什麼資料,要得到什麼結果,最後應輸出什麼,等等。可以說,軟體工程當中的“需求分析”就是確定要計算機“做什麼”。

3 需求分析的重要性

從需求分析的定義上,就可以看出需求分析在軟體開發過程中的重要性了。需求分析做得不對,後面的步驟做得再好,也只能是南轅北轍,無法滿足客戶的要求。研究表明,改正產品付諸應用後所發現的一個需求方面的缺陷,比在需求階段改正這個錯誤要多付出大約100倍的成本。而另一項研究發現,在需求開發階段發現的一個錯誤,平均僅需要花30分鐘修復,但若在系統測試時發現則需要5-17個小時來修復。

需求工程的成功與否直接關係到系統給的命運,需求工程絕對不是軟體開發的前期任務,而應該在整個系統的生命週期裡都扮演著重要角色。在需求工程階段解決和根除需求引起的問題可以大大降低生產和維護的成本,提高使用者的滿意度。在軟體開發的過程中,需求工程階段是瞭解使用者需求的最佳時期,但很大一部分使用者不知道、不瞭解需求工程,以至於在和他們交流的時候,他們都不能準確完整的說出自己的需求,因而對於從事需求工程的人員來說,能夠正確的理解使用者的需求觀點,利用一些方法和技巧來啟發使用者闡述清楚自己的需求是很重要的。需求工程作為了解並實現軟體開發者的目標的重要手段,有著不可替代的作用。

比如一個失敗的案例:由於和客戶簽訂了合同,5個月必須交付軟體,開發時間緊迫,導致專案計劃時做需求分析的時間只給了2周時間(理由是客戶的文件已經提供好了,照著做即可)。結果,由於前期對客戶文件理解得不是很清楚,導致開發進行到3個月的時候發現需求上有爭議。在和客戶確認後得出結論:如果要滿足客戶的要求,則需要對整體架構進行修改。雖然最後按期交付了軟體,但是整個專案組最後兩個月每天都在加班,包括週末,而且軟體質量也沒有得到客戶的充分認可。

再如我們在瞭解客戶需求的同時,應該儘量瞭解客戶為什麼要這麼做,幫客戶一起想需求,以便我們開發的軟體能夠更好地為客戶服務。每天開完會後,我們應該把客戶的需求整理好,發給同事進行研究分析,建立簡單的基礎模型並研究技術可行性。需求分析結束後,保持每週至少3次電話會議與客戶進行溝通,隨時瞭解客戶的需求。最後正因為在前期階段進行了這種細緻的需求分析,專案組在很少加班的情況下,不但按時交付了專案,並且得到客戶的充分認可。

4 軟體需求分析的任務

軟體工程的發展來源於資訊需求對它的推動,現在網際網路技術和應用越來越成熟,資訊的獲取也逐漸變得簡單和完整,但是由於資源的開放性、系統與系統的相互滲透性、使用者的變動性讓需求變得多目的、多變化,增加了軟體製作的難度,但同樣帶來了巨大的使用者市場。需求的獲取同樣也是困擾軟體工程的'絆腳石。需求與資源的搭配不合理,就會影響軟體工程的發展。未來適應變化多端的使用者需求,必須讓軟體也隨之變化。要滿足多樣化的資訊需求,提取合適的資訊需求建立模式,就要有相應的系統對需求資訊進行分析和總結,通過程式化的模式來制定切實可行的軟體方案

國專案中,在前期分析時軟體開發的核心技術人員和測試人員就已經進入專案組,每天技術人員會對分析的結果提出技術實現的難點以及改進的方法,筆者在隨後的會議上就會和客戶進行討論,儘量在滿足客戶需求的同時,使用更簡單可行的技術,這樣就為以後的開發奠定了基礎,使開發時的工作量大大減少。測試人員也在需求時提出從測試角度看到的問題,同樣在需求分析階段得到解決,節省了大量的開發時間。

需求工程在未來發展中會有如下幾個方面的著重考慮:

(1)縮小需求工程在理論研究階段取得的成果同實際應用中得到的效果的差距,通過得到的結論來更好的設計軟體;

(2)規範需求工程的各種機制,可以有需求工程規格資料的蒐集、整理、製作、實現以及維護,也可以有需求工程的問題的解決辦法;

(3)保證需求工程有較高的質量。這一點是需求工程最為關鍵的要求,質量的高低直接影響了未來實現效果的好壞。需求工程就是對未知問題進行探索、處理的過程。未來必然會朝著物件具體化、分析自動化的方向發展。

5 進行需求分析的注意事項

5.1 需求分析是分析人員與使用者共同的責任

使用者必須對軟體功能和效能提出初步要求,並澄清一些模糊概念。而需求分析人員則要認真瞭解使用者的要求,細緻地進行調查分析,把使用者“做什麼”的要求最終轉換成一個完全的、精細的軟體邏輯模型,並寫出軟體的需求規格說明,準確地表達使用者的要求。在一些專案中,由於時間緊迫,一些模糊問題沒有及時澄清,導致最後返工,影響了專案進度。

5.2 需求分析階段研究的物件是軟體專案的使用者要求

需要注意的是,必須理解使用者的各項要求,但又不能全盤接受所有的要求。在一些專案中,針對客戶提出的需求,瞭解客戶的意圖後,發現技術上實現有很大難度。我們瞭解到這個需求對客戶來說不是十分重要,於是和客戶商量出一個折中的解決方案,繞過技術難點,並且沒有降低客戶滿意度。

5.3 主動積極瞭解客戶業務和相關知識

求討論集中於業務需求和任務,因此要使用術語。客戶應將有關術語教給分析人員,而客戶不一定要懂得計算機本收集整理行業的術語。由於通常情況下客戶對計算機術語瞭解不多,需求分析人員應該儘量將計算機術語轉化成通俗易懂的語言,這樣便於和客戶溝通。而對於客戶方面的術語,一方面不懂的時候一定要問;另一方面也要多學習。

6 結語

綜上所述,需求分析是軟體開發週期中的重要階段,關係到軟體開發的成敗。我們在軟體開發中應該充分重視這一階段,儘量將問題在這一階段解決好,為後期的軟體開發打好堅實的基礎,使專案能夠保質保量的完成。隨著軟體工程的發展和應用,軟體需求分析技術也得到了極大的改進,軟體需求分析技術已經逐漸向原型化系統、敏捷需求分析、構件和元件等方向發展,其適用於PC軟體、移動終端軟體等不同型別軟體的需求分析,可以匯出完善的軟體功能,滿足使用者多樣化的需求。

熱門標籤