pk10开奖记录歡迎您的到來!

您好,游客 登錄 注冊 站內搜索
背景顏色:
閱讀論文

軟件開發項目中的需求分析探討

來源:論文聯盟  作者:何寶強 [字體: ]

軟件開發項目中的需求分析探討

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

 

歡迎瀏覽更多論文聯盟首頁計算機文軟件工程文章
收藏 & 分享 推薦 打印 | 錄入:yjiemm

本文評論   查看全部評論 (0)
表情: 評論表情符號選擇 姓名: 字數
點評:
       
評論聲明
  • 尊重網上道德,遵守中華人民共和國的各項有關法律法規
  • 承擔一切因您的行為而直接或間接導致的民事或刑事法律責任
  • 本站管理人員有權保留或刪除其管轄留言中的任意內容
  • 本站有權在網站內轉載或引用您的評論
  • 參與本評論即表明您已經閱讀并接受上述條款
pk10开奖记录 安徽快3全天计划 腾讯分分彩 极速赛车人工计划在线 欢乐生肖投注