• 软件架构师如何工作


    要说软件架构师,那么首先要说的,就是架构

    总结一下,什么是架构,就是:

    1. 根据要解决的问题,对目标系统的边界进行界定。
    2. 并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。
    3. 并对这些切分出来的部分,设立沟通机制。
    4. 根据 3,使得这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

    做架构师的首要任务,应该就是如何去搭建一个架构,而做架构的首要问题就是要找出问题的主体,就好比是阅读一篇文章,要找出文章的中心,只有掌握了文章的主旨,才能更好的去把握全局,做架构也是一样的道理,明确的找出问题的主体,才能对症下药。

    架构师都要有这个自觉:发现问题永远都比解决问题来的更加重要。

    当明白了问题的主体,我们才可能真正的认识问题是什么。因为问题的主体是问题的隐含边界,边界不确定下来,问题就是不确定的。一旦确定了主体,剩下的就是去搞明白主体有哪些问题。

    总结一下,要正确的认识问题,需要问两个问题:
    1. 这是谁的问题?
    1. 有什么问题?

    架构切分,从某种意义上来说,谈架构就是谈分层。实际上切分的过程就是建模的过程,每次对大问题的切分都会生成很多小问题,每个小问题就形成了不同的概念。

    1. 架构的切分的导火索是人的负载太重。
    2. 架构的切分实际就是对 stakeholder 的利益进行切分或合并,使得每个 stakeholder 的权责是对等的,每个 stakeholder 可以为自己的利益负责。
    3. 架构切分的最终结果都会体现在组织架构上,只有这样才能够让架构落地并推进。
    4. 架构切分的结果一定是一个树状,这也是为什么会产生分层。层数越多沟通越多,效率越低,分层要越少越好。尽可能变成一颗平衡树,才能让整个系统的效率最大化。

    随着软件的规模的变大,做好一个软件也变得越来越难了。早期的程序员写程序,主要是为了帮助自己研究课题。这些程序员熟练了之后,提高了自己的生产力,并发现还可以帮助别人写程序,慢慢软件就变成了一个独立的行业。程序从早期由一个人完成,也逐渐变成了由很多不同角色的人共同合作来完成。
    在没有软件之前,每个人干自己的工作,自行保存自己的工作结果。人们面对面或者通过电话等沟通。有了软件之后,实际上,我们是把我们日常生活中所做的事情,包括我们自己本人都一起虚拟化到了计算机中。而人则演化成了,通过计算机的输入输出设备,控制计算机中的自己,来完成日常的工作,以及与其他人的沟通。也就是说,软件一直以来的动力,始终都是来模拟人和这个社会的。比如模拟大气运动(天气预报),模拟人类社会(互联网社交),模拟交易,包括现在正在流行的 VR,人工智能等等。模拟的对象越来越高级,难度越来越大。

    软件的本质,其实就是通过把人类的日常工作生活虚拟化,减少成本,提升单个人员的生产力,提升人类自己的利益。软件工程师的职责在这个浪潮中,不堪重负,自然而然就分拆为不同的角色,形成了一个独特的架构体系。

    架构师是要去平衡别人的利益,甚至会调整别人的利益的。一旦架构师是全心全意的为别人的利益服务,自然而然的架构师就拥有了强有力的影响力,肯定会是一个 leader。
    架构师要去领导开发者。

    架构师在领导好其它人的同时,还要去处理好业务逻辑。

    业余选手,越想从水里浮起来,就越想把头抬起来,身体反而沉下去。只有克服恐惧,把头往水里压下去,身体才能够从水里浮起来。真正专业的习惯往往是和我们日常的行为相反的

    我们真正想快速的完成代码工作,就要克服自己对时间的恐惧,真正的去研究业务的问题,相关 stakeholder 的利益,把这个变成我们的习惯。写代码的时候让该出现逻辑的地方出现逻辑,让不该出现的地方不能出现。一旦不该出现的地方出现了逻辑,那么要马上意识到,这个地方是一个坑,这个问题一定和业务的分析不透彻有关系。

  • 相关阅读:
    Django实战(4):scaffold生成物分析
    Django实战(3):Django也可以有scaffold
    创建第一个模型类
    1. 实战系列的开发目标
    Django第一步
    URLconf+MTV:Django眼中的MVC
    mp4文件格式解析
    傅里叶分析之掐死教程(完整版)更新于2014.06.06
    关于Spinlock机制的一点思考
    spinlock变量没有初始化
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14501313.html
Copyright © 2020-2023  润新知