第三章軟件需求獲取_第1頁
第三章軟件需求獲取_第2頁
第三章軟件需求獲取_第3頁
第三章軟件需求獲取_第4頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章第三章 軟件需求獲取軟件需求獲取周立新周立新 博士博士北京大學(xué)軟件與微電子學(xué)院北京大學(xué)軟件與微電子學(xué)院課程提綱課程提綱1.1.軟件需求基本理論和概念軟件需求基本理論和概念 2.2.軟件需求工程過程軟件需求工程過程 3.3.軟件需求獲取軟件需求獲取 4.4.軟件需求分析軟件需求分析 5.5.軟件需求規(guī)格說明軟件需求規(guī)格說明 6.6.軟件需求驗證軟件需求驗證 7.7.軟件需求管理軟件需求管理 8.8.軟件需求實現(xiàn)軟件需求實現(xiàn) 9.9.軟件需求工程新進展軟件需求工程新進展 10.10. 軟件需求開發(fā)與需求管理工具軟件需求開發(fā)與需求管理工具內(nèi)容提要 建立項目視圖和范圍 需求獲取一一.項目視圖和范

2、圍文檔項目視圖和范圍文檔1.1.業(yè)務(wù)需求業(yè)務(wù)需求2.2.項目視圖解決方案項目視圖解決方案 3.3.范圍和局限性范圍和局限性4.4.業(yè)務(wù)環(huán)境業(yè)務(wù)環(huán)境5.5.產(chǎn)品成功的因素產(chǎn)品成功的因素6.6.基于項目視圖和范圍的管理基于項目視圖和范圍的管理項目視圖和范圍文檔項目視圖和范圍文檔1.1.業(yè)務(wù)需求業(yè)務(wù)需求 為什么開發(fā)該項目?新為什么開發(fā)該項目?新產(chǎn)品為客戶和軟件開發(fā)者帶來的利益產(chǎn)品為客戶和軟件開發(fā)者帶來的利益a)a)背景背景b)b)業(yè)務(wù)機遇業(yè)務(wù)機遇c)c)業(yè)務(wù)目標業(yè)務(wù)目標d)d)客戶需求客戶需求e)e)業(yè)務(wù)風(fēng)險業(yè)務(wù)風(fēng)險項目視圖和范圍文檔項目視圖和范圍文檔a)a)背景背景總結(jié)新產(chǎn)品的理論基礎(chǔ)總結(jié)新產(chǎn)品的

3、理論基礎(chǔ) 產(chǎn)品開發(fā)的歷史背景產(chǎn)品開發(fā)的歷史背景b)b)業(yè)務(wù)機遇業(yè)務(wù)機遇 描述產(chǎn)品競爭的市場及運用的環(huán)境描述產(chǎn)品競爭的市場及運用的環(huán)境現(xiàn)有產(chǎn)品評價及存在的問題現(xiàn)有產(chǎn)品評價及存在的問題 新產(chǎn)品的競爭優(yōu)勢新產(chǎn)品的競爭優(yōu)勢項目視圖和范圍文檔項目視圖和范圍文檔c)c)業(yè)務(wù)目標業(yè)務(wù)目標 描述產(chǎn)品所帶來的商業(yè)利潤描述產(chǎn)品所帶來的商業(yè)利潤 客戶獲得的價值,如提高生產(chǎn)率、節(jié)省客戶獲得的價值,如提高生產(chǎn)率、節(jié)省開支、符合產(chǎn)業(yè)標準、提高可用性等開支、符合產(chǎn)業(yè)標準、提高可用性等 產(chǎn)品預(yù)算和交付日期產(chǎn)品預(yù)算和交付日期項目視圖和范圍文檔項目視圖和范圍文檔d)d)客戶需求客戶需求 描述典型客戶的需求描述典型客戶的需求 客戶

4、對現(xiàn)有產(chǎn)品使用所遇到的問題客戶對現(xiàn)有產(chǎn)品使用所遇到的問題 通過原型或舉例闡述新產(chǎn)品的使用方法通過原型或舉例闡述新產(chǎn)品的使用方法 確定新產(chǎn)品運行的軟、硬平臺確定新產(chǎn)品運行的軟、硬平臺 定義較高層次的關(guān)鍵接口定義較高層次的關(guān)鍵接口 產(chǎn)品的性能要求產(chǎn)品的性能要求項目視圖和范圍文檔項目視圖和范圍文檔e)e)業(yè)務(wù)風(fēng)險業(yè)務(wù)風(fēng)險 市場競爭帶來的風(fēng)險市場競爭帶來的風(fēng)險 產(chǎn)品預(yù)算和交付日期帶來的風(fēng)險產(chǎn)品預(yù)算和交付日期帶來的風(fēng)險 用戶是否可以接受用戶是否可以接受 實現(xiàn)技術(shù)的可行性實現(xiàn)技術(shù)的可行性 預(yù)測每一項風(fēng)險的嚴重性預(yù)測每一項風(fēng)險的嚴重性 制定風(fēng)險應(yīng)對或減輕措施制定風(fēng)險應(yīng)對或減輕措施項目視圖和范圍文檔項目視圖和

5、范圍文檔2.2.項目視圖解決方案項目視圖解決方案 長遠項目視長遠項目視圖,業(yè)務(wù)目標,決策信息等圖,業(yè)務(wù)目標,決策信息等a)a)項目視圖陳述項目視圖陳述 開發(fā)新系統(tǒng)開發(fā)新系統(tǒng)( (產(chǎn)品產(chǎn)品) )的的目的簡要陳述目的簡要陳述b)b)產(chǎn)品主要性能列表產(chǎn)品主要性能列表 強調(diào)區(qū)別于以往強調(diào)區(qū)別于以往產(chǎn)品和競爭產(chǎn)品的特性產(chǎn)品和競爭產(chǎn)品的特性c)c)主要假設(shè)和產(chǎn)品依賴的環(huán)境主要假設(shè)和產(chǎn)品依賴的環(huán)境項目視圖和范圍文檔項目視圖和范圍文檔3.3.范圍和局限性范圍和局限性 確定項目基本解決確定項目基本解決方案及適用范圍,產(chǎn)品應(yīng)包含和不應(yīng)方案及適用范圍,產(chǎn)品應(yīng)包含和不應(yīng)包含的性能包含的性能a) Release 1.0

