架构师考点大纲 架构设计
软件架构模型组成
3部分组成:
构件(component): 可以是一组代码,如程序的模块也可以是一个独立的程序(如数据库的SQL服务器)
连接件(connector): 是关系的抽象,用以表示构件之间的相互作用。如过程调用﹑管道、远程过程调用等
约束(constrain): 用于对构件和连接件的语义说明。
基于架构开发方法 ABSD
ABSD:Architecture-Based Software Design
又称“基于架构的软件设计”,应该是一回事。
ABSD是架构驱动的,强调由商业,质量和功能需求的组合驱动软件架构设计。
ABSD强调用视角与视图描述软件架构,用用例与质量场景描述需求。
ABSD有三个基础,即功能分解,架构风格的选择,以及软件模板的使用。
总的过程(6点):
- 架构需求
- 架构设计
- 架构文档化
- 架构复审
- 架构实现
- 架构演化
分析过程(需求分析)
- 需求获取 (来自3方面:系统的质量目标,系统的商业目标,系统开发人员的商业目标)
- 标识构件
- 生成类图
- 对类进行分组
- 把类打包成构件
- 架构需求评审
设计过程
- 提出软件架构模型
- 映射构件
- 分析构件的相互作用
- 产生软件架构
- 设计评审
架构实现:
- 分析与设计(前面已经进行了)
- 构件实现
- 构件组装
- 系统测试
架构演化(6点,类计变更测评):
- 需求变化归类
- 制定架构演化计划
- 构件变动
- 更新构件的相互作用
- 构件组装与测试
- 技术评审
架构评估
ATAM通过理解体系结构方法来分析体系结构,评估过程分9个步骤
1- 描述ATAM方法
即评估小组负责人向参加会议的风险承担者介绍ATAM评估方法,让大家清楚接下来要做什么,每个人的角色和任务。
2- 描述业务动机
项目经理从业务角度介绍系统的概况,一般包括业务环境,背景,业务约束条件,技术约束,质量属性需求等内容。
3- 描述体系结构
首席设计师或设计小组对体系结构进行详略适当的介绍。包括技术约束,与本统交互的其他系统,用以满足质量属性要求的体系结构方法(功能,模块,进程,硬件)。
4- 确定体系结构方法
由设计师确定体系结构方法,由分析小组捕获,但不进行分析。
5- 生成质量属性效用树
评估小组,设计小组,管理人员和客户代表一起确定系统最重要的质量属性目标,并对这些目标设置优先级和细化。
6- 分析体系结构方法
7- 讨论分级场景
8- 分析体系结构方法
9- 描述评估结果