质导向：传统的软件设计方法（例如杰克逊结构化编程）是依需求的机能以及资料在系统中流动的方式所驱动，不过目前的见解是软体系统的架构和其品质属性（例如故障容许度、向下兼容、、可靠度、、可用性、资料安全等）的关系更高。相关者的关注可以转换为有关这些品质属性上的需求，一般会称为非功能性需求、额外功能性需求、行为需求或品质属性需求。重覆的风格：软体架构和建筑类似，在处理一些重覆出现的事务时会发展出标准化的作法。标准化作法有许多不同的名称，其中也有不同程度的抽象化。常见的术语有架构风格 、tactic、及架构模式。