[摘 要] 對軟件開發(fā)中的需求變更的產(chǎn)生原因及對項目的影響做了分析和討論,介紹和研究了不同方法學(xué)中對于需求變更管理的要求和處理過程,并對這些主流的方法學(xué)中的變更管理過程做了一些總結(jié)和比較。
[關(guān)鍵詞]軟件工程 需求分析 系統(tǒng)分析
軟件工程 (Software Engineering,簡稱為SE)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標(biāo)準(zhǔn),設(shè)計模式等方面。在現(xiàn)代社會中,軟件應(yīng)用于多個方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時,各個行業(yè)幾乎都有計算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質(zhì)量。
一、軟件工程系統(tǒng)需求分析
需求分析包括提煉、分析和仔細(xì)審查已收集到的需求,以確保所有的風(fēng)險承擔(dān)者都明白其含義并找出其中的錯誤、遺漏或其它不足的地方。分析員通過評價來確定是否所有的需求和軟件需求規(guī)格說明都達(dá)到了優(yōu)秀需求說明的要求。分析的目的在于開發(fā)出高質(zhì)量的需求,這樣就能做出實用的項目估算并可以進(jìn)行設(shè)計、構(gòu)造和測試。通常,把需求中的一部分用多種形式來描述,如同時用文本和圖形來描述。分析這些不同的視圖將揭示出一些更深的問題,這是單一視圖無法提供的。分析還包括與客戶的交流以澄清某些混淆,并明確哪些需求是更為重要的。其目的是確保所有風(fēng)險承擔(dān)者盡早地對項目達(dá)成共識并對將來的產(chǎn)品有個相同而清晰的認(rèn)識。
二、軟件開發(fā)工程中需求分析的重要性
作為一個整體工程,軟件生命周期的各個時期和階段是無法區(qū)分重要性的大小。在這里,針對上述一些錯誤觀念,只想闡述一下軟件開發(fā)工程中需求分析的重要性。軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。通過對應(yīng)問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明,這一系列的活動即構(gòu)成軟件開發(fā)生命周期的需求分析階段。其在整個軟件開發(fā)過程中的重要性主要表現(xiàn)在以下3點:
1. 需求分析是獲得用戶需求的有效途徑
開發(fā)軟件是為用戶服務(wù)的。為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品.首先必須知道用戶的需求。對軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論軟件開發(fā)工作者把設(shè)計和編碼工作做得如何出色.不能真正滿足用戶需求的程序只能是偏離軟件開發(fā)的正確方向,只會使用戶失望,給開發(fā)者帶來煩惱。
2. 需求分析是決定項目成功的關(guān)鍵因素
需求分析是一個項目的開端,也是項目建設(shè)的基石。在以往的建設(shè)失敗的項目中80%的是由于需求分析的不明確而造成的。因此一個項目成功的關(guān)鍵因素之一,就是對需求分析的把握程度,項目的整體風(fēng)險具體就表現(xiàn)在需求分析不明確、業(yè)務(wù)流程不合理上,用戶不習(xí)慣或者不愿意去用承建方的軟件,或者很難去用,從而造成了項目失敗。
3. 需求分析是系統(tǒng)分析和軟件設(shè)計的橋梁
需求分析過程是確定顧客需求的過程。而一個項目的軟件工程師與他們的顧客往往使用不同的詞匯:顧客知道自己的需要,卻不懂得如何用計算機(jī)技術(shù)實現(xiàn);而軟件設(shè)計人員和程序員往往缺乏理解實際事物的運(yùn)行過程和商業(yè)過程的技巧。那么使用通過專門訓(xùn)練的專業(yè)的作業(yè)或系統(tǒng)分析員,就填補(bǔ)了商業(yè)和電腦世界之間的鴻溝。他們從持有關(guān)鍵信息的用戶獲得可用的信息,并把這些用戶信息轉(zhuǎn)化為清晰的和完整的形式。這些能被軟件工