在统一过程中,需求按照“FURPS+”模型进行分类[Grady92],这是一种有效的记忆方法,其含义如下:
·功能性(Functional):特性、功能、安全性。
·可用性(Usability):人性化因素、帮助、文档。
·可靠性(Reliability):故障频率、可恢复性、可预测性。
·性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率。
·可支持性(Supportability):适应性、可维护性、国际化、可配置性。
“FURPS+”中“+”是指一些辅助性的和次要的因素,比如:
·实现(Implementation):资源限制、语言和工具、硬件等。
·接口(Interface):强加于外部系统接口之上的约束。
·操作(Operation):对其操作设置的系统管理。
·包装(Packaging):例如物理的包装盒。
·授权(Legal):许可证或其他方式。
使用“FURPS+”分类方案(或其他分类方案)作为需求范围的检查列表是有效的,可以避免遗漏系统某些重要方面。
其中某些需求可以统称为质量属性(quality attribute)、质量需求(quality requirement)或系统的“某属性”。这些需求包括:可用性、可靠性、性能和可支持性。在一般使用中,需求按照功能性(行为的)和非功能性(其他所有的行为)来分类,有些人不喜欢这种宽泛的分类方式[BCK98],但这种方式已被广泛采用。
我们应该清楚,在进行架构分析的时候,质量属性对系统架构具有极大影响。例如,高性能、高可靠性需求将影响软件和硬件构件的选择及其配置。