軟件需求工程_第1頁
軟件需求工程_第2頁
軟件需求工程_第3頁
軟件需求工程_第4頁
軟件需求工程_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件需求工程第四章軟件需求與需求工程1軟件需求的定義軟件需求可以定義為:業(yè)務知識+問題列表+其它因素。

業(yè)務知識:包括業(yè)務事件、業(yè)務實體和業(yè)務規(guī)則

問題列表:用戶在工作中遇到的困難和障礙,即軟件開發(fā)時要解決的問題。

其它因素:設計約束和非功能方面的需求2需求的層次與類型三個層次:業(yè)務需求、用戶需求、軟件需求

業(yè)務需求項目視圖/范圍文檔用戶需求用例文檔功能需求軟件需求質量屬性其他非功能需求設計約束SRS非功能需求三種類型:功能需求、非功能需求、設計需求

3需求的三個層次—業(yè)務需求業(yè)務需求是反映企業(yè)/組織對軟件系統(tǒng)的高層次目標要求,即軟件系統(tǒng)的建設目標。這種目標體現在兩個方面:

問題:解決企業(yè)/組織運作過程中遇到的問題。如物資供應脫節(jié)、用戶投訴大等。

機會:抓住外部環(huán)境變化帶來的機會,以便為企業(yè)帶來新的發(fā)展。如電子商務、網上銀行等。

業(yè)務需求的提出者通常是企業(yè)/組織的高層管理人員,導出的是軟件開發(fā)的高層需求,代表著軟件項目開發(fā)的方向。業(yè)務需求是需求定義的產物,是軟件項目立項階段必須明確的問題。4需求的三個層次—用戶需求用戶需求描述的是用戶使用軟件需要完成什么任務、怎樣完成任務的需求。用戶需求是在業(yè)務需求的基礎上進行用戶訪談、調查,對用戶使用場景進行整理的結果。即用戶需求是需求捕捉的產物。特點:

●零散:用戶會提出不同角度、不同層面、不同粒度的需求,而且通常是以一句話的形式提出的。

●存在矛盾:用戶處于企業(yè)/組織的不同層面,提出的需求往往具有片面性,甚至不同用戶之間會持不同的觀點。

用戶需求也叫原始需求,需要進行分析和整理,從而得到更加精確的需求說明。5需求的三個層次—軟件需求軟件需求是需求分析和建模的產物,是對用戶需求進行分析、提煉、整理的結果。即需求規(guī)格說明書描述的結果。

業(yè)務需求是需求定義的產物用戶需求是需求捕捉的產物軟件需求是需求分析和建模的產物6軟件需求的三種類型—功能需求

功能需求最關鍵的問題是如何對其進行組織,即如何來表達功能需求(表達形式不一樣,得到不一樣的結果)。傳統(tǒng)的方法以系統(tǒng)->子系統(tǒng)->模塊->下層模塊的層次結構來組織。這種組織基本上是按照程序的結構來梳理,難以體現用戶的使用場景。

現代需求理論更加強調需求分析人員從用戶的角度,將系統(tǒng)理解成一個黑盒子,從橫向的使用視角來整理需求。采用用例的方法組織功能需求被認為目前是最佳方法。

7軟件需求的三種類型—非功能需求

非功能需求的要點在于保證信息的有效傳遞和注意其局部性。

信息傳遞無效性:在很多需求規(guī)格說明書中都列出諸如高可靠性、高可用性、安全性、高擴展性的要求。但開發(fā)人員根本不去看,因為這樣的定性描述是沒有判斷標準的,即這種信息傳遞是無效的。信息傳遞有效性指開發(fā)人員能夠清楚地知道列出的非功能需求針對的問題和要達到的標準,如系統(tǒng)7×24小時不間斷運行,指系統(tǒng)在用戶看來任何時候不能中斷運行。

