架构师和架构
架构师是设计架构、负责系统的那个人,是一个角色,不是一种职位。
架构师的职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
技术选型,解决技术使用中存在问题
性能优化
模块分解
系统安全与高可用
技术创新
沟通管理
……
总得来说,架构师应该具备三方面的能力:技术能力、业务能力和管理能力。技术能力和业务能力是一个架构师的根基,而管理能力可以决定架构师的高度。
架构师的能力
编程能力
基础技术掌握能力
常用技术产品理解和应用能力
性能优化和分析故障的能力
常用架构和框架的理解和应用能力
建模和设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力
……
架构师能力分为:
技术能力:具备有兼深度和广度的技术能力
业务能力:业务理解和抽象的能力
学习能力:快速学习和高效学习的能力
沟通表达能力:能有效、高效的阐述表达的能力
管理能力:团队管理的能力
如何成为一个架构师
要成为一名架构师首先就是要抛弃为了工作而工作的想法,不能只为完成工作既满足。想要成为架构师,首先要去做架构师要做的事情,架构师不在于你是否在这个位置上,而是你有没有承担了架构师的职责,完成了架构师的事情。想要成为一名优秀的架构师或者想要成为一个架构师,关键在于“悟”。
架构的定义
软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计(维基百科)
架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。(百度百科)
架构的核心就是处理相关方的关注点,好的架构师是面向对象工作的,面对不同的对象给出不同的输出物。
表达架构最好的方式是使用架构视图表达架构设计。业界著名的4+1视图正是这方面的优秀方法。
每个视图都有各自关注点和对面的对象具体总结如下:
架构师常用的建模语言就是UML统一建模语言来表达架构设计,UML图分为两大类分别为静态图(用例图、类图、组件图、部署图)和动态图(序列图、活动图、状态图)
在一个项目的不同阶段需要使用不同的表达方式来表达架构的设计,正如上图的分层所述,在这三个阶段,因为面对的相关方不一样,因此需要使用不同的额uml图阐述架构设计。很多人在做项目的时候忽略的设计或者根本就不写什么设计文档,其实这样是不对,只有先设计,通过设计产物与团队交流,才能设计出一个优秀的系统。
版权声明: 本文为 InfoQ 作者【拈香(曾德政)】的原创文章。
原文链接:【http://xie.infoq.cn/article/9307c988538892972b8a9deab】。文章转载请联系作者。
评论 (4 条评论)