• 架构漫谈阅读笔记2


    软件的主要目的就是把人类的生活模拟化,提供更低成本,高效率的新的生活。软件开发的架构演变软件工程师是实现这个模拟过程的关键人物,他必须先理解人是怎么在日常生活中完成工作的,才能够很好的把这些工作在计算机中模拟出来。可是软件工程师需要学习大量的计算机语言和计算机知识,还需要学习各行各业的专业知识。

    软件实际上就是把现实生活模拟到计算机中,软件需要在计算机的硬件中运行。我们需要明确解决问题的主体,解决的问题是什么,如何解决以及运作的方式。业务问题的本质,是业务所服务的对象的利益问题,明白了这个,就很容易搞清业务的概念和组织方式。再次强调一下,有了软件,可以降低业务的成本,没有软件的情况下,业务是一样跑的。如果只是为了跟风要用软件,说不定反而提高了成本,这个是采用软件之前首先要先搞清楚的。

    软件工程师必须理解业务所服务的对象,他们的利益所在,即业务问题。如果处理不好可能会导致两个问题,业务无法交流,无法在实际生活中进行实践。

    虚拟化业务:

    学习业务知识,认识业务所涉及的stakeholders的核心利益述求,以及业务是如何分拆满足这些利益述求,并通过怎样的组织架构完成整个组织的核心利益的,以及业务运作的流程,涉及到哪些概念,有哪些权利和责任等。

    通过对业务知识的学习,针对这些概念所对应的权利和责任以及组织架构,对业务进行建模,把并把建模的结果用编程语言实现。这是业务的模型,通常是现实生活中利益斗争的结果,是非常稳定的。

    学习业务所参与的stakeholder是如何和业务打交道,并完成每个人的权利和义务的,并通过编程语言,结合业务模型实现这些打交道的沟通通道。这部分是变化最频繁的,属于组合关系。明白了这一点,对后续的实现非常有帮助。

    如何把业务运行的结果,持久化,并通过合适的手段把持久化后的数据,在合适的时间合适的地点加载出来。这部分和基础设施有关,变化可能也会比较频繁。

    代码如何运营:

    满足访问需求需要多少硬件设备,部署到硬件设备需要多少组件,代码如何相互连接,当出现一些硬件设备故障时,软件依然能够让用户访问,能够提取软件产生的数据并加以分析。

    成为一名软件架构师的前提条件就是能够努力完成自己的工作,需要明确我们要解决的是别人的问题,不是自己完成工作的问题。因为仅仅是完成了自己的工作,也并不一定就解决了别人的问题。

  • 相关阅读:
    ZOJ 3556
    ZOJ 2836
    HDU 2841
    HDU 4135
    POJ 3695
    POJ 2773
    HDU 4407
    HDU 1796
    ZOJ 3688
    ZOJ 3687
  • 原文地址:https://www.cnblogs.com/zhang12345/p/13092670.html
Copyright © 2020-2023  润新知