課程簡介
本課程是軟件需求分析的經典課程。涵蓋需求調研、需求獲取、需求分析等核心內容。同時,還講解了用戶故事規(guī)格化、全局功能矩陣模型與穩(wěn)定模型等高級內容。
目標收益
培訓對象
課程大綱
一、軟件需求獲取 |
1、需求調研計劃 (1)用戶研究 --有哪些軟件的使用者 --軟件使用者的差異化分析 (2)用戶故事 --以“故事”的方式描述用戶需要的功能 --用戶故事的三個基本要素(3C)與六個基本特性(INVEST) --沙盤演練:使用UML語言描述軟件使用者與用戶故事 (3)溝通計劃 --依據(jù)用戶故事完成調研計劃 --建立用戶溝通時間表 2、需求獲取的方法 (1)需求調研中 “問與答”的博弈 --需求者要懂得“開發(fā)者要什么”與“用戶要什么” --沙盤實戰(zhàn):完成一份需求調研的問題列表 (2)用戶需求深度挖掘溝通術“NLP” --如何應對“用戶不知道更多的細節(jié)” --怎樣抓住“用戶故事”中關鍵點 --如何分析“用戶故事”背后的東西 --如何引導用戶需求 --視頻演示:欣賞NLP溝通的視頻片段 (3)用戶需求的“原型表達” --如何用戶故事以“界面原型”方式呈現(xiàn) --如何快速創(chuàng)作“界面原型” --沙盤實戰(zhàn):快速完成一份紙質原型 (4)用戶需求的內部驗證與外部驗證 --驗證用戶需求的測試思維 --內外部驗證的方法-原型的可用性測試 --觀察實踐:對一個從未見過的UI原型進行可用性測試 3、需求甄別與挖掘 (1)挖掘用戶需求背后的信息 --偏維護類項目(項目甲方對需求理解相對比較清晰)的需求挖掘 --對做好需求獲取有什么建議?或有哪些方面更值得注意? (2)需求甄別、篩選和引導 --合理需求與不合理需求 (3)設計驅動需求獲取 --從設計的角度對用戶需求的理解 --判斷“需求能不能實現(xiàn)、實現(xiàn)復雜度和成本” --案例討論:這個需求合理嗎?可以實現(xiàn)嗎? 4、需求獲取的工具 (1)使用思維導圖工具完成文字訪談與整理 (2)溝通卡片與用戶故事記錄用戶需求 (3)使用錄音設備完整記錄用戶需求 (4)使用原型工具摸清用戶的需求(介紹常見的原型工具) (5)課程展示:講師展示Windows與MAC OS X相關原型工具 |
二、需求分析 |
1、分析思維與方法 (1)親和圖分析法[KJ法/Affinity Diagram] --人類的思維行為與大腦左右部分控制的關系 --有意識的激發(fā)右腦活躍進行創(chuàng)造性思考 --A型圖匯總信息并按其相互親和性歸納整理 (2)頭腦風暴分析法 --激發(fā)團隊創(chuàng)造性思維的方法 --頭腦風暴之前必須要有君子協(xié)定[臭皮匠協(xié)定] (3)魯棒分析法 --在需求分析后及需求設計前的橋梁 --魯棒分析的三要素[邊界、控制、實體] (4)決策表分析法[Decision Matrix] --有限決策表[Limited-entry Decision Table] --決策表能羅列出所有的可能情況并清晰的指出相應的處理方式 (5)邏輯分析法 --原因-后果分析[cause consequence analysis,CCA]方法 --批判性思維[Critical Thinking] 2、用戶故事規(guī)格化 (1)功能場景描述 --基本場景、備選場景與異常場景的描述 --以“用戶與原型交互視角”描述場景 --課程展示:分享“表單類型”功能場景描述的案例 --沙盤演練:完成一份“報表類型”功能場景的描述 (2)實體模型與約束規(guī)則描述 --從功能場景描述中分離實體模型與約束規(guī)則 --如何發(fā)現(xiàn)隱藏在背后的“隱式規(guī)則” --沙盤演練:基于一個典型的功能案例分析背后的隱式規(guī)則 (3)前置條件與后置條件描述 --功能外部關聯(lián)性的描述 --功能外部隱式關聯(lián)性描述 (4)功能的特殊要求 --功能的質量屬性要求描述 --功能的環(huán)境屬性要求描述 --沙盤演練:軟件六性的描述實踐 3、全局功能場景路徑深度分析 (1)泛化用例 --發(fā)現(xiàn)路徑相似,提取泛化用例 --功能用例的類型化、參數(shù)化與模板化 --課程演示:類型化功能用例的知識庫 (2)包含用例 --發(fā)現(xiàn)路徑中重復性,切割包含用例(用例切片技術) --知識擴展:如何分離功能場景中重復的內容? --課程展示:分析一份老外撰寫的用例文檔如何處理重復內容 (3)擴展用例 --發(fā)現(xiàn)路徑上的變化性,擴展功能用例 --如何預測用例未來的變化 (4)用例流程 --全局描述所有用例的關聯(lián)關系 --如何描述功能編排與集成 4、全局功能矩陣模型與穩(wěn)定模型(2小時) (1)AHP分層分析 --功能領域分層劃分 --軟件使用者分層劃分 (2)用例映射業(yè)務功能組件 --矩陣方式業(yè)務功能組件模型[CBM模型] --沙盤演練:完成一份您正在完成的軟件的CBM模型 (3)核心功能分析 --分離穩(wěn)定的核心業(yè)務功能 --標識易變動的業(yè)務功能 --沙盤演練:依據(jù)貫徹案例分離核心業(yè)務功能與易變動性業(yè)務功能 5、非功能性需求分析 (1)標識質量執(zhí)行者與環(huán)境執(zhí)行者 (2)依據(jù)質量屬性與環(huán)境屬性建立包模型 (3)獨立的質量屬性與環(huán)境屬性分析 (4)全局觀察質量用例與環(huán)境用例 (5)沙盤演練:擴展UML模型完成非功能性建模 6、團隊撰寫需求規(guī)格文檔 (1)制定需求規(guī)格文檔大綱 (2)劃分文檔撰寫任務 (3)統(tǒng)一文檔撰寫風格 (4)多人文檔合并規(guī)范 (5)建立“共享”類型化場景模板庫 (6)案例演練:以講師為核心的多人需求規(guī)格撰寫演示 7、需求規(guī)格說明書文檔 (1)統(tǒng)一UML需求建模實現(xiàn)“自動化需求文檔” (2)參數(shù)化的需求文檔模板編著 (3)基于超鏈接的需求文檔 (4)沙盤實戰(zhàn):自動化需求文檔的過程 |
一、軟件需求獲取 1、需求調研計劃 (1)用戶研究 --有哪些軟件的使用者 --軟件使用者的差異化分析 (2)用戶故事 --以“故事”的方式描述用戶需要的功能 --用戶故事的三個基本要素(3C)與六個基本特性(INVEST) --沙盤演練:使用UML語言描述軟件使用者與用戶故事 (3)溝通計劃 --依據(jù)用戶故事完成調研計劃 --建立用戶溝通時間表 2、需求獲取的方法 (1)需求調研中 “問與答”的博弈 --需求者要懂得“開發(fā)者要什么”與“用戶要什么” --沙盤實戰(zhàn):完成一份需求調研的問題列表 (2)用戶需求深度挖掘溝通術“NLP” --如何應對“用戶不知道更多的細節(jié)” --怎樣抓住“用戶故事”中關鍵點 --如何分析“用戶故事”背后的東西 --如何引導用戶需求 --視頻演示:欣賞NLP溝通的視頻片段 (3)用戶需求的“原型表達” --如何用戶故事以“界面原型”方式呈現(xiàn) --如何快速創(chuàng)作“界面原型” --沙盤實戰(zhàn):快速完成一份紙質原型 (4)用戶需求的內部驗證與外部驗證 --驗證用戶需求的測試思維 --內外部驗證的方法-原型的可用性測試 --觀察實踐:對一個從未見過的UI原型進行可用性測試 3、需求甄別與挖掘 (1)挖掘用戶需求背后的信息 --偏維護類項目(項目甲方對需求理解相對比較清晰)的需求挖掘 --對做好需求獲取有什么建議?或有哪些方面更值得注意? (2)需求甄別、篩選和引導 --合理需求與不合理需求 (3)設計驅動需求獲取 --從設計的角度對用戶需求的理解 --判斷“需求能不能實現(xiàn)、實現(xiàn)復雜度和成本” --案例討論:這個需求合理嗎?可以實現(xiàn)嗎? 4、需求獲取的工具 (1)使用思維導圖工具完成文字訪談與整理 (2)溝通卡片與用戶故事記錄用戶需求 (3)使用錄音設備完整記錄用戶需求 (4)使用原型工具摸清用戶的需求(介紹常見的原型工具) (5)課程展示:講師展示Windows與MAC OS X相關原型工具 |
二、需求分析 1、分析思維與方法 (1)親和圖分析法[KJ法/Affinity Diagram] --人類的思維行為與大腦左右部分控制的關系 --有意識的激發(fā)右腦活躍進行創(chuàng)造性思考 --A型圖匯總信息并按其相互親和性歸納整理 (2)頭腦風暴分析法 --激發(fā)團隊創(chuàng)造性思維的方法 --頭腦風暴之前必須要有君子協(xié)定[臭皮匠協(xié)定] (3)魯棒分析法 --在需求分析后及需求設計前的橋梁 --魯棒分析的三要素[邊界、控制、實體] (4)決策表分析法[Decision Matrix] --有限決策表[Limited-entry Decision Table] --決策表能羅列出所有的可能情況并清晰的指出相應的處理方式 (5)邏輯分析法 --原因-后果分析[cause consequence analysis,CCA]方法 --批判性思維[Critical Thinking] 2、用戶故事規(guī)格化 (1)功能場景描述 --基本場景、備選場景與異常場景的描述 --以“用戶與原型交互視角”描述場景 --課程展示:分享“表單類型”功能場景描述的案例 --沙盤演練:完成一份“報表類型”功能場景的描述 (2)實體模型與約束規(guī)則描述 --從功能場景描述中分離實體模型與約束規(guī)則 --如何發(fā)現(xiàn)隱藏在背后的“隱式規(guī)則” --沙盤演練:基于一個典型的功能案例分析背后的隱式規(guī)則 (3)前置條件與后置條件描述 --功能外部關聯(lián)性的描述 --功能外部隱式關聯(lián)性描述 (4)功能的特殊要求 --功能的質量屬性要求描述 --功能的環(huán)境屬性要求描述 --沙盤演練:軟件六性的描述實踐 3、全局功能場景路徑深度分析 (1)泛化用例 --發(fā)現(xiàn)路徑相似,提取泛化用例 --功能用例的類型化、參數(shù)化與模板化 --課程演示:類型化功能用例的知識庫 (2)包含用例 --發(fā)現(xiàn)路徑中重復性,切割包含用例(用例切片技術) --知識擴展:如何分離功能場景中重復的內容? --課程展示:分析一份老外撰寫的用例文檔如何處理重復內容 (3)擴展用例 --發(fā)現(xiàn)路徑上的變化性,擴展功能用例 --如何預測用例未來的變化 (4)用例流程 --全局描述所有用例的關聯(lián)關系 --如何描述功能編排與集成 4、全局功能矩陣模型與穩(wěn)定模型(2小時) (1)AHP分層分析 --功能領域分層劃分 --軟件使用者分層劃分 (2)用例映射業(yè)務功能組件 --矩陣方式業(yè)務功能組件模型[CBM模型] --沙盤演練:完成一份您正在完成的軟件的CBM模型 (3)核心功能分析 --分離穩(wěn)定的核心業(yè)務功能 --標識易變動的業(yè)務功能 --沙盤演練:依據(jù)貫徹案例分離核心業(yè)務功能與易變動性業(yè)務功能 5、非功能性需求分析 (1)標識質量執(zhí)行者與環(huán)境執(zhí)行者 (2)依據(jù)質量屬性與環(huán)境屬性建立包模型 (3)獨立的質量屬性與環(huán)境屬性分析 (4)全局觀察質量用例與環(huán)境用例 (5)沙盤演練:擴展UML模型完成非功能性建模 6、團隊撰寫需求規(guī)格文檔 (1)制定需求規(guī)格文檔大綱 (2)劃分文檔撰寫任務 (3)統(tǒng)一文檔撰寫風格 (4)多人文檔合并規(guī)范 (5)建立“共享”類型化場景模板庫 (6)案例演練:以講師為核心的多人需求規(guī)格撰寫演示 7、需求規(guī)格說明書文檔 (1)統(tǒng)一UML需求建模實現(xiàn)“自動化需求文檔” (2)參數(shù)化的需求文檔模板編著 (3)基于超鏈接的需求文檔 (4)沙盤實戰(zhàn):自動化需求文檔的過程 |