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