·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
DZ插件网 门户 网站安全 查看内容

从零开始学架构(一)架构师成长路径

2023-8-3 16:43| 发布者: 拾光| 查看: 32213| 评论: 0

摘要: 本文介绍了从零开始学习架构的内容,包括架构的本质、软件工程、架构师职责和成长路径等方面,对于想要了解和发展在架构领域的人来说,是一个很好的学习资源。
内容摘要

从架构的本质,软件工程,架构师职责,成长路径等方面,介绍什么是架构,架构流程以及架构师职责和成长规划。

本篇主题

一、什么是架构

二、项目中的角色

三、架构师职责和工作内容

四、架构工作流

五、架构师成长路径

六、架构能力模型

七、扩展知识

八、本章总结

一、什么是架构

架构是系统的蓝图,描述了系统的结构和关键决策。包含系统的功能和非功能性需求,如何实现的,系统与子系统是如何划分的,系统之间如何通信的,系统功能如何设计的和交互的。

包含重要的架构决策,系统组成,功能设计,技术选型,成本分析等

架构的基础是设计满足客户需求的系统,其中包含功能性,非功能性以及质量和约束。

二、项目中的角色

客户:为系统开发买单的人,关注系统的业务价值。

用户:使用系统的人,关注是否满足功能需求,提升效率和易用性等。

项目经理:负责项目管理,组织,协调,沟通等管理工作。

需求分析师:负责需求相关工作,比如业务分析,需求获取,需求调研,需求管理,编写需求规格说明书等

系统架构师:负责整体的系统分析,架构规划,技术选型,核心功能需求和非功能性需求的架构设计。

系统设计师:在架构模型的基础上,进行核心功能和非核心功能的详细设计。

开发人员:根据架构设计和详细设计完成编码和单元测试,达到提测标准。

测试人员:验证开发功能是否满足需求,比如进行功能测试,集成测试,性能测试,压力测试,安全性测试,回归测试等。

运维人员:负责部署环境搭建,部署和日常维护。

三、架构师职责和工作内容

架构师在项目中起到承上启下的作用。建议参与到系统建设过程的全流程中。

架构师的职责如下:

1)支持售前或需求阶段,提供概念架构或技术咨询;

2)系统分析,架构设计,技术选型,产出架构解决方案;

3)指导项目团队成员,按照架构设计完成,开发,测试和发布;

4)开发或设计开发框架,制定编码/编程规范,设计架构原型,验证架构原型;

5)组织技术或架构培训,把握技术/架构方向;

6)方案平衡(实现与成本),干系人沟通,技术风险管理,技术领袖等;

按照项目阶段,简述工作内容,如下:

售前阶段,给予商务支持,提供系统解决方案和架构咨询。

需求阶段,与需求分析师一起,参与需求沟通,协助完成技术/业务咨询和需求模型。(好的架构师同时是业务专家)

架构阶段:进行系统分析和设计,进行系统抽象,设计系统模型,进行技术原型,开发架构原型等

设计阶段:指导设计人员完成详细设计;

开发阶段:指导开发人员按设计实现,解决技术难题。

测试阶段:指导测试人员测试工作,特别是非功能需求的测试。

发布阶段:指导部署人员按照部署架构进行部署,及时解答或反馈试运行期间的架构问题。

其他工作:技术选型,人员培训,技术指导

四、架构工作流程

架构工作流程是一个系统如何从需求,架构到实现的过程和方法。

良好的架构,需要架构师除具备技术和架构设计能力外,还要有良好(丰富)的业务知识。从软件工程角度,架构师除参与系统的架构设计阶段外,还需要参与需求分析阶段,开发,测试,发布,试运行阶段。

本节内容,从需求模型和解决方案模型,介绍架构工作的流程。

主要包括需求模型,架构模型,设计模型,解决方案模型,四个方面。

需求模型:参与需求分析和需求模型设计,提供技术建议或引导需求定义,提供解决方案指导。

主要参与者:需求分析师,业务分析师

辅助参与者:架构师,设计师

架构模型:根据需求模型,产出架构模型。

1)选择架构对象:关键流程,核心用例和非功能需求;

2)流程建模:梳理需求关键流程,分析业务对象,子系统,模块,设计出系统的交互流程;

3)领域建模:梳理业务流程中涉及的对象,子系统模块,划分子系统,模块,核心对象,通信机制,事务模型等

