目录

  • 1、架构师定义
  • 1.1、确认需求
  • 1.2、系统分解
  • 1.3、技术选型
  • 1.4、制定技术规格说明
  • 1.5、核心、关键、难点任务的开发
  • 1.6、开发管理
  • 1.7、沟通协调
  • 2、总结


1、架构师定义

将客户的需求转换为规范的开发计划及文本, 并制定项目的总体架构,指导开发团队完成这个计划的那个人,就是架构师。

1.1、确认需求

准确完整理解用户真正的需求,明确设计目的

1.2、系统分解

横向分解:分层及逻辑层间的接口,如业务层数据层,或者前端组后端组数据组测试组运维组的人员分工和任务分解。

纵向分解:拆分为多个子系统服务化,可以单独提供部分功能单独部署扩展。或者逻辑拆分为模块进行职责分离如不同业务的团队,物理拆分为组件可以单元复用即零件可替换如抽取出来的基础构件开发团队。

1.3、技术选型

分解后的系统,形成一个统一的软件架构风格。然后结合架构弱点瓶颈组件优缺点,及系统的可用性、可扩展性、伸缩性、性能、安全、低成本、前瞻性(业务和技术,半年左右)等,采用分而治之、缓存、 异步、集群等手段给出多种方案,项目经理会 从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行拍板。

1.4、制定技术规格说明

与开发人员沟通协调,保证开发者依照架构意图去实现各项功能。即开发规范或示例。

1.5、核心、关键、难点任务的开发

如项目搭建,基础框架,公共组件,通用服务等开发,性能优化,疑难故障的解决。

1.6、开发管理

规划产品路线、估算人力资源和时间资源、安排人员职责分工、确定计划里程碑点、指导工程师工作、过程风险评估与控制包括技术风险等。

1.7、沟通协调

沟通协调好项目组内外各种角色的问题。

2、总结

架构师需要具备很多能力,如基础知识足够扎实(广度+深度),中间件框架深刻理解,行业领域解决方案熟知,抽象能力设计模式,攻坚补漏能力,沟通协调能力,自信力自驱力等。