6、 首次發(fā)行首次發(fā)行( (開發(fā)開發(fā)) )的范圍,目的范圍,目的的 ( (爭奪市場優(yōu)先權(quán)?爭奪市場優(yōu)先權(quán)?) )b) Release 2.0 隨后發(fā)行隨后發(fā)行( (開發(fā)開發(fā)) )的范圍的范圍c) Release 相關(guān)的產(chǎn)品局限性和專用性相關(guān)的產(chǎn)品局限性和專用性項目視圖和范圍文檔項目視圖和范圍文檔4.4.業(yè)務(wù)環(huán)境業(yè)務(wù)環(huán)境 客戶分類概述和項目管客戶分類概述和項目管理優(yōu)先級理優(yōu)先級a) 不同客戶群的特征,包括客戶能獲得的不同客戶群的特征,包括客戶能獲得的益處,對新產(chǎn)品的態(tài)度,對產(chǎn)品哪些特益處,對新產(chǎn)品的態(tài)度,對產(chǎn)品哪些特性最感興趣,使用該產(chǎn)品的可能性有多性最感興趣,使用該產(chǎn)品的可能性有多大,客戶的限制大

7、,客戶的限制b) 項目優(yōu)先級,通過對產(chǎn)品性能、質(zhì)量、項目優(yōu)先級,通過對產(chǎn)品性能、質(zhì)量、開發(fā)計劃、開發(fā)成本、可用資源開發(fā)計劃、開發(fā)成本、可用資源(主要為主要為人力人力)的分析建立項目開發(fā)優(yōu)先級的分析建立項目開發(fā)優(yōu)先級項目視圖和范圍文檔項目視圖和范圍文檔5.5.產(chǎn)品成功的因素產(chǎn)品成功的因素a)產(chǎn)品成功的定義和測量產(chǎn)品成功的定義和測量b)影響產(chǎn)品成功的主要因素影響產(chǎn)品成功的主要因素c)與所有關(guān)鍵風(fēng)險承擔(dān)者達成一致與所有關(guān)鍵風(fēng)險承擔(dān)者達成一致一一.項目視圖和范圍文檔項目視圖和范圍文檔6.6.基于項目視圖和范圍的管理基于項目視圖和范圍的管理a) 新的需求或特性出現(xiàn)時確認是否在項目新的需求或特性出現(xiàn)時確認

8、是否在項目范圍之內(nèi)。范圍之內(nèi)。b) 當(dāng)不得不改變項目范圍時,必須重新商當(dāng)不得不改變項目范圍時,必須重新商定預(yù)算、資源和進度安排。為應(yīng)對較小定預(yù)算、資源和進度安排。為應(yīng)對較小改變可能帶來的麻煩,最初計劃中留有改變可能帶來的麻煩,最初計劃中留有余地,如余地,如25%,會是較現(xiàn)實的做法,會是較現(xiàn)實的做法.c) 通常拒絕一個新的需求因缺乏根據(jù)難以通常拒絕一個新的需求因缺乏根據(jù)難以做到,但基于項目視圖和范圍文檔卻可做到,但基于項目視圖和范圍文檔卻可以合理地拒絕這些新的要求。以合理地拒絕這些新的要求。需求獲取的三個主要方面需求獲取的三個主要方面: 應(yīng)獲取什么信息應(yīng)獲取什么信息? ? 應(yīng)使用何種信息來源應(yīng)使

9、用何種信息來源? ? 應(yīng)采用什么獲取技術(shù)應(yīng)采用什么獲取技術(shù)? ?二二.軟件需求獲取軟件需求獲取1.需求獲取的信息需求獲取的信息獲取信息就是為了能夠得到產(chǎn)生需求文檔獲取信息就是為了能夠得到產(chǎn)生需求文檔和規(guī)格說明所必需的信息:和規(guī)格說明所必需的信息: 問題域的描述問題域的描述 要求解決的問題列表要求解決的問題列表( (需求需求) ) 用戶對解系統(tǒng)的行為或結(jié)構(gòu)施加的任何約用戶對解系統(tǒng)的行為或結(jié)構(gòu)施加的任何約束束2. 信息來源信息來源1)1) 高層系統(tǒng)需求高層系統(tǒng)需求 System Requirements System Requirements2)2) 客戶客戶( (實際的和潛在的實際的和潛在的)

10、Customers) Customers3)3) 客戶的客戶的“規(guī)格說明書規(guī)格說明書” ” CRSCRS4)4) 原有解系統(tǒng)原有解系統(tǒng)( (即運行在問題域中,執(zhí)行與預(yù)期即運行在問題域中,執(zhí)行與預(yù)期的新的解系統(tǒng)相似功能的系統(tǒng)的新的解系統(tǒng)相似功能的系統(tǒng)) )及其文檔及其文檔5)5) 原有系統(tǒng)的用戶原有系統(tǒng)的用戶6)6) 競爭對手的產(chǎn)品競爭對手的產(chǎn)品7)7) 應(yīng)用領(lǐng)域?qū)<覒?yīng)用領(lǐng)域?qū)<?)8) 定義了任何接口系統(tǒng)的特征和行為的文檔定義了任何接口系統(tǒng)的特征和行為的文檔9)9) 相關(guān)的技術(shù)標準和法規(guī)相關(guān)的技術(shù)標準和法規(guī)2.1 Identifying Requirements Info SourcesAs

11、a start points, you first need to identify Key stakeholders - as we learned before, they are users, customers and developers Potential users and operators who need this product Historical data, including process dataBecause they are easy to identify? No, because they are important!2.1 Identifying Re

