需求的種類各種各樣。一種分類的方法叫作 FURPS+ 模型 [GRA92],它使用首字母縮寫詞 FURPS 來描述具有以下子類別的主要需求類別。
功能性、
可用性、
可靠性、
性能和
可支持性
FURPS+ 中的“+”可提醒您還要包括如下需求:
設計約束、
實施需求、
接口需求和
物理需求。
功能性需求規定了系統無需考慮物理約束而必須能夠執行的動作。用例模型和用例中最能夠說明這些需求。功能性需求就這樣規定了系統的輸入輸出行為。
功能性需求之外的需求,如下所列,有時稱為非功能性需求。許多需求是非功能性的,它們僅僅說明系統或系統環境的屬性。有些需求在用例中有所記錄,未能記錄的可在補充規約中予以規定。非功能性需求解決的是如下所列的問題。
對于軟件需求的完整定義,可以將用例和補充規約結合到一起以定義某一“特性”或其他子系統分組的軟件需求規約 (SRS)。
功能性
功能性需求包括:
特性集、
功能和
安全性。
可用性
可用性需求可包含如下子類別:
人員因素(請參見:概念:以用戶為中心的設計)、
美觀、
用戶界面的一致性(請參見:指南:用戶界面)、
聯機幫助和環境相關幫助、
向導和代理、
用戶文檔和
培訓材料。
可靠性
需要考慮的可靠性需求有:
故障的頻率/嚴重性、
可恢復性、
可預見性、
準確性和
平均故障間隔時間(MTBF)。
性能
性能需求可對功能性需求強加條件。例如,對于一個給定行為,它可以對以下項規定性能參數:
速度、
效率、
可用性、
準確性、
吞吐量、
響應時間、
恢復時間,或
資源用途。
可支持性
可支持性需求可包括:
可測試性、
可擴展性、
可適應性、
可維護性、
兼容性、
可配置性、
可服務性、
可安裝性,或
是否可本地化(國際化)。
設計需求
設計需求常稱為設計約束,它規定或約束了系統的設計。
實施需求
實施需求規定或約束了系統的編碼或構建。例如:
所需標準、
實施語言、
數據庫完整性策略、
資源限制和
操作環境。
接口需求
接口需求規定了
系統必須與之交互操作的外部項,或
對這種交互操作所使用的格式、時間或其他因素的約束。 ]
物理需求
物理需求規定了系統必須具備的物理特征;例如,
材質、
形狀、
尺寸和
重量。
這種需求類型可用來代表硬件要求,如物理網絡配置需求。
原文轉自:http://www.anti-gravitydesign.com