软件体系结构与设计模式_第1页
软件体系结构与设计模式_第2页
软件体系结构与设计模式_第3页
全文预览已结束

下载本文档

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

文档简介

1、第9章软件体系结构与设计模式9.1 什么是软件体系结构?传统的建筑体系结构学科与软件体系结构有何相似之处?目前还没有一个公认的关于软件体系结构的定义,许多专家学者从不同角度对软件体系结构进行了描述。Bass、Clements和Kazman给出了如下定义:“一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件、构件的外部可见属性以及它们之间 的相互关系。外部可见属性则是指软件构件提供的服务、性能、使用特性、错误处理、共享 资源使用等。”这一定义强调在任一体系结构表述中“软件构件”的角色。Dewayne Perry和Alexander Wolf曾这样定义:“软件体系结

2、构是具有一定形式的结构 化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加 工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。”这一定义注重区分处理构件、数据构件和连接构件。我们通常将软件系统比做一座建筑。与建筑相似,从整体上讲,软件系统也有基础、主体和装饰,即操作系统之上的基础设施软件,实现计算逻辑的应用软件,以及方便用户使用的图形用户界面。建筑体系结构是将各种建筑构件集成为一个有机整体的方式。 类似地,软件体系结构是 将各种软件构件集成为一个有机整体的方式。 软件构件可以简单到程序模块或类, 也可以大 到包含数据库和能够完成客户与服务器网络

3、配置的“中间件”。在建筑行业里已经形成了各种各样的建筑风格,同样,软件设计中也形成了各种体系结构设计模式,供设计师选用。9.2 体系结构的重要作用体现在哪些方面?体系结构的重要作用体现在以下三个方面:1)体系结构的表示有助于风险承担者(项目干系人)进行交流。2)体系结构突出了早期设计决策。3)软件体系结构是可传递和可复用的模型。9.3 典型的体系结构风格有哪些?每种风格中有代表性的体系结构有哪些?1)数据流风格当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道/过滤器、批处理序列都属于数据流风格。2)调用一返回风格该体系结构风格便于设计出易于修改和扩展的程序结

4、构。在此类体系结构中,存在3种子风格:主程序/子程序体系结构、面向对象风格和层次结构。3)仓库风格数据库系统、超文本系统和黑板系统都属于仓库风格。在这种风格中,数据仓库(如文件或数据库)位于这种体系结构的中心, 其他构件会经常访问该数据仓库, 并对仓库中的数 据进行增加、修改或删除操作。9.4 客户机/服务器体系结构由哪几部分组成?客户机/服务器(C/S)体系结构是基于资源不对等,且为实现共享而提出来的,由服务 器、客户机和网络三部分组成。1)服务器:负责给其他子系统提供服务。例如,数据库服务器提供数据存储和管理服 务。2)客户机:向服务器请求服务。客户机通常是独立的子系统,在某段时间内,可能

5、有 多个客户机程序在并发运行。3)网络:连接客户机和服务器。 虽然客户机程序和服务器程序可以在一台机器上运行, 而在实际应用中,通常将它们放在不同的机器上运行。9.5 客户机/服务器体系结构有什么优点和缺点?C/S的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。使得客户端响应速度快,能够减轻服务器的压力,而且有更高的安全性和稳定性。缺点主要有:1)客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次软件升级时, 每一台客户机需要重新安装,其维护和升级成本较高。2)对客户端的操作系统一般也会有限制。9.6 浏览器/服务器结构有什么优点和缺点?B/S体系结构具

6、有以下优点:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。2) B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的 最现实的开放性基础。与C/S体系结构相比,B/S体系结构也有许多不足之处:1) B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。2)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系 结构。3) B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线 事务处理(OLTP)应用。9.7 目前主流的分布式对象技术规范有哪几种?各自的特点是什么?当前主流的分布式对象技术规范

7、有OMG的CORBA、Microsoft公司的.NET和Sun公司的J2EE。它们都支持服务端构件的开发,都有其各自的特点:1) CORBA (通用对象请求代理体系结构):主要目标是提供一种机制,使对象可以透 明地发出请求和获得应答,从而建立起异质的分布式应用环境。它是开放的,独立于供应商的设计规范,支持网络环境下的应用程序,适用于各种体系结构和平台,可方便客户通过网 络访问、执行各种对象。2) .NET : .NET几乎继承了 COM/DCOM (分布式对象模型)的全部功能,它不仅包括 了 COM的组件技术,更注重于分布式网络应用程序的设计与实现。.NET紧密地同操作系统相结合,通过系统服务为应用程序提供全面的支持。3) J2EE: J2EE则利用Java2平台简化企业级解决方案的规划和开发,是管理相关复杂 问题的体系结构。它集成了 COBRA技术,具有方便存取数据库的功能, 对EJB、Java Servlets API、JSP及XML提供全面支持。9.8 主要的体系结构框架有哪些?主要的体系结构框架有模型 一视图一控制器(MVC)框架、J2EE体系结构框架、PCMEF与PCBMER框架9.9 什么是设计模式?常用的设计模式有哪些?设计模式为软件系统的子系

温馨提示

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

评论

0/150

提交评论