12、quirements Info SourcesoBaseline documents 基線文檔基線文檔 Source requirements documents 原始需求原始需求 Contracts 合同合同 Proposal 提案提案 Standards Product visions and scope Regulations Customer requirements2.1 Identifying Requirements Info SourcesoAuxiliary documents 補充文檔補充文檔 Early system concept studies User profil

13、es 用戶概況用戶概況 Marketing study Interviewing notes Current technology White papers Lessons learned study2.1 Identifying Requirements Info SourcesoRelated systems Similar systems Predecessor systems Prototypes Interfacing systems Existed subsystems2.1 Identifying Requirements Info Sources Interviews and

14、discussions with potential users Marketing surveys and user questionnaires 調(diào)查表調(diào)查表 Observing users at work Scenario analysis of user tasks Events (stimulus) and responses (for real time system)2.2 Evaluate Requirements Info Sources Refered documents version, is it latest? Avoid to use outdated source

15、 documents Refered documents are complete? The information sources are relevant to current product? Do you interview the right person? Why they are reluctant to provide information?課程項目課堂分組討論課程項目課堂分組討論要求:要求:1)1)對項目從問題域加以描述對項目從問題域加以描述( (關(guān)鍵點即可關(guān)鍵點即可) )2)2)指明已有信息和待挖掘信息并分類指明已有信息和待挖掘信息并分類3)3)對不確定的信息計劃如何獲取

16、對不確定的信息計劃如何獲取4)4)確定信息來源可能的困難確定信息來源可能的困難5)5)每小組選一位代表每小組選一位代表(moderator)加以陳述加以陳述6)6)將結(jié)果完整記錄將結(jié)果完整記錄( (記錄關(guān)鍵點,課后整理記錄關(guān)鍵點,課后整理) )7)7)小組討論小組討論20分鐘,每組陳述分鐘,每組陳述35分鐘分鐘3. 需求獲取技術(shù)需求獲取技術(shù)一旦確定了可能的信息來源,一旦確定了可能的信息來源,接下來的工作是通過選擇合接下來的工作是通過選擇合適的獲取技術(shù)來挖掘所需的適的獲取技術(shù)來挖掘所需的信息。信息。3. 需求獲取技術(shù)需求獲取技術(shù)3.1 3.1 面談面談 Interviewing面談是最直接的獲得

17、需求的方法面談是最直接的獲得需求的方法 結(jié)構(gòu)化面談,結(jié)構(gòu)化面談,集中討論一組事先計劃好的問題;集中討論一組事先計劃好的問題; 非非結(jié)構(gòu)化面談,面談進行時通過臨場發(fā)揮獲得問結(jié)構(gòu)化面談,面談進行時通過臨場發(fā)揮獲得問題的答案;題的答案; 對面談主題做充分的準備可以大大提高面談效率對面談主題做充分的準備可以大大提高面談效率, ,例如對被咨詢?nèi)说念A(yù)先了解及期望獲取的答案例如對被咨詢?nèi)说念A(yù)先了解及期望獲取的答案; ; 面談進程控制面談進程控制 面談信息記錄面談信息記錄3. 需求獲取技術(shù)需求獲取技術(shù)3.2 3.2 調(diào)查表調(diào)查表 Surveys 當(dāng)事先可以很好地確定問題時,調(diào)查表當(dāng)事先可以很好地確定問題時,調(diào)

