美文网首页
软件如何帮我们解决问题(三)--架构的出现

软件如何帮我们解决问题(三)--架构的出现

作者: 新奇magic | 来源:发表于2017-09-14 08:27 被阅读0次

       之前我们讨论了什么是软件,软件的缘起,如何理解需求和识别问题,接下来,我们聊聊软件的架构.

架构的缘起:

       说到软件,就离不开软件的架构,而说到架构,首先我们需要理解架构是如何出现的。人类社会组织架构的形成经历了以下几个阶段:

    1.人类生活的早期,每个人独立工作,衣食住行全部一个人搞定

    2.群居的出现,开始有了物品的交换,形成了商品的交易,进行形成了劳动的分工

    3.随着分工群体的逐步扩大,开始有了族群,进而形成了地域的分群


     如果每个人都能够完成自己所有生活必需品的时候,是没有架构的。可是随着人类所需要做的事情变得越来越复杂,当出现有些工作或者任务无法一个人独立完成时,就出现了分工。把较为复杂的事情,切分成较小的任务,由不同角色的人来完成,最后通过沟通和交流,使所有人形成一个整体,来交付一个总的任务的时候,就形成了的架构。

这样,我们就了解了架构产生的条件:

      1.完成的工作必须要由人来执行

      2.每个人的能力有限,由最合适的人完成最合适的任务

      3.每个人的时间有限

      4.对现有的目标系统有更高的要求

      5.目标系统复杂到单个人无法完成整个工作

那么架构,如何帮我们解决上面的问题呢?

架构的定义:

1.根据需求和问题,界定系统边界

2.对目标系统按照某个原则进行切分

3.对切分后的任务设立不同的沟通机制

4.使所有的部分形成一个整体,完成目标系统的工作


       18世纪,亚当·斯密发现在一家扣针厂里,生产一枚扣针需要经过18道工序.这家工厂由10个工人分别承担1~2道工序,每天共生产48 000枚扣针,平均每人生产4 800枚.如果让工人各自独立完成全部工序,那么他们中的任何一个人,一天连20枚扣针也生产不出来。分工协作生产商品可以减少生产商品的个别劳动时间。

       单位时间里面,每个人的注意力是有限的,如果要在这段时间里面,做好几件事情,在不同任务之间切换的时候会产生注意力的消耗,最后导致生产效率的低下。由此,人类社会形成的分工合作,由不同的人去完成不同的事情,就是为了解决单个人很难或者无法完成的任务所演化出来的。而架构则是人类分工合作发展过程中,由懵懵懂懂的,被动的去认识这个世界,变成主动的去认识,并以更高的效率去改造这个世界的方法。

文章想法的出处,推荐你也看看:http://www.infoq.com/cn/talk-arch

相关文章

  • 软件如何帮我们解决问题(三)--架构的出现

    之前我们讨论了什么是软件,软件的缘起,如何理解需求和识别问题,接下来,我们聊聊软件的架构. 架构的缘起: ...

  • 辅导孩子解决问题的方法

    以前见到孩子出现任何问题,我们的第一反应总是想办法替他解决问题,或者告诉他如何去解决问题。 家长让我们学会了如何帮...

  • 看透springmvc学习笔记

    网站架构的演进驱动力是:出现问题解决问题 软件的三大类型:单机,cs,bs tcp/ip,socket,http,...

  • 《大型网站技术架构:核心原理与案例分析》笔记

    目录 ·大型网站软件系统的特点 ·大型网站架构演化发展历程 ·初始阶段的网站架构 ·需求/解决问题 ·架构 ·应用...

  • 前言

    软件架构的概念最早出现于1968年的计算机文献中。上个世纪九十年代,软件架构的概念开始流行。软件架构概念的出现,是...

  • 14软件架构设计(系统设计)

    软件架构概述 从需求分析到软件设计之间的过渡过程称为软件架构。只要软件架构设计好了,整个软件就不会出现坍塌的错误,...

  • 架构(2),架构做什么

    如果把用户需求看作是问题空间,那么架构就是解空间,架构的目标就是要设计软件系统来解决问题。架构其实就是结构...

  • 「整洁架构」实战 MVC 架构重构到整洁架构

    软件架构介绍 什么是软件架构 我们先来看看维基百科对 软件架构 的定义, 软件架构是有关软件整体结构与组件的抽象描...

  • 2020-12-03大学生生涯辅导新想法

    生涯辅导不是帮他们找工作,而是帮他们找到目标为导向的自己解决问题的动力和方法。 如何提升内驱力? 如何提升解决问题...

  • 《架构整洁之道》读书笔记(中)

    软件架构 第15章 什么是软件架构 软件架构工作的实质就是规划如何将系统切分成组件,并安排好组件之间的排列关系,以...

网友评论

      本文标题:软件如何帮我们解决问题(三)--架构的出现

      本文链接:https://www.haomeiwen.com/subject/guersxtx.html