非功能需求的局部性:絕大多數非功能需求都是針對具體的功能,而非整個系統(tǒng)。如“所有查詢的響應時間不超過10秒”的描述,對于一般性的簡單查詢或許可能滿足,但對于年度統(tǒng)計分析的查詢可能很難滿足。更科學的做法是抓住具體的場景來描述非功能需求。

8軟件需求的三種類型—設計約束

設計約束指軟件系統(tǒng)開發(fā)所必須遵守的限制條件。

非技術因素決定的技術選型:有些技術選型不是由技術團隊決定,而是受到企業(yè)/組織實際情況的影響。如鐵路行業(yè)規(guī)定鐵路信息系統(tǒng)開發(fā)必須采用oracle數據庫管理系統(tǒng),必須采用三級數據庫部署架構。有的要求系統(tǒng)開發(fā)采用J2EE等。

預期的硬軟件環(huán)境:技術開發(fā)團隊在決定架構、選擇實現技術時會受到企業(yè)/組織實際的硬軟件環(huán)境的影響。如企業(yè)/組織的網絡環(huán)境、服務器性能、個人電腦配置、操作系統(tǒng)、工具軟件等,應該將這些預期的硬軟件環(huán)境描述出來。

預期的使用環(huán)境:除硬軟件環(huán)境之外的其它環(huán)境,如地理環(huán)境、基于局域網的信息系統(tǒng)的在局域網范圍之外的移動設備用戶、野外現場應用等。9優(yōu)秀需求的標準—完整性

1、完整性需求的完整性就是需求沒有遺漏。要保障需求的完整性,就必須從業(yè)務角度來組織各種需求項。與需求相關的主題域、業(yè)務事件、業(yè)務活動、業(yè)務步驟、困難與障礙點等盡可能完整,更具操作性。業(yè)務導向的層次結構是保障完整性的關鍵。用戶是驗證需求完整性的合適人選。需求完整性存在不同層面。企業(yè)/組織中的高層管理人員、中層管理人員、業(yè)務操作人員所了解和掌握的信息是不一樣的。要從不同層次的需求來驗證需求的完整性,即不同層次人員只負責評審與自己相關的需求。10優(yōu)秀需求的標準—不失真

2、不失真確保需求在信息傳遞的過程中不失真(不同人對其理解的一致性),即確保需求的正確性和無歧義性。正確性:要找到正確的人來驗證需求,即不同層次的用戶驗證對應層次的需求和直接相關的人員來驗證需求。

無歧義性:歧義主要是不同背景的人在傳遞時加入不同理解而導致的??赡芤ㄟ^協商或上一層次的人來解決。要確保需求不失真,加強需求的驗證是關鍵手段。11優(yōu)秀需求的標準—有優(yōu)先級

3、需求有優(yōu)先級

“事有輕重緩急”,需求也有不同的優(yōu)先級,用戶最希望系統(tǒng)能解決他希望解決的問題,在軟件驗收時,總是抓住他希望實現的功能反復使用,看是否滿足他的要求。同時,在設計時關鍵需求決定軟件架構。優(yōu)先級的三種角度角度參與人員說明要點業(yè)務用戶代表需求人員根據業(yè)務的價值和頻度進行評價優(yōu)先級是相對的技術開發(fā)架構師開發(fā)人員根據技術依賴性對優(yōu)先級進行評價在業(yè)務優(yōu)先級后進行只提級不降級項目管理項目經理架構師根據項目風險對優(yōu)先級進行評價在業(yè)務優(yōu)先級后進行只提級不降級12優(yōu)秀需求的標準—技術團隊早介入

4、開發(fā)團隊早介入

