几种软件体系结构风格阐述_第1页
几种软件体系结构风格阐述_第2页
几种软件体系结构风格阐述_第3页
几种软件体系结构风格阐述_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、几种软件体系构造风格阐述几种软件体系构造风格阐述 几种软件体系构造风格阐述 几种软件体系构造风格阐述20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据构造和算法的选择上。随着软件系统规模越来越大、越来越复杂,整个系统的构造显得越来越重要。一、软件体系构造风格分析最初的软件体系构造是Mainframe构造客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该构造逐渐被淘汰。在20世纪80年代中期出现了Client/Server分布式计算构造,应用程序的处理在客户机和效劳器之间分担。随着大型软件系

2、统的开发,这种构造在系统的部署和扩展性方面暴漏出缺乏。随着Internet的开展,一个更灵敏的体系构造“三层/多层计算体系构造应运而生。Garlan和Shaw将通用软件体系构造风格总结为以下几类: 下面将介绍几种主要和经典的体系构造风格和它们的优缺点。 C2风格是最常用的一种软件体系构造风格。从C2风格的组织规那么和构造图中,我们可以得出,C2风格具有以下特点: 2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完好性。对象是通过函数和过程

3、的调用来交互的。图2是数据抽象和面向对象风格的示意图。面向对象的系统有许多的优点: 3.基于事件的隐式调用风格。基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或播送一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用。隐式调用系统的主要优点有:(1)为软件重用提供了强大的支持。当需要将一个构件参加现存系统中时,只需将它注册到系

4、统的事件中。(2)为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其他构件的接口。隐式调用系统的主要缺点有:构件放弃了对系统计算的控制。一个构件触发一个事件时,不能确定其他构件是否会响应它。而且即使它知道事件注册了哪些构件的构成,它也不能保证这些过程被 调用的顺序。数据交换的问题。有时数据可被一个事件传递,但另一些情况下,基于事件的系统必须依靠一个共享的仓库进展交互。在这些情况下,全局性能和资源管理便成了问题。既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。 4.管道/过滤器风格。在管道/过滤器风格的软件体系构造中,每个构件都有一组输入和输出,构件读输入

5、的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。图3是管道/过滤器风格的示意图。管道/过滤器风格的软件体系构造的优点: 5.批处理风格。批处理风格的每一步处理都是独立的,并且每一步是顺序执行的,只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个整体。批处理的典型应用是经典数据处理和程序开发。批处理风格与管道过滤器风格的共同点是把任务分解成一系列固定顺序的计算单元(组件),组件间只通过

6、数据传递交互。区别表如今以下几个方面:批处理是全部的、高埋伏性的、输入时可随机存取、无合作性、无交互性,管道过、滤器是递增的、数据结果延迟小、输入时处理局部化、有反响、可交互。6.仓库风格。在仓库风格中,有两种不同的构件:中央数据构造说明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的互相作用在系统中会有大的变化。假设输入流中某类时间触发进程执行的选择,那么仓库是一传统型数据库;另一方面,假设中央数据构造的当前状态触发进程执行的选择,那么仓库是一黑板系统。二、三层C/S软件体系构造分析C/S软件体系构造是20世纪90年代成熟起来的技术,它将应用一分为二,效劳器(后台)负责数据管理,客户

7、机(前台)完成与用户的交互任务。 表示层是应用的用户接口局部,它担负着用户与应用间的对话功能。表示层一般使用图形用户接口,操作简单、易学易用。功能层相当于应用的本体,它是将详细的业务处理逻辑编入程序中。功能层的程序多半是用可视化编程工具开发的。数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。因此,一般从功能层传送到数据层的要求大都使用SQL语言。对二层C/S构造的局限,三层C/S的解决方案是:对这三层进展明确分割,并在逻辑上使其独立。与传统的二层构造相比,三层C/S构造具有以下优点: 软件体系构造风格为大粒度的软件重用提供了可能。然而,对于应用体系构造风格来说,由于视点的不同,系统设计师有很大的选择空间。要为系统选择或设计某一个体系构造风格,必须根据特

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论