18、查表方法提供了一個高效的需求獲取方法方法提供了一個高效的需求獲取方法; ; 對問題列表預(yù)先作充分的準備,以便使對問題列表預(yù)先作充分的準備,以便使問題易于理解,最小化二義性問題易于理解,最小化二義性; ; 調(diào)查表可以認為是結(jié)構(gòu)化面談的最終表調(diào)查表可以認為是結(jié)構(gòu)化面談的最終表現(xiàn)形式,可作為面談技術(shù)的補充方法?,F(xiàn)形式,可作為面談技術(shù)的補充方法。3. 需求獲取技術(shù)需求獲取技術(shù)3.3 3.3 用例用例( (Use Case)和場景和場景( (Scenario) )分析分析 一個精確定義的一個精確定義的Use Case是面向解系統(tǒng)的而是面向解系統(tǒng)的而非問題域的。非問題域的。 Use Case的觀點和方法論

19、對需求開發(fā)是極有的觀點和方法論對需求開發(fā)是極有幫助的,因為它可以描述用戶使用系統(tǒng)所要幫助的,因為它可以描述用戶使用系統(tǒng)所要完成的所有任務(wù)。完成的所有任務(wù)。 Scenario描述了系統(tǒng)對用戶特定的輸入存在描述了系統(tǒng)對用戶特定的輸入存在的可能的響應(yīng),可以和的可能的響應(yīng),可以和Use Case聯(lián)合使用。聯(lián)合使用。 經(jīng)常和分析階段一起使用。經(jīng)常和分析階段一起使用。3. 需求獲取技術(shù)需求獲取技術(shù)3.4 3.4 頭腦風(fēng)暴頭腦風(fēng)暴 BrainstormingBrainstorming用于復(fù)雜、含糊不清的需求獲取。通過一用于復(fù)雜、含糊不清的需求獲取。通過一個短暫、集中式的討論,使關(guān)鍵系統(tǒng)需求個短暫、集中式的討

20、論,使關(guān)鍵系統(tǒng)需求浮出水面。在這里,參加人員應(yīng)包括各關(guān)浮出水面。在這里,參加人員應(yīng)包括各關(guān)鍵性領(lǐng)域代表,討論將是自由式的,著重鍵性領(lǐng)域代表,討論將是自由式的,著重的是想法而不是辯論和批評。的是想法而不是辯論和批評。3. 需求獲取技術(shù)需求獲取技術(shù)3.5 3.5 需求裁剪需求裁剪 Requirements TailoringRequirements Tailoring當(dāng)存在一份客戶需求規(guī)格說明書,或者當(dāng)存在一份客戶需求規(guī)格說明書,或者存在一份相似的已有產(chǎn)品需求規(guī)格說明存在一份相似的已有產(chǎn)品需求規(guī)格說明書時,就可使用這種技術(shù)。需求裁剪可書時,就可使用這種技術(shù)。需求裁剪可以是手工的,也可以通過工具來完

21、成。以是手工的,也可以通過工具來完成。3. 需求獲取技術(shù)需求獲取技術(shù)Key Points:Actually, all the technique can be combined together, 在需求獲取過程中它們并非獨立進行的。在需求獲取過程中它們并非獨立進行的。與與Stakeholders的交流的交流( (communication) )與溝通與溝通( (interaction) )是需求獲取過程中的關(guān)鍵能力體現(xiàn)。是需求獲取過程中的關(guān)鍵能力體現(xiàn)。3.1 InterviewingThe 80/20 Rule 80% of the talking should be done by the

22、 customers or users 20% of the talking should be done by the requirement engineer (interviewer)3.1 InterviewingKey skills for successful interview Preparation Asking the right questions Careful listening Checking for the understanding Recording information3.1 Interviewing Preparation 準備準備Environment

23、al Scanning 環(huán)境審查環(huán)境審查Customers business 客戶的業(yè)務(wù)領(lǐng)域客戶的業(yè)務(wù)領(lǐng)域Customers needs 客戶的需要客戶的需要Resource and document asked for 打算打算獲得什么信息和文檔資料獲得什么信息和文檔資料Prepare for presentation, demonstration 準備你的陳述和演示等準備你的陳述和演示等3.1 Interviewing Preparation 準備準備Establishment of Rapport 建立和諧的環(huán)境建立和諧的環(huán)境Use relaxed and approachable ma

24、nner平平易近人的態(tài)度易近人的態(tài)度Use non-technical language, No jargon!少用專業(yè)語言,行話少用專業(yè)語言,行話Establish comfortable time frame 建立客建立客戶滿意的時間表戶滿意的時間表3.1 Interviewing Asking the right questions詢問問題是最直接的信息獲取方法詢問問題是最直接的信息獲取方法從最容易回答的問題著手,可以使從最容易回答的問題著手,可以使用戶容易進入角色用戶容易進入角色過程中通過詢問確信懂得對方的想過程中通過詢問確信懂得對方的想法法 正確跟蹤確認前面的問題正確跟蹤確認前面的問

25、題 正確地總結(jié)關(guān)鍵點并加以確認正確地總結(jié)關(guān)鍵點并加以確認3.1 InterviewingClosed questions 直接的問題直接的問題 Answer: Yes or No 例如:例如: 你是該項目的負責(zé)人嗎?你是該項目的負責(zé)人嗎? 誰是該項目的財務(wù)經(jīng)理?誰是該項目的財務(wù)經(jīng)理? 六個月的開發(fā)周期是否現(xiàn)實?六個月的開發(fā)周期是否現(xiàn)實?3.1 Interviewing直接問題的優(yōu)點:直接問題的優(yōu)點: 可以有效地控制問題范圍和答案可以有效地控制問題范圍和答案 在短時間內(nèi)包含較多的問題在短時間內(nèi)包含較多的問題 答案容易記錄和分析答案容易記錄和分析 客戶容易回答客戶容易回答3.1 Interview

26、ing直接問題的缺點:直接問題的缺點: 因回答過于簡單,不能得到充分的因回答過于簡單,不能得到充分的信息,需要有后續(xù)的問題進一步獲信息,需要有后續(xù)的問題進一步獲取更多的信息取更多的信息 其回答可能不代表客戶的真實想法其回答可能不代表客戶的真實想法 尖銳的問題可能會被隱藏尖銳的問題可能會被隱藏 采訪者占用太長談話時間采訪者占用太長談話時間3.1 Interviewing直接問題直接問題適合的場合:適合的場合: 復(fù)雜問題的前奏復(fù)雜問題的前奏 采集簡單的事實數(shù)據(jù)采集簡單的事實數(shù)據(jù) 確認對問題的理解確認對問題的理解3.1 InterviewingOpen questions 間接問題間接問題 客戶客戶

27、/用戶決定提供什么信息,回答過程可用戶決定提供什么信息,回答過程可能比較復(fù)雜能比較復(fù)雜 能夠派生新的想法能夠派生新的想法 例如:例如: 你是該項目中擔(dān)任什么角色?你是該項目中擔(dān)任什么角色? 為什么該系統(tǒng)需要改進?為什么該系統(tǒng)需要改進? 這是我們提出的初步解決方案,你看能這是我們提出的初步解決方案,你看能否解決現(xiàn)有的產(chǎn)品問題?否解決現(xiàn)有的產(chǎn)品問題?3.1 Interviewing間接問題的優(yōu)點:間接問題的優(yōu)點: 體現(xiàn)對客戶體現(xiàn)對客戶/用戶思想、觀點的重視用戶思想、觀點的重視 提供客戶提供客戶/用戶認為的重要信息和隱藏問題用戶認為的重要信息和隱藏問題 客戶客戶/用戶能主動提供一些未涉及到的信息用戶

28、能主動提供一些未涉及到的信息 能顯現(xiàn)客戶能顯現(xiàn)客戶/用戶對問題的不了解或錯誤理解用戶對問題的不了解或錯誤理解 談話多數(shù)時間在客戶談話多數(shù)時間在客戶/用戶方,符合用戶方,符合80/20原則原則 能夠獲取新的產(chǎn)品解決思路能夠獲取新的產(chǎn)品解決思路 - brainstorming3.1 Interviewing間接問題的缺點間接問題的缺點: 回答問題需要較長時間回答問題需要較長時間 問題較難跟蹤和記錄,必需有較好的訓(xùn)問題較難跟蹤和記錄,必需有較好的訓(xùn)練才能記錄下有價值的和關(guān)鍵的信息練才能記錄下有價值的和關(guān)鍵的信息 需防止客戶需防止客戶/用戶思路跑題,通常需要穿用戶思路跑題,通常需要穿插一些直接問題來保

29、持主題連貫性插一些直接問題來保持主題連貫性3.1 InterviewingPrimary and secondary questions 原始的和派生的問題原始的和派生的問題1) 原始問題引入新的主題,可以是直接問原始問題引入新的主題,可以是直接問題也可以是間接問題題也可以是間接問題如:關(guān)于新的應(yīng)用流媒體如:關(guān)于新的應(yīng)用流媒體(streaming)能能否談?wù)勀愕恼J識?否談?wù)勀愕恼J識?2) 派生問題試圖從原始問題中提取或探查派生問題試圖從原始問題中提取或探查更多的信息更多的信息,如:如:為什么你認為流媒體業(yè)務(wù)還不能開展?為什么你認為流媒體業(yè)務(wù)還不能開展?是用戶負擔(dān)不起嗎?是用戶負擔(dān)不起嗎?3.1

