版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
如何寫需求申和平2013年11月軟件工程,從需求開(kāi)始。如何寫需求申和平2013年11月軟件工程,從需求開(kāi)始。1.需求知識(shí)概述1.1軟件需求的重要性1.2軟件需求基本概念1.3優(yōu)秀需求應(yīng)具備特征1.4需求開(kāi)發(fā)的主要困難1.5需求分析員應(yīng)備能力2.軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證3.軟件需求管理3.1需求版本控制3.2需求變更控制3.3需求跟蹤控制目錄1.需求知識(shí)概述2.軟件需求開(kāi)發(fā)3.軟件需求管理目錄典型的軟件開(kāi)發(fā)典型的軟件開(kāi)發(fā)軟件需求的重要性中國(guó)有句諺語(yǔ):“好的開(kāi)始就等于成功的一半”。項(xiàng)目遇困幾大原因需求是制定項(xiàng)目計(jì)劃的基礎(chǔ)。需求規(guī)格說(shuō)明是軟件設(shè)計(jì)和軟件實(shí)現(xiàn)的基礎(chǔ)。需求規(guī)格說(shuō)明是測(cè)試工作和用戶驗(yàn)收的依據(jù)。需求規(guī)格說(shuō)明是軟件維護(hù)工作的依據(jù)。河的源頭被污染,那么整條河也就被污染了。缺乏用戶的參與。(13%)不完整規(guī)格說(shuō)明。(12%)不斷變更的需求。(12%)需求錯(cuò)誤的代價(jià)軟件需求的重要性中國(guó)有句諺語(yǔ):“好的開(kāi)始就等于成功的一半”。我們往往并不清楚究竟該做什么,卻一直忙碌不停的開(kāi)發(fā)。需求不清楚就進(jìn)入編碼階段,期望以后修改,更多的情況下是編寫邊修改。軟件調(diào)節(jié)和改變是很靈活的,任何需求的變更都可以很容易的在軟件中反應(yīng)出來(lái)。你是如此嗎?這些認(rèn)識(shí)多來(lái)自極小項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),當(dāng)你面對(duì)一個(gè)中大型項(xiàng)目時(shí)?你是如此嗎?這些認(rèn)識(shí)多來(lái)自極小項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),當(dāng)你面對(duì)一個(gè)中軟件需求的定義IEEE軟件工程標(biāo)準(zhǔn)詞匯表(1977)中的需求定義:用戶解決問(wèn)題或達(dá)到目標(biāo)所需的條件或權(quán)能。系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其他正式規(guī)定文檔所需具有的條件或權(quán)能。一種反應(yīng)上述所描述的條件或權(quán)能的文檔說(shuō)明。通俗地講,需求來(lái)源于用戶的一些需要,這些需要被分析、確認(rèn)后形成完成的文檔,該文檔詳細(xì)的說(shuō)明了產(chǎn)品必須或應(yīng)當(dāng)做什么。軟件需求的定義IEEE軟件工程標(biāo)準(zhǔn)詞匯表(1977)中的需求需求工程的定義所有與需求直接相關(guān)的活動(dòng)通稱為需求工程。其可大致分為需求開(kāi)發(fā)和需求管理兩個(gè)階段。其中需求開(kāi)發(fā)主要產(chǎn)生需求規(guī)格說(shuō)明,需求管理主要是根據(jù)需求的變化對(duì)需求規(guī)格說(shuō)明的內(nèi)容及版本進(jìn)行管理。需求工程的定義所有與需求直接相關(guān)的活動(dòng)通稱為需求工程。其可大軟件需求的層次(1)軟件需求的層次(1)軟件需求的層次(2)業(yè)務(wù)需求表示組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高層次的目標(biāo)。它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。描述組織為什么要開(kāi)發(fā)一個(gè)系統(tǒng)。用戶需求描述用戶的目標(biāo),或用戶要求系統(tǒng)必須完成的任務(wù)。用例、場(chǎng)景描述都是表達(dá)用戶需求的有效途徑。描述用戶使用系統(tǒng)能做什么。功能需求定義了開(kāi)發(fā)人員必須要實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足業(yè)務(wù)需求。非功能需求描述了系統(tǒng)完成功能實(shí)現(xiàn)的補(bǔ)充約束條件。如系統(tǒng)必須遵從的標(biāo)準(zhǔn)、規(guī)范、合約、性能要求、設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。軟件需求的層次(2)業(yè)務(wù)需求表示組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高軟件需求的質(zhì)量屬性(1)外部質(zhì)量,對(duì)用戶很重要。正確性軟件按照需求正確執(zhí)行任務(wù)的能力。正確性無(wú)疑是第一重要的質(zhì)量屬性。健壯性是指在異常情況下軟件能夠正常運(yùn)行的能力。健壯性有兩層含義,一是容錯(cuò)能力,二是恢復(fù)能力。可靠性是指在一定的環(huán)境下和給定的時(shí)間內(nèi),軟件不發(fā)生故障正常運(yùn)行的概率。性能是指軟件的響應(yīng)能力。既要經(jīng)過(guò)多長(zhǎng)時(shí)間才能對(duì)某個(gè)事件做出響應(yīng),或者在某段時(shí)間內(nèi)軟件所能處理事件的個(gè)數(shù)。安全性是指防止軟件被非法入侵的能力。既屬于技術(shù)問(wèn)題又屬于管理問(wèn)題。易用性是指用戶使用軟件的容易程度。兼容性是指不同產(chǎn)品或者新老產(chǎn)品相互交換信息的能力。軟件需求的質(zhì)量屬性(1)外部質(zhì)量,對(duì)用戶很重要。正確性軟件按軟件需求的質(zhì)量屬性(2)內(nèi)部質(zhì)量,對(duì)開(kāi)發(fā)者很重要。易理解性是指開(kāi)發(fā)人員理解軟件產(chǎn)品的能力。意味著所有的工作成果要易讀易懂,可以提高團(tuán)隊(duì)開(kāi)發(fā)效率,降低維護(hù)成本。開(kāi)發(fā)人員只有在自己思路清晰的時(shí)候才可能寫出讓別人易讀易懂的程序和文檔。可理解的東西通常是簡(jiǎn)潔的。可測(cè)試性是指測(cè)試軟件組件或集成產(chǎn)品時(shí)查找缺陷的簡(jiǎn)易程度,又稱為可驗(yàn)證性??删S護(hù)性是指在軟件中糾正一個(gè)缺陷或做一次更改的簡(jiǎn)易程度。可擴(kuò)展性是指軟件適應(yīng)變化的能力??梢浦残允侵杠浖唤?jīng)修改或稍加修改就可以運(yùn)行于不同軟硬件環(huán)境的能力。主要體現(xiàn)為代碼的可移植性??蓮?fù)用性是指一個(gè)軟件的組成部分可以在同一個(gè)項(xiàng)目的不同地方甚至在不同的項(xiàng)目中重復(fù)使用的能力。有時(shí)不可避免地要對(duì)一些特定的屬性進(jìn)行取舍。軟件需求的質(zhì)量屬性(2)內(nèi)部質(zhì)量,對(duì)開(kāi)發(fā)者很重要。易理解性是優(yōu)秀需求應(yīng)具備的特征完整性每項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述清楚。正確性每一項(xiàng)需求都必須準(zhǔn)確地陳述其要開(kāi)發(fā)的功能,符合需求來(lái)源??尚行悦宽?xiàng)需求在已知環(huán)境的權(quán)能和限制下可實(shí)施??啥喾饺藛T參與。必要性每項(xiàng)需求都能回溯至某項(xiàng)用戶需求。劃分優(yōu)先級(jí)給每項(xiàng)需求分配一個(gè)實(shí)施優(yōu)先級(jí)以指明它在產(chǎn)品中的重要程度。無(wú)二義性對(duì)所有需求說(shuō)明的讀者都只能有一個(gè)明確統(tǒng)一的解釋??沈?yàn)證性每項(xiàng)需求能夠被驗(yàn)證。驗(yàn)證方法如測(cè)試用例、正規(guī)審查等。與實(shí)現(xiàn)無(wú)關(guān)性需求關(guān)注系統(tǒng)做什么,而不是怎么做。優(yōu)秀需求應(yīng)具備的特征完整性每項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述需求開(kāi)發(fā)的主要困難與對(duì)策(1)用戶說(shuō)不清楚需求問(wèn)題:有些用戶不知道需求是什么,或?qū)π枨笾挥须鼥V的感覺(jué),他當(dāng)然說(shuō)不清楚需求。還有些用戶雖然心里明白想要什么,但卻表達(dá)不清楚。策略:需求分析員不能以用戶說(shuō)不清楚需求為借口而草率地對(duì)待需求開(kāi)發(fā),無(wú)論是什么原因?qū)е掠脩粽f(shuō)不清楚需求,需求分析員必須設(shè)法搞清楚用戶真正的需求,這是需求分析員的職責(zé),也是職業(yè)的挑戰(zhàn)。需求開(kāi)發(fā)的主要困難與對(duì)策(1)用戶說(shuō)不清楚需求需求開(kāi)發(fā)的主要困難與對(duì)策(2)態(tài)度問(wèn)題問(wèn)題:很多開(kāi)發(fā)人員習(xí)慣于被動(dòng)地對(duì)待需求開(kāi)發(fā)。每當(dāng)遇到麻煩、挫折時(shí),他們會(huì)找一堆用戶的毛病,認(rèn)為需求是用戶的事情,不是我們的事情。策略:用戶說(shuō)不清楚需求或者需求發(fā)生變更都是常見(jiàn)的問(wèn)題,我們可以設(shè)法解決的。開(kāi)發(fā)人員不應(yīng)該把這些問(wèn)題當(dāng)成借口。需求分析員的職責(zé)就是在有限的時(shí)間內(nèi)獲取準(zhǔn)確而細(xì)致的用戶需求,如果做不到就是失職,不要找借口。需求開(kāi)發(fā)的主要困難與對(duì)策(2)態(tài)度問(wèn)題需求開(kāi)發(fā)的主要困難與對(duì)策(3)知識(shí)技能欠缺問(wèn)題:需求分析員缺乏應(yīng)用域知識(shí),應(yīng)用域的知識(shí)是無(wú)邊無(wú)際的,任何人都不可能是萬(wàn)事通。需求分析員可能是某一領(lǐng)域的專家,當(dāng)他接手陌生的業(yè)務(wù)時(shí),他可能是個(gè)無(wú)知者。策略:要勇于實(shí)踐,不要逃避。還應(yīng)當(dāng)趕緊補(bǔ)習(xí)應(yīng)用域知識(shí),不論是通過(guò)自學(xué)還是培訓(xùn)的方式??赡艿脑挘詈谜?qǐng)既懂軟件又懂應(yīng)用域知識(shí)的行家來(lái)幫忙。需求開(kāi)發(fā)的主要困難與對(duì)策(3)知識(shí)技能欠缺需求開(kāi)發(fā)的主要困難與對(duì)策(4)雙方誤解需求問(wèn)題:人們?cè)诮涣鞯臅r(shí)候,經(jīng)常會(huì)發(fā)生問(wèn)非所求、答非所問(wèn)的事情。有時(shí)用戶會(huì)把開(kāi)發(fā)人員的建議或答復(fù)想歪了,而用戶表達(dá)的需求,不同的開(kāi)發(fā)人員可能有不同的理解。策略:如果需求分析員誤解了需求,那會(huì)導(dǎo)致后續(xù)的開(kāi)發(fā)人員將錯(cuò)就錯(cuò)、白忙活。不論是復(fù)雜的項(xiàng)目還是簡(jiǎn)單的項(xiàng)目,需求分析員和用戶都有可能誤解需求,所以應(yīng)當(dāng)做好需求確認(rèn)工作。需求開(kāi)發(fā)的主要困難與對(duì)策(4)雙方誤解需求需求開(kāi)發(fā)的主要困難與對(duì)策(5)開(kāi)發(fā)人員寫不好需求文檔問(wèn)題:需求調(diào)查工作不充分,獲取的需求信息太少或者太亂,以至于寫不成需求文檔?;蛘唛_(kāi)發(fā)人員的寫作能力比較差,雖然在調(diào)查過(guò)程中已經(jīng)獲得了不少需求信息,卻寫不出好的需求文檔來(lái)。策略:把需求調(diào)查工作做好,提高開(kāi)發(fā)人員的寫作能力,多練習(xí)寫文檔。另外,企業(yè)提供合適的文檔模板以及比較好的示例文檔,也可有效降低寫作難度。需求開(kāi)發(fā)的主要困難與對(duì)策(5)開(kāi)發(fā)人員寫不好需求文檔需求開(kāi)發(fā)的主要困難與對(duì)策(6)用戶需求變更頻繁問(wèn)題:在項(xiàng)目開(kāi)發(fā)的初始階段,開(kāi)發(fā)人員和用戶沒(méi)有搞清楚需求或者搞錯(cuò)了需求,到了項(xiàng)目開(kāi)發(fā)后期才將需求糾正過(guò)來(lái),導(dǎo)致產(chǎn)品的部分內(nèi)容需要重新開(kāi)發(fā)?;蛘哂捎谑袌?chǎng)變化而導(dǎo)致產(chǎn)品需求發(fā)生變更。策略:做好需求變更控制。需求變更通常會(huì)對(duì)項(xiàng)目的進(jìn)度、人力資源、經(jīng)費(fèi)產(chǎn)生很大的影響。需求變更并不可怕,可怕的是需求變更失去控制,導(dǎo)致項(xiàng)目混亂。需求開(kāi)發(fā)的主要困難與對(duì)策(6)用戶需求變更頻繁需求開(kāi)發(fā)的主要困難與對(duì)策(7)合作關(guān)系問(wèn)題:需求分析員不能與用戶建立良好的合作關(guān)系。對(duì)于一些競(jìng)標(biāo)項(xiàng)目,在合同未簽訂之前的需求開(kāi)發(fā)工作尤為困難。用戶未必會(huì)買你的產(chǎn)品,他不會(huì)投入很多精力來(lái)協(xié)助你。策略:出色的需求分析員不僅要有過(guò)硬的專業(yè)知識(shí),還要具備較強(qiáng)的交流和溝通能力。對(duì)于重大復(fù)雜的項(xiàng)目,不能完全期望雙方能夠自發(fā)地建立起良好地合作關(guān)系。要使用戶明白需求的重要性以及忽視需求的危害性,從而促使他們積極友善地參加需求工程中的各項(xiàng)活動(dòng)。需求開(kāi)發(fā)的主要困難與對(duì)策(7)合作關(guān)系需求分析員應(yīng)備能力行業(yè)知識(shí)熟悉相關(guān)行業(yè)和領(lǐng)域的知識(shí)及產(chǎn)品。溝通能力善于雙向交流,知道如何有效傾聽(tīng)和表達(dá)。分析能力能夠以不同的角度和方式思考問(wèn)題。組織能力需要處理獲取和分析過(guò)程中收集到的大量雜亂的信息。寫作能力需求開(kāi)發(fā)的最終產(chǎn)物是需求規(guī)格說(shuō)明文檔。專業(yè)技術(shù)需要掌握如數(shù)據(jù)流圖、用例圖、實(shí)體關(guān)系圖等建模分析工具。提問(wèn)技巧很多需求是通過(guò)面談和討論得到。觀察能力能夠從不經(jīng)意的閑談或觀察中發(fā)現(xiàn)重要信息。需求分析員應(yīng)備能力行業(yè)知識(shí)熟悉相關(guān)行業(yè)和領(lǐng)域的知識(shí)及產(chǎn)品。溝2軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證2軟件需求開(kāi)發(fā)2.1需求獲取需求獲取
需求獲取就是進(jìn)行需求收集的一個(gè)過(guò)程或者活動(dòng)。它從人員、資料和環(huán)境中得到系統(tǒng)開(kāi)發(fā)所需要的相關(guān)信息。我將從以下幾個(gè)方面來(lái)講述。需求常見(jiàn)來(lái)源需求獲取內(nèi)容需求獲取常用方法需求獲取常見(jiàn)困難需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需求獲取就是進(jìn)行需求收集的一個(gè)過(guò)程或者活動(dòng)。需求常見(jiàn)來(lái)源用戶提交的需求文檔。與用戶進(jìn)行探討?,F(xiàn)有系統(tǒng)的問(wèn)題報(bào)告和改進(jìn)要求。觀察或體驗(yàn)用戶工作。市場(chǎng)調(diào)查和用戶問(wèn)卷調(diào)查。對(duì)同類產(chǎn)品或競(jìng)品進(jìn)行分析。對(duì)用戶的工作情景進(jìn)行分析。行業(yè)專家的建議需求常見(jiàn)來(lái)源用戶提交的需求文檔。需求獲取的內(nèi)容明確業(yè)務(wù)需求明確項(xiàng)目范圍明確業(yè)務(wù)流程和業(yè)務(wù)規(guī)則明確數(shù)據(jù)定義明確軟件功能明確質(zhì)量屬性明確系統(tǒng)接口明確設(shè)計(jì)和實(shí)現(xiàn)約束需求獲取的內(nèi)容明確業(yè)務(wù)需求需求獲取常用方法
需求獲取方法很多。每種方法有其各自優(yōu)缺點(diǎn),適用于不同的場(chǎng)合。需求獲取人員需要了解各種方法的使用場(chǎng)景及優(yōu)缺點(diǎn),以便在不同的場(chǎng)合采取不同的方法開(kāi)展需求獲取工作。1、用戶訪談2、原型法3、觀察法4、文檔分析5、需求專題討論6、用戶問(wèn)卷調(diào)查需求獲取常用方法需求獲取方法很多。每種方法有其各自優(yōu)用戶訪談?dòng)脩粼L談是實(shí)踐當(dāng)中應(yīng)用最為廣泛的需求獲取方法之一。優(yōu)點(diǎn):簡(jiǎn)單、直接、形式靈活、交流比較深入。缺點(diǎn):占用時(shí)間長(zhǎng),信息存在片面性。應(yīng)用場(chǎng)景:用戶訪談在所有的需求獲取中都被開(kāi)發(fā)者廣泛使用,需要注意的是訪談的目標(biāo)和話題根據(jù)用戶的不同而有所側(cè)重。用戶訪談?dòng)脩粼L談是實(shí)踐當(dāng)中應(yīng)用最為廣泛的需求獲取方法之一。用戶訪談---話題類型(1)開(kāi)放式話題封閉式話題被會(huì)見(jiàn)者對(duì)答復(fù)的選擇是開(kāi)放和不受限制的,他們可能答復(fù)兩個(gè)詞,也可能答復(fù)兩段話。在希望得到豐富,具有一定深度和廣度的信息時(shí),開(kāi)放式問(wèn)題比較合適。答案有基本的形式,被會(huì)見(jiàn)者的回答是受到限制的,如選擇題、判斷題等。例如:1、你對(duì)屌絲一詞有什么看法?例如:1、呼叫中心一月平均接到多少個(gè)電話?2、下列哪個(gè)信息對(duì)你最有用?用戶訪談---話題類型(1)開(kāi)放式話題封閉式話題被會(huì)見(jiàn)者對(duì)答用戶訪談---話題類型(2)開(kāi)放式話題封閉式話題優(yōu)點(diǎn)被會(huì)談?wù)吒杏X(jué)更自在和感興趣;可獲得豐富的細(xì)節(jié);允許更多的自發(fā)性;可以收集被會(huì)談?wù)呤褂玫脑~匯;對(duì)沒(méi)采用的進(jìn)一步的提問(wèn)有啟迪作用;可以在沒(méi)有太多準(zhǔn)備的情況下進(jìn)行;節(jié)省時(shí)間;切中要點(diǎn);保持對(duì)面談的控制;快速探討大范圍問(wèn)題;得到貼切的數(shù)據(jù);缺點(diǎn)可能產(chǎn)生太多不相干的細(xì)節(jié);面談可能失控;會(huì)花費(fèi)大量時(shí)間才能獲得有用的信息量;可能使會(huì)談?wù)呖瓷先](méi)有準(zhǔn)備;會(huì)談?wù)弑容^厭煩;得不到豐富的細(xì)節(jié);不利于建立友好關(guān)系;用戶訪談---話題類型(2)開(kāi)放式話題封閉式話題優(yōu)點(diǎn)被會(huì)談?wù)哂脩粼L談---話題類型(3)開(kāi)放式話題對(duì)比項(xiàng)封閉式話題低數(shù)據(jù)的可靠性高低使用的時(shí)間效率高低數(shù)據(jù)的精度高廣數(shù)據(jù)的廣度和深度窄多需要的面談技能少難分析的難易度易用戶訪談---話題類型(3)開(kāi)放式話題對(duì)比項(xiàng)封閉式話題低數(shù)據(jù)用戶訪談---時(shí)間安排階段任務(wù)占用時(shí)間備注開(kāi)場(chǎng)白陳述預(yù)先對(duì)問(wèn)題的考慮和理解5-15分鐘聚焦本次訪談的話題,明確訪談的范圍和層次預(yù)先計(jì)劃問(wèn)題尋找問(wèn)題的答案25-30分鐘主體工作,關(guān)鍵部分即興問(wèn)題擴(kuò)大需求信息量20-30分鐘注意導(dǎo)向,不要跑題太遠(yuǎn)總結(jié)總結(jié)訪談內(nèi)容5-10分鐘訪談?wù)呦虮辉L談?wù)邚?fù)述主要問(wèn)題的答案用戶訪談盡量選擇相對(duì)封閉的環(huán)境,一次訪談的時(shí)間一般不要超過(guò)1小時(shí)。下面是很多書籍中提供的一個(gè)參考時(shí)間安排。用戶訪談---時(shí)間安排階段任務(wù)占用時(shí)間備注開(kāi)場(chǎng)白陳述預(yù)先對(duì)問(wèn)用戶訪談---記錄工作用戶訪談期間將會(huì)產(chǎn)生大量的信息,免不了記錄的工作。下面是很多經(jīng)典的案例為我們提供了可參考的記錄方式。記錄方式優(yōu)點(diǎn)缺點(diǎn)建議自己做筆記直接、簡(jiǎn)單、靈活容易走神記重點(diǎn)要點(diǎn),并確認(rèn)專人做筆記精力集中在訪談上容易產(chǎn)生記錄偏差訪談結(jié)束時(shí)讓記錄人員向雙方做簡(jiǎn)要陳述錄音免受記錄工作影響信息易失真記錄大綱和關(guān)鍵信息錄像免受記錄工作影響難以操作用戶訪談---記錄工作用戶訪談期間將會(huì)產(chǎn)生大量的信息,免不了用戶訪談---溝通技巧多數(shù)情況下,應(yīng)該事先制作訪談問(wèn)卷發(fā)給被訪談?wù)?,羅列出要問(wèn)的主要問(wèn)題。被訪談?wù)呤虑坝羞@樣的問(wèn)卷,他有可能進(jìn)行一些思考,不至于會(huì)談時(shí)無(wú)話可談或者無(wú)話不談。把握訪談方向,在整個(gè)訪談過(guò)程中,信息應(yīng)該是從被訪談?wù)吡飨蛟L談?wù)?,而不是相反。有資料認(rèn)為,被訪談?wù)吲c訪談?wù)哒f(shuō)話時(shí)間的比例應(yīng)該是2:1。不要問(wèn)過(guò)長(zhǎng)的問(wèn)題,較長(zhǎng)的問(wèn)題應(yīng)該將其拆分,采用遞進(jìn)的方法逐個(gè)解決。用戶訪談---溝通技巧多數(shù)情況下,應(yīng)該事先制作訪談問(wèn)卷發(fā)給被用戶訪談---提問(wèn)順序訪談提問(wèn)的順序應(yīng)該按業(yè)務(wù)邏輯組織。面對(duì)每一組問(wèn)題,注意借鑒歸納和演繹方式。金字塔結(jié)構(gòu)(歸納:特定問(wèn)題開(kāi)始,通用問(wèn)題結(jié)束)被會(huì)見(jiàn)者需要對(duì)話題進(jìn)行預(yù)熱,通過(guò)逐步引導(dǎo)使被會(huì)見(jiàn)者打開(kāi)話匣子。會(huì)見(jiàn)者發(fā)現(xiàn)自己事先對(duì)事實(shí)的確認(rèn)存在較大偏差。會(huì)見(jiàn)者看上去不情愿討論這個(gè)話題。漏斗結(jié)構(gòu)(演繹:通用問(wèn)題開(kāi)始,特定問(wèn)題結(jié)束)漏斗結(jié)構(gòu)為開(kāi)始一場(chǎng)面談提供了一種容易而輕松的途徑。被會(huì)見(jiàn)者對(duì)這個(gè)話題有情緒,并且需要自由表達(dá)這些情緒的時(shí)候。會(huì)見(jiàn)者事先對(duì)事實(shí)了解不多時(shí)。用這種方式組織面談能得出很多的詳細(xì)信息菱形結(jié)構(gòu)(歸納—演繹-歸納:特定問(wèn)題開(kāi)始,轉(zhuǎn)向通用問(wèn)題,特定問(wèn)題結(jié)束)使用菱形結(jié)構(gòu)的主要優(yōu)點(diǎn)是通過(guò)各種各樣的問(wèn)題保持被會(huì)見(jiàn)者的興趣和注意力。一旦掌握了如何在正確的時(shí)間問(wèn)正確的問(wèn)題,就可以多樣地選擇問(wèn)題的順序。用戶訪談---提問(wèn)順序訪談提問(wèn)的順序應(yīng)該按業(yè)務(wù)邏輯組織。面對(duì)用戶訪談---計(jì)劃安排在用戶訪談前,要有精心的計(jì)劃安排,根據(jù)需求獲取所處的階段確定訪談的時(shí)間、人員和主題等,將訪談內(nèi)容事前告知被訪談人,避免訪談效率低下。針對(duì)不同的訪談人,要采用不同的方式和要點(diǎn)。訪談主題訪談要點(diǎn)期望部門訪談人訪談時(shí)間備注用簡(jiǎn)短的話概述提取關(guān)鍵點(diǎn)指定理想的訪談對(duì)象用戶方聯(lián)絡(luò)人指定用戶方聯(lián)絡(luò)人指定用戶訪談?dòng)?jì)劃安排模板用戶訪談---計(jì)劃安排在用戶訪談前,要有精心的計(jì)劃安排,根據(jù)用戶訪談---過(guò)程小結(jié)準(zhǔn)備訪談閱讀背景資料,確定面談主題、目標(biāo)、問(wèn)題和被會(huì)見(jiàn)者。注意記得和被會(huì)見(jiàn)者聯(lián)系并確認(rèn)面談的安排,不要遲到,著裝正式。主持訪談開(kāi)始盡量建立一個(gè)理想的氛圍和環(huán)境來(lái)促進(jìn)會(huì)見(jiàn)者和被會(huì)見(jiàn)者之間的交流和溝通。1、簡(jiǎn)要重申面談的目標(biāo)。2、用一些非常一般的、輕松的、開(kāi)放式的問(wèn)題作為開(kāi)始。3、準(zhǔn)備好筆記本、錄音機(jī)或者其他記錄設(shè)備,并禮貌地詢問(wèn)相關(guān)人員是否可以錄音或者錄像。過(guò)程中通過(guò)提問(wèn)和傾聽(tīng)來(lái)完成和被會(huì)見(jiàn)者的信息交流,按照計(jì)劃控制面談的進(jìn)行,必要時(shí)進(jìn)行適當(dāng)?shù)恼{(diào)整。1、保持有禮貌的傾聽(tīng)。2、保持面談主題、控制面談過(guò)程。3、觀察被會(huì)見(jiàn)者。結(jié)束時(shí)要表示感謝并回答被會(huì)見(jiàn)者提出的問(wèn)題,保持與被會(huì)見(jiàn)者的親善和信任關(guān)系。1、面談應(yīng)該在1小時(shí)內(nèi)結(jié)束,并非要在提出所有關(guān)心的問(wèn)題后才能結(jié)束面談。2、總結(jié)談話的要點(diǎn)。3、感謝被會(huì)見(jiàn)者,并且給時(shí)間讓他們?cè)儐?wèn)一些他們自己關(guān)心的問(wèn)題。處理訪談結(jié)果復(fù)查面談?dòng)涗?,總結(jié)面談信息,整理出內(nèi)容要點(diǎn),進(jìn)行分類,整理成文檔。用戶訪談---過(guò)程小結(jié)準(zhǔn)備訪談原型法---為什么要建立原型原型作為一種需求工具,可明確并完善需求。原型作為一種設(shè)計(jì)工具,可用它優(yōu)化系統(tǒng)易用性,評(píng)估可能的技術(shù)方案。原型作為一種構(gòu)造工具,是產(chǎn)品最初的功能實(shí)現(xiàn),可發(fā)展為最終產(chǎn)品。使用原型,發(fā)現(xiàn)并解決需求中的二義性、不完整性和不確定性問(wèn)題。直觀的原型,更易于理解,能更具體地思考問(wèn)題。構(gòu)建原型的目標(biāo)是降低項(xiàng)目風(fēng)險(xiǎn)。原型法---為什么要建立原型原型作為一種需求工具,可明確并完原型法---為什么要建立原型軟件開(kāi)發(fā)早期,有時(shí)很難定義出確切的軟件需求,提供詳細(xì)的需求規(guī)格說(shuō)明書。軟件系統(tǒng)的很多具體細(xì)節(jié)往往是隨著軟件系統(tǒng)的建立而逐步明確的。這樣,在需求分析階段,分析人員常常得花大量時(shí)間去捕捉一些非常模糊的想法,并花大量時(shí)間以這種模糊的認(rèn)識(shí)為基礎(chǔ)去編寫包括很多細(xì)節(jié)內(nèi)容的需求規(guī)格說(shuō)明書,因而需求規(guī)格說(shuō)明書的一致性、準(zhǔn)確性、正確性、有效性很難保證。常規(guī)的軟件開(kāi)發(fā)各階段相互傳遞信息的唯一工具是文檔。
雖然文檔內(nèi)有很多形象的描述方法,如各種圖表等,但它們畢竟是實(shí)際系統(tǒng)的抽象。即使在軟件開(kāi)發(fā)早期作出了明確的需求分析,其后每一個(gè)階段的開(kāi)發(fā)人員都不得不再花大量時(shí)間,在一定程度上,通過(guò)閱讀文檔重溫前一階段系統(tǒng)人員的工作。同時(shí),由于這些階段的系統(tǒng)人員一般不和客戶作直接交流,因而,可能出現(xiàn)的情況是,需求分析中已經(jīng)得到正確說(shuō)明的問(wèn)題,經(jīng)過(guò)這些階段中不同的系統(tǒng)人員的各種理解和加工后,在繼續(xù)傳遞的過(guò)程中發(fā)生。在系統(tǒng)人員和客戶面前,不存在一個(gè)實(shí)實(shí)在在的事物。
這個(gè)實(shí)體可以充分表達(dá)系統(tǒng)人員對(duì)問(wèn)題空間有關(guān)概念的理解程度和對(duì)目標(biāo)系統(tǒng)的初步考慮,客戶也可通過(guò)這個(gè)實(shí)體,闡明其對(duì)目標(biāo)系統(tǒng)的要求和系統(tǒng)人員當(dāng)前的一些理解錯(cuò)誤?;谶@些問(wèn)題,信息系統(tǒng)開(kāi)發(fā)需要更為實(shí)用的方法指導(dǎo)開(kāi)發(fā)過(guò)程。原型法即是適應(yīng)這種需要產(chǎn)生的一種信息系統(tǒng)開(kāi)發(fā)方法。原型法---為什么要建立原型軟件開(kāi)發(fā)早期,有時(shí)很難定義出確切原型法---好處原型可以激活用戶的思維,并促進(jìn)需求對(duì)話。原型的早期反饋有助于涉眾對(duì)系統(tǒng)需求理解達(dá)成共識(shí)。增加開(kāi)發(fā)者之間的交流,幫助確定技術(shù)解決方案的可行性。有效的識(shí)別風(fēng)險(xiǎn)和解決風(fēng)險(xiǎn),幫助進(jìn)行風(fēng)險(xiǎn)管理。提高用戶在軟件開(kāi)發(fā)中的參與程度。幫助需求工程師及早解決需求的不確定性。原型法---好處原型可以激活用戶的思維,并促進(jìn)需求對(duì)話。原型法---類別按照構(gòu)建技術(shù)分類水平原型方法:僅實(shí)現(xiàn)選定功能所有層次中的某些特定層次。垂直原型方法:實(shí)現(xiàn)選定功能的所有層次。按照使用方式分類演示原型:主要用在啟動(dòng)項(xiàng)目階段,讓用戶相信系統(tǒng)的開(kāi)發(fā)是可行的。一般原型:主要用在分析需求階段,用來(lái)闡明用戶界面或者系統(tǒng)功能。試驗(yàn)原型:主要用在構(gòu)建系統(tǒng)階段,幫助開(kāi)發(fā)者澄清構(gòu)建相關(guān)技術(shù)問(wèn)題。按照開(kāi)發(fā)方式分類拋棄式原型:用最快速度,花最小代價(jià),適用于不確定的需求。演化式原型:質(zhì)量要求高,要易于擴(kuò)展和改進(jìn),適用于清晰的需求。按照使用介質(zhì)分類書面原型:也稱低保真原型,是一種成本低、速度快且不涉及高深技術(shù)的方法。程序或工具原型:使用編程語(yǔ)言或?qū)I(yè)工具創(chuàng)建。
原型法---類別按照構(gòu)建技術(shù)分類原型法---風(fēng)險(xiǎn)用戶看到了一個(gè)正在運(yùn)行的原型,得出產(chǎn)品幾乎已經(jīng)完成的結(jié)論,從而提出快速交付產(chǎn)品的不當(dāng)要求。原型開(kāi)發(fā)投入太多的工作,使得開(kāi)發(fā)團(tuán)隊(duì)消耗了過(guò)多的時(shí)間和成本。原型法---風(fēng)險(xiǎn)用戶看到了一個(gè)正在運(yùn)行的原型,得出產(chǎn)品幾乎已原型法---創(chuàng)建原型遵循原則應(yīng)該在項(xiàng)目計(jì)劃中包括創(chuàng)建原型的任務(wù)。廢棄型原型要盡量快速而經(jīng)濟(jì),其中不應(yīng)包括輸入數(shù)據(jù)有效性檢查、用于錯(cuò)誤處理的代碼或代碼注釋文檔。對(duì)于已經(jīng)理解的需求不要建立原型,除非是要研究設(shè)計(jì)方案。在原型屏幕顯示和報(bào)告中使用看似真實(shí)的數(shù)據(jù)。不要期望用原型完全代替軟件需求規(guī)格說(shuō)明。原型法---創(chuàng)建原型遵循原則應(yīng)該在項(xiàng)目計(jì)劃中包括創(chuàng)建原型的任用戶問(wèn)卷調(diào)查用戶調(diào)查在市場(chǎng)調(diào)查領(lǐng)域應(yīng)用非常廣泛。優(yōu)點(diǎn):調(diào)查面比較寬,用戶反饋多。缺點(diǎn):不易深入。適用場(chǎng)景:所以當(dāng)片面性矛盾比較突出時(shí)就可以采用用戶調(diào)查的方式。比如存在大樣本用戶或存在跨地域的用戶時(shí)。有時(shí)可以將用戶訪談和用戶調(diào)查結(jié)合使用。先調(diào)查后訪談:從問(wèn)卷調(diào)查的結(jié)果中整理出一個(gè)關(guān)鍵點(diǎn),然后選取一些用戶代表進(jìn)行有針對(duì)性的訪談。先訪談后調(diào)查:選取一些典型的用戶,然后對(duì)訪談的結(jié)果進(jìn)行整理。在這些基礎(chǔ)上設(shè)計(jì)調(diào)查問(wèn)卷。通過(guò)調(diào)查來(lái)驗(yàn)證用戶訪談的結(jié)果是否具有普遍性。用戶問(wèn)卷調(diào)查用戶調(diào)查在市場(chǎng)調(diào)查領(lǐng)域應(yīng)用非常廣泛。用戶問(wèn)卷調(diào)查---調(diào)查問(wèn)卷設(shè)計(jì)要點(diǎn)1、注意問(wèn)題篇幅和布局通常認(rèn)為問(wèn)卷不要讓用戶在回答時(shí)花太多的時(shí)間,一般不超過(guò)20分鐘。換句話說(shuō),就是量不要超過(guò)3頁(yè)。問(wèn)題排列應(yīng)該先易后難。另外,要有邏輯相關(guān)性的考慮。跳躍太大的問(wèn)卷,往往會(huì)干擾答卷人的思路。從而降低了答卷的質(zhì)量。2、注意問(wèn)題類型的選擇盡量選擇開(kāi)放性(簡(jiǎn)答題)或半封閉(多選題)的題型,少用封閉性題型(判斷題)。研究表明,從信息收集的有效性來(lái)說(shuō),開(kāi)放性問(wèn)題效果最好。半封閉型問(wèn)題次之,封閉型問(wèn)題最差。用戶問(wèn)卷調(diào)查---調(diào)查問(wèn)卷設(shè)計(jì)要點(diǎn)1、注意問(wèn)題篇幅和布局文檔分析法
文檔分析是專門針對(duì)文檔進(jìn)行需求獲取的活動(dòng)。其主要獲取對(duì)象包括相關(guān)產(chǎn)品的需求說(shuō)明書、客戶需求文檔、相關(guān)數(shù)據(jù)及流程說(shuō)明等。
其主要優(yōu)點(diǎn)是能夠詳細(xì)、直觀地對(duì)數(shù)據(jù)流細(xì)節(jié)進(jìn)行了解和分析。缺點(diǎn)也比較明顯,企業(yè)機(jī)構(gòu)中,文檔量通常非常大,由此容易使需求獲取人員陷入文山書海中不能自拔,甚至引起誤導(dǎo)。文檔分析通常配合用戶訪談或者用戶調(diào)查期間開(kāi)展。采用此策略的的目的是因?yàn)橛脩粼L談或者用戶調(diào)查難以獲得數(shù)據(jù)方面的詳細(xì)需求,你不能指望被訪談?wù)呋蛘弑徽{(diào)查者能夠記住相關(guān)數(shù)據(jù)細(xì)節(jié)。
文檔分析是研究、分析、細(xì)化數(shù)據(jù)的重要手段。文檔分析法文檔分析是專門針對(duì)文檔進(jìn)行需求獲取的活動(dòng)。觀察法如果:用戶說(shuō)的和做的一致嗎?用戶難以描述他們是如何做的?用戶描述的業(yè)務(wù)流程會(huì)否因?yàn)槟承┰蜻z漏掉重要的信息?那么:看他們是怎么工作的。需求分析人員參與到他們的具體工作中,觀察或體驗(yàn)業(yè)務(wù)操作過(guò)程及物理環(huán)境,根據(jù)實(shí)際的情況提問(wèn)并記錄,記錄業(yè)務(wù)員操作過(guò)程及碰到的難題。觀察法對(duì)于理解業(yè)務(wù)流程和獲取真實(shí)的材料非常有效。觀察法如果:小組討論法小組討論是指將與項(xiàng)目某個(gè)問(wèn)題相關(guān)的人員聚集在一起開(kāi)會(huì)討論。優(yōu)勢(shì)是容易在內(nèi)部取得對(duì)方案的認(rèn)同,有利于項(xiàng)目的開(kāi)展,在討論會(huì)上每個(gè)相關(guān)人員都可發(fā)表自己的意見(jiàn),保證了獲取信息的全面性。先確定好議題、內(nèi)容、主講人、參會(huì)人員、會(huì)議室、開(kāi)會(huì)時(shí)間。事先將相關(guān)資料送達(dá)參與人員,讓參與人員開(kāi)會(huì)前先了解會(huì)議的整體背景和需討論的問(wèn)題,有利于會(huì)議的順利開(kāi)展。保證每個(gè)人都有發(fā)言時(shí)間,注意控制會(huì)議時(shí)間。會(huì)后將會(huì)議紀(jì)要發(fā)送給參會(huì)人員,取得對(duì)結(jié)果的認(rèn)同。小組討論法小組討論是指將與項(xiàng)目某個(gè)問(wèn)題相關(guān)的人員聚集需求獲取常見(jiàn)困難用戶沒(méi)時(shí)間或不愿花太多時(shí)間與開(kāi)發(fā)人員進(jìn)行交流或討論。開(kāi)發(fā)人員缺乏用戶的業(yè)務(wù)常識(shí),雙方交流困難。用戶與開(kāi)發(fā)人員的背景不同、立場(chǎng)不同。普通用戶缺乏概括性、綜合性的表述能力。沒(méi)有明確的用戶。需求獲取常見(jiàn)困難用戶沒(méi)時(shí)間或不愿花太多時(shí)間與開(kāi)發(fā)人員進(jìn)行交流需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需要主動(dòng)“獲取”是一個(gè)主動(dòng)性詞匯,強(qiáng)調(diào)需求分析人員在整個(gè)過(guò)程中應(yīng)該充分發(fā)揮主動(dòng)性。主動(dòng)表現(xiàn)為有計(jì)劃性,針對(duì)不同的用戶層次選擇不同的方法。了解相關(guān)業(yè)務(wù)知識(shí)對(duì)業(yè)務(wù)系統(tǒng)的知識(shí)理解,是需求獲取的基礎(chǔ)。缺乏這一點(diǎn),將無(wú)從著手或沒(méi)有章法,難以發(fā)揮技巧的作用。捕獲用戶的隱性需求滿足用戶的顯性需求是底線,隱性需求是培養(yǎng)用戶忠誠(chéng)度的最好武器,但隱形需求的度要把握好,并不是所有的需求都是受歡迎的。需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需要主動(dòng)需求獲取實(shí)踐經(jīng)驗(yàn)不要奢望一次將用戶需求獲取一般情況,不要指望一次或幾次需求碰頭會(huì)就會(huì)將用戶需求全部獲取。實(shí)際情況是前幾次用戶提出的問(wèn)題比較少,后面越來(lái)越多,你會(huì)受不了。理解業(yè)務(wù)場(chǎng)景非常重要用戶對(duì)需求的理解主要還是從自身的業(yè)務(wù)出發(fā),他們能夠提出的需求是基本需求,若僅停留在這一點(diǎn)上,會(huì)給系統(tǒng)開(kāi)發(fā)帶來(lái)許多問(wèn)題。如能深入用戶的工作實(shí)際環(huán)境,感受實(shí)際場(chǎng)景,能大大減少需求變更的可能。需求獲取實(shí)踐經(jīng)驗(yàn)不要奢望一次將用戶需求獲取需求獲取實(shí)踐經(jīng)驗(yàn)需求往往需要協(xié)商不同業(yè)務(wù)層面(甚至相同業(yè)務(wù)層面)的用戶對(duì)同樣的概念或流程存在理解差異時(shí),在需求整理時(shí)應(yīng)將這些差異明確標(biāo)識(shí)出來(lái),并展示給用戶的高層領(lǐng)導(dǎo),由他們決定如何消除這些差異,并將這些情況記錄。學(xué)會(huì)復(fù)述在用戶闡述了需求之后,用自己的語(yǔ)言再?gòu)?fù)述一遍,以確保溝通沒(méi)有失真。多問(wèn)幾個(gè)為什么多問(wèn)用戶幾個(gè)為什么,找到問(wèn)答題的本質(zhì),理解用戶的真實(shí)意圖和深層目標(biāo)。需求獲取實(shí)踐經(jīng)驗(yàn)需求往往需要協(xié)商2軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證2軟件需求開(kāi)發(fā)2.1需求獲取需求分析目標(biāo)(1)需求分析的目標(biāo)是對(duì)獲取的需求進(jìn)行分解、抽象,在此過(guò)程中消除需求矛盾、建立分析模型、創(chuàng)建解決方案,準(zhǔn)確地回答系統(tǒng)必須做什么。需求分析的目標(biāo)問(wèn)題域描述整個(gè)領(lǐng)域現(xiàn)狀是這樣運(yùn)作的現(xiàn)實(shí)世界規(guī)格說(shuō)明要構(gòu)建的系統(tǒng)是這樣運(yùn)作的計(jì)算世界需求用戶希望事情能這樣子運(yùn)作問(wèn)題域解系統(tǒng)需求分析目標(biāo)(1)需求分析的目標(biāo)是對(duì)獲取的需求進(jìn)行分解、抽象需求分析目標(biāo)(2)(1)分解分解是認(rèn)識(shí)和解決復(fù)雜性事務(wù)的基本策略。將問(wèn)題不斷分解為較小的問(wèn)題,直到每個(gè)最低層的問(wèn)題都足夠簡(jiǎn)單。無(wú)論采用何種分析法,分解都是必須采用的手段。分解策略說(shuō)明業(yè)務(wù)流程為主線是目前比較流行的方法,主要按照業(yè)務(wù)的角度考慮分解方法。此方法特別適合管理信息系統(tǒng)(MIS)、聯(lián)機(jī)事務(wù)處理系統(tǒng)。分解:目標(biāo)系統(tǒng)主題域業(yè)務(wù)事件業(yè)務(wù)活動(dòng)業(yè)務(wù)步驟。程序結(jié)構(gòu)為主線是需求分析最常用的分解方法。適合于問(wèn)題域比較清晰,問(wèn)題不算復(fù)雜的情況。分解:目標(biāo)系統(tǒng)子系統(tǒng)功能模塊子模塊功能點(diǎn)?;跀?shù)據(jù)適合數(shù)據(jù)倉(cāng)庫(kù)之類的項(xiàng)目。分解:目標(biāo)系統(tǒng)主題域主題類邏輯數(shù)據(jù)物理數(shù)據(jù)?;趫?chǎng)景對(duì)于決策支持系統(tǒng)、面向用戶的嵌入式系統(tǒng)分解:目標(biāo)系統(tǒng)關(guān)注點(diǎn)場(chǎng)景集合使用場(chǎng)景任務(wù)。需求分析目標(biāo)(2)(1)分解分解策略說(shuō)明業(yè)務(wù)流程為主線是目前需求分析目標(biāo)(3)(2)抽象分解是一種自頂向下的方法,當(dāng)按照任何一種線索進(jìn)行分解時(shí)。就會(huì)破壞其它線索的完整性。例如,如果以業(yè)務(wù)為線索,就會(huì)發(fā)現(xiàn)數(shù)據(jù)需求分解后會(huì)出現(xiàn)相互交疊的情況,也就是在多個(gè)業(yè)務(wù)事件中都涉及相同的類。此種情況出現(xiàn)時(shí),可能會(huì)影響需求分析人員建立全面的理解,因此需要采用自底向上的方法進(jìn)行抽象和提煉。例如將每個(gè)業(yè)務(wù)事件中的類進(jìn)行抽象,抽取出共性的部分,建立針對(duì)整個(gè)系統(tǒng)的全局領(lǐng)域模型。需求分析目標(biāo)(3)(2)抽象需求分析目標(biāo)(4)(3)消除矛盾在分析過(guò)程中,顯然可能會(huì)發(fā)現(xiàn)有些需求是相互矛盾的、沖突的,由于是將收集的信息放在一個(gè)預(yù)先定義的結(jié)構(gòu)中發(fā)現(xiàn)這些矛盾的,因此對(duì)矛盾的影響范圍會(huì)有直觀的了解,也能夠知道它影響那些層面。尋找相應(yīng)的人員,通過(guò)進(jìn)一步需求獲取來(lái)消除矛盾。(4)建立分析模型通過(guò)軟件建模,幫助我們按照實(shí)際情況或按照我們需要的模式對(duì)系統(tǒng)進(jìn)行可視化,提供一種詳細(xì)說(shuō)明系統(tǒng)的結(jié)構(gòu)或者行為的方法,給出一個(gè)指導(dǎo)系統(tǒng)構(gòu)造的模板。對(duì)所有做出的決定實(shí)施文檔化。需求分析目標(biāo)(4)(3)消除矛盾(4)建立分析模型需求分析方法(1)1、結(jié)構(gòu)化分析方法(SA):采用自頂向下、逐層分解的分析方法來(lái)定義系統(tǒng)的需求。以數(shù)據(jù)和功能為中心。常用工具功能數(shù)據(jù)字典(DD)模型的核心,對(duì)數(shù)據(jù)流圖、實(shí)體關(guān)系圖、狀態(tài)變遷圖中的所有數(shù)據(jù)對(duì)象的描述。數(shù)據(jù)流圖(DFD)用于功能建模,描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它描述了將系統(tǒng)的邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理過(guò)程。實(shí)體關(guān)系圖(ERD)用于數(shù)據(jù)建模,描述數(shù)據(jù)的定義、結(jié)構(gòu)和關(guān)系。狀態(tài)變遷圖(STD)用于行為建模,描述系統(tǒng)接收哪些外部事件,以及在外部事件的作用下?tīng)顟B(tài)遷移情況。函數(shù)過(guò)程需求分析方法(1)1、結(jié)構(gòu)化分析方法(SA):采用自頂向下、需求分析方法(2)常用工具(UML)功能用例圖說(shuō)明角色和使用場(chǎng)景之間的關(guān)系,描述用戶與系統(tǒng)如何交互。類圖描述業(yè)務(wù)實(shí)體、實(shí)體特性以及實(shí)體之間的關(guān)系活動(dòng)圖說(shuō)明業(yè)務(wù)流程,以及業(yè)務(wù)活動(dòng)的步驟順序圖描述參與交互的對(duì)象及對(duì)象之間消息交換的順序。構(gòu)件圖描述構(gòu)件的結(jié)構(gòu)及他們之間的服務(wù)接口狀態(tài)圖描述事件如何改變對(duì)象生命周期2、面向?qū)ο蠓治龇椒ǎ∣OA):利用面向?qū)ο蟮母拍詈头椒檐浖枨蠼ㄔ炷P?。以?duì)象為中心。對(duì)象對(duì)象對(duì)象需求分析方法(2)常用工具(UML)功能用例圖說(shuō)明角色和使用需求分析方法(3)3、功能分解法:將系統(tǒng)看做若干功能模塊的集合,每個(gè)功能又可以分解為子功能,子功能還可繼續(xù)分解,分解的結(jié)果即是系統(tǒng)的雛形。常用建模工具功能功能分解圖在一個(gè)圖內(nèi)自上而下集中顯示系統(tǒng)的功能分解結(jié)構(gòu),更加直觀的展現(xiàn)大量過(guò)程之間的層次關(guān)系。需求分析方法(3)3、功能分解法:將系統(tǒng)看做若干功能模塊的集2軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證2軟件需求開(kāi)發(fā)2.1需求獲取需求規(guī)格說(shuō)明書概述
需求獲取收集了需求信息,需求分析深入理解了需求信息并建立了能夠滿足用戶需求的解決方案。需求規(guī)格說(shuō)明則是將需求獲取、需求分析的結(jié)果進(jìn)行文檔化的過(guò)程。在軟件開(kāi)發(fā)過(guò)程中,將分析的結(jié)果文檔化是不可或缺的任務(wù),也稱為編寫規(guī)約活動(dòng)。需求規(guī)格說(shuō)明書的完成(撰寫完成、驗(yàn)證完成)標(biāo)志著軟件需求階段告一段落。并將作為下一個(gè)階段設(shè)(計(jì)開(kāi)發(fā)階段)的輸入和重要依據(jù)。需求規(guī)格說(shuō)明書概述需求獲取收集了需求信息,需求分析深需求規(guī)格說(shuō)明書的作用需求規(guī)格說(shuō)明書文檔可以成為各方人員之間有關(guān)軟件系統(tǒng)的協(xié)議基準(zhǔn)。需求規(guī)格說(shuō)明書文檔可以成為項(xiàng)目開(kāi)發(fā)活動(dòng)的一個(gè)重要依據(jù)。它可以成為軟件估算和項(xiàng)目進(jìn)度安排的基礎(chǔ),也可以成為開(kāi)發(fā)人員判斷設(shè)計(jì)、測(cè)試等工作的進(jìn)行是否正確的依據(jù)。需求規(guī)格說(shuō)明書文檔可以成為有效的知識(shí)資產(chǎn)。該資產(chǎn)可以幫助新加入的團(tuán)隊(duì)成員快速融入項(xiàng)目,可以幫助更好地將軟件產(chǎn)品移交給新客戶,也可以幫助開(kāi)發(fā)者更好地進(jìn)行其他類似項(xiàng)目或者后續(xù)增強(qiáng)項(xiàng)目的開(kāi)發(fā)。需求規(guī)格說(shuō)明書的作用需求規(guī)格說(shuō)明書文檔可以成為各方人員之間有需求規(guī)格說(shuō)明活動(dòng)流圖需求規(guī)格說(shuō)明活動(dòng)流圖需求規(guī)格說(shuō)明書寫作風(fēng)格寫作風(fēng)格說(shuō)明自然語(yǔ)言使用結(jié)構(gòu)合理的自然語(yǔ)言來(lái)描述需求。優(yōu)點(diǎn):易于編寫和閱讀,不需要掌握特定的技巧。缺點(diǎn):不夠嚴(yán)謹(jǐn),歧義性強(qiáng),表達(dá)能力弱。圖形化模型在表述時(shí)能夠給讀者提供更強(qiáng)的視覺(jué)效果,同時(shí)能夠使問(wèn)題更加聚焦。優(yōu)點(diǎn):可視化、聚焦性、易于理解。缺點(diǎn):編寫和閱讀的人都需要能夠正確地理解模型。形式化描述對(duì)于邏輯性很強(qiáng),精度要求很高的場(chǎng)合,形式化描述是一種不錯(cuò)的選擇。優(yōu)點(diǎn):嚴(yán)謹(jǐn)、精確。缺點(diǎn):編寫和閱讀的人都會(huì)感到很困難。建議:以自然語(yǔ)言為主,輔以圖形化模型,需要的地方少量使用形式化規(guī)格描述。需求規(guī)格說(shuō)明書寫作風(fēng)格寫作風(fēng)格說(shuō)明自然語(yǔ)言使用結(jié)構(gòu)合理的自然需求規(guī)格說(shuō)明書的寫作
一般由項(xiàng)目經(jīng)理負(fù)責(zé)組織需求規(guī)格說(shuō)明書的寫作。SRS的寫作沒(méi)有放之四海而皆準(zhǔn)的標(biāo)準(zhǔn)。一般可以考慮按如下開(kāi)展。制定模板:按照項(xiàng)目的具體應(yīng)用環(huán)境、用戶情況、系統(tǒng)特點(diǎn)、公司通用模板構(gòu)建一個(gè)新模板(先制定一個(gè)模板,然后讓各方人員一起來(lái)討論完善)。寫作指南:當(dāng)需求規(guī)格說(shuō)明由多個(gè)人員共同完成時(shí)這是非常必要的,否則在合稿時(shí)將將會(huì)處于崩潰。因?yàn)槊總€(gè)人寫作的方式、文筆、對(duì)問(wèn)題的理解都存在差異。需求規(guī)格說(shuō)明書的寫作一般由項(xiàng)目經(jīng)理負(fù)責(zé)組織需求規(guī)格說(shuō)關(guān)于寫作指南對(duì)文檔大綱盡量細(xì)化(某某負(fù)責(zé)哪些部分的撰寫,在什么時(shí)候完成)。對(duì)文字、圖表、標(biāo)題等格式做出規(guī)約(例如不允許使用四級(jí)標(biāo)題等)。定義術(shù)語(yǔ)表,避免術(shù)語(yǔ)不一致、錯(cuò)誤術(shù)語(yǔ)、冗余術(shù)語(yǔ)、方言問(wèn)題。避免歧義詞匯,例如可接受的、不應(yīng)該、有效的、充分的、若干等。避免干擾文本,比如
“上一句話是指…”、這個(gè)、那個(gè)…..關(guān)于寫作指南對(duì)文檔大綱盡量細(xì)化(某某負(fù)責(zé)哪些部分的撰寫,在什優(yōu)秀需求規(guī)格說(shuō)明書的特性特性說(shuō)明正確性文檔內(nèi)的所有需求都具有正確性。無(wú)歧義文檔內(nèi)的所有需求都是無(wú)歧義的??沈?yàn)證文檔內(nèi)的所有需求都是可驗(yàn)證的。完備性描述了所有的需求,包括功能、性能、約束、質(zhì)量屬性、對(duì)外接口及待解決問(wèn)題。一致性不能同高層次的需求相沖突,同一層次的不同需求之間也不能互相沖突。優(yōu)先級(jí)根據(jù)重要性和穩(wěn)定性,建立需求的優(yōu)先級(jí)。可跟蹤可向前跟蹤、向后跟蹤。可修改它的結(jié)構(gòu)和風(fēng)格使得人們可以對(duì)其中任一需求進(jìn)行容易地、完整地、一致地修改,同時(shí)還不會(huì)影響文檔現(xiàn)有的結(jié)構(gòu)和風(fēng)格。這要求文檔有著條理分明并且易于使用的組織方式(不應(yīng)該采用技術(shù)為導(dǎo)向,應(yīng)該采用業(yè)務(wù)為導(dǎo)向來(lái)組織)。沒(méi)有重復(fù)冗余。獨(dú)立表達(dá)每個(gè)需求,而不是和其他需求混在一起。優(yōu)秀需求規(guī)格說(shuō)明書的特性特性說(shuō)明正確性文檔內(nèi)的所有需求都具有2軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證2軟件需求開(kāi)發(fā)2.1需求獲取需求驗(yàn)證需求驗(yàn)證是軟件需求開(kāi)發(fā)的最后一個(gè)環(huán)節(jié)。含義:1、以正確的方式建立了需求。2、建立的需求是正確的。目標(biāo):盡可能發(fā)現(xiàn)存在的錯(cuò)誤,以減少因?yàn)樾枨箦e(cuò)誤帶來(lái)后續(xù)的一系列問(wèn)題。主要手段:需求評(píng)審(Review)。實(shí)踐:需求評(píng)審時(shí)不要以不錯(cuò)為目標(biāo),不要在需求評(píng)審時(shí)對(duì)提出的問(wèn)題帶著爭(zhēng)辯或者辯護(hù)的心態(tài),而是要以發(fā)現(xiàn)錯(cuò)誤為目的,鼓勵(lì)參與者提出問(wèn)題并討論。
需求驗(yàn)證需求驗(yàn)證是軟件需求開(kāi)發(fā)的最后一個(gè)環(huán)節(jié)。需求驗(yàn)證的活動(dòng)編寫SRS需求驗(yàn)證需求獲取需求分析需求定義需求規(guī)格說(shuō)明書確定問(wèn)題修正開(kāi)展討論前,需求分析小組要對(duì)SRS進(jìn)行充分的自查。需求驗(yàn)證是一個(gè)迭代過(guò)程,需要多次反復(fù)。需求驗(yàn)證的活動(dòng)編寫SRS需求驗(yàn)證需求獲取需求分析需求定義需求需求驗(yàn)證方法需求驗(yàn)證的主要手段和方法是評(píng)審,根據(jù)評(píng)審的正式化程度將評(píng)審分為6個(gè)等級(jí)。最正式最不正式審查小組審查走查結(jié)對(duì)需求同級(jí)輪查臨時(shí)評(píng)審審查正式評(píng)審內(nèi)容需要記錄在案,正式評(píng)審小組的成員對(duì)評(píng)審的質(zhì)量負(fù)責(zé)。小組審查小組審查和審查方式比較接近,區(qū)別在于小組審查沒(méi)有審查嚴(yán)格。走查實(shí)際工作中,將SRS分發(fā)給其它的開(kāi)發(fā)人員看一看和走過(guò)場(chǎng)似地檢查一遍。結(jié)對(duì)需求保證絕大多數(shù)需求至少由2個(gè)人共同完成。通過(guò)這種方式,使需求質(zhì)量大大提高。同級(jí)輪查需求人員之間交換文檔復(fù)查,互相提出意見(jiàn)和建議。臨時(shí)評(píng)審最常見(jiàn)、最簡(jiǎn)單的臨時(shí)評(píng)審是在溝通的過(guò)程中。如在用戶訪談中,要對(duì)每次訪談的內(nèi)容進(jìn)行概括,讓用戶對(duì)你的理解、記錄的信息進(jìn)行即時(shí)的驗(yàn)證。需求驗(yàn)證方法需求驗(yàn)證的主要手段和方法是評(píng)審,根據(jù)評(píng)審的正式化需求驗(yàn)證要點(diǎn)要點(diǎn)說(shuō)明思想需求驗(yàn)證是為了發(fā)現(xiàn)錯(cuò)誤,而不是維護(hù)錯(cuò)誤。代價(jià)昂貴的需求驗(yàn)證工作不是為了驗(yàn)證需求文檔無(wú)錯(cuò),而是幫助開(kāi)發(fā)組盡早發(fā)現(xiàn)錯(cuò)誤、找到錯(cuò)誤。避免因問(wèn)題被延誤到后期而付出慘痛的代價(jià)。方法實(shí)際工作中,軟件開(kāi)發(fā)團(tuán)隊(duì)中開(kāi)展評(píng)審的價(jià)值仍然未得到認(rèn)可,因此大家在需求評(píng)審中總是處于防御地位。在團(tuán)隊(duì)中推行臨時(shí)評(píng)審、同級(jí)復(fù)查等方法,是創(chuàng)建團(tuán)隊(duì)評(píng)審制度的基礎(chǔ)和保障。語(yǔ)言在需求評(píng)審會(huì)中大家應(yīng)該以建議者、協(xié)作者的身份和角色出現(xiàn)在評(píng)審會(huì)上。說(shuō)話注意語(yǔ)氣,不要將自己變?yōu)楦吒咴谏系脑u(píng)價(jià)者。例如這么說(shuō)“這地方我沒(méi)有看懂,你是否可以解釋一下。”而不是這么說(shuō)“你這個(gè)地方有問(wèn)題”人員要開(kāi)好評(píng)審會(huì),選擇合適的參與者非常重要。要點(diǎn)在于合適,而不是越大越好。要邀請(qǐng)直接相關(guān)的人員參加,一方面可以保證參與者對(duì)評(píng)審內(nèi)容熟悉,另外一方面可以保證參與者關(guān)注評(píng)審過(guò)程。內(nèi)容需要檢查的內(nèi)容一般都很多。不要一次都拿出來(lái)評(píng)審。應(yīng)該根據(jù)以往主要的問(wèn)題,例如歧義比較多、完整性比較差的地方對(duì)照缺陷檢查表進(jìn)行剪裁。需求驗(yàn)證要點(diǎn)要點(diǎn)說(shuō)明思想需求驗(yàn)證是為了發(fā)現(xiàn)錯(cuò)誤,而不是維護(hù)錯(cuò)問(wèn)題的修正需求澄清:對(duì)理解存在偏差的需求重新進(jìn)行分析工作,對(duì)表達(dá)不當(dāng)?shù)男枨笾匦乱院线m的方式表達(dá)。缺失需求:重新執(zhí)行需求獲取等一系列工作。需求沖突:協(xié)商解決。不切實(shí)際的期望:項(xiàng)目調(diào)整與需求協(xié)商。問(wèn)題的修正需求澄清:對(duì)理解存在偏差的需求重新進(jìn)行分析工作,對(duì)Thanks!Thanks!如何寫需求申和平2013年11月軟件工程,從需求開(kāi)始。如何寫需求申和平2013年11月軟件工程,從需求開(kāi)始。1.需求知識(shí)概述1.1軟件需求的重要性1.2軟件需求基本概念1.3優(yōu)秀需求應(yīng)具備特征1.4需求開(kāi)發(fā)的主要困難1.5需求分析員應(yīng)備能力2.軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證3.軟件需求管理3.1需求版本控制3.2需求變更控制3.3需求跟蹤控制目錄1.需求知識(shí)概述2.軟件需求開(kāi)發(fā)3.軟件需求管理目錄典型的軟件開(kāi)發(fā)典型的軟件開(kāi)發(fā)軟件需求的重要性中國(guó)有句諺語(yǔ):“好的開(kāi)始就等于成功的一半”。項(xiàng)目遇困幾大原因需求是制定項(xiàng)目計(jì)劃的基礎(chǔ)。需求規(guī)格說(shuō)明是軟件設(shè)計(jì)和軟件實(shí)現(xiàn)的基礎(chǔ)。需求規(guī)格說(shuō)明是測(cè)試工作和用戶驗(yàn)收的依據(jù)。需求規(guī)格說(shuō)明是軟件維護(hù)工作的依據(jù)。河的源頭被污染,那么整條河也就被污染了。缺乏用戶的參與。(13%)不完整規(guī)格說(shuō)明。(12%)不斷變更的需求。(12%)需求錯(cuò)誤的代價(jià)軟件需求的重要性中國(guó)有句諺語(yǔ):“好的開(kāi)始就等于成功的一半”。我們往往并不清楚究竟該做什么,卻一直忙碌不停的開(kāi)發(fā)。需求不清楚就進(jìn)入編碼階段,期望以后修改,更多的情況下是編寫邊修改。軟件調(diào)節(jié)和改變是很靈活的,任何需求的變更都可以很容易的在軟件中反應(yīng)出來(lái)。你是如此嗎?這些認(rèn)識(shí)多來(lái)自極小項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),當(dāng)你面對(duì)一個(gè)中大型項(xiàng)目時(shí)?你是如此嗎?這些認(rèn)識(shí)多來(lái)自極小項(xiàng)目的開(kāi)發(fā)經(jīng)驗(yàn),當(dāng)你面對(duì)一個(gè)中軟件需求的定義IEEE軟件工程標(biāo)準(zhǔn)詞匯表(1977)中的需求定義:用戶解決問(wèn)題或達(dá)到目標(biāo)所需的條件或權(quán)能。系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其他正式規(guī)定文檔所需具有的條件或權(quán)能。一種反應(yīng)上述所描述的條件或權(quán)能的文檔說(shuō)明。通俗地講,需求來(lái)源于用戶的一些需要,這些需要被分析、確認(rèn)后形成完成的文檔,該文檔詳細(xì)的說(shuō)明了產(chǎn)品必須或應(yīng)當(dāng)做什么。軟件需求的定義IEEE軟件工程標(biāo)準(zhǔn)詞匯表(1977)中的需求需求工程的定義所有與需求直接相關(guān)的活動(dòng)通稱為需求工程。其可大致分為需求開(kāi)發(fā)和需求管理兩個(gè)階段。其中需求開(kāi)發(fā)主要產(chǎn)生需求規(guī)格說(shuō)明,需求管理主要是根據(jù)需求的變化對(duì)需求規(guī)格說(shuō)明的內(nèi)容及版本進(jìn)行管理。需求工程的定義所有與需求直接相關(guān)的活動(dòng)通稱為需求工程。其可大軟件需求的層次(1)軟件需求的層次(1)軟件需求的層次(2)業(yè)務(wù)需求表示組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高層次的目標(biāo)。它們?cè)陧?xiàng)目視圖與范圍文檔中予以說(shuō)明。描述組織為什么要開(kāi)發(fā)一個(gè)系統(tǒng)。用戶需求描述用戶的目標(biāo),或用戶要求系統(tǒng)必須完成的任務(wù)。用例、場(chǎng)景描述都是表達(dá)用戶需求的有效途徑。描述用戶使用系統(tǒng)能做什么。功能需求定義了開(kāi)發(fā)人員必須要實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足業(yè)務(wù)需求。非功能需求描述了系統(tǒng)完成功能實(shí)現(xiàn)的補(bǔ)充約束條件。如系統(tǒng)必須遵從的標(biāo)準(zhǔn)、規(guī)范、合約、性能要求、設(shè)計(jì)或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性。軟件需求的層次(2)業(yè)務(wù)需求表示組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)或產(chǎn)品高軟件需求的質(zhì)量屬性(1)外部質(zhì)量,對(duì)用戶很重要。正確性軟件按照需求正確執(zhí)行任務(wù)的能力。正確性無(wú)疑是第一重要的質(zhì)量屬性。健壯性是指在異常情況下軟件能夠正常運(yùn)行的能力。健壯性有兩層含義,一是容錯(cuò)能力,二是恢復(fù)能力??煽啃允侵冈谝欢ǖ沫h(huán)境下和給定的時(shí)間內(nèi),軟件不發(fā)生故障正常運(yùn)行的概率。性能是指軟件的響應(yīng)能力。既要經(jīng)過(guò)多長(zhǎng)時(shí)間才能對(duì)某個(gè)事件做出響應(yīng),或者在某段時(shí)間內(nèi)軟件所能處理事件的個(gè)數(shù)。安全性是指防止軟件被非法入侵的能力。既屬于技術(shù)問(wèn)題又屬于管理問(wèn)題。易用性是指用戶使用軟件的容易程度。兼容性是指不同產(chǎn)品或者新老產(chǎn)品相互交換信息的能力。軟件需求的質(zhì)量屬性(1)外部質(zhì)量,對(duì)用戶很重要。正確性軟件按軟件需求的質(zhì)量屬性(2)內(nèi)部質(zhì)量,對(duì)開(kāi)發(fā)者很重要。易理解性是指開(kāi)發(fā)人員理解軟件產(chǎn)品的能力。意味著所有的工作成果要易讀易懂,可以提高團(tuán)隊(duì)開(kāi)發(fā)效率,降低維護(hù)成本。開(kāi)發(fā)人員只有在自己思路清晰的時(shí)候才可能寫出讓別人易讀易懂的程序和文檔??衫斫獾臇|西通常是簡(jiǎn)潔的。可測(cè)試性是指測(cè)試軟件組件或集成產(chǎn)品時(shí)查找缺陷的簡(jiǎn)易程度,又稱為可驗(yàn)證性??删S護(hù)性是指在軟件中糾正一個(gè)缺陷或做一次更改的簡(jiǎn)易程度??蓴U(kuò)展性是指軟件適應(yīng)變化的能力??梢浦残允侵杠浖唤?jīng)修改或稍加修改就可以運(yùn)行于不同軟硬件環(huán)境的能力。主要體現(xiàn)為代碼的可移植性。可復(fù)用性是指一個(gè)軟件的組成部分可以在同一個(gè)項(xiàng)目的不同地方甚至在不同的項(xiàng)目中重復(fù)使用的能力。有時(shí)不可避免地要對(duì)一些特定的屬性進(jìn)行取舍。軟件需求的質(zhì)量屬性(2)內(nèi)部質(zhì)量,對(duì)開(kāi)發(fā)者很重要。易理解性是優(yōu)秀需求應(yīng)具備的特征完整性每項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述清楚。正確性每一項(xiàng)需求都必須準(zhǔn)確地陳述其要開(kāi)發(fā)的功能,符合需求來(lái)源??尚行悦宽?xiàng)需求在已知環(huán)境的權(quán)能和限制下可實(shí)施??啥喾饺藛T參與。必要性每項(xiàng)需求都能回溯至某項(xiàng)用戶需求。劃分優(yōu)先級(jí)給每項(xiàng)需求分配一個(gè)實(shí)施優(yōu)先級(jí)以指明它在產(chǎn)品中的重要程度。無(wú)二義性對(duì)所有需求說(shuō)明的讀者都只能有一個(gè)明確統(tǒng)一的解釋。可驗(yàn)證性每項(xiàng)需求能夠被驗(yàn)證。驗(yàn)證方法如測(cè)試用例、正規(guī)審查等。與實(shí)現(xiàn)無(wú)關(guān)性需求關(guān)注系統(tǒng)做什么,而不是怎么做。優(yōu)秀需求應(yīng)具備的特征完整性每項(xiàng)需求都必須將所要實(shí)現(xiàn)的功能描述需求開(kāi)發(fā)的主要困難與對(duì)策(1)用戶說(shuō)不清楚需求問(wèn)題:有些用戶不知道需求是什么,或?qū)π枨笾挥须鼥V的感覺(jué),他當(dāng)然說(shuō)不清楚需求。還有些用戶雖然心里明白想要什么,但卻表達(dá)不清楚。策略:需求分析員不能以用戶說(shuō)不清楚需求為借口而草率地對(duì)待需求開(kāi)發(fā),無(wú)論是什么原因?qū)е掠脩粽f(shuō)不清楚需求,需求分析員必須設(shè)法搞清楚用戶真正的需求,這是需求分析員的職責(zé),也是職業(yè)的挑戰(zhàn)。需求開(kāi)發(fā)的主要困難與對(duì)策(1)用戶說(shuō)不清楚需求需求開(kāi)發(fā)的主要困難與對(duì)策(2)態(tài)度問(wèn)題問(wèn)題:很多開(kāi)發(fā)人員習(xí)慣于被動(dòng)地對(duì)待需求開(kāi)發(fā)。每當(dāng)遇到麻煩、挫折時(shí),他們會(huì)找一堆用戶的毛病,認(rèn)為需求是用戶的事情,不是我們的事情。策略:用戶說(shuō)不清楚需求或者需求發(fā)生變更都是常見(jiàn)的問(wèn)題,我們可以設(shè)法解決的。開(kāi)發(fā)人員不應(yīng)該把這些問(wèn)題當(dāng)成借口。需求分析員的職責(zé)就是在有限的時(shí)間內(nèi)獲取準(zhǔn)確而細(xì)致的用戶需求,如果做不到就是失職,不要找借口。需求開(kāi)發(fā)的主要困難與對(duì)策(2)態(tài)度問(wèn)題需求開(kāi)發(fā)的主要困難與對(duì)策(3)知識(shí)技能欠缺問(wèn)題:需求分析員缺乏應(yīng)用域知識(shí),應(yīng)用域的知識(shí)是無(wú)邊無(wú)際的,任何人都不可能是萬(wàn)事通。需求分析員可能是某一領(lǐng)域的專家,當(dāng)他接手陌生的業(yè)務(wù)時(shí),他可能是個(gè)無(wú)知者。策略:要勇于實(shí)踐,不要逃避。還應(yīng)當(dāng)趕緊補(bǔ)習(xí)應(yīng)用域知識(shí),不論是通過(guò)自學(xué)還是培訓(xùn)的方式??赡艿脑?,最好請(qǐng)既懂軟件又懂應(yīng)用域知識(shí)的行家來(lái)幫忙。需求開(kāi)發(fā)的主要困難與對(duì)策(3)知識(shí)技能欠缺需求開(kāi)發(fā)的主要困難與對(duì)策(4)雙方誤解需求問(wèn)題:人們?cè)诮涣鞯臅r(shí)候,經(jīng)常會(huì)發(fā)生問(wèn)非所求、答非所問(wèn)的事情。有時(shí)用戶會(huì)把開(kāi)發(fā)人員的建議或答復(fù)想歪了,而用戶表達(dá)的需求,不同的開(kāi)發(fā)人員可能有不同的理解。策略:如果需求分析員誤解了需求,那會(huì)導(dǎo)致后續(xù)的開(kāi)發(fā)人員將錯(cuò)就錯(cuò)、白忙活。不論是復(fù)雜的項(xiàng)目還是簡(jiǎn)單的項(xiàng)目,需求分析員和用戶都有可能誤解需求,所以應(yīng)當(dāng)做好需求確認(rèn)工作。需求開(kāi)發(fā)的主要困難與對(duì)策(4)雙方誤解需求需求開(kāi)發(fā)的主要困難與對(duì)策(5)開(kāi)發(fā)人員寫不好需求文檔問(wèn)題:需求調(diào)查工作不充分,獲取的需求信息太少或者太亂,以至于寫不成需求文檔?;蛘唛_(kāi)發(fā)人員的寫作能力比較差,雖然在調(diào)查過(guò)程中已經(jīng)獲得了不少需求信息,卻寫不出好的需求文檔來(lái)。策略:把需求調(diào)查工作做好,提高開(kāi)發(fā)人員的寫作能力,多練習(xí)寫文檔。另外,企業(yè)提供合適的文檔模板以及比較好的示例文檔,也可有效降低寫作難度。需求開(kāi)發(fā)的主要困難與對(duì)策(5)開(kāi)發(fā)人員寫不好需求文檔需求開(kāi)發(fā)的主要困難與對(duì)策(6)用戶需求變更頻繁問(wèn)題:在項(xiàng)目開(kāi)發(fā)的初始階段,開(kāi)發(fā)人員和用戶沒(méi)有搞清楚需求或者搞錯(cuò)了需求,到了項(xiàng)目開(kāi)發(fā)后期才將需求糾正過(guò)來(lái),導(dǎo)致產(chǎn)品的部分內(nèi)容需要重新開(kāi)發(fā)?;蛘哂捎谑袌?chǎng)變化而導(dǎo)致產(chǎn)品需求發(fā)生變更。策略:做好需求變更控制。需求變更通常會(huì)對(duì)項(xiàng)目的進(jìn)度、人力資源、經(jīng)費(fèi)產(chǎn)生很大的影響。需求變更并不可怕,可怕的是需求變更失去控制,導(dǎo)致項(xiàng)目混亂。需求開(kāi)發(fā)的主要困難與對(duì)策(6)用戶需求變更頻繁需求開(kāi)發(fā)的主要困難與對(duì)策(7)合作關(guān)系問(wèn)題:需求分析員不能與用戶建立良好的合作關(guān)系。對(duì)于一些競(jìng)標(biāo)項(xiàng)目,在合同未簽訂之前的需求開(kāi)發(fā)工作尤為困難。用戶未必會(huì)買你的產(chǎn)品,他不會(huì)投入很多精力來(lái)協(xié)助你。策略:出色的需求分析員不僅要有過(guò)硬的專業(yè)知識(shí),還要具備較強(qiáng)的交流和溝通能力。對(duì)于重大復(fù)雜的項(xiàng)目,不能完全期望雙方能夠自發(fā)地建立起良好地合作關(guān)系。要使用戶明白需求的重要性以及忽視需求的危害性,從而促使他們積極友善地參加需求工程中的各項(xiàng)活動(dòng)。需求開(kāi)發(fā)的主要困難與對(duì)策(7)合作關(guān)系需求分析員應(yīng)備能力行業(yè)知識(shí)熟悉相關(guān)行業(yè)和領(lǐng)域的知識(shí)及產(chǎn)品。溝通能力善于雙向交流,知道如何有效傾聽(tīng)和表達(dá)。分析能力能夠以不同的角度和方式思考問(wèn)題。組織能力需要處理獲取和分析過(guò)程中收集到的大量雜亂的信息。寫作能力需求開(kāi)發(fā)的最終產(chǎn)物是需求規(guī)格說(shuō)明文檔。專業(yè)技術(shù)需要掌握如數(shù)據(jù)流圖、用例圖、實(shí)體關(guān)系圖等建模分析工具。提問(wèn)技巧很多需求是通過(guò)面談和討論得到。觀察能力能夠從不經(jīng)意的閑談或觀察中發(fā)現(xiàn)重要信息。需求分析員應(yīng)備能力行業(yè)知識(shí)熟悉相關(guān)行業(yè)和領(lǐng)域的知識(shí)及產(chǎn)品。溝2軟件需求開(kāi)發(fā)2.1需求獲取2.2需求分析2.3需求規(guī)格說(shuō)明2.4需求驗(yàn)證2軟件需求開(kāi)發(fā)2.1需求獲取需求獲取
需求獲取就是進(jìn)行需求收集的一個(gè)過(guò)程或者活動(dòng)。它從人員、資料和環(huán)境中得到系統(tǒng)開(kāi)發(fā)所需要的相關(guān)信息。我將從以下幾個(gè)方面來(lái)講述。需求常見(jiàn)來(lái)源需求獲取內(nèi)容需求獲取常用方法需求獲取常見(jiàn)困難需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需求獲取就是進(jìn)行需求收集的一個(gè)過(guò)程或者活動(dòng)。需求常見(jiàn)來(lái)源用戶提交的需求文檔。與用戶進(jìn)行探討?,F(xiàn)有系統(tǒng)的問(wèn)題報(bào)告和改進(jìn)要求。觀察或體驗(yàn)用戶工作。市場(chǎng)調(diào)查和用戶問(wèn)卷調(diào)查。對(duì)同類產(chǎn)品或競(jìng)品進(jìn)行分析。對(duì)用戶的工作情景進(jìn)行分析。行業(yè)專家的建議需求常見(jiàn)來(lái)源用戶提交的需求文檔。需求獲取的內(nèi)容明確業(yè)務(wù)需求明確項(xiàng)目范圍明確業(yè)務(wù)流程和業(yè)務(wù)規(guī)則明確數(shù)據(jù)定義明確軟件功能明確質(zhì)量屬性明確系統(tǒng)接口明確設(shè)計(jì)和實(shí)現(xiàn)約束需求獲取的內(nèi)容明確業(yè)務(wù)需求需求獲取常用方法
需求獲取方法很多。每種方法有其各自優(yōu)缺點(diǎn),適用于不同的場(chǎng)合。需求獲取人員需要了解各種方法的使用場(chǎng)景及優(yōu)缺點(diǎn),以便在不同的場(chǎng)合采取不同的方法開(kāi)展需求獲取工作。1、用戶訪談2、原型法3、觀察法4、文檔分析5、需求專題討論6、用戶問(wèn)卷調(diào)查需求獲取常用方法需求獲取方法很多。每種方法有其各自優(yōu)用戶訪談?dòng)脩粼L談是實(shí)踐當(dāng)中應(yīng)用最為廣泛的需求獲取方法之一。優(yōu)點(diǎn):簡(jiǎn)單、直接、形式靈活、交流比較深入。缺點(diǎn):占用時(shí)間長(zhǎng),信息存在片面性。應(yīng)用場(chǎng)景:用戶訪談在所有的需求獲取中都被開(kāi)發(fā)者廣泛使用,需要注意的是訪談的目標(biāo)和話題根據(jù)用戶的不同而有所側(cè)重。用戶訪談?dòng)脩粼L談是實(shí)踐當(dāng)中應(yīng)用最為廣泛的需求獲取方法之一。用戶訪談---話題類型(1)開(kāi)放式話題封閉式話題被會(huì)見(jiàn)者對(duì)答復(fù)的選擇是開(kāi)放和不受限制的,他們可能答復(fù)兩個(gè)詞,也可能答復(fù)兩段話。在希望得到豐富,具有一定深度和廣度的信息時(shí),開(kāi)放式問(wèn)題比較合適。答案有基本的形式,被會(huì)見(jiàn)者的回答是受到限制的,如選擇題、判斷題等。例如:1、你對(duì)屌絲一詞有什么看法?例如:1、呼叫中心一月平均接到多少個(gè)電話?2、下列哪個(gè)信息對(duì)你最有用?用戶訪談---話題類型(1)開(kāi)放式話題封閉式話題被會(huì)見(jiàn)者對(duì)答用戶訪談---話題類型(2)開(kāi)放式話題封閉式話題優(yōu)點(diǎn)被會(huì)談?wù)吒杏X(jué)更自在和感興趣;可獲得豐富的細(xì)節(jié);允許更多的自發(fā)性;可以收集被會(huì)談?wù)呤褂玫脑~匯;對(duì)沒(méi)采用的進(jìn)一步的提問(wèn)有啟迪作用;可以在沒(méi)有太多準(zhǔn)備的情況下進(jìn)行;節(jié)省時(shí)間;切中要點(diǎn);保持對(duì)面談的控制;快速探討大范圍問(wèn)題;得到貼切的數(shù)據(jù);缺點(diǎn)可能產(chǎn)生太多不相干的細(xì)節(jié);面談可能失控;會(huì)花費(fèi)大量時(shí)間才能獲得有用的信息量;可能使會(huì)談?wù)呖瓷先](méi)有準(zhǔn)備;會(huì)談?wù)弑容^厭煩;得不到豐富的細(xì)節(jié);不利于建立友好關(guān)系;用戶訪談---話題類型(2)開(kāi)放式話題封閉式話題優(yōu)點(diǎn)被會(huì)談?wù)哂脩粼L談---話題類型(3)開(kāi)放式話題對(duì)比項(xiàng)封閉式話題低數(shù)據(jù)的可靠性高低使用的時(shí)間效率高低數(shù)據(jù)的精度高廣數(shù)據(jù)的廣度和深度窄多需要的面談技能少難分析的難易度易用戶訪談---話題類型(3)開(kāi)放式話題對(duì)比項(xiàng)封閉式話題低數(shù)據(jù)用戶訪談---時(shí)間安排階段任務(wù)占用時(shí)間備注開(kāi)場(chǎng)白陳述預(yù)先對(duì)問(wèn)題的考慮和理解5-15分鐘聚焦本次訪談的話題,明確訪談的范圍和層次預(yù)先計(jì)劃問(wèn)題尋找問(wèn)題的答案25-30分鐘主體工作,關(guān)鍵部分即興問(wèn)題擴(kuò)大需求信息量20-30分鐘注意導(dǎo)向,不要跑題太遠(yuǎn)總結(jié)總結(jié)訪談內(nèi)容5-10分鐘訪談?wù)呦虮辉L談?wù)邚?fù)述主要問(wèn)題的答案用戶訪談盡量選擇相對(duì)封閉的環(huán)境,一次訪談的時(shí)間一般不要超過(guò)1小時(shí)。下面是很多書籍中提供的一個(gè)參考時(shí)間安排。用戶訪談---時(shí)間安排階段任務(wù)占用時(shí)間備注開(kāi)場(chǎng)白陳述預(yù)先對(duì)問(wèn)用戶訪談---記錄工作用戶訪談期間將會(huì)產(chǎn)生大量的信息,免不了記錄的工作。下面是很多經(jīng)典的案例為我們提供了可參考的記錄方式。記錄方式優(yōu)點(diǎn)缺點(diǎn)建議自己做筆記直接、簡(jiǎn)單、靈活容易走神記重點(diǎn)要點(diǎn),并確認(rèn)專人做筆記精力集中在訪談上容易產(chǎn)生記錄偏差訪談結(jié)束時(shí)讓記錄人員向雙方做簡(jiǎn)要陳述錄音免受記錄工作影響信息易失真記錄大綱和關(guān)鍵信息錄像免受記錄工作影響難以操作用戶訪談---記錄工作用戶訪談期間將會(huì)產(chǎn)生大量的信息,免不了用戶訪談---溝通技巧多數(shù)情況下,應(yīng)該事先制作訪談問(wèn)卷發(fā)給被訪談?wù)?,羅列出要問(wèn)的主要問(wèn)題。被訪談?wù)呤虑坝羞@樣的問(wèn)卷,他有可能進(jìn)行一些思考,不至于會(huì)談時(shí)無(wú)話可談或者無(wú)話不談。把握訪談方向,在整個(gè)訪談過(guò)程中,信息應(yīng)該是從被訪談?wù)吡飨蛟L談?wù)?,而不是相反。有資料認(rèn)為,被訪談?wù)吲c訪談?wù)哒f(shuō)話時(shí)間的比例應(yīng)該是2:1。不要問(wèn)過(guò)長(zhǎng)的問(wèn)題,較長(zhǎng)的問(wèn)題應(yīng)該將其拆分,采用遞進(jìn)的方法逐個(gè)解決。用戶訪談---溝通技巧多數(shù)情況下,應(yīng)該事先制作訪談問(wèn)卷發(fā)給被用戶訪談---提問(wèn)順序訪談提問(wèn)的順序應(yīng)該按業(yè)務(wù)邏輯組織。面對(duì)每一組問(wèn)題,注意借鑒歸納和演繹方式。金字塔結(jié)構(gòu)(歸納:特定問(wèn)題開(kāi)始,通用問(wèn)題結(jié)束)被會(huì)見(jiàn)者需要對(duì)話題進(jìn)行預(yù)熱,通過(guò)逐步引導(dǎo)使被會(huì)見(jiàn)者打開(kāi)話匣子。會(huì)見(jiàn)者發(fā)現(xiàn)自己事先對(duì)事實(shí)的確認(rèn)存在較大偏差。會(huì)見(jiàn)者看上去不情愿討論這個(gè)話題。漏斗結(jié)構(gòu)(演繹:通用問(wèn)題開(kāi)始,特定問(wèn)題結(jié)束)漏斗結(jié)構(gòu)為開(kāi)始一場(chǎng)面談提供了一種容易而輕松的途徑。被會(huì)見(jiàn)者對(duì)這個(gè)話題有情緒,并且需要自由表達(dá)這些情緒的時(shí)候。會(huì)見(jiàn)者事先對(duì)事實(shí)了解不多時(shí)。用這種方式組織面談能得出很多的詳細(xì)信息菱形結(jié)構(gòu)(歸納—演繹-歸納:特定問(wèn)題開(kāi)始,轉(zhuǎn)向通用問(wèn)題,特定問(wèn)題結(jié)束)使用菱形結(jié)構(gòu)的主要優(yōu)點(diǎn)是通過(guò)各種各樣的問(wèn)題保持被會(huì)見(jiàn)者的興趣和注意力。一旦掌握了如何在正確的時(shí)間問(wèn)正確的問(wèn)題,就可以多樣地選擇問(wèn)題的順序。用戶訪談---提問(wèn)順序訪談提問(wèn)的順序應(yīng)該按業(yè)務(wù)邏輯組織。面對(duì)用戶訪談---計(jì)劃安排在用戶訪談前,要有精心的計(jì)劃安排,根據(jù)需求獲取所處的階段確定訪談的時(shí)間、人員和主題等,將訪談內(nèi)容事前告知被訪談人,避免訪談效率低下。針對(duì)不同的訪談人,要采用不同的方式和要點(diǎn)。訪談主題訪談要點(diǎn)期望部門訪談人訪談時(shí)間備注用簡(jiǎn)短的話概述提取關(guān)鍵點(diǎn)指定理想的訪談對(duì)象用戶方聯(lián)絡(luò)人指定用戶方聯(lián)絡(luò)人指定用戶訪談?dòng)?jì)劃安排模板用戶訪談---計(jì)劃安排在用戶訪談前,要有精心的計(jì)劃安排,根據(jù)用戶訪談---過(guò)程小結(jié)準(zhǔn)備訪談閱讀背景資料,確定面談主題、目標(biāo)、問(wèn)題和被會(huì)見(jiàn)者。注意記得和被會(huì)見(jiàn)者聯(lián)系并確認(rèn)面談的安排,不要遲到,著裝正式。主持訪談開(kāi)始盡量建立一個(gè)理想的氛圍和環(huán)境來(lái)促進(jìn)會(huì)見(jiàn)者和被會(huì)見(jiàn)者之間的交流和溝通。1、簡(jiǎn)要重申面談的目標(biāo)。2、用一些非常一般的、輕松的、開(kāi)放式的問(wèn)題作為開(kāi)始。3、準(zhǔn)備好筆記本、錄音機(jī)或者其他記錄設(shè)備,并禮貌地詢問(wèn)相關(guān)人員是否可以錄音或者錄像。過(guò)程中通過(guò)提問(wèn)和傾聽(tīng)來(lái)完成和被會(huì)見(jiàn)者的信息交流,按照計(jì)劃控制面談的進(jìn)行,必要時(shí)進(jìn)行適當(dāng)?shù)恼{(diào)整。1、保持有禮貌的傾聽(tīng)。2、保持面談主題、控制面談過(guò)程。3、觀察被會(huì)見(jiàn)者。結(jié)束時(shí)要表示感謝并回答被會(huì)見(jiàn)者提出的問(wèn)題,保持與被會(huì)見(jiàn)者的親善和信任關(guān)系。1、面談應(yīng)該在1小時(shí)內(nèi)結(jié)束,并非要在提出所有關(guān)心的問(wèn)題后才能結(jié)束面談。2、總結(jié)談話的要點(diǎn)。3、感謝被會(huì)見(jiàn)者,并且給時(shí)間讓他們?cè)儐?wèn)一些他們自己關(guān)心的問(wèn)題。處理訪談結(jié)果復(fù)查面談?dòng)涗?,總結(jié)面談信息,整理出內(nèi)容要點(diǎn),進(jìn)行分類,整理成文檔。用戶訪談---過(guò)程小結(jié)準(zhǔn)備訪談原型法---為什么要建立原型原型作為一種需求工具,可明確并完善需求。原型作為一種設(shè)計(jì)工具,可用它優(yōu)化系統(tǒng)易用性,評(píng)估可能的技術(shù)方案。原型作為一種構(gòu)造工具,是產(chǎn)品最初的功能實(shí)現(xiàn),可發(fā)展為最終產(chǎn)品。使用原型,發(fā)現(xiàn)并解決需求中的二義性、不完整性和不確定性問(wèn)題。直觀的原型,更易于理解,能更具體地思考問(wèn)題。構(gòu)建原型的目標(biāo)是降低項(xiàng)目風(fēng)險(xiǎn)。原型法---為什么要建立原型原型作為一種需求工具,可明確并完原型法---為什么要建立原型軟件開(kāi)發(fā)早期,有時(shí)很難定義出確切的軟件需求,提供詳細(xì)的需求規(guī)格說(shuō)明書。軟件系統(tǒng)的很多具體細(xì)節(jié)往往是隨著軟件系統(tǒng)的建立而逐步明確的。這樣,在需求分析階段,分析人員常常得花大量時(shí)間去捕捉一些非常模糊的想法,并花大量時(shí)間以這種模糊的認(rèn)識(shí)為基礎(chǔ)去編寫包括很多細(xì)節(jié)內(nèi)容的需求規(guī)格說(shuō)明書,因而需求規(guī)格說(shuō)明書的一致性、準(zhǔn)確性、正確性、有效性很難保證。常規(guī)的軟件開(kāi)發(fā)各階段相互傳遞信息的唯一工具是文檔。
雖然文檔內(nèi)有很多形象的描述方法,如各種圖表等,但它們畢竟是實(shí)際系統(tǒng)的抽象。即使在軟件開(kāi)發(fā)早期作出了明確的需求分析,其后每一個(gè)階段的開(kāi)發(fā)人員都不得不再花大量時(shí)間,在一定程度上,通過(guò)閱讀文檔重溫前一階段系統(tǒng)人員的工作。同時(shí),由于這些階段的系統(tǒng)人員一般不和客戶作直接交流,因而,可能出現(xiàn)的情況是,需求分析中已經(jīng)得到正確說(shuō)明的問(wèn)題,經(jīng)過(guò)這些階段中不同的系統(tǒng)人員的各種理解和加工后,在繼續(xù)傳遞的過(guò)程中發(fā)生。在系統(tǒng)人員和客戶面前,不存在一個(gè)實(shí)實(shí)在在的事物。
這個(gè)實(shí)體可以充分表達(dá)系統(tǒng)人員對(duì)問(wèn)題空間有關(guān)概念的理解程度和對(duì)目標(biāo)系統(tǒng)的初步考慮,客戶也可通過(guò)這個(gè)實(shí)體,闡明其對(duì)目標(biāo)系統(tǒng)的要求和系統(tǒng)人員當(dāng)前的一些理解錯(cuò)誤。基于這些問(wèn)題,信息系統(tǒng)開(kāi)發(fā)需要更為實(shí)用的方法指導(dǎo)開(kāi)發(fā)過(guò)程。原型法即是適應(yīng)這種需要產(chǎn)生的一種信息系統(tǒng)開(kāi)發(fā)方法。原型法---為什么要建立原型軟件開(kāi)發(fā)早期,有時(shí)很難定義出確切原型法---好處原型可以激活用戶的思維,并促進(jìn)需求對(duì)話。原型的早期反饋有助于涉眾對(duì)系統(tǒng)需求理解達(dá)成共識(shí)。增加開(kāi)發(fā)者之間的交流,幫助確定技術(shù)解決方案的可行性。有效的識(shí)別風(fēng)險(xiǎn)和解決風(fēng)險(xiǎn),幫助進(jìn)行風(fēng)險(xiǎn)管理。提高用戶在軟件開(kāi)發(fā)中的參與程度。幫助需求工程師及早解決需求的不確定性。原型法---好處原型可以激活用戶的思維,并促進(jìn)需求對(duì)話。原型法---類別按照構(gòu)建技術(shù)分類水平原型方法:僅實(shí)現(xiàn)選定功能所有層次中的某些特定層次。垂直原型方法:實(shí)現(xiàn)選定功能的所有層次。按照使用方式分類演示原型:主要用在啟動(dòng)項(xiàng)目階段,讓用戶相信系統(tǒng)的開(kāi)發(fā)是可行的。一般原型:主要用在分析需求階段,用來(lái)闡明用戶界面或者系統(tǒng)功能。試驗(yàn)原型:主要用在構(gòu)建系統(tǒng)階段,幫助開(kāi)發(fā)者澄清構(gòu)建相關(guān)技術(shù)問(wèn)題。按照開(kāi)發(fā)方式分類拋棄式原型:用最快速度,花最小代價(jià),適用于不確定的需求。演化式原型:質(zhì)量要求高,要易于擴(kuò)展和改進(jìn),適用于清晰的需求。按照使用介質(zhì)分類書面原型:也稱低保真原型,是一種成本低、速度快且不涉及高深技術(shù)的方法。程序或工具原型:使用編程語(yǔ)言或?qū)I(yè)工具創(chuàng)建。
原型法---類別按照構(gòu)建技術(shù)分類原型法---風(fēng)險(xiǎn)用戶看到了一個(gè)正在運(yùn)行的原型,得出產(chǎn)品幾乎已經(jīng)完成的結(jié)論,從而提出快速交付產(chǎn)品的不當(dāng)要求。原型開(kāi)發(fā)投入太多的工作,使得開(kāi)發(fā)團(tuán)隊(duì)消耗了過(guò)多的時(shí)間和成本。原型法---風(fēng)險(xiǎn)用戶看到了一個(gè)正在運(yùn)行的原型,得出產(chǎn)品幾乎已原型法---創(chuàng)建原型遵循原則應(yīng)該在項(xiàng)目計(jì)劃中包括創(chuàng)建原型的任務(wù)。廢棄型原型要盡量快速而經(jīng)濟(jì),其中不應(yīng)包括輸入數(shù)據(jù)有效性檢查、用于錯(cuò)誤處理的代碼或代碼注釋文檔。對(duì)于已經(jīng)理解的需求不要建立原型,除非是要研究設(shè)計(jì)方案。在原型屏幕顯示和報(bào)告中使用看似真實(shí)的數(shù)據(jù)。不要期望用原型完全代替軟件需求規(guī)格說(shuō)明。原型法---創(chuàng)建原型遵循原則應(yīng)該在項(xiàng)目計(jì)劃中包括創(chuàng)建原型的任用戶問(wèn)卷調(diào)查用戶調(diào)查在市場(chǎng)調(diào)查領(lǐng)域應(yīng)用非常廣泛。優(yōu)點(diǎn):調(diào)查面比較寬,用戶反饋多。缺點(diǎn):不易深入。適用場(chǎng)景:所以當(dāng)片面性矛盾比較突出時(shí)就可以采用用戶調(diào)查的方式。比如存在大樣本用戶或存在跨地域的用戶時(shí)。有時(shí)可以將用戶訪談和用戶調(diào)查結(jié)合使用。先調(diào)查后訪談:從問(wèn)卷調(diào)查的結(jié)果中整理出一個(gè)關(guān)鍵點(diǎn),然后選取一些用戶代表進(jìn)行有針對(duì)性的訪談。先訪談后調(diào)查:選取一些典型的用戶,然后對(duì)訪談的結(jié)果進(jìn)行整理。在這些基礎(chǔ)上設(shè)計(jì)調(diào)查問(wèn)卷。通過(guò)調(diào)查來(lái)驗(yàn)證用戶訪談的結(jié)果是否具有普遍性。用戶問(wèn)卷調(diào)查用戶調(diào)查在市場(chǎng)調(diào)查領(lǐng)域應(yīng)用非常廣泛。用戶問(wèn)卷調(diào)查---調(diào)查問(wèn)卷設(shè)計(jì)要點(diǎn)1、注意問(wèn)題篇幅和布局通常認(rèn)為問(wèn)卷不要讓用戶在回答時(shí)花太多的時(shí)間,一般不超過(guò)20分鐘。換句話說(shuō),就是量不要超過(guò)3頁(yè)。問(wèn)題排列應(yīng)該先易后難。另外,要有邏輯相關(guān)性的考慮。跳躍太大的問(wèn)卷,往往會(huì)干擾答卷人的思路。從而降低了答卷的質(zhì)量。2、注意問(wèn)題類型的選擇盡量選擇開(kāi)放性(簡(jiǎn)答題)或半封閉(多選題)的題型,少用封閉性題型(判斷題)。研究表明,從信息收集的有效性來(lái)說(shuō),開(kāi)放性問(wèn)題效果最好。半封閉型問(wèn)題次之,封閉型問(wèn)題最差。用戶問(wèn)卷調(diào)查---調(diào)查問(wèn)卷設(shè)計(jì)要點(diǎn)1、注意問(wèn)題篇幅和布局文檔分析法
文檔分析是專門針對(duì)文檔進(jìn)行需求獲取的活動(dòng)。其主要獲取對(duì)象包括相關(guān)產(chǎn)品的需求說(shuō)明書、客戶需求文檔、相關(guān)數(shù)據(jù)及流程說(shuō)明等。
其主要優(yōu)點(diǎn)是能夠詳細(xì)、直觀地對(duì)數(shù)據(jù)流細(xì)節(jié)進(jìn)行了解和分析。缺點(diǎn)也比較明顯,企業(yè)機(jī)構(gòu)中,文檔量通常非常大,由此容易使需求獲取人員陷入文山書海中不能自拔,甚至引起誤導(dǎo)。文檔分析通常配合用戶訪談或者用戶調(diào)查期間開(kāi)展。采用此策略的的目的是因?yàn)橛脩粼L談或者用戶調(diào)查難以獲得數(shù)據(jù)方面的詳細(xì)需求,你不能指望被訪談?wù)呋蛘弑徽{(diào)查者能夠記住相關(guān)數(shù)據(jù)細(xì)節(jié)。
文檔分析是研究、分析、細(xì)化數(shù)據(jù)的重要手段。文檔分析法文檔分析是專門針對(duì)文檔進(jìn)行需求獲取的活動(dòng)。觀察法如果:用戶說(shuō)的和做的一致嗎?用戶難以描述他們是如何做的?用戶描述的業(yè)務(wù)流程會(huì)否因?yàn)槟承┰蜻z漏掉重要的信息?那么:看他們是怎么工作的。需求分析人員參與到他們的具體工作中,觀察或體驗(yàn)業(yè)務(wù)操作過(guò)程及物理環(huán)境,根據(jù)實(shí)際的情況提問(wèn)并記錄,記錄業(yè)務(wù)員操作過(guò)程及碰到的難題。觀察法對(duì)于理解業(yè)務(wù)流程和獲取真實(shí)的材料非常有效。觀察法如果:小組討論法小組討論是指將與項(xiàng)目某個(gè)問(wèn)題相關(guān)的人員聚集在一起開(kāi)會(huì)討論。優(yōu)勢(shì)是容易在內(nèi)部取得對(duì)方案的認(rèn)同,有利于項(xiàng)目的開(kāi)展,在討論會(huì)上每個(gè)相關(guān)人員都可發(fā)表自己的意見(jiàn),保證了獲取信息的全面性。先確定好議題、內(nèi)容、主講人、參會(huì)人員、會(huì)議室、開(kāi)會(huì)時(shí)間。事先將相關(guān)資料送達(dá)參與人員,讓參與人員開(kāi)會(huì)前先了解會(huì)議的整體背景和需討論的問(wèn)題,有利于會(huì)議的順利開(kāi)展。保證每個(gè)人都有發(fā)言時(shí)間,注意控制會(huì)議時(shí)間。會(huì)后將會(huì)議紀(jì)要發(fā)送給參會(huì)人員,取得對(duì)結(jié)果的認(rèn)同。小組討論法小組討論是指將與項(xiàng)目某個(gè)問(wèn)題相關(guān)的人員聚集需求獲取常見(jiàn)困難用戶沒(méi)時(shí)間或不愿花太多時(shí)間與開(kāi)發(fā)人員進(jìn)行交流或討論。開(kāi)發(fā)人員缺乏用戶的業(yè)務(wù)常識(shí),雙方交流困難。用戶與開(kāi)發(fā)人員的背景不同、立場(chǎng)不同。普通用戶缺乏概括性、綜合性的表述能力。沒(méi)有明確的用戶。需求獲取常見(jiàn)困難用戶沒(méi)時(shí)間或不愿花太多時(shí)間與開(kāi)發(fā)人員進(jìn)行交流需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需要主動(dòng)“獲取”是一個(gè)主動(dòng)性詞匯,強(qiáng)調(diào)需求分析人員在整個(gè)過(guò)程中應(yīng)該充分發(fā)揮主動(dòng)性。主動(dòng)表現(xiàn)為有計(jì)劃性,針對(duì)不同的用戶層次選擇不同的方法。了解相關(guān)業(yè)務(wù)知識(shí)對(duì)業(yè)務(wù)系統(tǒng)的知識(shí)理解,是需求獲取的基礎(chǔ)。缺乏這一點(diǎn),將無(wú)從著手或沒(méi)有章法,難以發(fā)揮技巧的作用。捕獲用戶的隱性需求滿足用戶的顯性需求是底線,隱性需求是培養(yǎng)用戶忠誠(chéng)度的最好武器,但隱形需求的度要把握好,并不是所有的需求都是受歡迎的。需求獲取實(shí)踐經(jīng)驗(yàn)需求獲取需要主動(dòng)需求獲取實(shí)踐經(jīng)驗(yàn)不要奢望一次將用戶需求獲取一般情況,不要指望一次或幾次需求碰頭會(huì)就會(huì)將用戶需求全部獲取。實(shí)際情況是前幾次用戶提出的問(wèn)題比較少,后面越來(lái)越多,你會(huì)受不了。理解業(yè)務(wù)場(chǎng)景非常重要用戶對(duì)需求的理解主要還是從自身的業(yè)務(wù)出發(fā),他們能夠提出的需求是基本需求,若僅停留在這一點(diǎn)上,會(huì)給系統(tǒng)開(kāi)發(fā)帶來(lái)許多問(wèn)題。如能深入用戶的工作實(shí)際環(huán)境,感受實(shí)際場(chǎng)景,能大大減少需
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)家對(duì)劃定的18億畝耕地紅線亂占建房“零容忍”
- 子母車位買賣合同(2篇)
- 腦卒中護(hù)理課件
- 第二單元(復(fù)習(xí))-四年級(jí)語(yǔ)文上冊(cè)單元復(fù)習(xí)(統(tǒng)編版)
- 2024年河北省中考?xì)v史真題卷及答案解析
- 西南林業(yè)大學(xué)《城市公交規(guī)劃與運(yùn)營(yíng)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《設(shè)計(jì)制圖》2021-2022學(xué)年第一學(xué)期期末試卷
- 電腦連接不了網(wǎng)絡(luò)怎么辦
- 西華師范大學(xué)《小學(xué)心理健康課程與教學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 西華師范大學(xué)《數(shù)字信號(hào)處理》2022-2023學(xué)年第一學(xué)期期末試卷
- 1.4.1用空間向量研究直線平面的位置關(guān)系第1課時(shí)課件高二上學(xué)期數(shù)學(xué)人教A版選擇性
- 發(fā)電廠臨時(shí)電源安全管理制度模版(三篇)
- 人力資源管理HR人力資源管理解決方案
- 第二單元大單元教學(xué)設(shè)計(jì) 2023-2024學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)
- 事業(yè)單位競(jìng)爭(zhēng)上崗實(shí)施方案
- 安全生產(chǎn)法律法規(guī)專題培訓(xùn)2024
- 投身崇德向善的道德實(shí)踐
- 《建筑結(jié)構(gòu)檢測(cè)與加固》 試題試卷及答案
- (162題)2024時(shí)事政治考試題庫(kù)及答案
- 管理評(píng)審輸入材料
- GB/T 43657.2-2024工業(yè)車輛能效試驗(yàn)方法第2部分:操作者控制的自行式車輛、牽引車和載運(yùn)車
評(píng)論
0/150
提交評(píng)論