軟件工程需求與質量保證研究

前言:尋找寫作靈感?中文期刊網用心挑選的軟件工程需求與質量保證研究,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。

軟件工程需求與質量保證研究

摘要:

軟件危機的出現已存在多年,雖然業界專家不斷致力于軟件工程理論建設,認為軟件工程理論的推進可有效緩解軟件危機,但大量實踐表明,只有通過對軟件需求進行詳細地分析才能真正改善軟件的重復問題,進而提高軟件工程的質量。文章簡單闡述了軟件工程需求分析的概念,分析了當前軟件工程所存在的質量問題,并針對問題提出了相應的質量保證措施,旨在為相關技術人員提供若干參考意見。

關鍵詞:

軟件工程;需求分析;質量保證

1軟件工程需求分析概念

軟件工程需求分析是指在正確了解用戶需求的基礎上,使軟件功能與客戶需求相符,同時預估軟件研發風險和項目評估,最終開成整個開發設計方案的過程。在軟件工程需求分析過程當中,占主導地位的是用戶的需求,用戶需求的整理由工程師及項目經理負責,通過需求分析獲取相關技術性文檔材料,包括SRS文檔、DRM文檔和AcceptancePlan[1]。從廣義上來說,軟件工程需求分析所要做的工作主要有需求信息的獲取、分析、變更、驗證以及相關規則說明和管理。軟件工程需求分析的流程多且復雜,如創建數據字典、確定需求優先級別、分析需求可行性等。不同流程所使用的分析方法也有所不同,如在確定需求優先級別時,可采取應用分析法,即在考慮產品版本時應基于優先級對產品特性及需求進行分析,若需求變更,則要在不同版本當中添加所變更的信息,并做好相應變更工作[2]。在進行需求分析可行性分析時,需對每項需求實施的可行性進行詳細分析,以驗證軟件是否能夠開發,是否能夠給公司帶來利潤。

2軟件工程存在的質量問題

第一,文檔的時效性無保障。軟件各模塊的制作通常是由不同人負責的,這就導到軟件開發過程存在諸多問題,如在進行需求分析應用數字字典時,因規格不同導到文檔編寫形式分離。又如不同制作人員所使用的工具不同,編寫和檢索時間不同,導致文檔的時效性無法保證,若編寫過程混亂還會給程序的維護帶來很大困難,導致文檔資料難以尋找,甚至出現缺失,致使維護時間加長,若問題嚴重的話還會導致軟件無法維護。第二,程序與文檔內容分離。軟件程序與文檔內容分離的主要原因是在編寫文檔設計與需求分析時所采取的角度不同,文檔設計的編寫是面對程序設計員的,而需求分析的編寫是面對用戶的,雖然兩者的最終目的是相同的,都是將用戶需求轉化為程序編碼設計文檔,是在進行轉化時卻存在很大的偏差,導到軟件成品與需求之間存在很大差距。此外,因編寫需求分析文檔多使用自然語言,而編寫設計文檔多使用計算機語言,兩種語言在進行轉化時易出現很多問題,且設計的圖較多,如模塊圖、結構圖、數據圖等,若文檔未及時更新,文檔就無法正確表達程序,開發人員也就無法通過文檔正確理解用戶需求,導致程序與文檔內容分離,最終軟件只能從頭開始。第三,軟件開發與維護分離。軟件的研發主要包括以下過程:需求分析、可行性分析、軟件設計、代碼設計、測試,此外還有軟件的維護,這是軟件自誕生至結束的整個周期。在軟件研發的整個周期當中,軟件的開發與維護是緊密聯系的,軟件的開發是軟件誕生的重要過程,但軟件的維護卻是軟件質量不斷得以提升的重要階段和方式。現多數軟件開發公司在研發軟件時比較注重軟件的開發過程,而忽略了軟件的維護,導致軟件開發與維護分離問題凸顯。如在進行軟件的設計和開發時,研發人員比較重視用戶需求分析,但卻忽略了軟件的功能升級,未預留相應模塊接口,給軟件的后期維護帶來很大困難[3]。因用戶需求是一個動態化的過程,隨著用戶使用時間的推移,用戶會產生各種新的需求,若事先未預留相應接口,那么軟件的升級相當于重新研發一套軟件,這樣研發成本明顯上升。再者因需求分析與設計文檔的編寫所使用的語言有所不同,需求分析編寫所使用的是自然語言,而設計文檔編寫所使用的是計算機語言,兩種語言并未有一個統一的溝通橋梁,這就導致程序員的理解存在偏差,而這種偏差一旦出現就會使需求文檔與設計文檔出現分離,最終給軟件的維護帶來困難。此外,很多程序員習慣性編寫程序代碼,卻忽略了建設文檔,導致軟件的開發與維護出現分離。

3軟件質量保證措施

3.1保證文檔編寫的完整性

