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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 软件体系结构与设计模式 第9章 软件体系结构与设计模式 9.1 什么是软件体系结构?传统的建筑体系结构学科与软件体系结构有何相似之处? 目前还没有一个公认的关于软件体系结构的定义,许多专家学者从不同角度对软件体系结构进行了描述。 Bass、Clements和Kazman给出了如下定义:“一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件、构件的外部可见属性以及它们之间的相互关系。外部可见属性则是指软件构件提供的服务、性能、使用特性、错误处理、共享资源使用等。”这一定义强调在任一体系结构表述中“软件构件”的角色。 Dewayne Perry和A1exander Wo1f曾这样定义:“软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。”这一定义注重区分处理构件、数据构件和连接构件。 我们通常将软件系统比做一座建筑。与建筑相似,从整体上讲,软件系统也有基础、主体和装饰,即操作系统之上的基础设施软件,实现计算逻辑的应用软件,以及方便用户使用的图形用户界面。 建筑体系结构是将各种建筑构件集成为一个有机整体的方式。类似地,软件体系结构是将各种软件构件集成为一个有机整体的方式。软件构件可以简单到程序模块或类,也可以大到包含数据库和能够完成客户与服务器网络配置的“中间件”。 在建筑行业里已经形成了各种各样的建筑风格,同样,软件设计中也形成了各种体系结构设计模式,供设计师选用。 9.2 体系结构的重要作用体现在哪些方面? 体系结构的重要作用体现在以下三个方面 : 1)体系结构的表示有助于风险承担者(项目干系人)进行交流。 2)体系结构突出了早期设计决策。 3)软件体系结构是可传递和可复用的模型。 9.3 典型的体系结构风格有哪些?每种风格中有代表性的体系结构有哪些? 1)数据流风格 当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道/过滤器、批处理序列都属于数据流风格。 2)调用—返回风格 该体系结构风格便于设计出易于修改和扩展的程序结构。在此类体系结构中,存在3种子风格:主程序/子程序体系结构、面向对象风格和层次结构。 3)仓库风格 数据库系统、超文本系统和黑板系统都属于仓库风格。在这种风格中,数据仓库(如文件或数据库)位于这种体系结构的中心,其他构件会经常访问该数据仓库,并对仓库中的数据进行增加、修改或删除操作。 9.4 客户机/服务器体系结构由哪几部分组成? 客户机/服务器(C/S)体系结构是基于资源不对等,且为实现共享而提出来的,由服务器、客户机和网络三部分组成。 1)服务器:负责给其他子系统提供服务。例如,数据库服务器提供数据存储和管理服务。 2)客户机:向服务器请求服务。客户机通常是独立的子系统,在某段时间内,可能有多个客户机程序在并发运行。 3)网络:连接客户机和服务器。虽然客户机程序和服务器程序可以在一台机器上运行,而在实际应用中,通常将它们放在不同的机器上运行。 9.5 客户机/服务器体系结构有什么优点和缺点? C/S的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。使得客户端响应速度快,能够减轻服务器的压力,而且有更高的安全性和稳定性。 缺点主要有: 1)客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次软件升级时,每一台客户机需要重新安装,其维护和升级成本较高。 2)?对客户端的操作系统一般也会有限制。 9.6 浏览器/服务器结构有什么优点和缺点? B/S体系结构具有以下优点: 1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。 2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础。 与C/S体系结构相比,B/S体系结构也有许多不足之处: 1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 2)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 3)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 9.7 目前主流的分布式对象技术规范有哪几种?各自的特点是什么? 当前主流的分布式对象技术规范有OMG的CORBA、Microsoft公司的.NET和Sun公司的J2EE。它们都支持服务端构件的开发,都有其各自的特点: 1)CORBA(通用对象请求代理体系结构):主要目标是提供一种机制,使对象可以透明地发出请求和获得应答,从而建立起异质的分布式应用环境。它是开放的,独立于供应商的设计规范,支持网络环境下的

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档