苦逼程序员HLL的架构师逆袭

        是实话作为一名刚入行没多久的程序猿来说,提架构师未免有些太早了,有的人甚至认为一名架构师怎么不得在软件行业摸爬滚打10余载才能熬出来,的确是这样,一名优秀的架构师确实要从项目的开发经验中,汲取养分,不过俗话说的话“不能输在起跑线上”,同时也要“站在巨人的肩膀上”,也就是说从现在开始,有着架构师梦想的骚年们,现在就应该向着这个方向去努力,不过也不用过分的紧张,通往架构师的道路也不无捷径,因为在我们生活的这个年代有好多的巨人,他们为我们撑起了一片天空,今天我就说说我参加架构师培训课的心得。

        首先第一点,提到架构师,我们不得不想起这样两个名人,苹果的前任CEO乔布斯和现任CEO库克,但是这两个人有一个明显的区别,不知道大家有木有发现,乔布斯对技术和业务都非常了解,但是库克不懂得技术,这就导致了一个致命的弱点那就是库克由于对技术不了解,所以很难把握未来的发展方向,所以作为一名合格的架构师,一定要对技术有着深刻的理解,这样才能更好地去把握未来业务的房展方向。通过这个例子,想必大家对架构师更感兴趣了吧。下面我们就一起探索架构师是如何炼成的?

        想成为一名架构师,大家首先要对架构师的职责有一定的了解,首先软件架构师最基本的职责就是通过对需求分析的理解来进行软件的规划与设计(这里要求熟练的运用各种工具,如画UML图的工具),这一点是最重要的,其次自己架构完毕后要指导开发人员进行下一步的开发,在关键的时刻可以写一些demo,不仅能够知道开发人员,而且还能够验证自己的架构师合理的,通顺的,最后如果在项目开发过程中遇到疑难杂症,也要作为咨询师的角色存在,一名合格的架构师也需要在关键的时刻做出决策,如在性能与安全不能兼得的时候,或者遇到公司内部不能解决的问题的时候,一定要请求外援的时候做出关键性决策。

        下面我们来通过论述来慢慢总结一套通用的架构思想,首先我们先看一张图片
苦逼程序员HLL的架构师逆袭
 

苦逼程序员HLL的架构师逆袭
 
 这样图片是IEEE-1471-2000中的对架构元模型的图解,从图中我们不难看出一个软件架构最重要的就是要找到视点(viewpoint),从而推倒出相应的视图(view),说白了也就是定义我们思考的角度,从而形成我们树形结构的开发大纲,下面大家再看一张图片
苦逼程序员HLL的架构师逆袭
       这就是RUP经典的4+1视图,

逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。

过程视图(Process View),捕捉设计的并发和同步特征。

物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。

开发视图(Development View),描述了在开发环境中软件的静态组织结构。

架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例 (use cases)或场景(scenarios)来说明,从而形成了第五个视图。

        大家也可以通过TOGAF所提供的企业架构指导来对架构进行更深一步的理解,企业架构大致可以分为九个方面,如下图所示
苦逼程序员HLL的架构师逆袭
         通过对上述架构权威机构对架构的剖析,下面我给大家画出一张比较通用的架构的整体概述图,我们将架构的视点分为业务视点(也就是做什么,说白了就是用户需求分析后的结论)、技术视点(就是怎么去做,这是建立在业务视点的基础之上)、治理视点(决定了软件的能够做的更好,即软件的性能,可扩展性,高可重用性等)、支撑视点(即包括代码结构、运维、安装部署、大数据量的处理等),除了上述所说的RUP4+1视图,还有TOGAF的8+1指导,还有DODAF的22中视图,还有Zachman的36方格矩阵法都能够很好的指导企业架构,大家可以多查找一下这方面的文章,可以下载TOGAF口袋书,没事就看一下,对自己架构思想的养成有着良好的作用。
苦逼程序员HLL的架构师逆袭
 

      今天我们就暂时到这里,下一节我们正式进入正题,分别从这四个角度来剖析一个整个架构过程。 

        

相关推荐