第6章面向对象的软件体系结构_第1页
第6章面向对象的软件体系结构_第2页
第6章面向对象的软件体系结构_第3页
第6章面向对象的软件体系结构_第4页
第6章面向对象的软件体系结构_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 从一般意义上说,体系结构包括两个层面从一般意义上说,体系结构包括两个层面: : 硬件体系结构(硬件体系结构(Hardware ArchitectureHardware Architecture ) 软件体系结构(软件体系结构(Software ArchitectureSoftware Architecture ) 6.1 6.1 硬件体系结构指系统的硬件组织模式;而软件硬件体系结构指系统的硬件组织模式;而软件 体系结构则描述软件的组织模式。这里我们主要关注体系结构则描述软件的组织模式。这里我们主要关注 软件体系结构的问题。软件体系结构的问题。 体系结构反映了系统的总体结构,是从全局上描体系结

2、构反映了系统的总体结构,是从全局上描 述系统。述系统。 体系结构建模(体系结构建模(architecture modelingarchitecture modeling)首先要建)首先要建 立系统的基本模型,并将该模型映射到软硬件单元立系统的基本模型,并将该模型映射到软硬件单元 上。主要讨论以上。主要讨论以UMLUML为基础的体系结构建模。为基础的体系结构建模。 6.1 6.1 面向对象的体系结构与传统的体系结构不同面向对象的体系结构与传统的体系结构不同 ,它强调的是分布式对象的分配、部件及其界面、,它强调的是分布式对象的分配、部件及其界面、 面向对象的通讯方法。面向对象的通讯方法。 体系结构

3、?体系结构? 二、体系结构建模二、体系结构建模 软件技术研究的主要方面:软件理论、编程和软件技术研究的主要方面:软件理论、编程和 软件设计方法、软件工程环境、软件体系结构和中软件设计方法、软件工程环境、软件体系结构和中 间件中,软件体系结构最重要。间件中,软件体系结构最重要。 软件开发首先要解决高层问题的决策,再逐步软件开发首先要解决高层问题的决策,再逐步 细化。细化。 系统能否适应用户初期需求的模糊性和需求的系统能否适应用户初期需求的模糊性和需求的 变化,主要取决于软件体系结构。变化,主要取决于软件体系结构。 软件体系结构是软件质量的保证。软件体系结构是软件质量的保证。 6.1 6.1 1

4、1、用包图或构件图描述的静态结构、用包图或构件图描述的静态结构 2 2、基于配置图的软件体系结构、基于配置图的软件体系结构 一个合理、健全、内在一致的体系结构,是一个合理、健全、内在一致的体系结构,是 建立高水平软件系统的基础,即软件系统的体系结构建立高水平软件系统的基础,即软件系统的体系结构 ,决定了软件的质量。,决定了软件的质量。 包由关系密切的一组模包由关系密切的一组模 型元素构成,包还可以由其型元素构成,包还可以由其 它包构成(嵌套)。图中描它包构成(嵌套)。图中描 述了体系结构的包图。述了体系结构的包图。 表示表示 领领 域域 服服 务务 数据库数据库 表示层表示层 应用逻辑层应用逻

5、辑层 存储层存储层 图图6.1 UML6.1 UML包表达的体系结构单元包表达的体系结构单元 包图是维护和控制包图是维护和控制 系统总体结构的重要建模系统总体结构的重要建模 工具。工具。 应用包图要解决的问题应用包图要解决的问题 表示表示 领领 域域 服服 务务 数据库数据库 表示层表示层 应用逻辑层应用逻辑层 存储层存储层 图图6.1 UML6.1 UML包表达的体系结构单元包表达的体系结构单元 应将概念或语义相近的模应将概念或语义相近的模 型元素型元素( (对象类对象类) )纳入一个包。纳入一个包。 即包具有高内聚性,包中的类即包具有高内聚性,包中的类 具有功能相关性。具有功能相关性。 包

6、之间的联系主要有两种包之间的联系主要有两种 :依赖和泛化。:依赖和泛化。 二、用配置图描述系统结构二、用配置图描述系统结构 配置图是一个架构,用来详细说明技术单元和配置图是一个架构,用来详细说明技术单元和 它们之间的链接。又可分为硬件环境的配置图和软件它们之间的链接。又可分为硬件环境的配置图和软件 环境的配置图。环境的配置图。 三、设计样式 UserStation:UserStation: PersonalPersonal ComputerComputer deptServer:deptServer: FileserverFileserver opStation:opStation: Work

7、StationWorkStation corpServer:corpServer: MainFrameMainFrame ONE DESKTOPONE DESKTOPONE DEPARTMENTONE DEPARTMENTTHE CORPORATIONTHE CORPORATION interDeptLink:interDeptLink: LANLAN deptCorpLink:deptCorpLink: TCP/IPTCP/IP opCorpLink:opCorpLink: TCP/IPTCP/IP 1 1. .* * 1 1. .* * 1 1. .* * 1 1 1 1 1 1 1 1

8、1 1 三层三层C/SC/S商业系统的配置图商业系统的配置图 医院诊疗系统的配置图医院诊疗系统的配置图(C/S)(C/S) :Object:Object DatabaseDatabase :Health Care:Health Care DomainDomain Database Unit ServerDatabase Unit Server (数据库服务器)(数据库服务器) a Windows PCa Windows PC( (客户机客户机) ) :Object:Object DatabaseDatabase :Health Care:Health Care DomainDomain Hea

9、rt Unit ServerHeart Unit Server(心血管病服务器心血管病服务器) :Configure:Configure KnowledgeKnowledge :Configure users:Configure users Heart Unit ConfigurationHeart Unit Configuration Communication Communication TCP/IPTCP/IP TCP/IPTCP/IP :Heart Unit UI:Heart Unit UI :Heart Unit:Heart Unit Client FacadeClient Faca

10、de :Heart Unit:Heart Unit ServerServer ApplicationApplication 用用配置图描述系统的体系结构配置图描述系统的体系结构 并不是所有的系统都需要建立配置图,一个单并不是所有的系统都需要建立配置图,一个单 机系统只需建立包图或构件图就行了。配置图主要机系统只需建立包图或构件图就行了。配置图主要 用于在网络环境下运行的分布式系统或嵌入式系统用于在网络环境下运行的分布式系统或嵌入式系统 的建模。的建模。 数据库服务器数据库服务器 DB:DB:数据库数据库 打印机打印机 打印机打印机 应用应用 服务器服务器 系统管理系统管理 (执行码)(执行码)

11、 通用应用通用应用 (执行码)(执行码) 资源管理资源管理 桌面桌面 客户客户 资源管理资源管理 (执行码(执行码) 项目管理项目管理 桌面桌面 客户客户 项目管理项目管理 (执行码)(执行码) 项目与资源管理系统的配置图项目与资源管理系统的配置图 三、用构件图来描述系统软件环境的配置三、用构件图来描述系统软件环境的配置 image.javaimage.java 构件图又称为组件图,组件(构件图又称为组件图,组件(ComponentComponent)是系统)是系统 的物理可替换的单位,代表系统的一个物理组件及其的物理可替换的单位,代表系统的一个物理组件及其 联系,表达的是系统代码本身的结构。

12、联系,表达的是系统代码本身的结构。 MailerMailer +Mailbox +Mailbox +RoutingList +RoutingList MailQueue MailQueue 2 2、组件的实例组件的实例 表示运行期间可执行的软件模块。只有可执行的表示运行期间可执行的软件模块。只有可执行的 组件才有实例。组件才有实例。 my mymailer: Mailermailer: Mailer :Mailbox:Mailbox :RoutingList:RoutingList :MailQueue:MailQueue 窗口控制窗口控制 (whnd.cppwhnd.cpp) 通信控制通信控

13、制 (comhnd.cpp)(comhnd.cpp) 主控模块主控模块 (main.cpp)(main.cpp) 窗口控制窗口控制 (whnd.obj)(whnd.obj) 通讯控制通讯控制 (comhnd.obj)(comhnd.obj) 主控模块主控模块 (main.obj)(main.obj) 图形库图形库 (graphic.dll)(graphic.dll) 客户程序客户程序 (client.exe)(client.exe) 关关 系系 6.3 基于模式的软件体系结构 pattern pattern 什么是软件体系结构的通用模式?什么是软件体系结构的通用模式? 通常采用一组简单的工程式

14、样标记来构造体系结通常采用一组简单的工程式样标记来构造体系结 构图(构图(architecture diagramarchitecture diagram), ,这组标记是以这组标记是以UMLUML的配置图的配置图 为基础的。为基础的。 配置图由多个结点(配置图由多个结点(node),node),连接器(连接器(connectorconnector)构成)构成 。 Client Node(Client Node(客户机结点客户机结点) ) Server NodeServer Node(服务器(服务器结点结点) ComponentComponent A A 配置图配置图 流程处理系统(流程处理系

15、统(procedural processing systemprocedural processing system)以算法、)以算法、 数据结构为中心,按照数据结构为中心,按照- - -过程进行处理。过程进行处理。 6.3.1 6.3.1 流程处理系统流程处理系统 User Inteface/ControllerUser Inteface/Controller (用户界面控制器)(用户界面控制器) System ServicesSystem Services(系统服务)(系统服务) 预处理器预处理器 1 1 解题器解题器 2 2 后处理器后处理器 3 3 系统的主要特色是:三个处理部件之间是

16、单向连接的系统的主要特色是:三个处理部件之间是单向连接的 ,可能安装在不同的电脑上,可能安装在不同的电脑上。 常用于数据与图象、模拟、数值解等。常用于数据与图象、模拟、数值解等。 流程处理系统流程处理系统 流程处理系统(流程处理系统(procedural processing systemprocedural processing system)以程序算)以程序算 法法(algorithm)(algorithm)、数据结构、数据结构(datastructure)(datastructure)为中心,按照为中心,按照- - - 过程进行处理。过程进行处理。 6.3.1 6.3.1 流程处理系统流

17、程处理系统 User Inteface/ControllerUser Inteface/Controller (用户界面控制器)(用户界面控制器) System ServicesSystem Services(系统服务)(系统服务) 预处理器预处理器 1 1 解题器解题器 2 2 后处理器后处理器 3 3 流程处理系统流程处理系统 优点:优点: 系统由各处理部件简单组合,易于扩充处理,系统由各处理部件简单组合,易于扩充处理, 部件易于复用。适合于在大规模并行计算机中部件易于复用。适合于在大规模并行计算机中 (massively parallel computer)(massively para

18、llel computer)运行,解决复杂的工程技术运行,解决复杂的工程技术 问题。问题。 限制:限制: 主要以批处理方式执行,不适合交互方式。不主要以批处理方式执行,不适合交互方式。不 易管理大量的不同格式的输入、输出数据。易管理大量的不同格式的输入、输出数据。 层层(layer)(layer),是一个部件或结点中的一组对象或,是一个部件或结点中的一组对象或 函数,共同协作提供服务。如服务器中里层给外层函数,共同协作提供服务。如服务器中里层给外层 提供服务。提供服务。层状体系结构适用于应用服务器、数据层状体系结构适用于应用服务器、数据 库系统及操作系统等。库系统及操作系统等。 持久服务持久服

19、务 核心函数核心函数 界面函数界面函数 界面函数界面函数 核心函数核心函数 持久服务持久服务 图图 6.11 6.11 层状系统层状系统 1 1、按照功能层次划分,降低系统复杂度,系统设、按照功能层次划分,降低系统复杂度,系统设 计更加清晰。计更加清晰。 2 2、内层与外界隔离,可有效控制内层的函数和服、内层与外界隔离,可有效控制内层的函数和服 务。务。 、新的及常用运算(查询)可在界面层中引入,、新的及常用运算(查询)可在界面层中引入, 由内层服务支持,可提高系统性能。由内层服务支持,可提高系统性能。 、独立的层,可以作为构件或结点使用。、独立的层,可以作为构件或结点使用。 : 1 1、层数

20、过多,系统性能下降。、层数过多,系统性能下降。 2 2、标准化的层界面可能变得臃肿,使函数调用性、标准化的层界面可能变得臃肿,使函数调用性 能下降。能下降。 ISO/OSI 开放系统互连参考模型开放系统互连参考模型 应用层协议应用层协议 表示层协议表示层协议 会晤层协议会晤层协议 传输层协议传输层协议 物物 理 理 介介 质质 应用层应用层 表示层表示层 会晤层会晤层 传输层传输层 网络层网络层 数据链路层数据链路层 物理层物理层 应用层应用层 表示层表示层 会晤层会晤层 传输层传输层 网络层网络层 数据链路层数据链路层 物理层物理层 网络层网络层 数据链路层数据链路层 物理层物理层 网络层网

21、络层 数据链路层数据链路层 物理层物理层 中继系统中继系统 中继系统 中继系统 主机系统主机系统主机系统主机系统 Open System Interconnection Reference Open System Interconnection Reference ModeMode NOS NOS依靠在各网络层次上( 依靠在各网络层次上(OSI OSI七层参考模型)的 七层参考模型)的 协议实现通信。协议实现通信。 层状系统举例层状系统举例 在在client/serverclient/server模式下,客户机负责用户输入和展示,模式下,客户机负责用户输入和展示, 服务器处理低层的功能。服务器

22、处理低层的功能。 6.3.3 6.3.3 客户机客户机/ /服务器系统服务器系统 优点:优点: 1 1、客户机与服务器分、客户机与服务器分 离,两者开发可同时进离,两者开发可同时进 行。行。 2 2、一个服务器可服务、一个服务器可服务 于多个客户机。于多个客户机。 限制:限制: 1 1、客户机与服务器的通信依赖于网络,可能出现网络阻、客户机与服务器的通信依赖于网络,可能出现网络阻 塞的瓶颈塞的瓶颈(bottleneck)(bottleneck)现象。现象。 2 2、服务器及界面的改变将引起客户机的相应改变。、服务器及界面的改变将引起客户机的相应改变。 Client BClient B Clie

23、nt CClient CClient AClient AClient DClient D Server (Server (服务器服务器) ) 图图6.13 6.13 客户机客户机/ /服务器系统服务器系统 客户客户(Client)(Client) 服务器服务器(Server)(Server) 服务服务 请求请求 结结 果果 网网 络络 图图6.14 6.14 典型的客户典型的客户/ /服服 务器务器(C/S)(C/S)结构结构 数据数据 库库 DBMDBM S S 应用应用 程序程序 、针对网络瓶颈问题,尽量减少客户机作远程调、针对网络瓶颈问题,尽量减少客户机作远程调 用,如把一组运算组合起来

24、,在一个远程调用中处理。用,如把一组运算组合起来,在一个远程调用中处理。 、为了解决服务器的变动引起客户机的改变,采用、为了解决服务器的变动引起客户机的改变,采用 “轻型客户机轻型客户机”(thin cilent)(thin cilent)。如。如WebWeb浏览器浏览器/ /服务器模式,服务器模式, 简称简称B/S (Browser/ServerB/S (Browser/Server)模式。)模式。 它无需在不同的客户机上安装不同的客户应用程序,它无需在不同的客户机上安装不同的客户应用程序, 而只需安装通用的浏览器软件。而只需安装通用的浏览器软件。 简化了系统的开发和维护。系统的开发者无须再

25、为不简化了系统的开发和维护。系统的开发者无须再为不 同级别的用户设计开发不同的客户应用程序了,只需把所同级别的用户设计开发不同的客户应用程序了,只需把所 有的功能都实现在有的功能都实现在WebWeb服务器上,并就不同的功能为各个服务器上,并就不同的功能为各个 组别的用户设置权限就可以了。组别的用户设置权限就可以了。 浏览器浏览器(Browser)(Browser) WEBWEB服务器服务器 服务服务 请求请求 最终最终 结果结果 网网 络络 图图6.15 6.15 基于基于WEBWEB的浏览器的浏览器/ /服服 务器务器(B/S)(B/S)结构结构 数据库服务器数据库服务器 数据数据 请求请求

26、 结果结果 集集 数据访问引擎数据访问引擎 、把部分工作转移到客户机中执行,如查、把部分工作转移到客户机中执行,如查 证输入数据的正确性,可在客户端进行。证输入数据的正确性,可在客户端进行。 、将数据库的处理事项组合起来执行,可提、将数据库的处理事项组合起来执行,可提 高数据库的吞吐量高数据库的吞吐量(throughput )(throughput )。 Database management nodeDatabase management node (数据库管理结点)(数据库管理结点) business logic nodebusiness logic node(商业逻辑结点)商业逻辑结点)

27、 SecuritySecurity (安全)(安全) EventEvent (事件)(事件) SearchSearch (搜索)(搜索) ClientAClientA ClientDClientDClientBClientB ClientCClientC 服服 务务 器器 客客 户户 机机 第一级是数据库管理结点第一级是数据库管理结点(database management node)(database management node)。 第二级或中间级是第二级或中间级是“商业逻辑结点商业逻辑结点” ” (business logic node),(business logic node),是

28、指是指 具体应用中实施的具体应用中实施的 程序逻辑和法则。程序逻辑和法则。 第三级是用户界面级,强调高效、方便易用的用户界面。第三级是用户界面级,强调高效、方便易用的用户界面。 三三级体系结构级体系结构 第一级第一级 第二级第二级 第三级第三级 可由三级系统的概念推广到多级系统可由三级系统的概念推广到多级系统( (multi-tier systemmulti-tier system),),即即 由多个由多个C/SC/S对组成。对组成。 四四级体系结构级体系结构 Thin ClientsThin Clients Database management nodeDatabase managemen

29、t node (数据库管理结点)(数据库管理结点) business logic nodebusiness logic node(商业逻辑结点)商业逻辑结点) SecuritySecurity (保安)(保安) EventEvent (事件)(事件) SearchSearch (搜索)(搜索) ClientAClientA ClientBClientB Thin ClientsThin Clients Web ServerWeb Server (网服务器)(网服务器) (轻型客户机)(轻型客户机) (客户机)(客户机) SQLSQL HTTPHTTP CORBA/IIOPCORBA/IIOP 优点:优点: . . 系统功能分布在多级或服务器上,系统易于维护和系统功能分布在多级或服务器上,系统易于维护和 扩充。扩充。 . . 进行分级控制,可对不同级的客户机提供不同水平进行分级控制,可对不同级的客户机提供不同水平 的服务。的服务。 . . 可方便地将中间级与企业的其它系统连接起来。可方便地将中间级与企业的其它系统连接

温馨提示

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

评论

0/150

提交评论