软 件 架 构 设 计 指 南 一、 软件架构设计 当对象、类、构件、组件等概念出现并成熟之后,传统意义上的软件概要设计(或软件系统设计),就逐渐改名为软件架构设计
所以说,软件架构设计就是软件概要设计
软件架构设计工作由架构师来完成,架构师是主导系统全局分析设计和实施、负责软件构架和关键技术决策的角色,他的具体职责为: 领导与协调整个项目中的技术活动(分析、设计入实施等) 推动主要的技术决策,并最终表达为软件构架描述 确定和文档化系统中对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图” 确定设计元素的划分以及这些主要分组之间的接口 为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效传达和贯彻 理解、评价并接收系统需求 评价和确认软件架构的实现 二、 软件架构基本概念 5
1 软件架构定义 系统是部件的集合,完成一个特定的功能或完成一个功能集合
架构是系统的基本组织形式,描述系统中部件间及部件与环境音质相互关系
架构是指导系统设计和深化的原则
系统架构是实体、实体属性以及实体关系的集合
软件架构是软件部件、部件属性以及客观存在们之间相互作用的集合,描述软件系统的基本属性和限制条件
2 软件架构建模 软件架构建模是与软件架构的定义和管理相关的分析、设计、文档化、评审及其他活动
软件架构建模的目的: a) 捕获早期的设计决策
软件架构是最早的设计决策,它将影响到后续设计、开发和部署,对后期维护和演变也有很大的影响
b) 捕获软件运行时的环境
c) 为底层实现提供限制条件
d) 为开发团队的结构组成提供依据
e) 设计系统满足可靠性、可维护性以及性能等方面的要求
f) 方便开发团队之间的交流
3 软件架构视图 软件架构视图是指从一个特