前言:尋找寫作靈感?中文期刊網用心挑選的需求分析視角下軟件工程論文,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
1.1基本概念
通常情況下軟件的開發可以分為五個階段,就是實踐中常見的需求分析階段、設計階段、編碼、維護階段和測試,整個設計過程屬于很典型的瀑布流過程,需求分析在整個過程中處于上層結構,其他的階段都需要需求分析的支持才能夠順利開展,一旦需求分析出現了偏差就會直接影響到軟件工程的整體進程,甚至會導致軟件的質量下降,所以軟件需求分析是十分重要的過程。軟件工程需求分析這一概念主要指的就是對于用戶需求的理解與表達,保證軟件功能與客戶需求形成一致,并且同步地估計軟件的研發風險和項目評估,最終來實現整個開發設計過程。在這個過程當中,客戶的需求必須處于主導的地位,工程師和項目經理就是要整理好客戶的需求,通過具體的需求分析獲取技術性的文檔材料,從廣義上來理解,軟件工程需求分析主要包括了對需求信息的獲取到分析再到變更,最終進行驗證以及規則的說明,形成一個完整的系統工程。
1.2工作流程
軟件工程需求分析主要是通過對于問題和運行環境的分析理解,建立起一個集成了問題設計信息、功能和行為的模型,使得用戶需求更加清晰完整,形成比較規則的說明。其中問題的獲取從三大版塊出發,分別是用戶需求、業務需求和功能需求。用戶需求的核心內容就是收集用戶對于軟件功能的需求,確定好用例和角色,通常采取的方法就是訪談會的形式,由各個軟件需求企業派出代表提出需求。業務需求是業務流程的分析員在工作中對軟件需求企業業務流程進行的評估,并且要根據評估的結果確定業務建模的程度。功能需求就是要依賴用戶的需求了,將用戶的需求通過映射的形式形成系統的模塊,實現軟件的原始雛形。
1.3主要方法
需求分析的過程是復雜的,要經過很多個流程,包括了數據字典的創建、需求優先級別的確定、需求可行性的分析等等,在這其中數據字典是一種對于軟件系統所要使用到的結構和數據項的定義,用來保證研發者對數據進行統一定義。在需求分析階段,一定要保證開發小組對于數據項定義以及一些專業術語的使用一致,甚至可以分析并設計一些工具來保證數據字典的統一性。在確定需求的優化級別方面,可以采用應用分析的方法,產品版本的考慮過程中要在優先級的基礎上分析產品的特性及真實需求。在需求變更的情況下,要在特定版本中加入變更的每一項信息,做出相應變更。在需求分析的可行性方面需要明確風險,包括一些需求沖突和對外界因素依賴以及技術方面的障礙等等,通過可行性的需求分析能夠進一步地驗證軟件在開發過程中的可行性。
2.需求分析基礎上的軟件工程質量問題
在一般情況下,軟件公司開發軟件過程中都會出現很多問題,對于質量問題的反映最多,這些問題如果不能得到及時的解決,很可能會給軟件工程開發帶來災難性的阻礙。尤其是有一部分企業經常會忽視文檔設置和相關代碼的注釋,違反了需求分析的規則,背離了最初設計的思想,造成比較大的質量問題。
2.1軟件維護與開發處于分離狀態
在當前的軟件開發工程中,軟件的開發和維護始終處于分離的狀態,在軟件設計和開發過程中不同階段的文檔并不具備兼容性。需求分析本身是一種自然語言的描述,在文檔設計的過程中主要是要依靠計算機語言進行描述,這兩種語言之間必須要構建起一個有效的溝通橋梁,否則會嚴重影響到程序員的理解,如果文檔出現了分離的現象,就會加大程序持續運行的難度,程序員在程序代碼的編寫過程中會因為對文檔的考慮不夠充分而影響軟件設計的進程和效果,所以軟件維護和開發的分離狀況是軟件工程中的明顯問題。軟件開發過程要經歷需求分析以及詳細的代碼設計測試,還要包括對于軟件的維護工作,這是一個緊密聯系的過程,在當前的軟件開發工程中,很多企業雖然做到了對于需求分析的重視,但是往往會缺乏對于軟件后期管理維護的相關程序,忽略了本應該留出來的模塊接口對應問題,在日后對于軟件的維護和升級方面增加了難度。軟件工程的需求分析其實是一個動態的過程,用戶需求在各種因素影響下處于不斷變化的狀態中,所以,軟件開發工程在初期的工作中就應該為后期改進預留出足夠的接口,降低企業的維護和升級成本。
2.2軟件文檔的時效性未得到保障
軟件工程中各個板塊的設計通常是由不同的人員來完成的,這同樣會導致軟件開發過程中問題的出現,比如說在設計需求分析中數字字典的應用過程中,因其規格不同會造成文檔編寫形式出現分離,再比如說當應用的工具不同,并且編寫和檢索的時間也存在差異的情況下,就更加不能夠保證文檔的有效時效性,編寫的過程過于混亂的話,在相應程序的維護過程中,文檔資料的導出將會成為一個難題,甚至會出現缺失,輕則延長維護的時間,重則導致軟件無法進行維護。
2.3文檔的內容與程序分離
文檔的內容與程序分離,主要還是因為文檔設計和需求分析編寫過程中采取的角度不同,這兩者面對的對象本身就是不同的,兩者之間的理念也很容易發生偏離。需求分析過程主要還是針對客戶展開的,文檔的設計卻是程序員的設計需求,雖然最終的目的是相同的,都是為了設計文檔的改進,但是整個的轉換過程中很容易出現偏差,導致需求與成品之間出現了比較大的差距。同時,需求文檔的編寫多數應用自然語言,設計文檔的編寫多數應用計算機語言,這兩者之間的語言轉換也是問題產生的原因,會涉及到各類模塊圖、機構圖和數據圖的分析,如果文檔沒有及時更新,就會導致需求和程序的相互分離。
3.保障軟件工程質量的具體措施
3.1確保文檔的編寫完整性
軟件的編寫過程一定要十分重視分析文檔的實際編寫,應采用一些簡潔的語言詳細闡述客戶對于軟件功能的需求,盡量地避免一些專業性的術語影響到程序員的理解和判斷,避免使用模糊性質的詞語,造成軟件計算方式的變化,在文檔當中應該盡可能地使用一些實例,防止誤差的產生。比如說在結合數據庫的軟件開發過程中,應該在設計需求中詳盡表述儲存量和波動范圍,精確表明需求量,確保文檔編碼的完整性。
3.2確保需求分析的完善性
需求分析是一個對整體軟件工程展開分析的過程,這項工作的展開在很大程度上會影響到軟件的質量以及日后的升級維護,所以,工作人員應該確保對于客戶需求的一手了解,避免復述過程造成的誤差,軟件開發公司應該直接同用戶產生有效溝通,共同探討,確保需求分析的完整性。結束語伴隨著科學技術的發展,相關軟件的開發和設計環境也在不斷地革新,人們對于軟件功能的需求也越來越廣泛,所以,軟件工程應該加強設計過程中的需求分析,更加清晰地制定發展計劃,保證軟件的質量,重視軟件的需求分析同質量保障之間的關系,嚴格開發,全面提升。
作者:何偉超 單位:河套學院教務處