軟件需求是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。通過對應(yīng)問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說明,這一系列的活動即構(gòu)成軟件開發(fā)生命周期的需求分析階段。
需求分析是介于系統(tǒng)分析和軟件設(shè)計階段之間的橋梁。一方面,需求分析以系統(tǒng)規(guī)格說明和項目規(guī)劃作為分析活動的基本出發(fā)點,并從軟件角度對它們進(jìn)行檢查與調(diào)整;另一方面,需求規(guī)格說明又是軟件設(shè)計、實現(xiàn)、測試直至維護的主要基礎(chǔ)。良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進(jìn)軟件質(zhì)量。
需求工程是隨著計算機的發(fā)展而發(fā)展的,在計算機發(fā)展的初期,軟件規(guī)模不大,軟件開發(fā)所關(guān)注的是代碼編寫,需求分析很少受到重視。后來軟件開發(fā)引入了生命周期的概念,需求分析成為其第一階段。隨著軟件系統(tǒng)規(guī)模的擴大,需求分析與定義在整個軟件開發(fā)與維護過程中越來越重要,直接關(guān)系到軟件的成功與否。人們逐漸認(rèn)識到需求分析活動不再僅限于軟件開發(fā)的最初階段,它貫穿于系統(tǒng)開發(fā)的整個生命周期。80年代中期,形成了軟件工程的子領(lǐng)域——需求工程(requirementengineering,RE)。進(jìn)入90年代以來,需求工程成為研究的熱點之一。從1993年起每兩年舉辦一次需求工程國際研討會(ISRE),自1994年起每兩年舉辦一次需求工程國際會議(ICRE),在1996年Springer-Verlag發(fā)行了一新的刊物——《RequirementsEngineering》。一些關(guān)于需求工程的工作小組也相繼成立,如歐洲的RENOIR(RequirementsEngineeringNetworkofInternationalCooperatingResearchGroups),并開始開展工作。
需求工程是指應(yīng)用已證實有效的技術(shù)、方法進(jìn)行需求分析,確定客戶需求,幫助分析人員理解問題并定義目標(biāo)系統(tǒng)的所有外部特征的一門學(xué)科。它通過合適的工具和記號系統(tǒng)地描述待開發(fā)系統(tǒng)及其行為特征和相關(guān)約束,形成需求文檔,并對用戶不斷變化的需求演進(jìn)給予支持。RE可分為系統(tǒng)需求工程(如果是針對由軟硬件共同組成的整個系統(tǒng))和軟件需求工程(如果僅是專門針對純軟件部分)。軟件需求工程是一門分析并記錄軟件需求的學(xué)科,它把系統(tǒng)需求分解成一些主要的子系統(tǒng)和任務(wù),把這些子系統(tǒng)或任務(wù)分配給軟件,并通過一系列重復(fù)的分析、設(shè)計、比較研究、原型開發(fā)過程把這些系統(tǒng)需求轉(zhuǎn)換成軟件的需求描述和一些性能參數(shù)。
需求工程是一個不斷反復(fù)的需求定義、文檔記錄、需求演進(jìn)的過程,并最終在驗證的基礎(chǔ)上凍結(jié)需求。80年代,HerbKrasner定義了需求工程的五階段生命周期:需求定義和分析、需求決策、形成需求規(guī)格、需求實現(xiàn)與驗證、需求演進(jìn)管理。近來,MatthiasJarke和KlausPohl提出了三階段周期的說法:獲取、表示和驗證。
綜合了幾種觀點,可以把需求工程的活動劃分為以下5個獨立的階段:
(1)需求獲?。和ㄟ^與用戶的交流,對現(xiàn)有系統(tǒng)的觀察及對任務(wù)進(jìn)行分析,從而開發(fā)、捕獲和修訂用戶的需求;
(2)需求建模:為最終用戶所看到的系統(tǒng)建立一個概念模型,作為對需求的抽象描述,并盡可能多的捕獲現(xiàn)實世界的語義;
(3)形成需求規(guī)格:生成需求模型構(gòu)件的精確的形式化的描述,作為用戶和開發(fā)者之間的一個協(xié)約;
(4)需求驗證:以需求規(guī)格說明為輸入,通過符號執(zhí)行、模擬或快速原型等途徑,分析需求規(guī)格的正確性和可行性;
(5)需求管理:支持系統(tǒng)的需求演進(jìn),如需求變化和可跟蹤性問題。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html