軟件工程需求分析的編寫對于軟件工程需求設計來說非常重要。在編寫軟件工程需求時,應使用通俗易懂的自然語言來表達客戶的軟件功能需求,避免使用模糊性語言或是過量使用專業術語,以使程序員能準確理解,防止因程序員的理解偏差而影響程序的編寫,導致軟件的計算方式出現偏差,最終給用戶帶來軟件陷阱。文檔的編寫應盡量使用實詞,而避免使用形容詞或是描述性詞語,以保證產品描述的真實性,若使用這些詞會使用戶需求的理解出現誤差,將導致軟件無法正確反映用戶需求。如在利用數據庫存進行軟件的開發時,應在設計需求文檔當中對儲存量、波動范圍、數據類型進行詳細說明,明確需求量,同時做好備份信息說明,以保證文檔編寫的完整性,使程序員在進行軟件的編寫時能夠準確理解用戶需求,同時做好詳細的設計文檔和代碼[4]。

3.2保證需求分析的完善性

需求文檔及設計文檔出現分離的最主要原因就是需求文檔與設計文檔的編寫人員不同,且各司其職、缺乏溝通而導致的。在實際工作當中,很多軟件開發公司的需求分析人員、開發人員和測試人員是沒有任何將領的,這就使得很多軟件質量問題無法支及時溝通并得到協商,最終導致軟件質量問題增多。而實質上,軟件工程的需求分析不僅需要需求分析人員的努力,而且還要與開發人員及測試人員進行相互溝通,以螺旋式的推進方式以不斷對需求分析的內容進行豐富和細化,以此來使需求分析更加完整、完善。因此,為保證需求分析的完善性,在進行軟件工程需求分析過程當中,就有必要盡量讓所有參與工程項目的人員都加入進來,包括開發人員和測試人員,使所有工作人員都能夠第一手了解客戶需求,避免產生誤差或是重復,這樣才能有效解決需求文檔與設計文檔的分離問題。

3.3深入而正確地了解客戶的真正需求

現很多軟件開發公司為加快軟件的研發進度,或是加快軟件開發的效率,亦或是迫于交期壓力等原因,通常會采取模塊重用的方式以減輕軟件開發工作量,提高自身經濟效益,且現在這種模塊重用方式也成了軟件開發的主流,是軟件工程開發的重要組成部分。但是很多軟件開發公司在使用軟件重用時,因并未深入分析客戶需求,或是地進行分析時粗心大意而導致客戶需求理解存在偏差或是錯誤,導致經重組重用的軟件無法滿足客戶需求,或是軟件出現質量問題,最終軟件只能從頭研發,使得公司軟件研發成本大幅上升,影響公司經營和經濟效益。為解決這一問題,最主要的就是正確而深入地了解客戶的真正需求,同時在軟件的研發過程當中做好監督和檢查工作,盡量避免出現錯誤;此外還要注意技術人員在不同步驟之間的溝通,以免因溝通缺失而出現軟件質量問題。

3.4依照實際需求調整文檔內容

通常來說,在遵循以上規則的基礎上所編寫的文檔是非常嚴謹、科學、合理的,因此在使用文檔時,第一,程序員應嚴格遵循文檔當中的內容,包括規范和說明,以文檔內容為指導來編寫代碼,保證所編寫的代碼的正確性和準確性;第二,針對文檔當中存在疑問的部分要及時向相關人員反映,做好溝通工作,在商量出良好的對策之后對文檔進行改善;第三,針對文檔中存在較難的技術性問題,程序員應努力攻克,若問題相對嚴重,則應及時向上反映情況,避免敷衍了事,導致軟件產品質量下降;第四,做好需求文檔的可行性分析工作,包括開發成本分析和功能實現可行性,從源頭上提高軟件產品質量;第五,最大限度地使用已有的軟件功能模塊,以盡量減輕自身的工作員,縮短軟件的研發時間;第六,做好維護接口預留工作,以便于日常維護及軟件使用過程當中用戶可能遇到或是會出現問題的修復,以真正提高軟件質量水平。

4結語

在實際工作當中,相關技術開發人員應特別重視軟件需求分析,正確認識軟件需求分析與質量保證之間的聯系,嚴格律己,全面提升,以不斷提高軟件工程質量。

作者:趙偉 單位:南京模擬技術研究

[參考文獻]

[1]來羽.軟件工程需求分析與質量保障[J].煤炭技術,2013(9):204-205.

[2]邱廷鈺.論軟件工程需求分析與質量保障[J].大科技,2013(36):347-347,348.

[3]石彥,桂志海.軟件工程需求分析與質量保障[J].無線互聯科技,2014(2):45-45.

[4]何偉超.軟件工程需求分析與質量保障研究[J].河套學院學報,2014(4):68-71.

亚洲精品一二三区-久久