30、 InterviewingSummary questions 總結(jié)性總結(jié)性問題問題 為確信對一個主題的理解無二義性為確信對一個主題的理解無二義性 幫助采訪者獲得最后確定性信息幫助采訪者獲得最后確定性信息 當(dāng)與進一步的行動相關(guān)聯(lián)時會使用當(dāng)與進一步的行動相關(guān)聯(lián)時會使用根據(jù)我們的討論,整個計劃分為根據(jù)我們的討論,整個計劃分為2個階段,個階段,第一階段為調(diào)研,需要第一階段為調(diào)研,需要3個月,個月,2個人,個人,共共6個人月,基于此決定下一階段任務(wù)。個人月,基于此決定下一階段任務(wù)。是這樣嗎?是這樣嗎?3.1 Interviewing Careful listening 集中精力傾聽集中精力傾聽 仔細的傾

31、聽和正確的提問是成功地與仔細的傾聽和正確的提問是成功地與客戶客戶/ /用戶交流的關(guān)鍵技術(shù)用戶交流的關(guān)鍵技術(shù) 不能很好地傾聽對方、理解對方,就不能很好地傾聽對方、理解對方,就不可能提出恰當(dāng)?shù)膯栴}不可能提出恰當(dāng)?shù)膯栴} 每字每句的真實含義及細微差別每字每句的真實含義及細微差別 沉默沉默(silence) 問題無法回答問題無法回答?拒絕回答拒絕回答? 身體語言身體語言(body language)3.1 Interviewing傾聽的障礙:傾聽的障礙: 不能集中精力不能集中精力 同樣詞語但可能包含不同含義同樣詞語但可能包含不同含義 先入為主的觀念和看法先入為主的觀念和看法傾聽的關(guān)鍵:傾聽的關(guān)鍵: 傾注

32、熱情,表現(xiàn)出真正的關(guān)注傾注熱情,表現(xiàn)出真正的關(guān)注 給客戶給客戶/ /用戶足夠時間解釋其想法用戶足夠時間解釋其想法3.1 Interviewing Check for understanding 對關(guān)鍵點重復(fù)解釋對關(guān)鍵點重復(fù)解釋 關(guān)注關(guān)鍵細節(jié)關(guān)注關(guān)鍵細節(jié) 對進一步的活動達成共識對進一步的活動達成共識 留出足夠時間進行總結(jié),而不是草草留出足夠時間進行總結(jié),而不是草草收場收場 通過總結(jié)強調(diào)關(guān)鍵問題并發(fā)現(xiàn)可能的通過總結(jié)強調(diào)關(guān)鍵問題并發(fā)現(xiàn)可能的遺漏遺漏3.1 Interviewing 記錄收集的信息記錄收集的信息recording info 每條信息來之不易,將其清晰地記錄下每條信息來之不易,將其清晰地

33、記錄下來來 不要期望將來慢慢整理不要期望將來慢慢整理 也要讓別人讀懂你的記錄也要讓別人讀懂你的記錄 正式地文檔化正式地文檔化大家關(guān)注的問題清單大家關(guān)注的問題清單1.1. 如何快速有效的獲取需求,并保證需求的完整性如何快速有效的獲取需求,并保證需求的完整性和正確性和正確性 2.2. 如何更好的理解客戶的表達與客戶協(xié)商溝通如何更好的理解客戶的表達與客戶協(xié)商溝通 3.3. 如何對不斷變化的需求做出反應(yīng)如何對不斷變化的需求做出反應(yīng)4.4. 對概念的理解和區(qū)別對概念的理解和區(qū)別 5.5. 如何實踐、如何在沒有開發(fā)經(jīng)驗的情況下把握好如何實踐、如何在沒有開發(fā)經(jīng)驗的情況下把握好本門課程、需要儲備的知識本門課程

34、、需要儲備的知識 6.6. 如何準確地區(qū)分業(yè)務(wù)需求、用戶需求和功能需求如何準確地區(qū)分業(yè)務(wù)需求、用戶需求和功能需求 7. 客戶對系統(tǒng)開發(fā)的理由和重要性認識不充分客戶對系統(tǒng)開發(fā)的理由和重要性認識不充分8. 監(jiān)理方提的需求過于細致監(jiān)理方提的需求過于細致?(合理合理? 限制限制? 時間時間?) Interview Skill ExciseGoal:Applying and practicing interviewing skills to identify key issues, needs and any concerns of stakeholders related to your projec

35、tInterview Skill ExciseApproach: 請注意觀察所用的方法請注意觀察所用的方法 觀察觀察interviewer是否對所關(guān)心的主是否對所關(guān)心的主題得到足夠的信息題得到足夠的信息 采訪時間采訪時間10分鐘分鐘Interview Skill Excise check list 開場使用了何種提問方式開場使用了何種提問方式? Closed or Open? 是否滿足是否滿足20/80 ? 使用了專業(yè)術(shù)語使用了專業(yè)術(shù)語Jargon(行話行話)? 是否使用了是否使用了primary and secondary questioning? 對談話過程有控制嗎對談話過程有控制嗎? 有

