《软件架构基础》系列是对Mark Richards 和 Neal Ford编写的 Fundamentals of Software Architecture 的读书总结, 本文总结了架构特征(Architecture Characteristics)的概念。
目录
架构特征(Architecture Characteristics)的定义
运营型架构特征(Operational Architecture Characteristics)
结构型架构特征(Structural Architecture Characteristics)
架构特征(Architecture Characteristics)的定义
架构特征指的是软件必须满足的但与领域功能(domain functionality)没有直接关联的所有需求。架构特征也被叫做非功能需求(non-functional requirement,NFR)。
一个架构特征需要满足以下三个准则:
- 指定了非领域(nondomain)的设计考虑
- 对设计的结构方面产生影响
- 对应用的成功与否起重要作用
架构特征可以分为显性的(explicit)和隐性的(implicit)特征。显性的架构特征指的是直接出现在需求描述中的特征。隐性的架构特征则很少直接出现在需求描述中,但是它们却是软件成功不可或缺的需求(即隐性需求)。例如可用性,可靠性和安全性基本上是大部分应用都需要考虑的需求,但是它们很少定义在设计文档中。架构师需要在分析阶段基于问题领域的知识挖掘这些隐性的架构特征。