《2022年软件体系结构与设计模式归类 .pdf》由会员分享,可在线阅读,更多相关《2022年软件体系结构与设计模式归类 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 9 章 软件体系结构与设计模式第 9 章 软件体系结构与设计模式9.1 什么是软件体系结构?传统的建筑体系结构学科与软件体系结构有何相似之处?目前还没有一个公认的关于软件体系结构的定义,许多专家学者从不同角度对软件体系结构进行了描述。Bass、Clements 和 Kazman 给出了如下定义:“一个程序或计算机系统的软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件、构件的外部可见属性以及它们之间的相互关系。外部可见属性则是指软件构件提供的服务、性能、使用特性、错误处理、共享资源使用等。”这一定义强调在任一体系结构表述中“软件构件”的角色。Dewayne Perry 和 A1e
2、xander Wo1f 曾这样定义: “软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、 数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。”这一定义注重区分处理构件、数据构件和连接构件。我们通常将软件系统比做一座建筑。与建筑相似, 从整体上讲,软件系统也有基础、主体和装饰, 即操作系统之上的基础设施软件,实现计算逻辑的应用软件,以及方便用户使用的图形用户界面。建筑体系结构是将各种建筑构件集成为一个有机整体的方式。类似地, 软件体系结构是将各种软件构件集成为一个有机整体的方式。软件构件可以简单到程序模块或类,也
3、可以大到包含数据库和能够完成客户与服务器网络配置的“中间件”。在建筑行业里已经形成了各种各样的建筑风格,同样,软件设计中也形成了各种体系结构设计模式,供设计师选用。9.2 体系结构的重要作用体现在哪些方面?体系结构的重要作用体现在以下三个方面:1)体系结构的表示有助于风险承担者(项目干系人)进行交流。2)体系结构突出了早期设计决策。3)软件体系结构是可传递和可复用的模型。9.3 典型的体系结构风格有哪些?每种风格中有代表性的体系结构有哪些?1)数据流风格当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。管道 /过滤器、批处理序列都属于数据流风格。2)调用 返回风格
4、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - 第 9 章 软件体系结构与设计模式该体系结构风格便于设计出易于修改和扩展的程序结构。在此类体系结构中,存在3种子风格:主程序/子程序体系结构、面向对象风格和层次结构。3)仓库风格数据库系统、超文本系统和黑板系统都属于仓库风格。在这种风格中,数据仓库(如文件或数据库) 位于这种体系结构的中心,其他构件会经常访问该数据仓库,并对仓库中的数据进行增加、修改或删除操作。9.4 客户机 /服
5、务器体系结构由哪几部分组成?客户机 /服务器( C/S)体系结构是基于资源不对等,且为实现共享而提出来的,由服务器、客户机和网络三部分组成。1)服务器:负责给其他子系统提供服务。例如,数据库服务器提供数据存储和管理服务。2)客户机:向服务器请求服务。客户机通常是独立的子系统,在某段时间内,可能有多个客户机程序在并发运行。3)网络: 连接客户机和服务器。虽然客户机程序和服务器程序可以在一台机器上运行,而在实际应用中,通常将它们放在不同的机器上运行。9.5 客户机 /服务器体系结构有什么优点和缺点?C/S 的优点是能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。使得客户端响应
6、速度快,能够减轻服务器的压力,而且有更高的安全性和稳定性。缺点主要有:1)客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次软件升级时,每一台客户机需要重新安装,其维护和升级成本较高。2) 对客户端的操作系统一般也会有限制。9.6 浏览器 /服务器结构有什么优点和缺点?B/S 体系结构具有以下优点:1)基于 B/S 体系结构的软件,系统安装、修改和维护全在服务器端解决。2)B/S 体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础。与 C/S 体系结构相比,B/S 体系结构也有许多不足之处:1)B/S 体系结构缺乏对动态页面的支持能力,没有集成有效
7、的数据库处理功能。2)采用 B/S 体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S 体系名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - 第 9 章 软件体系结构与设计模式结构。3)B/S 体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理( OLTP )应用。9.7 目前主流的分布式对象技术规范有哪几种?各自的特点是什么?当前主流的分布式对象技术规范有OMG 的 CORBA 、Micro
8、soft 公司的 .NET 和 Sun 公司的 J2EE。它们都支持服务端构件的开发,都有其各自的特点:1)CORBA (通用对象请求代理体系结构):主要目标是提供一种机制,使对象可以透明地发出请求和获得应答,从而建立起异质的分布式应用环境。它是开放的, 独立于供应商的设计规范, 支持网络环境下的应用程序,适用于各种体系结构和平台,可方便客户通过网络访问、执行各种对象。2).NET:.NET 几乎继承了COM/DCOM (分布式对象模型)的全部功能,它不仅包括了 COM 的组件技术,更注重于分布式网络应用程序的设计与实现。.NET 紧密地同操作系统相结合,通过系统服务为应用程序提供全面的支持。
9、3)J2EE:J2EE 则利用 Java2平台简化企业级解决方案的规划和开发,是管理相关复杂问题的体系结构。 它集成了COBRA 技术,具有方便存取数据库的功能,对 EJB、 Java Servlets API、JSP及 XML 提供全面支持。9.8 主要的体系结构框架有哪些?主要的体系结构框架有模型 视图 控制器(MVC ) 框架、J2EE 体系结构框架、 PCMEF与 PCBMER 框架9.9 什么是设计模式?常用的设计模式有哪些?设计模式为软件系统的子系统、构件或者构件之间的关系提供一个精炼之后的解决方案,描述了在特定环境下,用于解决通用软件设计问题的构件以及这些构件相互通信时的各种结构。常用的设计模式有抽象工厂模式、单件模式、外观模式、适配器模式、责任链模式、中介者模式和观察者模式等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -