zoukankan      html  css  js  c++  java
  • 《软件构架实践》(一) —— 认识

    在学习软件构架之前,先弄懂什么是架构。

    先提软件系统的构架有两个要素:

      ·它是一个软件系统从整体到部分的最高层次的划分。

      ·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

    对于软件系统构架的解释,书面语言实在生涩难懂,且难以说清其中具体缘由。

    举个样例解释:

    想象一下,在最早期,每个人都完全独立生活,衣食住行全部由自己来搞定,整个人类都是独立的个体,不相往来。(状态:单人——解决自己的衣食住行)

    一旦多人配合作为生存的整体,力量就显得强大多了,自然也形成了族群:有些人种田厉害,有些人制作工具厉害,有些地方适合产出粮食,有些地方适合产出棉花,自然就形成了人的分群,地域的分群。当分工发生后,实际上每个人的生产力都得到了提高,因为做的都是每个人擅长的事情。

    整个人群的生产力和抵抗环境的能力都得到了增强。为什么呢?因为每个人的能力和时间都是有限的,并且因为人的结构的限制,人同时只能专心做好一件事件,这样就导致了分工的产生。

    既然分工发生了,原来由一个人干生存所必须的所有事情,就变成了很多不同分工的角色合作完成这些事情,这些人必须要通过某些机制合在一起,让每个人完成生存所必须的事情,这实际上页导致了交易的发生。

    关于人的样例总结:

    在每个人都必须完成自己所有必需品的生产的时候,是没有架构的。

    一旦产生的分工,就把所有的事情,切分成由不同角色的人来完成,最后再通过交易,使得每个个体都拥有生活必须品,而不需要每个个体做所有的事情,只需要每个个体做好自己擅长的事情,并具备一定的交易能力即可。这就形成了社会的架构。

    把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同的角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。

    我们从中也可以归纳出这个架构产生的动力,或者说对这个人群社会形势做出的最高层次的决定

    (为什么产生这个架构,这个架构有什么好处和优势,对这个架构的限制等等)

    1.必须由人执行的工作(限制)

    2.每个人的能力有限(限制)

    3.每个人的时间有限(限制)

    4.人对生活状况有更高的要求(需求)

    5.提高社会效率(好处)

    回顾:

    回过头来看前面的两句话(软件系统的架构有两个要素):

    先提软件系统的架构有两个要素:

      ·它是一个软件系统从整体到部分的最高层次的划分。

      ·建造一个系统所作出的最高层次的、以后难以更改的,商业的和技术的决定。

    是否对其的理解要清晰一些了。

    软件构架就是对软件系统各个元素的集合。

    软件构架也涉及了软件系统的现实活动(商业用途、技术需求、硬件要求、涉众利益)

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

    1.根据要解决的问题,对目标系统的边界进行界定。

    2.并对目标系统按某个原则的进行切分。切分的原则,要便于不同的角色,对切分出来的部分,并行或串行开展工作,一般并行才能减少时间。并对这些切分出来的部分,设立沟通机制。

    3.这些部分之间能够进行有机的联系,合并组装成为一个整体,完成目标系统的所有工作。

    架构实际上就是指人们根据自己对世界的认识,为解决某个问题,主动地、有目的地去识别问题,并进行分解、合并,解决这个问题的实践活动。架构的产出物,自然就是对问题的分析,以及解决问题的方案。

    软件构架——是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。

  • 相关阅读:
    poj 2187 Beauty Contest(旋转卡壳)
    poj 2540 Hotter Colder(极角计算半平面交)
    poj 1279 Art Gallery(利用极角计算半平面交)
    poj 3384 Feng Shui(半平面交的联机算法)
    poj 1151 Atlantis(矩形面积并)
    zoj 1659 Mobile Phone Coverage(矩形面积并)
    uva 10213 How Many Pieces of Land (欧拉公式计算多面体)
    uva 190 Circle Through Three Points(三点求外心)
    zoj 1280 Intersecting Lines(两直线交点)
    poj 1041 John's trip(欧拉回路)
  • 原文地址:https://www.cnblogs.com/maplely/p/6375318.html
Copyright © 2011-2022 走看看