(3)如何獲取用戶需求
了解客戶方的所有用戶類型以及潛在的類型。然后,根據(jù)他們的要求來確定系統(tǒng)的整體目標(biāo)和系統(tǒng)的工作范圍。
對用戶進(jìn)行訪談和調(diào)研。交流的方式可以是會議、電話、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對于交流的結(jié)果還可以進(jìn)行分類,便于后續(xù)的分析活動。
可以將需求細(xì)分為功能需求、非功能需求(如響應(yīng)時間、平均無故障工作時間、自動恢復(fù)時間等性能和安全等方面的要求)、環(huán)境限制、設(shè)計約束等類型。
(4)應(yīng)用要點(diǎn)
在這個階段中,開發(fā)者一般不應(yīng)該考慮具體的代碼或程序細(xì)節(jié)。將那種以“如何實現(xiàn)”的表述方式轉(zhuǎn)換為“實現(xiàn)什么”的方式,因為需求分析階段關(guān)注的目標(biāo)是“做什么”,而不是“怎么做”;
用例僅能捕獲功能性需求,不適合捕獲非功能性需求。
避免下面的情況出現(xiàn)
跨過需求,直接進(jìn)入了設(shè)計甚至實現(xiàn)階段。
因為在需求方面任何小的疏漏都可能導(dǎo)致進(jìn)展不利乃致失敗,因為太多的工作被浪費(fèi)在錯誤的方向上。
用你的想法來理解客戶的需求設(shè)計不應(yīng)該成為需求收集的一部分,將需求與設(shè)計分離是至關(guān)重要的。我們常常是提出問題,然后是解決問題。而不是有了一個解決方案之后,再找一個問題去適合它。問題的解決方案必須在問題已經(jīng)被確定、形成文檔、理解和達(dá)成共識之后產(chǎn)生。如果設(shè)計在需求之前提出,則系統(tǒng)用的就是自己的需求,并不能代表用戶的利益。在設(shè)計之前完整地定義問題永遠(yuǎn)都是明智的。要做到這些的方法只有一個,就是站在用戶的角度而不是設(shè)計者的角度看待系統(tǒng)。
從一開始你就沒聽清客戶要的是什么
很多時候,用戶并不知道自己要什么?需要我們?nèi)ヒ龑?dǎo)。當(dāng)系統(tǒng)存在多個用戶時,你會發(fā)現(xiàn)不同的用戶在需求方面是矛盾的。
2、確定需求的流程
(1)需求工作流
了解客戶方的所有用戶類型以及潛在的類型。然后,根據(jù)他們的要求來確定系統(tǒng)的整體目標(biāo)和系統(tǒng)的工作范圍。
對用戶進(jìn)行訪談和調(diào)研。交流的方式可以是會議、電話、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對于交流的結(jié)果還可以進(jìn)行分類,便于后續(xù)的分析活動。
可以將需求細(xì)分為功能需求、非功能需求(如響應(yīng)時間、平均無故障工作時間、自動恢復(fù)時間等性能和安全等方面的要求)、環(huán)境限制、設(shè)計約束等類型。
(4)應(yīng)用要點(diǎn)
在這個階段中,開發(fā)者一般不應(yīng)該考慮具體的代碼或程序細(xì)節(jié)。將那種以“如何實現(xiàn)”的表述方式轉(zhuǎn)換為“實現(xiàn)什么”的方式,因為需求分析階段關(guān)注的目標(biāo)是“做什么”,而不是“怎么做”;
用例僅能捕獲功能性需求,不適合捕獲非功能性需求。
避免下面的情況出現(xiàn)
跨過需求,直接進(jìn)入了設(shè)計甚至實現(xiàn)階段。
因為在需求方面任何小的疏漏都可能導(dǎo)致進(jìn)展不利乃致失敗,因為太多的工作被浪費(fèi)在錯誤的方向上。
用你的想法來理解客戶的需求設(shè)計不應(yīng)該成為需求收集的一部分,將需求與設(shè)計分離是至關(guān)重要的。我們常常是提出問題,然后是解決問題。而不是有了一個解決方案之后,再找一個問題去適合它。問題的解決方案必須在問題已經(jīng)被確定、形成文檔、理解和達(dá)成共識之后產(chǎn)生。如果設(shè)計在需求之前提出,則系統(tǒng)用的就是自己的需求,并不能代表用戶的利益。在設(shè)計之前完整地定義問題永遠(yuǎn)都是明智的。要做到這些的方法只有一個,就是站在用戶的角度而不是設(shè)計者的角度看待系統(tǒng)。
從一開始你就沒聽清客戶要的是什么
很多時候,用戶并不知道自己要什么?需要我們?nèi)ヒ龑?dǎo)。當(dāng)系統(tǒng)存在多個用戶時,你會發(fā)現(xiàn)不同的用戶在需求方面是矛盾的。
2、確定需求的流程
(1)需求工作流