建筑体系结构与软件构架简单介绍
    这段时间一直迷恋于软件系统架构方面的话题,很想往架构工程师方面发展。在网上看到了不错的文件进行了一下删减,将我任务重要的内容转载过来,希望读者能喜欢,并和一起切磋学习经验。
    在建筑体系结构中,对于一个复杂的建筑物可将它分解为各种基本成分,这些基本成分之间相互联系从而构成一个复杂的建筑。对应地,在软件构集中,我们也应包括怎样将不同的基本成分组成整个系统,怎样设计整体的控制结构,基本成分阿的通信协议如何选择,怎样实现控制同步等功能。
    正如建筑体系结构的众多优点,软件构架亦有以下优点:(1)它提供了复杂系统的高层抽象,这样设计者就可以从高层次知道该系统应该有哪些功能来满足用户要求:(2)软件构架提供了多种模板,这样当设计者要在某个领域进行设计时.可参:等该领域的模板进行设计从而提高了效率:(3)软件构架支持软件复用,从而软件工业的诞生成封可能。
    1、软件构架在软件设计中的位置
    正如在建筑体系结构中.结构的建立应位于施工之前,在软件工程中软件的生命周期里应有一个阶段,这个阶段用于构造该系统的软件架构。软件的开发过程大体可分为需求设计.实现三个阶段.软件构架的建立应位于需求与设计之间,也就应在需求分析之后,软件设计之前建立软件构架。一共分为需求阶段、建立软件架构阶段、设计阶段和实现阶段四个阶段。
    2、软件结构的两个基本点
    建筑体系结构中有一些概念对软件构架的研究极有启发性,特别是其中视图和风格的概念一个建筑体系结构中有许多不同的视图,视图从建筑物的某些具体的角度来介绍建筑物。
软件构架同建筑体系结构一样,也有软件视图及软件风格的概念, 这两个概念事实上构成了软件构架研究的两个基本点。
    2.1软件视图
    软件视图是从不同的角度分析软件构架,一般来说只有从不同的角度对软件构架进行分析才能认清它的整体结构。而我们现在的软件只提供用户一个视图:具体实现。这就像只提供给建筑工人一些实现细节却不提供建筑的整体框架一样,有很多弊病。实际上上一个系统至少有以下的4个视图:(1)逻辑视图(2)进程视图(3)开发视图(4)物理视图
    2.2软件风格
    软件风格是描述了对软件设计成分如何进行整理
和安排, 同时对这些整理和安排加以限制,从而形成一种设计软件的特定模式。每个软件构槊风格均有自己的组织原则和基本成分。软件产业已经存在几十年了,因此关于软件构架的风格也有许多种, 但总的说来可以归纳为四种风格:面向对象设计风格、面向状态的设计风格,过程控制的设计风格和实时设计风格。
    3、软件构架研究的主要方向
    现在软件构架的研究已越来越为人们所重视.主要形成了以下的研究方向:(1)软件构架的形式化研究它主要是用形式化方法对构架进行描述,从而形成一种构架风格的完整语义基础以及一个关于构架句法规则理论等。2)软件构架描述为了开发一种可重用部件,必须完全理解该部件.能描述这些部件和其它部件的关系,这就要提出一个软件构架的描述语言,它用来描述软件构架,提供重用 (3)软件构架风格的研究软件构架的一个主要功能,就是将各种领域的各种设计方法进行整理.分析,用于指导以后的软件设计。有许多研究致力于提供一种关于软件设计指南的手册,这个手册中有各种风格的软件构架的基本元素及基本元素之间限制等内容 (4)基于领域的软件构架研究在这里,研究主要针对于某个具体领域的软件构架展开。研究者可能是相关领域(而非软件领域)的专家。这里是从系统行为的高层次上对一个系统进行设计 (5)软件构桨的工具及开发环境的研究与CASE一样,这里研究着重于对软件构架提供辅助工具和开发环境,从而使软件构架的建立与发展等更加方便。
    4、结论
    本文从建筑体系结构出发对软件构架的一些概念进行了分析.并指明了当前软件构架研究的方向。实际上,除上建筑体系结构以外,其他的一些体系结构,的研究对软件构架的研究亦有相当的借鉴意义。比如硬件体系结构、网络体系结构等,其中硬件体系结构中的一些概念.如缓冲区、转换器等也是软件构架的重要概念。当前软件构架的研究尚处于初级阶段,显然软件构架研究对软件工业的发展有重大意义。