《软件架构设计》温昱著
=================================================
非功能需求可分为:
1.约束
2.质量属性
a.运行期质量属性
b.开发期质量属性
先说下约束。约束会从三种途径影响设计:
a.设计可以直接遵守约束,比如“必须运行在Linux上”
b.约束转换为功能性需求,比如“系统必须严格按人行利率执行” => “必须提供利率调整的功能”
c.约束转换为非功能性需求,比如“操作者的计算机水平不高” => “必须有良好的易用性”
关于质量属性,作者创新地把它们分为运行期属性和开发期属性:
a.运行期:
Performance, security, usability, availability, scalability, interopreability,reliability, robustness
b.开发期:
Understandability, extensibility, reusability,testability, maintainability(可被修改的难易程度), portability