4)输出总体架构:根据领域模型和业务流程模型,结合组件架构,部署架构,通信机制,输出系统体架构方案。

5)架构验证:验证架构可用性,可以用评审或架构原型的方式,进行评审或实际测试验证。

主要参与者:架构师,架构委员会

辅助参与者:系统设计师,开发人员,测试人员

设计模型:在架构师指导下,根据系统架构,完成各子系统,模块,功能,接口的概要或详细设计。

主要参与者:系统设计师,高级工程师

辅助参与者:架构师

解决方案模型:架构模型,设计模型,架构原型等统一组成架构解决方案。

一个完整的系统架构应包括:整体架构,子系统,模块,功能概要或详细设计,通信机制,事务机制,接口定义(内部,外部),领域模型,业务流程,数据库设计,中间件,组件架构,部署架构等

系统架构解决方案标准

1)满足系统的功能和非功能性需求;

2)符合项目要求的规模和成本;

3)满足开发,测试和发布要求;

五、架构师成长路径

本质:学习,实践,总结,个人进步和能力成长的过程。

开发工程师:主要在指导下进行开发或独立进行简单功能开发。本阶段的核心是学好技术本身,多做一些项目,勤奋,思考,总结。这个时期就是学习,实践让自己的技能水平不断提升。空闲时间可以学一些设计模式,软件工程方面的知识,用于拓展视野和为高级工程师做准备。

当自己的技术能力,项目经验,编码水平,设计能力达到一定程度后,就可以升级为高级工程师。

一句话:写好代码,积累经验。

高级工程师:可以独立或带领工程师负责某模块/系统的设计和开发,在技术和项目上有一定的经验。本阶段可以根据自己的职业目标选择深入技术或学习管理知识。

学习的方向:技术深度,技术广度,分布式,架构知识和管理知识等。

一句话:技术深入全面,思考完善的系统设计。

系统架构师(技术专家):在某一方面技术达到一定深度,在某些方面有自己的见解和独立解决问题的能力。可带领一个技术团队进行开发和管理工作。可完成需求分析,系统设计,技术选型,架构设计,开发管理等工作。

一句话:技术专家,架构实践和管理能力。

资深架构师:具备丰富的大型项目,多种项目的需求分析,系统架构,系统设计,项目管理等经验。在技术的广度和深度方面,业务知识方面具备专业的建树。

一句话:大型项目,领域专家和解决方案。

技术总监,CTO,技术副总裁:负责公司整体技术规划,技术管理,把握技术方向,精通业务和技术,具备良好的沟通,组织和协调能力。

一句话:方向,流程,制度,规范,管理。

以上是个人对职位和能力的总结,供参考。

六、架构师能力模型

从宏观角度和专业领域,简单介绍架构师的能力模型。

6.1 宏观角度

深度:在某一项或多项技术领域有一定深度,掌握技术的特点,适应场景和缺点

广度:多项技术,掌握非技术知识,比如需求,项目,管理等

6.2 专业领域

技术:精通一方面或多方面技术,有自己的见解和实践经验;

业务:精通负责领域的业务知识,达到或基本达到领域专家级别;

架构:精通需求分析,系统架构,设计模型,架构模型,具备丰富的架构经验;

管理:精通技术管理,项目管理和通用管理知识和能力;

七、架构扩展知识

以下内容可自行脑补。

1. 软件工程

2. 需求工程

3. 项目管理

4. 干系人,涉众

八、本章总结

从架构的本质,项目角色,架构师职责,软件工程,成长路径等方面,介绍了什么是架构,架构流程以及架构师职责,成长路径和能力模型。

本篇是根据学到的知识,工作经验和个人思考 ,进行的总结,供学习参考。不足之处,欢迎大家一起交流。

预告: 第二篇 架构知识领域

2.1架构方法论:面向过程,面向对象,面向方面,面向服务

2.2系统划分:系统,子系统,模块,功能,接口

2.3架构基本原则:通用专用,职责分离等

2.4模式:设计模式,架构模式,基础设施模式

2.5架构视图:4+1视图



上一篇:收藏,7个行业数据分析网站
下一篇:10个免费高清视频网站,强烈推荐

鲜花

握手

雷人

路过

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.225.54.147,GMT+8, 2024-12-27 12:43 , Processed in 0.159942 second(s), 43 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯
扫一扫添加微信客服
QQ客服返回顶部
返回顶部