需求規(guī)格說明書的內容來自用戶,需求規(guī)格說明書的讀者是技術團隊,即開發(fā)團隊和測試團隊。需求的可行性需要開發(fā)團隊早介入。某些需求項在實現方面的可行性需要開發(fā)團隊給予評價。需求分析的可驗證性指需求規(guī)格說明書應能指導測試活動。需求規(guī)格說明書的組織應考慮測試的需要,應該便于推導出測試用例。13需求工程軟件工程活動包括需求、系統(tǒng)分析與設計、編碼、測試、配置管理等活動,但唯獨只有需求被稱為工程。需求錯誤的代價階段代價(時間單元)需求1設計5編碼10測試20--50運行與維護200在需求階段花1個時間單元改正的錯誤,推遲到設計階段改正需要花5倍的時間,編碼階段是10倍,測試階段是20至50倍,維護階段是200倍之多。14需求工程—范疇需求工程包括需求開發(fā)和需求管理兩大范疇需求獲取需求分析編寫規(guī)約需求驗證需求工程基線管理變更管理需求跟蹤需求開發(fā)需求管理15需求工程—需求開發(fā)需求開發(fā)包括需求獲取、需求分析、編寫規(guī)約和需求驗證。需求獲取需求分析編寫規(guī)約需求驗證證實重寫評估重新更正16需求工程—需求開發(fā)

需求獲?。阂卜Q需求捕獲,即獲取用戶需求。

需求分析:需求分析是需求開發(fā)中的核心任務。需求分析是業(yè)務分析,因此將從業(yè)務線索入手,對用戶需求進行分析、提煉和整合,建立模型。必須強調的是:需求分析是目標,需求建模是手段,建模的過程就是分析的過程。

編寫規(guī)約:將需求分析結果文檔化的過程—需求規(guī)格說明書。

需求驗證:通過評審發(fā)現盡可能多的錯誤,減少因需求錯誤而帶來的工作量浪費。需求驗證的關鍵手段是評審。17需求工程—需求開發(fā)需求開發(fā)的4個具體活動不是一個順序過程,而是要通過多次循環(huán)才能完成。一般至少要經過3次循化才能完成。循環(huán)工作任務對應的RUP階段初始循環(huán)明確項目的目標和范圍,完成子系統(tǒng)劃分;明確每個子系統(tǒng)的內容(業(yè)務事件和報表)和相互之間的接口。初始階段脈絡階段通過對每個業(yè)務事件進行流程分析、業(yè)務實體分析,并標識出所有用例。細化階段的第一次迭代細節(jié)循環(huán)對每個用例的細節(jié)進行分析,包括事件流、用戶界面原型等細化階段的第二次迭代18需求工程—需求管理

1、基線管理需求基線的內容是一次迭代開發(fā)的工作內容?;€中的需求是明確的,所以每次迭代都是一個小型的瀑布型生命周期。通過這樣的劃分,整個開發(fā)工作被劃分成了多個小項目。這樣更容易使開發(fā)人員保持良好的工作節(jié)奏。

2、變更管理

需求變更管理的核心是控制變更對技術開發(fā)工作所帶來的影響,以減少返工、重做的工作量。

3、需求跟蹤

需求跟蹤是將單個需求與其它系統(tǒng)元素之間的依賴關系和邏輯關系建立跟蹤。包括用戶需求向前跟蹤到軟件需求,從軟件需求到向前跟蹤到下游工作產品;從下游工作產品后向跟蹤到軟件需求,從軟件需求后向跟蹤到用戶需求。19需求分析人員的技能需求分析人員是對項目相關人員的需求進行收集、分析、記錄和驗證等職責的主要承擔者,是用戶群體與軟件開發(fā)團隊間進行需求溝通的主要渠道。主要完成的活動包括:定義業(yè)務需求、確定項目涉眾和用戶類別、獲取需求、分析需求、為需求建模、編寫需求規(guī)格說明、主持對需求的驗證、引導需求的優(yōu)先級的劃分、管理需求。需求分析人員必須掌握的技能包括:傾聽、交談和提問的技巧,分析、協調、觀察、寫作、組織、建模、人際交往和建模能力。這些能力可以概括為業(yè)務知識、技術知識和溝通能力三個方面20課程任務本課程主要講解與需求開發(fā)的相關內容。具體將按照Subject->Event/Report->UseCase的層次過程進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論