软件体系结构风格

      软件结构风格的定义:软件结构风格是描述某一特定应用领域中系统组织方式的惯用模式(idiomatic paradigm)。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一租个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则。

      构件的定义:构件是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。构件有两种:复合构件和原子构件,复合构件由其他复合构件和原子构件通过连接而成;原子构件是不可再分的构件,底层由实现该构件的类组成,这种构件的划分提供了体系结构的分层表示能力,有助于简化体系结构的设计。

      连接件的定义:连接件表示了构件之间的交互,简单的连接件如管道(pipe)、过程调用(proceduce call)、事件广播(event broadcast)等,更为复杂的交互如客户-服务器(client-server)通信协议,数据库和应用之间的SQL连接等。

      软件体系结构风格的四要素:(1)提供一个词汇表;

                                          (2)定义一套配置规则;

                                          (3)定义一套语义解释规则;

                                          (4)定义对基于这种风格的系统所进行的分析。

      软件体系结构风格的目的:软件体系结构风格为大粒度的软件重用提供了可能。

      几种软件体系结构风格的分类:

     (1)管道与过滤器:在管道与过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完成消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。此风格特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。一个管道与过滤器网格输出的正确性并不依赖于过滤器进行增量计算过程的顺序。

     管道与过滤器风格的特点:

     优点:使得构件具有良好的隐蔽性和高内聚、低耦合的特点;允许设计师将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成;支持软件重用;系统维护和增强系统性能简单;允许对一些如吞吐量、死锁等属性的分析;支持并行执行。

     缺点:通常导致进程成为批处理结构;不适合处理交互的应用;因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。

     (2)客户/服务器:C/S软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。

      服务器负责有效地管理系统的资源,其任务主要集中于:数据库安全性的要求;数据库访问并发性的控制;数据库前端的客户应用程序的全局数据完整性规则;数据库的备份与恢复。 

      客户应用程序的主要任务是:提供用户与数据库交互的界面;向数据库服务器提交用户请求并接收来自数据库服务器的信息;利用客户应用程序对存在于客户端的数据执行逻辑要求。

      客户/服务器体系风格的特点:

      优点:C/S体系结构的优点主要在于系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在C/S体系结构中,系统中的功能构件充分分离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接低成本计算机上,以节约大量费用;C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

      缺点:开发成本较高;客户端程序设计复杂;信息内容和形式单一,因为传统应用一般为事务处理,界面基本遵循数据库的字段解释,开发之初就已确定,而且不能随时截取办公信息和档案等外部信息,用户获得的只是单纯的字符和数字,既枯燥又死板;用户界面风格不一,使用复杂,不利于推广使用;软件移植困难;软件维护和升级困难;新技术不能轻易应用。

     (3)浏览/服务器风格:B/S体系结构主要是利用不成熟的WWW浏览器技术。结合浏览器的多种脚本语言,用通过浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,B/S结构是一种全新的软件体系结构。

      C/S体系结构的风格特点:

      优点:B/S结构的”零客户端“方式,使组织的供应商和客户的计算机方便地成为管理信息系统的客户端,进而在限定的功能范围内查询组织相关信息,完成与组织的各种业务往来的数据交换和处理工作,扩大了组织计算机应用系统的功能覆盖范围,可以更加充分利用网络上的各种资源,同时应用程序维护的工作量也大大减少。

      缺点:B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能;B/S体系结构的系统扩展能力差,安全性难以控制;采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构;B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理。

 

        

  

posted @ 2016-03-28 09:10  郭亚兰  阅读(7021)  评论(0编辑  收藏  举报