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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

功能需求最關(guān)鍵的問(wèn)題是如何對(duì)其進(jìn)行組織,即如何來(lái)表達(dá)功能需求(表達(dá)形式不一樣,得到不一樣的結(jié)果)。傳統(tǒng)的方法以系統(tǒng)->子系統(tǒng)->模塊->下層模塊的層次結(jié)構(gòu)來(lái)組織。這種組織基本上是按照程序的結(jié)構(gòu)來(lái)梳理,難以體現(xiàn)用戶的使用場(chǎng)景。

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

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

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

信息傳遞無(wú)效性:在很多需求規(guī)格說(shuō)明書(shū)中都列出諸如高可靠性、高可用性、安全性、高擴(kuò)展性的要求。但開(kāi)發(fā)人員根本不去看,因?yàn)檫@樣的定性描述是沒(méi)有判斷標(biāo)準(zhǔn)的,即這種信息傳遞是無(wú)效的。信息傳遞有效性指開(kāi)發(fā)人員能夠清楚地知道列出的非功能需求針對(duì)的問(wèn)題和要達(dá)到的標(biāo)準(zhǔn),如系統(tǒng)7×24小時(shí)不間斷運(yùn)行,指系統(tǒng)在用戶看來(lái)任何時(shí)候不能中斷運(yùn)行。

非功能需求的局部性:絕大多數(shù)非功能需求都是針對(duì)具體的功能,而非整個(gè)系統(tǒng)。如“所有查詢的響應(yīng)時(shí)間不超過(guò)10秒”的描述,對(duì)于一般性的簡(jiǎn)單查詢或許可能滿足,但對(duì)于年度統(tǒng)計(jì)分析的查詢可能很難滿足。更科學(xué)的做法是抓住具體的場(chǎng)景來(lái)描述非功能需求。

8軟件需求的三種類型—設(shè)計(jì)約束

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

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

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

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

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

2、不失真確保需求在信息傳遞的過(guò)程中不失真(不同人對(duì)其理解的一致性),即確保需求的正確性和無(wú)歧義性。正確性:要找到正確的人來(lái)驗(yàn)證需求,即不同層次的用戶驗(yàn)證對(duì)應(yīng)層次的需求和直接相關(guān)的人員來(lái)驗(yàn)證需求。

無(wú)歧義性:歧義主要是不同背景的人在傳遞時(shí)加入不同理解而導(dǎo)致的??赡芤ㄟ^(guò)協(xié)商或上一層次的人來(lái)解決。要確保需求不失真,加強(qiáng)需求的驗(yàn)證是關(guān)鍵手段。11優(yōu)秀需求的標(biāo)準(zhǔn)—有優(yōu)先級(jí)

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

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

4、開(kāi)發(fā)團(tuán)隊(duì)早介入

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

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

需求分析:需求分析是需求開(kāi)發(fā)中的核心任務(wù)。需求分析是業(yè)務(wù)分析,因此將從業(yè)務(wù)線索入手,對(duì)用戶需求進(jìn)行分析、提煉和整合,建立模型。必須強(qiáng)調(diào)的是:需求分析是目標(biāo),需求建模是手段,建模的過(guò)程就是分析的過(guò)程。

編寫(xiě)規(guī)約:將需求分析結(jié)果文檔化的過(guò)程—需求規(guī)格說(shuō)明書(shū)。

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

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

2、變更管理

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

3、需求跟蹤

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論