36、沒有有沒有summary questioning?是否有效是否有效?3.2 User Classes The frequency with which they use the product Their application domain experience and computer systems expertise The features they use The tasks they perform in support of their business processes Their access privilege or security levels (such as o

37、rdinary user, guest user, or administrator)3.2 User Classes3.2 User Classes一個實例一個實例: 手機用戶可以分為手機用戶可以分為:高端用戶高端用戶底端用戶底端用戶職業(yè)用戶職業(yè)用戶每類用戶特點不同,歸結(jié)到產(chǎn)品其每類用戶特點不同,歸結(jié)到產(chǎn)品其功能也不同功能也不同Communications with users用戶和開發(fā)者之間可能通訊途徑用戶和開發(fā)者之間可能通訊途徑3.2 Product Champion產(chǎn)品代表最了解客戶的需求,是客戶與開發(fā)者產(chǎn)品代表最了解客戶的需求,是客戶與開發(fā)者之間的接口,通過產(chǎn)品代表解決溝通上的問題。

38、之間的接口,通過產(chǎn)品代表解決溝通上的問題。產(chǎn)品代表從所代表的用戶類中收集需求信息,產(chǎn)品代表從所代表的用戶類中收集需求信息,通過與需求分析人員合作解決用戶在需求表達通過與需求分析人員合作解決用戶在需求表達上的不一致和不兼容性。上的不一致和不兼容性。產(chǎn)品代表必須具備較強的交流能力產(chǎn)品代表必須具備較強的交流能力,熟知應(yīng)用熟知應(yīng)用領(lǐng)域,在軟件開發(fā)方面有足夠的經(jīng)驗,能夠判領(lǐng)域,在軟件開發(fā)方面有足夠的經(jīng)驗,能夠判斷在現(xiàn)有技術(shù)背景和運行環(huán)境下,開發(fā)路線是斷在現(xiàn)有技術(shù)背景和運行環(huán)境下,開發(fā)路線是否可行。否可行。Who will be the product champion?If possible, best

39、 fit is the userSometimes, Project Champion is the meaning, Thus, a technical team leader may be a good choice Question: does each class excise group need to identify a champion? Answer is yes, if you really want to make the communication more efficientMultiple Product ChampionsCurrent project is co

40、mposed of multiple functionsOne person can not provide all related requirementsIt is the PMs responsibility to breakdown the task and assign to multiple championsProduct Champion Expectations分類分類活動活動 Check List計劃計劃轉(zhuǎn)化產(chǎn)品的使用范圍和局限性;定義與其它系統(tǒng)的外轉(zhuǎn)化產(chǎn)品的使用范圍和局限性;定義與其它系統(tǒng)的外部接口;定義現(xiàn)有用戶應(yīng)用程序到新系統(tǒng)的過渡途徑部接口;定義現(xiàn)有用戶應(yīng)用程序到新系

41、統(tǒng)的過渡途徑需求需求收集用戶需求描述;提出使用腳本和實例;解決需求收集用戶需求描述;提出使用腳本和實例;解決需求沖突;定義實現(xiàn)優(yōu)先級;確定質(zhì)量屬性和其它非功能沖突;定義實現(xiàn)優(yōu)先級;確定質(zhì)量屬性和其它非功能需求;評估用戶接口原型需求;評估用戶接口原型驗證和確驗證和確認認審查需求文檔;確定用戶接受標準;根據(jù)使用腳本編審查需求文檔;確定用戶接受標準;根據(jù)使用腳本編寫測試用例;進行寫測試用例;進行beta測試;提供測試數(shù)據(jù)集測試;提供測試數(shù)據(jù)集用戶幫助用戶幫助編寫用戶手冊和在線幫助;準備培訓(xùn)材料;為同行提編寫用戶手冊和在線幫助;準備培訓(xùn)材料;為同行提供產(chǎn)品演示供產(chǎn)品演示變更管理變更管理對缺陷改正進行評

42、估并根據(jù)所耗資源等設(shè)置實施優(yōu)先對缺陷改正進行評估并根據(jù)所耗資源等設(shè)置實施優(yōu)先級;對增加的和增強的需求進行評估和設(shè)置優(yōu)先級;級;對增加的和增強的需求進行評估和設(shè)置優(yōu)先級;評估需求變更對用戶的影響;參加評估需求變更對用戶的影響;參加CCB參與變更決策參與變更決策需求決策問題需求決策問題1.1. 如果個別用戶不能在需求方面達成一致意見,那如果個別用戶不能在需求方面達成一致意見,那么應(yīng)由產(chǎn)品代表作出決策。么應(yīng)由產(chǎn)品代表作出決策。2.2. 如果不同的用戶類有不一致的需求,必須決策出如果不同的用戶類有不一致的需求,必須決策出滿足哪類用戶的需求更重要。這決定于哪類用戶滿足哪類用戶的需求更重要。這決定于哪類用

43、戶所占份額更大以及產(chǎn)品業(yè)務(wù)目標的匹配情況。所占份額更大以及產(chǎn)品業(yè)務(wù)目標的匹配情況。3.3. 不同的客戶可能都要求產(chǎn)品按照各自的喜好來設(shè)不同的客戶可能都要求產(chǎn)品按照各自的喜好來設(shè)計,你不可能面面具到。通過業(yè)務(wù)目標找出你最計,你不可能面面具到。通過業(yè)務(wù)目標找出你最關(guān)心的核心用戶,而相對次要的會拖延到未來版關(guān)心的核心用戶,而相對次要的會拖延到未來版本。本。需求決策問題需求決策問題4.4. 當(dāng)開發(fā)者的想法與客戶需求沖突時,通常應(yīng)該當(dāng)開發(fā)者的想法與客戶需求沖突時,通常應(yīng)該由客戶作出決策。但要避免陷入由客戶作出決策。但要避免陷入“客戶總是對客戶總是對的的”的陷阱中,要客觀地對待客戶的選擇,因的陷阱中,要客

