主要内容
- 体系结构定义(SA01)
- 体系结构风格(SA02)
- 建模和文档化体系结构(SA03)
- 质量属性(SA04)
可用、可修改、安全、易用、可测试、性能
- 体系结构设计(SA05)
设计策略
- 体系结构评估(SA06)
ATAM,效用树
体系结构定义
- 无同一定义(各流派定义不一)
- 体系结构=组件+连接件+约束
- 组件:完成处理
- 连接件:完成通信处理
- 约束:调用规则
体系结构分风格
- 体系结构风格的定义、描述
- 常见的体系风格,优点、缺点(大题会考)
建模和文档化软件体系结构
- 基于软件体系结构的开发(ABD)
- 如何文档化软件架构
- 好文档的评价准则
- 采用视图描述软件架构
- IEEE 1471
- 4+1视图
- 体系结构语言ADL
- UML
软件质量属性
- (质量属性是非功能性需求的子集)
- 软件质量属性定义
- 软件质量属性与功能、非功能需求的关系
- 质量属性情景
6要素法
- 常见的软件质量数学
软件体系结构设计
- 基于6个质量属性的设计策略
软件体系结构评估
- 常见体系结构评估方法
- ATAM
- 质量属性评估效用树
- 风险点、非风险点、敏感点、权衡点
考试题型
- 基本概念题
问答形式
- 选择题
- 软件体系结构定义
- 软件体系结构风格
- 软件文档、建模
- 软件质量属性及实现方法
- 软件评估
- 综合题
- 质量属性/场景、设计策略、软件体系结构风格
- 软件体系结构设计
- 软件质量评估:效用树、风险点、敏感点
例题
什么叫软件架构?
对于研究复杂系统的方法,比较抽象,无同一定义,业界较为认可的定义:体系结构=组件+连接件+约束(对该定义加入一些自己的理解和认知)
例题1
- 质量属性判断(先判断是功能还是非功能性需求)
- 功能
- 可用性
- 易用性
- 可修改性
- 安全性
- 功能
- 性能
- 可测试性
- 架构风格
- 隐式调用,事件系统
例题2
- 质量属性分析
- 架构风格
- 规则系统
- 计算discount 的规则在变,应该抽取规则,而不是抽取数据