軟件需求是用戶解決問題或達到目標所需條件或權(quán)能、系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其它正式規(guī)定文檔所需具有的條件或權(quán)能,或者一種反映上面所述條件或權(quán)能的文檔說明。中培課堂《需求分析與管理最佳實踐》培訓(xùn)專家郭老師就軟件需求的分類情況進行了詳細介紹。
一、根據(jù)不同階段、不同屬性、不同場景等特性,需求可以分為以下幾類:
1、業(yè)務(wù)需求(Business requirement):
反映了組織機構(gòu)或客戶對系統(tǒng)、產(chǎn)品高層次的目標要求。業(yè)務(wù)需求通常來自項目投資人、購買產(chǎn)品的客戶、實際用戶的管理者、市場營銷部門或產(chǎn)品策劃部門。業(yè)務(wù)需求描述了組織為什么要開發(fā)一個系統(tǒng),即組織希望達到的目標,使用前景和范圍(vision and scope)文檔來記錄業(yè)務(wù)需求,這份文檔有時也被稱作項目輪廓圖或市場需求(project charter 或 market requirement)文檔。
2、用戶需求(User requirement):描述的是用戶的目標或用戶要求系統(tǒng)必須能完成的任務(wù)。用例、場景描述和事件――響應(yīng)表都是表達用戶需求的有效途徑,也就是說用戶需求描述了用戶能使用系統(tǒng)來做些什么。
3、系統(tǒng)需求(system requirement):是系統(tǒng)必須完成的事以及必備的品質(zhì),一般用于描述包含多個子系統(tǒng)的產(chǎn)品(即系統(tǒng))的頂級需求。系統(tǒng)可以只包含軟件系統(tǒng),也可以既包含軟件又包含硬件子系統(tǒng)。系統(tǒng)需求包括功能需求、業(yè)務(wù)流程需求和非功能需求。
4、功能需求(Functional requirement):定義了開發(fā)人員必須在產(chǎn)品中實現(xiàn)的軟件功能,用戶利用這些功能來完成任務(wù),滿足業(yè)務(wù)需求。功能需求有時也被稱作行為需求(behavīoral requirement),因為習(xí)慣上總是用“應(yīng)該”對其進行描述:“系統(tǒng)應(yīng)該發(fā)送電子郵件來通知用戶已接受其預(yù)定”。功能需求描述是開發(fā)人員需要實現(xiàn)什么。
5、業(yè)務(wù)流程需求:業(yè)務(wù)流程需求是根據(jù)業(yè)務(wù)目標對業(yè)務(wù)過程進行分解,說明業(yè)務(wù)的處理步驟、以及每個步驟的角色者,一般用活動圖并輔以文字加以描述。業(yè)務(wù)流程需求通常還需要說明業(yè)務(wù)規(guī)則,也就是業(yè)務(wù)辦理過程中的一些約束條件,包括輸入數(shù)據(jù)的校驗規(guī)則和業(yè)務(wù)處理的邏輯規(guī)則。
6、非功能需求(Non-functional requirement):非功能需求包括產(chǎn)品必須遵從的標準、規(guī)范和合約、外部接口的具體細節(jié)、性能要求、設(shè)計或?qū)崿F(xiàn)的約束條件及質(zhì)量屬性等。非功能需求包括性能需求、接口需求、可靠性需求、可恢復(fù)性需求、易用性需求、安全性需求、GUI需求、可保障性(Supportable)需求、兼容性需求、部署需求、安裝需求等。
7、測試需求(Testing requirement):確切地講,所謂的測試需求就是在項目中要測試什么。我們在測試活動中,首先需要明確測試需求(What),才能決定怎么測(How),測試時間(When),需要多少人(Who),測試的環(huán)境是什么(Where),測試中需要的技能、工具以及相應(yīng)的背景知識,測試中可能遇到的風(fēng)險等等,以上所有的內(nèi)容結(jié)合起來就構(gòu)成了測試計劃的基本要素。
8、運營需求:運營需求是系統(tǒng)上線后對通過IT服務(wù)對業(yè)務(wù)的運營支撐,所反映出的用戶對業(yè)務(wù)的接受度、訂單量的波動情況、注冊用戶數(shù)的波動情況、有策劃的市場活動對電子交易的貢獻等信息狀態(tài)。
9、采購需求:采購需求是指對采購標的的特征描述。要實施采購就一定要搞清楚采購需求,好的采購需求能夠合理、客觀反映采購標的的主要特征以及要求供應(yīng)商響應(yīng)的條件,符合適用原則、非歧視原則,并能夠切合市場實際。
10、外包需求:將某項任務(wù)或服務(wù)的執(zhí)行或管理責(zé)任轉(zhuǎn)由第三方來完成的需求,稱之為外包需求。
11、接口需求:用戶對待開發(fā)軟件系統(tǒng)與其他軟件系統(tǒng)或硬件設(shè)備之間的接口的要求。
12、性能需求:用戶在軟件響應(yīng)速度、結(jié)果精度、運行時資源消耗量等方面的要求。
13、安全性需求:用戶在身份認證、授權(quán)控制、私密性、加密管理等等方面的要求。
14、可靠性需求:用戶在軟件失效的頻率、嚴重程度、易恢復(fù)性,以及故障可預(yù)測性等方面的要求。
15、可恢復(fù)性需求(Recovery testing):是指系統(tǒng)從災(zāi)難或出錯中可以很好恢復(fù)的需求,如遇到系統(tǒng)崩潰、硬件損壞或其他災(zāi)難性出錯,應(yīng)用程序和數(shù)據(jù)可以很快得到正確的恢復(fù)。可恢復(fù)需求通常需要關(guān)注恢復(fù)所需的時間以及恢復(fù)的程度。
16、可保障性(Supportable)需求:用戶在軟件可配置性、可擴展性、可維護性、可移植性等方面的要求。
17、易用性需求:用戶在界面的易用性、美觀性,以及對面向用戶的文檔和培訓(xùn)資料等方面的要求。(行業(yè)標準)。
18、GUI需求:從GUI設(shè)計的規(guī)范性、GUI布局的合理性、GUI風(fēng)格的一致性、GUI界面操作課定制性等方面對界面設(shè)計提出要求。
19、兼容性需求:是對軟件從某一環(huán)境轉(zhuǎn)移到另一環(huán)境的能力的具體要求,包括以下幾方面:操作系統(tǒng)兼容性,異構(gòu)數(shù)據(jù)庫兼容性,新舊數(shù)據(jù)轉(zhuǎn)換,異種數(shù)據(jù)兼容性,用軟件兼容性,硬件兼容性等。
20、部署需求:對軟件系統(tǒng)運行環(huán)境的要求,包括操作系統(tǒng)、數(shù)據(jù)庫、中間件等軟件版本、硬件環(huán)境、網(wǎng)絡(luò)等。
21、安裝需求:是對軟件安裝的具體要求,例如:軟件在正常和異常情況的不同條件下,都可以正確安裝,完整的或自定義的安裝都能正常進行,系統(tǒng)升級可以正確進行,軟件卸載可以正常進行。異常情況包括磁盤空間不足、缺少目錄創(chuàng)建權(quán)限等系統(tǒng)會給出正確提示。
22、業(yè)務(wù)規(guī)則:包括企業(yè)方針、政府條例、工業(yè)標準、會計準則和計算方法等,業(yè)務(wù)規(guī)則通常是隱性需求。
想了解更多,請咨詢中培偉業(yè)官網(wǎng):http://m.uesk.com.cn