44、觀地對待客戶的選擇,因為誰都會犯錯誤。為誰都會犯錯誤。5.5. 由于市場需求更有分量,當(dāng)其和開發(fā)部門想要由于市場需求更有分量,當(dāng)其和開發(fā)部門想要開發(fā)的產(chǎn)品沖突時,通常會依照市場需求而定。開發(fā)的產(chǎn)品沖突時,通常會依照市場需求而定。問題是,為了獲得訂單,市場常常遷就客戶需問題是,為了獲得訂單,市場常常遷就客戶需求,而輕視這些需求的合理性和可行性。求,而輕視這些需求的合理性和可行性。誰來作出需求決策誰來作出需求決策 Engineers? Team Leader or Manager? Change Control Board (CCB)? Senior Management Team?對客戶輸入進行

45、分類對客戶輸入進行分類客戶或用戶提供的需求信息往往是零散的、缺乏組織客戶或用戶提供的需求信息往往是零散的、缺乏組織的。需求分析者必須把這些零散的信息按某種規(guī)則分的。需求分析者必須把這些零散的信息按某種規(guī)則分成不同類型以便最終形成組織良好的需求文檔。成不同類型以便最終形成組織良好的需求文檔。對客戶輸入進行分類對客戶輸入進行分類1.1. 業(yè)務(wù)需求業(yè)務(wù)需求 Business (op) requirements描述客戶開發(fā)部門可以從產(chǎn)品中得到的資金、描述客戶開發(fā)部門可以從產(chǎn)品中得到的資金、市場和業(yè)務(wù)利潤方面的需求信息最有可能屬于市場和業(yè)務(wù)利潤方面的需求信息最有可能屬于業(yè)務(wù)需求范圍。業(yè)務(wù)需求范圍。For

46、 examples: Increase market share by X% Save $Y per year on electricity now wasted by inefficient units Save $Z per year in maintenance costs that are consumed by the legacy system對客戶輸入進行分類對客戶輸入進行分類2.2.使用實例使用實例 Use cases or scenarios有關(guān)利用系統(tǒng)執(zhí)行的業(yè)務(wù)任務(wù)或達到用戶有關(guān)利用系統(tǒng)執(zhí)行的業(yè)務(wù)任務(wù)或達到用戶目標的總的陳述可能就是使用實例,而特目標的總的陳述可能就是使用實

47、例,而特定的任務(wù)描述表示了用法說明。與客戶商定的任務(wù)描述表示了用法說明。與客戶商討,把特定的、零散的任務(wù)描述概況成廣討,把特定的、零散的任務(wù)描述概況成廣泛的、系統(tǒng)的使用實例是系統(tǒng)分析者的重泛的、系統(tǒng)的使用實例是系統(tǒng)分析者的重要技能,可以通過不斷地讓客戶描述他們要技能,可以通過不斷地讓客戶描述他們的業(yè)務(wù)工作流程活動來完成這一過程。的業(yè)務(wù)工作流程活動來完成這一過程。對客戶輸入進行分類對客戶輸入進行分類2.2. 使用實例使用實例 Use cases or scenariosA user who says, “I need to ” is probably describing a use case:

48、 I need to print a mailing label for a package I need to change to Cell ID, if A-GPS is not available對客戶輸入進行分類對客戶輸入進行分類3.3. 業(yè)務(wù)規(guī)則業(yè)務(wù)規(guī)則 Business rule當(dāng)客戶說明一些活動只能在特定條件下,由當(dāng)客戶說明一些活動只能在特定條件下,由一些特定的人來完成時,客戶是在描述一個一些特定的人來完成時,客戶是在描述一個業(yè)務(wù)規(guī)則,既業(yè)務(wù)過程的操作原則。而業(yè)務(wù)業(yè)務(wù)規(guī)則,既業(yè)務(wù)過程的操作原則。而業(yè)務(wù)規(guī)則是由一系列的功能需求來完成的。規(guī)則是由一系列的功能需求來完成的。Must c

49、omply with Must conform to If , then Must be calculated according to 對客戶輸入進行分類對客戶輸入進行分類4.4.功能需求功能需求對諸如對諸如“用戶應(yīng)該能執(zhí)行某些功能用戶應(yīng)該能執(zhí)行某些功能”,“系統(tǒng)應(yīng)該具備某些行為系統(tǒng)應(yīng)該具備某些行為”的信息基本上的信息基本上屬于功能需求范疇。功能需求描述了系統(tǒng)屬于功能需求范疇。功能需求描述了系統(tǒng)展示的可觀察行為,大多數(shù)是處于執(zhí)行者展示的可觀察行為,大多數(shù)是處于執(zhí)行者或系統(tǒng)輸入或系統(tǒng)輸入 系統(tǒng)響應(yīng)順序的環(huán)境中。系統(tǒng)響應(yīng)順序的環(huán)境中。功能需求定義了系統(tǒng)應(yīng)該做什么,組成了功能需求定義了系統(tǒng)應(yīng)該做什

50、么,組成了需求規(guī)格說明的最重要的部分。需求規(guī)格說明的最重要的部分。對客戶輸入進行分類對客戶輸入進行分類5.5.質(zhì)量屬性質(zhì)量屬性對系統(tǒng)如何能很好地執(zhí)行某些行為等方面的對系統(tǒng)如何能很好地執(zhí)行某些行為等方面的陳述屬于質(zhì)量屬性,這是一種非功能需求,陳述屬于質(zhì)量屬性,這是一種非功能需求,往往包括如下相關(guān)的一些屬性:快捷性、簡往往包括如下相關(guān)的一些屬性:快捷性、簡易性、直覺性、健壯性、可靠性、執(zhí)行速度易性、直覺性、健壯性、可靠性、執(zhí)行速度和效率??蛻魧|(zhì)量屬性的表達經(jīng)常不準確和效率??蛻魧|(zhì)量屬性的表達經(jīng)常不準確和模棱兩可,承諾的不切實際的屬性可能給和模棱兩可,承諾的不切實際的屬性可能給后面的開發(fā)帶來無窮

