架构师是什么?

架构师是什么?

在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本, 并制定这个项目的总体架构,指导整个开发团队完成这个计划的那个人,就是架构师。一般是一个项目里的最资深的专业技术人员,可以说架构师首先一定是个 Java 高级开发人员。

主要职责

主要是架构设计、软件开发,具体来说包括 :

  1. 确认需求
    在项目开发过程中,架构师是在需求规格说明书完成后介入的,需求规格说 明书必须得到架构师的认可。架构师需要和分析人员反复交流,以保证自己完整 并准确地理解用户需求。
  2. 系统分解
    依据用户需求,整个系统是否需要分层,如何进行分层,架构师将系统整体 分解为更小的子系统和组件,从而形成不同的逻辑层或服务。随后,架构师会确 定各层的接口,层与层相互之间的关系。架构师不仅要对整个系统分层,进行“纵 向”分解,还要对同一逻辑层分块,进行“横向”分解
    软件架构师的功力基本体现于此,这是一项相对复杂的工作。
  3. 技术选型
    架构师通过对系统的一系列的分解,最终形成了软件的整体架构。技术选择 主要取决于软件架构,就是不断找到系统的瓶颈和弱点,采用分而治之、缓存、 异步、集群等手段逐渐化解,并平衡处理系统各项要求(性能、安全、可用性、 伸缩性、扩展性…)的过程。由此形成了架构。
    什么样的架构才是好的架构?
    答案肯定是适用于当前业务和团队成员,并保留适当前瞻性(最多半年的业务 增长)的就是好架构。
    WebServer 运行在 Windows 上还是 Linux 上?数据库采用 MSSql、Oracle 还 是 Mysql?需要不需要采用 MVC 或者 Spring 等轻量级的框架?前端采用富客户 端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估
    架构师对产品和技术的选型仅仅限于评估,没有决定权,最终的决定权归项 目经理。架构师提出的技术方案为项目经理提供了重要的参考信息,项目经理会 从项目预算、人力资源、时间进度等实际情况进行权衡,最终进行确认。
  4. 制定技术规格说明
    架构师在项目开发过程中,是技术权威。他需要协调所有的开发人员,与开 发人员一直保持沟通,始终保证开发者依照它的架构意图去实现各项功能。
  5. 核心、关键或者难点任务的开发
  6. 开发管理
    通常还需要承担一些管理职能:规划产品路线、估算人力资源和时间资源、 安排人员职责分工,确定计划里程碑点、指导工程师工作、过程风险评估与控制 等。这些管理事务需要对产品技术架构、功能模块划分、技术风险都熟悉的架构 师参与或直接负责。
  7. 沟通协调
    项目目组内外各种角色沟通协调,可以说架构师相当多的时间用在和人打交 道上。处理好人的关系对架构和项目的成功至关重要。

架构师的方方面面

  • 作用
    负责系统架构设计,同时也要负责架构的实施落地、演化发展、推广重构。 充当救火队员的角色,系统出现故障或者“灵异现象”,会请他们出马解决。 架构师对某一领域有较深刻的认识,有时候甚至是坚定的技术信仰,乐于同他 人分享自己的知识,希望能够推广自己的技术主张。
  • 效果
    不管项目有多么艰难复杂,只要有优秀的架构师,大家就会坚信,项目一定能 顺利完成。优秀的架构师带给项目组的,不只是技术和方法,更重要的是必胜的信 念。这种信念是架构师自己积累起来的气场和影响力。

架构师通常会开发项目中最具技木难度和挑战性的模块,从而为整个项目的 顺利进行铺平道路。这些模块包括基础框架、公共组件、通用服务等平台类产品。在大型互联网应用中,基础服务承担着海量的数据存储和核心业务处理服务,有许多挑战性的工作。所以我们的实战就是实现一个基础框架和对一个项目进行性能 优化。

小编也是一个一直在成为一个架构师而努力着,相信也会有更多的小伙伴和我一样,加油!!!

发布了34 篇原创文章 · 获赞 36 · 访问量 2129

猜你喜欢

转载自blog.csdn.net/weixin_42081445/article/details/105419189