第9章 软件体系结构与设计模式

第9章 软件体系结构与设计模式

ID:12444253

大小:45.00 KB

页数:3页

时间:2018-07-17

第9章 软件体系结构与设计模式_第1页
第9章 软件体系结构与设计模式_第2页
第9章 软件体系结构与设计模式_第3页
资源描述:

《第9章 软件体系结构与设计模式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

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

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

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

7、对象技术规范有哪几种?各自的特点是什么?当前主流的分布式对象技术规范有OMG的CORBA、Microsoft公司的.NET和Sun公司的J2EE。它们都支持服务端构件的开发,都有其各自的特点:1)CORBA(通用对象请求代理体系结构):主要目标是提供一种机制,使对象可以透明地发出请求和获得应答,从而建立起异质的分布式应用环境。它是开放的,独立于供应商的设计规范,支持网络环境下的应用程序,适用于各种体系结构和平台,可方便客户通过网络访问、执行各种

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。