1. 程式人生 > >功能性需求和非功能性需求

功能性需求和非功能性需求

需求定義:需求(requirement)就是系統(更廣義的說法是專案)必須提供的能力和必須遵從的條件。

需求分類:

(1) 在一般使用中,需求按照功能性(行為的)和非功能性(其它所有的行為)來分類。

功能性需求是說有具體的完成內容的需求。

  例如:比如客戶登入、郵箱網站的收發收發郵件、論壇網站的發帖留言等。

非功能性需求是指軟體產品為滿足使用者業務需求而必須具有且除功能需求以外的特性,包括系統的效能、可靠性、可維護性、可擴充性和對技術和對業務的適應性等。

  例如:效能要求:要求系統能滿足100個人同時使用,頁面反應時間不能超過6秒;

     可靠性: 系統能7×24小時連續執行,年非計劃宕機時間不能高於8小時。要求能快速的部署,特別是在系統出現故障時,能夠快速的切換到備用機。

 

(2) 在統一過程(UP)中,需求按照“FURPS+”模型進行分類。

    • 功能性(Functional):特性、功能、安全性;
    • 可用性(Usability):人性化因素、幫助、文件;
    • 可靠性(Reliability):故障頻率、可恢復性、可預測性;
    • 效能(Performance):響應時間、吞吐量、準確性、有效性、資源利用率;
    • 可支援性(Supportability):適應性、可維護性、國際化、可配置性。

“FURPS+”中的“+”是指一些輔助性的和次要的因素,比如:

    • 實現(Implementation):資源限制、語言和工具、硬體等;
    • 介面(Interface);強加於外部系統介面之上的約束;
    • 操作(Operation):對其操作設定的系統管理;
    • 包裝(Packaging)例如物理的包裝盒;
    • 授權(Legal):許可證或其他方式。

使用“FURPS+”分類方案(或其他分類方案)作為需求範圍的檢查列表是有效的,可以避免遺漏系統某些重要方面。

其中某些需求可以統稱為質量屬性(quality attribute)、質量需求(quality requirement)或系統的“某屬性”。這些需求包括:可用性、可靠性、效能和可支援性