admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:vba input)

软件体系结构风格研究

[摘 要] 本文对几种经典的软件体系结构风格进行了具体的阐述,分析了各种风格的

特点、优缺点,最后重点介绍了三层C/S软件体系结构。

[关键词] 软件体系结构 软件体系结构风格 三层C/S软件体系结构

20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。起初,人们把软

件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复杂,

整个系统的结构显得越来越重要。

一、软件体系结构风格分析

最初的软件体系结构是Mainframe结构客户、数据和程序都被集中在主机上,通常

只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐

被淘汰。在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理

在客户机和服务器之间分担。随着大型软件系统的开发,这种结构在系统的部署和扩展性

方面暴漏出不足。随着Internet的发展,一个更灵活的体系结构“三层/多层计算”体系

结构应运而生。

Garlan和Shaw将通用软件体系结构风格总结为以下几类:

1.数据流风格:批处理序列;管道/过滤器。2.调用/返回风格:主程序/子程序;面向

对象风格;层次结构。3.独立构件风格:进程通讯;事件系统。4.虚拟机风格:解释器;基

于规则的系统。5.仓库风格:数据库系统;超文本系统;黑板系统。

第 1 页

共 6 页

下面将介绍几种主要和经典的体系结构风格和它们的优缺点。

1.C2风格。C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运

作的并行构件网络。图1中构件与连接件之间的连接体现了C2风格中构建系统的规则。

C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中,我们

可以得出,C2风格具有以下特点:

(1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件

之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;(3)构件相对独立,构件之

间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控

制线程之类的相关性假设。

2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数据类

型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。

对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程

的调用来交互的。图2是数据抽象和面向对象风格的示意图。

面向对象的系统有许多的优点:

(1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他

的对象。(2)设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。面向

对象的系统也存在着某些问题:①为了使一个对象和另一个对象通过过程调用等进行交互,

必须知道对象的标识。只要一个对象的标识改变了,就必须修改所有其他明确调用它的对

象。②必须修改所有显式调用它的其他对象,并消除由此带来的一些副作用。

第 2 页

共 6 页


本文标签: 风格 系统 对象 构件