码迷,mamicode.com
首页 > 其他好文 > 详细

《软件构架实践》(一) —— 认识

时间:2017-02-07 18:56:40      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:串行   等等   合并   为什么   状态   解决问题   硬件   软件   结构   

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

 

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

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

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

 

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

举个样例解释:

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

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

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

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

关于人的样例总结:

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

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

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

 

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

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

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

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

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

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

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

回顾:

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

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

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

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

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

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

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

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

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

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

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

 

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

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

《软件构架实践》(一) —— 认识

标签:串行   等等   合并   为什么   状态   解决问题   硬件   软件   结构   

原文地址:http://www.cnblogs.com/maplely/p/6375318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!