需求定義為「系統必須符合的條件或功能」。
需求有許多不同的類型。有一種分類法稱為 FURPS+ 模型 [GRA92],字首語
FURPS 代表具有子種類的主要需求種類,如下所示。
FURPS+ 的 "+" 表示還可以納入下列需求:
(另請參閱 [IEEE Std 610.12.1990]。)
這些非功能面需求的種類和範例可以當做核對清單,讓您自行檢查是否有特定種類的需求。 但您要如何建立一份完整的非功能面候選需求的清單呢?其他一些來源包括:
功能面需求指定系統必須執行的動作,不考慮實體限制。這些通常會在使用案例模型和使用案例中詳細說明。因此,功能需求指定系統的輸入及輸出行為。
沒有功能的需求(列示如下)有時又稱為非功能面需求。有許多需求皆為非功能面,只描述系統的屬性或系統環境的屬性。非功能面需求是指解決下列議題的需求。
功能面需求可能包含:
可用性需求可能包含下列子種類:
-
人為因素
-
審美觀
-
使用者介面的一致性
-
線上和上下文相關說明
-
精靈和代理程式
-
使用者文件
-
訓練教材
需要考量的可靠性需求包括:
-
失敗的頻率和嚴重性
-
回復性
-
預測性
-
精確度
-
平均失效時間 (MTBF)
效能需求在功能需求上強加條件。例如,對於一項指定的動作,可能指定下列效能參數:
-
速度
-
效率
-
可用性
-
精確度
-
傳輸量
-
回應時間
-
回復時間
-
資源使用量
支援性需求可能包含:
-
測試性
-
延展性
-
調整性
-
維護性
-
相容性
-
配置性
-
服務性
-
安裝性
-
本土性(國際化)
設計需求(通常稱為設計限制)指定或限制系統的設計。
實作需求指定或限制系統的程式碼撰寫或建構。例如:
-
必要標準
-
實作語言
-
資料庫完整性的原則
-
資源限制
-
操作環境
介面需求指定:
-
系統必須互動的外部項目
-
互動過程使用的格式、時間或其他因素的限制
實體需求指定系統必須具備的特性;例如,
這種需求可用來代表硬體需求,例如必要的實體網路配置。
|