1.1 系统架构的概念及其发展历史
1.1.1 概念
软件系统架构是关于软件系统的结构、行为和属性的高级抽象。在描述阶段、其对象是直接构成系统的抽象组件以及各个组件之间的连接规则,特别是相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体类或者对象。软件系统架构不仅指定了软件系统的组织结构和拓扑结构,而且显示了系统需求和构成组件之间的对应关系,包括设计决策的基本方法和基本原理。
1.1.2 发展历史
1.2 系统架构师的定义与职业素质
1.2.1 系统架构师的定义
系统架构师是系统或产品线负责人,是一个负责理解和管理并最终确认和评估非功能性系统需求(如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等),给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构件、接口进行总体设计并澄清关键技术细节的高级技术人员。
1.2.2 系统架构师技术素质
- 具备丰富的一线大中型开发项目的总体规划、方案设计及技术团队管理经验;
- 具备软件行业工作经验,熟悉业务领域的技术应用和发展;
- 具有项目管理理论基础,并在应用系统开发平台和项目管理上有实践经验;
- 对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;
- 具备C/S或B/S体系结构或特定领域软件产品开发及架构和设计经验;
- 具备面向对象分析(OOA)、设计(OOD)、开发(OOP)能力,精通UML和XML等设计开发工具;
- 对相关编程技术及整个解决方案有深刻的理解及熟练的应用,精通架构和设计模式,及设计产品框架能力;
- 具备(大型)数据库的开发(使用)的技术能力;
- 对计算机系统、网络和安全、应用系统架构等有全面的认识;
- 良好的