前言
一个程序猿,绝不会因为看了几本架构的书,或者参加并通过一个架构师的考试,就成为一个合格的架构师。
但是在此之前,我们可以先了解架构师相关概念和具备的基本素质,以此来激励以后的学习。并给以后的学习制定一些方向。
今天是2022年8月25日 周四
距离软考高级《系统架构设计师》考试仅剩 72天。平时加班时间不稳定,所以不知道后面有多少时间复习,先继续整理和复习吧。
系统架构的概念
现代信息系统的架构,本质上存在2个层次。
- 一个是概念的层次
包括了艺术、科学、方法和建设风格。
- 一个是物理的层次
是指一系列的架构工作之后,产生的物理结构及其相互作用的结果。
系统架构师的定义
系统架构师师系统或产品的设计责任人,是一个负责管理并最终确认和评估非功能性系统需求(如软件的可维护性、性能、复用性、可靠性、有效性和可测试性),给出开发规范,搭建系统的核心架构,对整个软件架构、关键构件、接口进行总体设计并澄清关键技术细节的高级技术人员。
系统架构师主要着眼于系统的“技术实现”,同时还考虑系统的“组织协调”。
系统架构师的技术素质
- 具备丰富的一线大中型开发项目的总体规划、方案设计及技术队伍管理经验。
- 具备软件行业工作经验,熟悉业务领域的技术应用和发展。
- 具备项目管理理论基础,并在应用系统开发平台和项目管理上有实践经验。
- 对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握。
- 具备C/S 或 B/S 体系结构或特定领域软件产品开发及架构和设计的经验。
- 具备面向对象分析、设计、开发能力,精通UML和XML等,熟练使用相关工具。
- 对相关编程技术及整个解决方案有深刻的理解及熟练的应用,并且精通架构和设计模式。并在此基础上设计产品框架。
- 精通大型数据库如Oracle、Sql Server、MySQL 等的开发。
- 对计算机安全、网络和安全、应用系统架构等有全面的认识。
- 良好的团队意识和协作精神,有较强的内外沟通管理能力。
系统架构师的管理素质
作为一个高层技术管理人员,叫故事必须尽可能使所有团队人员的想法保持一致,为一个项目制定清晰的、强制性的、有远见的目标作为整个团队的动力,从而为达到整体目标所做的权衡提供基础。作为技术的领导者,系统架构师必须提供特定的方法和模型作为理想的技术解决方案;并排除各种非系统相关因素的影响。作为一个技术管理者,系统架构师在做决定时,必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。
系统架构师与团队其他角色的协调
软考高级中设置的其他岗位考试:
- 项目管理师
主要对项目的人员、资金、设备、进度、质量、风险等进行管理,负责整个项目的实施和控制,协调各种资源。
- 系统分析师
主要在分析用户的需求,制定项目开发计划,协调开发和运行所涉及的各类人员;
能评估和选用适宜的工具方法;
能按照标准规范编写系统分析、设计文档;
能对开发过程进行质量与进度控制;
能具体指导项目开发。
即:主要职责是,分析并获取用户需求,形成规范的文档,指导整个项目的开发,需要与客户不断的交流,熟悉应用领域的业务。
- 系统架构师
能够根据用户需求,结合用户应用领域的实际情况,设计正确的合理的软件架构,维护系统构件及接口,并确保系统架构具有良好的性能;
能够对项目进行系统架构级的描述、分析、设计与评估;
能够按照相关标准编写设计文档;
具有扎实的理论功底、广博的知识面,能够与系统分析师、项目管理师互相协作。
即:主要职责更强调整体的宏观的系统设计,重点在架构级别上。重点对架构进行描述、分析和评估。
系统架构师的知识结构
软件系统架构师综合能力包括9个方面。
- 战略规划能力
- 业务流程建模能力
- 信息数据架构能力
- 技术架构选择和实现能力
- 应用系统架构的解决和实现能力
- 基础IT知识及基础设施、资源调配能力
- 信息全技术支持与管理保障能力
- IT审计、治理与基本需求分析、获取能力
- 面向软件系统可靠性与系统生命周期的质量保障服务能力。
意味着系统架构师必须要在技术上精进,在沟通和管理上熟练的程度。
后记
最后希望大家一起努力,也能成为合格的系统架构设计师。
有打算考试的朋友,点赞关注,一起交流吧。