java架构师一般的工作内容和职责是什么?很多人想做架构师,但是却不知道架构师一般都做些什么。
架构师需要参与项目开发的整个过程,包括需求分析、架构设计、系统实现、集成、测试和部署,并负责指导和协调整个项目的技术活动和技术指导。
架构师主要职责有4条:
1、确认需求
在项目开发过程中,架构师在需求规范完成后进行干预,需求规范必须经架构师认可。架构师需要和分析人员反复交流,以保证自己完整并准确地理解用户需求。
2、系统分解
根据用户的需求,架构师将整个系统分解为较小的子系统和组件,形成不同的逻辑层或服务。随后,架构师决定了层的接口、层与层之间的关系。架构师不仅要对整个系统分层,进行“纵向”分解,还要对同一逻辑层分块,进行“横向”分解。
软件架构师的功力基本体现于此,这是一项相对复杂的工作。
3、技术选型
通过系统的一系列分解,架构师最终形成了软件的总体架构。技术选择主要取决于软件架构。
WebServer运行在Windows上还是Linux上?数据库采用MSSql、Oracle还是Mysql?需要不需要采用MVC或者Spring等轻量级的框架?前端采用富客户端还是瘦客户端方式?类似的工作,都需要在这个阶段提出,并进行评估。
架构师对产品和技术的选择仅限于评估,没有决定权,最终还是项目经理决定。架构师提出的技术解决方案为项目经理提供了重要的参考信息,他将权衡项目预算、人力资源、时间等的实际情况确认。
4、制定技术规格说明
架构师是项目开发过程中的技术权威。他需要协调所有开发人员,与开发人员保持联系,并始终确保开发人员遵循其架构意图来实现这些功能。
架构师与开发者之间交流的最重要形式是技术规格书,包括UML视图、Word文档、Visio文件等多种表达形式。通过架构师提供的技术,确保开发人员可以从不同的角度观察和理解自己的子系统或模块。
架构师不仅需要与开发人员保持沟通,还需要与项目经理、需求分析师甚至最终用户保持沟通。所以对于架构师来说,不仅有技术要求,还有人际要求。