软件架构风格
定义
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说在不同的系统中,使用同一个软件架构。
分类
数据流风格
数据流风格包括批处理和管道/过滤器两种风格
调用/返回风格
调用/返回风格包括主程序/子程序、数据抽象和面向对象,以及层级结构。
独立构件风格
独立构件风格包括进程通信和事件驱动的系统。
虚拟机风格
虚拟机风格包括计时器和基于规则的系统。
仓库风格
仓库风格包括数据库系统、黑板系统和超文本系统。
软件架构评估
敏感点
一个或多个构件的特性
权衡点
影响多个质量属性的特性,是多个质量属性的敏感点。
评估方式分类
- 调查问卷(或检查表)的方式
- 基于场景的方式
- 分析方法
①、架构权衡分析法(ATAM)
②、软件架构分析法(SAAM)
③、成本绩效分析法(CBAM) - 对场景进行描述
①、刺激:刺激是场景中解释或描述项目干系人怎么引发与系统的交互部分
②、环境:环境描述的是刺激发生时的情况
③、响应:响应是指系统如何通过架构对刺激作出反应的。
- 分析方法
- 基于度量的方式