版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、需求工程五階段的研究摘要:本文主要對需求工程五個階段,即需求獲取、需求建模、需求規(guī)格說明、需求驗證、需求管理,進行了更深層次的闡述,詳細介紹了各個階段存在的問題以及相應的解決措施,力爭充分了解并認識需求,為軟件后期的設計、開發(fā)等工作奠定基石,避免因需求問題而造成不可挽回的局面。關鍵詞:需求工程;需求建模;需求驗證;需求管理Five stages of requirements engineering researchAbstract: This paper focuses on the needs of the project in five phases, namely requiremen
2、ts elicitation, requirements modeling, requirements specification, requirements validation, requirements management, conducted a deeper exposition detailing the various stages of the problems and corresponding solutions, strive to fully understand and appreciate the needs, to lay the cornerstone for
3、 the software late design, development, etc., to avoid problems caused irreparable demand situation.Keywords: Requirements engineering;Requirements modeling;Requirements validation;Requirements Management軟件產(chǎn)品的生產(chǎn)可以看成是一個映射,將客戶最初的非形式想法映射成最終解決此問題的軟件產(chǎn)品,需求工程則是這一巨大飛躍中起決定性作用的第一步。需求工程作為軟件工程生命周期的起點,是軟件開發(fā)后繼階段的
4、基礎。需求工程過程的質(zhì)量直接影響著軟件開發(fā)的速度和成本。實踐表明,需求分析活動不應僅限于軟件開發(fā)的最初階段,而應貫穿于系統(tǒng)開發(fā)的整個生命周期中。需求工程是一個不斷反復的需求定義、文檔記錄、需求演進的過程,并最終在驗證的基礎上凍結(jié)需求。需求工程可劃分成為以下5個獨立的階段,現(xiàn)就每個階段的任務,存在的問題和解決方法作出解釋。1. 需求獲取需求獲取的主要目的是在開發(fā)之前更好地理解要解決的問題。分析員在某種(或幾種)需求獲取方法的指導下,系統(tǒng)地從非形式需求陳述中提取出客戶的實際需求,以某種需求描述機制記錄下來,形成客戶問題的需求規(guī)格說明,并盡可能地消除其非形式的特征(如:二義性、不一致性、矛盾性)。通
5、過與用戶的交流、對現(xiàn)有系統(tǒng)的觀察及對任務進行分析,從而開發(fā)、捕獲和修訂用戶的需求。在需求獲取期間,也存在一些問題。首先,用戶和開發(fā)人員所處背景不同,立場不同,這就造成了對于同一個問題,彼此有著不同的理解,給軟件的開發(fā)帶來困難。其次,普通用戶缺乏概括性、綜合性表達能力,對于自己的需求表述不清,或者不清楚自己的需求到底是什么,更有甚者,用戶會提出一些不合理的要求,認為開發(fā)人員無所不能,這些都為獲得正確的需求帶來了障礙。有的軟件從一開始就忙于開發(fā),完全沒弄清或不知道用戶需求是什么,最后只能無果而終,開發(fā)出一個沒有任何意義的廢品,這也正說明了需求獲取的重要性。針對這些情況,我們應該采取積極主動的方法來
6、獲取需求,比如,用戶訪談、用戶調(diào)查、原型法、民族志等。用戶調(diào)查方法的主要優(yōu)點在于調(diào)查面比較寬,用戶反饋多。這恰好能夠成為用戶訪談的有效補充,能夠克服用戶訪談的片面性。其缺點是大家認識到的往往不深入,而這恰好是用戶訪談所能避免的。所以說,用戶調(diào)查是用戶訪談的有效、有益的補充。就原型法來說,我們可以通過快速原型法,先實現(xiàn)一部分軟件,展現(xiàn)需求提出方的要求,這樣往往會減少軟件供需雙方對需求理解上的差異,而且會提高需求提出方交流需求的積極性。民族志作為人類學的主要研究方法,在設計的運用中以研究人們的日常生活為基礎,以探索用戶需求為目的,以實地調(diào)查為主要方式,以用戶行為為研究中心,重點在于對真實生活方式的
7、研究、對日常生活的觀察,通過探訪合適的“需求攜帶者”,觀察、交談、記錄,最終解釋用戶未被滿足及隱含的需求。在實際獲取需求時,我們可以采取適當?shù)姆椒?,來正確理解用戶需求。2. 需求建模為最終用戶所看到的系統(tǒng)建立一個概念模型,作為對需求的抽象描述,并盡可能多的捕獲現(xiàn)實世界的語義。主要包括結(jié)構(gòu)化建模和面向?qū)ο蠼?。其中,結(jié)構(gòu)化建模包括過程建模和數(shù)據(jù)建模,過程建模是結(jié)構(gòu)化建模的核心方法。軟件過程建模的主要目的是建立軟件過程的抽象模型,通過對該抽象模型的分析增加對過程本身的理解和認識,從而可以更好地實施軟件開發(fā)活動。其描述工具主要包括數(shù)據(jù)流圖、數(shù)據(jù)字典、模塊結(jié)構(gòu)圖。數(shù)據(jù)建模指的是對現(xiàn)實世界各類數(shù)據(jù)的抽象
8、組織,確定數(shù)據(jù)庫需管轄的范圍、數(shù)據(jù)的組織形式等直至轉(zhuǎn)化成現(xiàn)實的數(shù)據(jù)庫。建立數(shù)據(jù)模型的過程被稱為數(shù)據(jù)建模。通過建立概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型,從而生成數(shù)據(jù)庫。面向?qū)ο蠼?,是一種用于辨識系統(tǒng)環(huán)境中的對象及這些對象之間關系的技術(shù)。通過UML建模工具,建立對象模型、用例模型和行為模型。通過需求建模,進一步將需求細化,既能正確的理解需求,又能為后期的工作奠定堅實的基礎。3. 需求規(guī)格說明需求工程的各項活動以需求為中心,緊緊圍繞著需求規(guī)格說明展開:問題分析奠定了獲取和解釋需求模型的知識背景;需求驗證確保所得到的需求規(guī)格說明反映了客戶的真實意圖。需求規(guī)格說明應包含兩方面內(nèi)容:一是功能需求,即
9、待開發(fā)系統(tǒng)的輸入/輸出及相互依賴關系的描述;二是非功能需求,主要包括一些內(nèi)外部環(huán)境的限制,如國家、行業(yè)的政策、法令、法規(guī)以及經(jīng)濟限制、開發(fā)過程要求、運行環(huán)境要求、性能要求、安全性要求、用戶操作要求等。需求規(guī)格說明的目標是定義用戶需求,準確描述需求及其解決方案。其作用是更好的傳遞軟件系統(tǒng)的需求信息和解決方案給所有的開發(fā)者;拓展人們的知識記憶能力;作為合同協(xié)議的重要部分;作為項目開發(fā)活動的一個重要依據(jù);發(fā)現(xiàn)和減少可能的需求錯誤,減少項目的返工,降低項目的工作量;作為有效的智力資產(chǎn)。 需求工程研究的核心是關于需求規(guī)格說明技術(shù)的研究,應致力于尋求:廣泛地適用于對各類應用領域中的客戶問題進行理解與描述,
10、從而提取客戶需求規(guī)格說明的機制;需求規(guī)格說明的表示、獲取、維護、文檔制作及品質(zhì)保證機制;需求規(guī)格說明的演示驗證機制。鑒于需求規(guī)格說明的重要性,需求規(guī)格說明應有自己的品質(zhì)保證體系。所謂品質(zhì)保證即是給出一系列質(zhì)量評判標準與改進手段。多數(shù)有關需求分析的文獻大多羅列一系列屬性來描述什么是良好的需求規(guī)格說明,這些屬性往往相互重疊和矛盾,并且目標和性質(zhì)相互混雜。需求規(guī)格說明是分析員根據(jù)他對客戶需求陳述的理解而構(gòu)造的關于客戶問題的一種模型。這一模型作為系統(tǒng)開發(fā)各方達成的共識是對系統(tǒng)進行設計、實現(xiàn)、測試、驗收的基本依據(jù)。通常使用下面的三種方法來編寫軟件需求規(guī)格說明:(1)用好的結(jié)構(gòu)化和自然語言編寫文本型文檔。
11、(2)建立圖形化模型,這些模型可以描繪轉(zhuǎn)換過程、系統(tǒng)狀態(tài)和他們之間的變化、數(shù)據(jù)關系、邏輯流或?qū)ο箢惡退鼈兊年P系。(3)編寫形式化規(guī)格說明,通過使用數(shù)學上精確的形式化邏輯語言來定義需求。編寫優(yōu)秀的需求文檔沒有現(xiàn)成固定的方法,最好是根據(jù)經(jīng)驗進行,過去所遇到的問題將為以后編寫需求文檔提供豐富的指導。然而,在編寫軟件需求文檔時,仍然需要注意以下幾點:(1)保持語句和段落的簡短。(2)采用主動語態(tài)的表達方式。(3)編寫具有正確的語法、拼寫和標點的完整句子。(4)需求陳述應該具有一致的樣式。(5)為了減少不確定性,必須避免模糊的、主觀的術(shù)語。例如:容易,迅速等。(6)避免使用比較性的詞。例如:提高、最大化
12、和最佳化等。正確的說明應該是定量的說明所需要提高的程度。為了保證軟件需求規(guī)格說明書的質(zhì)量,除了需要在編寫需求文檔時注意之外,還應該加強對需求文檔的審核。進行文檔審核的主要方法如下:(1)從軟件需求規(guī)格說明中取出一頁功能需求說明,檢查每個語句,看它是否與好的需求特性相符,重寫那些不符合的需求。(2)如果公司對需求文檔沒有提供標準的格式,那么,就召集一個小的工作組討論并采納一個標準的軟件需求規(guī)格說明模板,改編這個模板,使其更好地適合開發(fā)的項目和產(chǎn)品。(3)召集一個由37個項目的風險承擔者組成的小組來正式評審項目中的軟件需求規(guī)格說明,確保每個需求規(guī)格說明都是清晰的、可行的、可驗證的及無二義性的等。4
13、. 需求驗證以需求規(guī)格說明為輸入,通過符號執(zhí)行、模擬或快速原型等途徑,分析需求規(guī)格的正確性和可行性。需求驗證是專指在需求規(guī)格說明完成之后,對需求規(guī)格說明文檔進行的驗證活動。需求驗證的方法主要包括評審法、原型與模擬法、開發(fā)測試用例、編制用戶手冊、利用跟蹤關系、自動化分析等方法。其中,評審法是由作者之外的其他人來檢查產(chǎn)品問題的方法,是主要的靜態(tài)分析手段 ,在原則上,每一條需求都應該進行評審。需要經(jīng)過規(guī)劃總體部署準備審查會議返工跟蹤這一系列過程,采用自由方法、檢查清單、缺陷功能點、視角、場景、逐步提升的檢查方法來驗證需求。當涉及到復雜的動態(tài)行為時,可以采取原型與模擬的方法來驗證需求,但是成本往往較高
14、。通過用戶手冊的編制,可以驗證功能需求、項目范圍、異常流程需求、環(huán)境與約束需求。利用跟蹤關系,通過判斷正向流程“業(yè)務需求用戶需求系統(tǒng)需求”和反向流程“系統(tǒng)需求用戶需求業(yè)務需求”,在正向流程中,如果業(yè)務需求和用戶需求沒有得到后項需求(用戶需求和系統(tǒng)需求)的充分支持,那么軟件需求規(guī)格說明文檔就存在不完備的缺陷。在反向流程中,如果不能依據(jù)跟蹤關系找到一條系統(tǒng)需求的前項用戶需求和前項業(yè)務需求,那么該需求就屬于非必要的需求。這樣就可判斷需求規(guī)格說明文檔是否存在不完備的缺陷以及哪些需求屬于非必要的需求。5. 需求管理軟件需求是整個軟件項目的最關鍵的一個輸入,和傳統(tǒng)的生產(chǎn)企業(yè)相比較,軟件的需求具有模糊性、不
15、確定性、變化性和主觀性的特點,他不像生產(chǎn)汽車、電腦等硬件的需求,是有形的、客觀的、可描述的、可檢測的,軟件需求是軟件項目最難把握的問題,他的復雜性體現(xiàn)在以下方面:需求的描述問題;需求的完備程度問題;需求開發(fā)的工期問題;需求的細致程度問題;需求的變化問題;軟件需求的復用問題?;谏鲜龅膯栴},必須對需求進行管理,使需求能夠真正成為軟件工程和管理的基線,使軟件計劃、活動和工作產(chǎn)品同軟件需求保持一致,使需求可以復用。需求管理的主要工作包括維護需求基線、實現(xiàn)需求跟蹤、控制變更三個部分。維護需求基線時,要充分了解涉眾需要什么,完成驅(qū)動設計和實現(xiàn)工作,并測試和驗證最終產(chǎn)品,輔助項目管理。在實現(xiàn)需求跟蹤時,要
16、將需求應用到解決方案,并將需求分配到子系統(tǒng),避免在開發(fā)過程或者演化過程中與需求基線不一致或者偏離的風險。在控制變更時,要控制迭代式開發(fā)中的變化。控制需求變更要注意以下幾點:(1)需求一定要與投入有聯(lián)系,如果需求變更的成本由開發(fā)方來承擔,則項目需求的變更就成為必然了。所以,在項目的開始,無論是開發(fā)方還是出資方都要明確這一點,需求變,軟件開發(fā)的投入也要變。(2)小的需求變更也要經(jīng)過正規(guī)的需求管理流程,否則會積少成多。在實踐中,人們往往不愿意為小的需求變更去執(zhí)行正規(guī)的需求管理過程,人為降低了開發(fā)效率,浪費了時間。但正是由于這種觀念才使需求逐漸變?yōu)椴豢煽兀罱K導致項目的失敗。(3)精確的需求與范圍定義
17、并不會阻止需求的變更。并非對需求定義的越細,就越能避免需求的變更,這是兩個層面的問題。因為需求的變化是永恒的,并非需求寫細了,它就不會變化了。(4)注意溝通技巧。實際情況是用戶、開發(fā)者都認識到了上面幾點問題,但是由于需求的變更可能來自客戶方,也可能來自開發(fā)方,因此,作為需求管理者,項目經(jīng)理需要采用各種溝通技巧來使項目的各方各得其所。6.小結(jié) 需求在軟件產(chǎn)品的整個生存期中占有重要位置,它是軟件工程項目的依據(jù)和出發(fā)點,無論是軟件的開發(fā)還是軟件的維護都是以滿足需求作為最終目標的。所以,要特別提升需求獲取、需求建模、需求規(guī)格說明、需求驗證、需求管理的重要性,使得經(jīng)過這幾個階段的工作,能對軟件的需求把握的更清晰、更準確,使開發(fā)出的軟件更好地滿足客戶的要求。參考文獻1周之英.現(xiàn)代軟件工程M.北京:科學出版社,20002Soren Lauesen著.劉曉輝譯.軟件需求M.北京:電子工業(yè)出版社,20023盧梅,李明樹.軟件需求工程方法及工具評述J.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物業(yè)管理服務協(xié)議:智能住宅小區(qū)安全監(jiān)控合同3篇
- 2024年標準社區(qū)安保協(xié)議終止書版B版
- 2024年知識產(chǎn)權(quán)許可合同:專利權(quán)人與被許可人之間的專利使用
- 2024年隱名股東權(quán)益分配合同版B版
- 2024食用油包裝設計及印刷服務合同3篇
- 2024建筑工程施工管理與質(zhì)量安全保障合同
- 2025年度電影劇本創(chuàng)作編劇助理及現(xiàn)場工作合同3篇
- 2024年鐘點工雇傭合同3篇
- 2024年重點交通樞紐土方運輸工程承包合同書范本3篇
- 2024年智能消防系統(tǒng)研發(fā)與實施合同3篇
- 《皮膚病中成藥導引》課件
- Chinese Tea Culture.中國茶文化(課堂PPT)
- 排洪溝工程設計說明
- (整理版高中英語)杭高第一學期期末考試高一英語試卷
- 學校食堂生鮮肉(豬肉、牛肉、羊肉、雞鴨鵝肉)配送服務方案
- SMT工資方案(原創(chuàng))
- 關于礦棉裝飾吸聲板檢驗報告加圖標版
- 大紅色節(jié)word感謝信信紙背景模板
- 安全檢查匯報材料
- 2005年海南高考理科綜合真題及答案
- 機房巡檢記錄表.doc
評論
0/150
提交評論