51、的麻煩。后面的開發(fā)帶來無窮的麻煩。對客戶輸入進行分類對客戶輸入進行分類6.6.外部接口外部接口這類需求描述的是系統(tǒng)與外部的聯(lián)系,包含用這類需求描述的是系統(tǒng)與外部的聯(lián)系,包含用戶接口和通信機制,外部實體可能是另外一個戶接口和通信機制,外部實體可能是另外一個軟件或硬件應(yīng)用系統(tǒng)??蛻魧ν獠拷涌诘拿枋鲕浖蛴布?yīng)用系統(tǒng)??蛻魧ν獠拷涌诘拿枋隹赡転椋嚎赡転椋?從某些設(shè)備讀取信號從某些設(shè)備讀取信號 給其它系統(tǒng)發(fā)送消息給其它系統(tǒng)發(fā)送消息 以某種格式讀取文件以某種格式讀取文件 對一些硬件設(shè)備進行控制等對一些硬件設(shè)備進行控制等對客戶輸入進行分類對客戶輸入進行分類7.7.限制限制限制是指一些合理限制設(shè)計者和程序員

52、應(yīng)選擇的限制是指一些合理限制設(shè)計者和程序員應(yīng)選擇的條件。這是軟件需求規(guī)格說明中的另一類非功能條件。這是軟件需求規(guī)格說明中的另一類非功能需求。但要盡量防止客戶施加不必要的限制,因需求。但要盡量防止客戶施加不必要的限制,因為這會妨礙提出一個好的解決方案以及軟件的可為這會妨礙提出一個好的解決方案以及軟件的可移植性。一定的限制卻有助于提高質(zhì)量屬性??鸵浦残浴R欢ǖ南拗茀s有助于提高質(zhì)量屬性??蛻裘枋隹赡転椋簯裘枋隹赡転椋?必須使用一個特定的數(shù)據(jù)庫或語言必須使用一個特定的數(shù)據(jù)庫或語言 不能申請多于一定數(shù)量的內(nèi)存不能申請多于一定數(shù)量的內(nèi)存 操作必須與某些其它系統(tǒng)或應(yīng)用程序相同操作必須與某些其它系統(tǒng)或應(yīng)用程序

53、相同對客戶輸入進行分類對客戶輸入進行分類8.8.數(shù)據(jù)定義數(shù)據(jù)定義當(dāng)客戶描述一個數(shù)據(jù)項或一個復(fù)雜的業(yè)當(dāng)客戶描述一個數(shù)據(jù)項或一個復(fù)雜的業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)的格式、允許值和缺省值時,務(wù)數(shù)據(jù)結(jié)構(gòu)的格式、允許值和缺省值時,則屬于數(shù)據(jù)定義范圍。把這些數(shù)據(jù)集中則屬于數(shù)據(jù)定義范圍。把這些數(shù)據(jù)集中在數(shù)據(jù)字典中,這可以作為項目開發(fā)、在數(shù)據(jù)字典中,這可以作為項目開發(fā)、測試和維護人員的主要參考文檔。測試和維護人員的主要參考文檔。對客戶輸入進行分類對客戶輸入進行分類9.9.解決思想解決思想如果客戶描述了用戶與系統(tǒng)交互的特定方法以如果客戶描述了用戶與系統(tǒng)交互的特定方法以使系統(tǒng)產(chǎn)生一系列的活動,則你在聽取建議性使系統(tǒng)產(chǎn)生一系列的活

54、動,則你在聽取建議性的解決方案,而不是需求,這會耗費需求獲取的解決方案,而不是需求,這會耗費需求獲取人員的部分精力,尤其是你不能判斷這一區(qū)別人員的部分精力,尤其是你不能判斷這一區(qū)別時。需求獲取重點應(yīng)放在系統(tǒng)需要做什么而不時。需求獲取重點應(yīng)放在系統(tǒng)需要做什么而不是如何設(shè)計和構(gòu)造。但不應(yīng)忽視這樣的信息,是如何設(shè)計和構(gòu)造。但不應(yīng)忽視這樣的信息,因為這有時可以幫助你更好地理解特定方法中因為這有時可以幫助你更好地理解特定方法中隱含的用戶需求。隱含的用戶需求。Shared Vision Among Stakeholders需求產(chǎn)生需求產(chǎn)生操作流程操作流程與概念的與概念的產(chǎn)生產(chǎn)生需求需求規(guī)范規(guī)范用戶操用戶操

55、作規(guī)范作規(guī)范出現(xiàn)問題出現(xiàn)問題設(shè)計與設(shè)計與完成完成操作可行操作可行性驗證性驗證設(shè)計正確設(shè)計正確性驗證性驗證出現(xiàn)問題出現(xiàn)問題項目相關(guān)項目相關(guān)知識與知識與背景背景成功成功CustomerUserShared Vision Among Stakeholders3.3 Use Case/Scenario與需求獲取與需求獲取 Use case is not necessarily dependent on the object-oriented methodology Use case focuses on what users need to accomplish Traditional ways fo

56、cus on what they want the system to do It provides a shared view for customers, end users and developers to discuss the systems functionality and behavior3.3.1 ActorsAn actor is a person, another software system, or a hardware device that interacts with the system. An actor mayOnly input information

57、 to the systemOnly receive information from the systemInput and receive information to and from the system3.3.1 ActorsThe following questions may help identify the actors for a system Who is interested in a certain requirement? Where will the system be used? Who will benefit from the use of the syst

58、em? Who will support and maintain the system? Does the system use an external resource? Does the system interact with a legacy system?3.3.2 Use Cases Model a dialogue between an actor and the system; describe a sequence of interactions between a system and an external actor Represent the functionali

59、ty provided by the system A use case is a sequence of transactions performed by a system that yields a measurable result of values for an actor3.3.2 Use CasesThe following questions may help identify the use cases for a system1. What are the tasks of each actor?2. Will any actor create, store, chang

60、e, remove or read info in the system? What use cases do these operation?3. Will any actor need to inform the system about sudden, external changes?3.3.2 Use CasesThe following questions may help identify the use cases for a system4. Does any actor need to be informed about certain occurrences in the

溫馨提示

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

最新文檔

評論

0/150

提交評論