一、系统架构
1.三层次模型:a.领域开发环境;b.领域特定应用开发环境;c.执行环境。
2.基于架构的软件开发ABSD:a.视角和视图,业务、质量和功能需求;b.三个基础,功能的分解,通过选取架构风格实现质量和业务需求,软件模板的使用。
3.基于架构的软件开发ABSD流程:需求→设计→文档化→复审→实现→演化。
需求,a.需求获取;b.构成构件,生成类图,对类分组,把类打包成构件;c.需求评审。
设计,将需求阶段标识构件映射成构件。
文档化,体系结构规格说明,体系结构需求的质量设计说明书。
复审,外部人员。
实现,实体显示出架构。
演化,新需求。
二、系统架构评估
1.性能:系统响应能力、响应时间、吞吐量。优先队列,增加计算资源、减少计算开销、引用并发机制、采用资源调度。
2.可靠性:在意外或错误使用的情况下维持系统软件功能特性的基本能力。如MTTF、MTBF、MTTR。设计策略,心跳、Ping/Echo、冗余、选举。
3.可用性,可以正常运行的时间比例。如故障间隔时间。设计策略,心跳、Ping/Echo、冗余、选举。
4.安全性:系统在向合法用户提供服务的同时能阻止非授权用户使用的企图或拒绝服务的能力。如,保密性、完整性、不可抵赖性、可控性。设计策略,入侵检测、用户认证、用户授权、追踪审计。
5.可修改性:可快速以较高性能价格比对系统进行变更。设计策略,接口、实现分类、抽象、信息隐藏。
6.质量场景的特殊属性点:a.敏感点,为实现某种特殊质量属性,具有的特点(一个);b.权衡点,影响多个质量特性;c.风险点和非风险点,可能引起风险的点。
7.基于场景的方式:刺激,事件;环境,事件发生的环境;响应,架构响应刺激的过程。
8.ATAM,让架构师明确如何权衡多个质量目标,评估小组、项目决策者、其他项目相关人。
9.四个主要活动领域:场景和需求收集、体系结构视图和场景实现、属性模型构建和分析折中、以属性作为架构评估核心概念。