架构师到底干什么

架构说白了就是系统该怎么做,包括如何实现功能性需求,如何实现一些非功能性需求(比如搞可用性,灵活性等等)

架构师做什么?我认为两个方面

1.描述架构,或者说架构设计,这个设计有别于程序设计,架构设计层次更高一些,更多的是从整个系统的角度去描述,而不是具体一个程序模块如何实现,比如架构设计可能设计了系统由那些模块组成,哪些是公共模块,模块之间通过什么技术连接等等,但是模块内容如何设计,类的关系怎么样可能就是程序设计的内容了

架构设计可能需要设计多种视图,也就是为了给不同的人看的,比如有的试图给业务人员看,有的给程序设计人员看,有的给部署人员看,每个试图下面可能还有不同的模型.许多技术体系都有自己的设计方法,规定了不同的视图,比如最完整的可能是Zachman ,它规定了了信息、流程、网络、人员、时间、基本原理等6个视角来分析企业,也提供了与这些视角每个相对应的6个模型,包括语义、概念、逻辑、物理、组件和功能等模型。微软的BAIT,规定了business, application, information, technology四个视角以及conceptual, logical, physical三个模型。无论选择哪一种,其实主要是为了描述清楚你的架构设计。

2.保证架构实施,你做的架构再好,如果项目开发人员不去使用,或者部署人员不按照你的设计去部署,甚至业务人员不按照你的要求去分配资源,架构设计都会成为废纸。所以,架构师还有一个很重要的任务就是保障架构设计的实施,这需要架构师和各种人员的合作,需要架构师的影响力等等。但是与此同时,架构师还必须要综合各种因素,然后制定合适的开发框架,甚至开发规范,制度等等,从而保障架构实施。

 

没有更多推荐了,返回首页