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

下载本文档

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

文档简介

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

2、eling)首先要)首先要建立系统的基本模型,并将该模型映射到软硬件单建立系统的基本模型,并将该模型映射到软硬件单元上。主要讨论以元上。主要讨论以UML为基础的体系结构建模。为基础的体系结构建模。面向对象的体系结构与传统的体系结构不同,面向对象的体系结构与传统的体系结构不同,它强调的是分布式对象的分配、部件及其界面、它强调的是分布式对象的分配、部件及其界面、面向对象的通信方法。面向对象的通信方法。体系结构?体系结构?二、体系结构建模二、体系结构建模 软件技术研究的主要方面:软件理论、编程和软件技术研究的主要方面:软件理论、编程和软件设计方法、软件工程环境、软件体系结构和中软件设计方法、软件工程

3、环境、软件体系结构和中间件中,软件体系结构最重要。间件中,软件体系结构最重要。软件开发首先要解决高层问题的决策,再逐步软件开发首先要解决高层问题的决策,再逐步细化。细化。系统能否适应用户初期需求的模糊性和需求的系统能否适应用户初期需求的模糊性和需求的变化,主要取决于软件体系结构。变化,主要取决于软件体系结构。软件体系结构是软件质量的保证。软件体系结构是软件质量的保证。1. 用包图或构件图描述的静态结构用包图或构件图描述的静态结构2. 基于配置图的软件体系结构基于配置图的软件体系结构 一个合理、健全、内在一致的体系结构,是建一个合理、健全、内在一致的体系结构,是建立高水平软件系统的基础,即软件系

4、统的体系结构,立高水平软件系统的基础,即软件系统的体系结构,决定了软件的质量。决定了软件的质量。 包由关系密切的一组模包由关系密切的一组模型元素构成,包还可以由其型元素构成,包还可以由其他包构成(嵌套)。图中描他包构成(嵌套)。图中描述了体系结构的包图。述了体系结构的包图。表示表示领领 域域服服 务务数据库数据库表示层表示层应用逻辑层应用逻辑层存储层存储层图6.1 UML包表达的体系结构单元包图是维护和控制系包图是维护和控制系统总体结构的重要建模工统总体结构的重要建模工具。具。应用包图要解决的问题应用包图要解决的问题表示表示领领 域域服服 务务数据库数据库表示层表示层应用逻辑层应用逻辑层存储层

5、存储层UML包表达的体系结构单元应将概念或语义相近的模应将概念或语义相近的模型元素型元素(对象类对象类)纳入一个包。纳入一个包。即包具有高内聚性,包中的类即包具有高内聚性,包中的类具有功能相关性。具有功能相关性。包之间的联系主要有两种:包之间的联系主要有两种:依赖和泛化。依赖和泛化。2.2 用配置图描述系统结构用配置图描述系统结构配置图是一个架构,用来详细说明技术单元和它配置图是一个架构,用来详细说明技术单元和它们之间的链接。又可分为硬件环境的配置图和软件环们之间的链接。又可分为硬件环境的配置图和软件环境的配置图。境的配置图。三、设计样式UserStation:PersonalComputer

6、deptServer:FileserveropStation:WorkStationcorpServer:MainFrameONE DESKTOPONE DEPARTMENTTHE CORPORATIONinterDeptLink:LANdeptCorpLink:TCP/IPopCorpLink:TCP/IP1.*1.*1.*11111三层C/S商业系统的配置图医院诊疗系统的配置图(C/S):ObjectDatabase:Health CareDomainDatabase Unit Server(数据库服务器)(数据库服务器)a Windows PC(客户机客户机):ObjectDatabas

7、e:Health CareDomainHeart Unit Server(心血管病服务器心血管病服务器):ConfigureKnowledge:Configure usersHeart Unit ConfigurationCommunication TCP/IPTCP/IP:Heart Unit UI:Heart UnitClient Facade:Heart UnitServerApplication2.2 用配置图描述系统结构用配置图描述系统结构并不是所有的系统都需要建立配置图,一个单并不是所有的系统都需要建立配置图,一个单机系统只需建立包图或构件图。配置图主要用于在机系统只需建立包图或构

8、件图。配置图主要用于在网络环境下运行的分布式系统或嵌入式系统的建模。网络环境下运行的分布式系统或嵌入式系统的建模。数据库服务器数据库服务器DB:数据库数据库打印机打印机打印机打印机 应用应用服务器服务器 系统管理系统管理 (执行码)(执行码) 通用应用通用应用 (执行码)(执行码) 资源管理资源管理桌面桌面客户客户 资源管理资源管理 (执行码(执行码) 项目管理项目管理桌面桌面客户客户 项目管理项目管理 (执行码)(执行码)项目与资源管理系统的配置图2.2 用配置图描述系统结构用配置图描述系统结构2.3 用构件图来描述系统软件环境的配置用构件图来描述系统软件环境的配置 image.java构件

9、图又称为组件图,组件(构件图又称为组件图,组件(Component)是系)是系统的物理可替换的单位,代表系统的一个物理组件及统的物理可替换的单位,代表系统的一个物理组件及其联系,表达的是系统代码本身的结构。其联系,表达的是系统代码本身的结构。 Mailer +Mailbox +RoutingList MailQueue 2. 组件的实例组件的实例表示运行期间可执行的软件模块。只有可执行的表示运行期间可执行的软件模块。只有可执行的组件才有实例。组件才有实例。 mymailer: Mailer :Mailbox :RoutingList :MailQueue 窗口控制窗口控制 (whnd.cpp)

10、 通信控制通信控制 (comhnd.cpp) 主控模块主控模块 (main.cpp) 窗口控制窗口控制 (whnd.obj) 通信控制通信控制 (comhnd.obj)主控模块主控模块(main.obj) 图形库图形库 (graphic.dll) 客户程序客户程序 (client.exe)关关系系2.3 用构件图来描述系统软件环境的配置用构件图来描述系统软件环境的配置 基于模式的软件体系结构 pattern一、什么是软件体系结构的通用模式一、什么是软件体系结构的通用模式通常采用一组简单的工程式样标记来构造体系结通常采用一组简单的工程式样标记来构造体系结构图(构图(architecture di

11、agram),这组标记是以这组标记是以UML的的配置图为基础的。配置图为基础的。 配置图由多个结点(配置图由多个结点(node)、连接器(、连接器(connector)构成。构成。Client Node(客户机结点客户机结点)Server Node(服务器(服务器结点结点) ComponentA配置图流程处理系统(流程处理系统(procedural processing system)以算)以算法、数据结构为中心,按照法、数据结构为中心,按照-过程进行处理。过程进行处理。3.1 流程处理系统流程处理系统User Inteface/Controller(用户界面控制器)(用户界面控制器)Syst

12、em Services(系统服务)(系统服务) 预处理器预处理器1 解题器解题器2 后处理器后处理器3 系统的主要特色是:三个处理部件之间是单向连接的,系统的主要特色是:三个处理部件之间是单向连接的,可能安装在不同的计算机上可能安装在不同的计算机上。 常用于数据与图像处理、计算机模拟、数值解题等。常用于数据与图像处理、计算机模拟、数值解题等。流程处理系统优点:优点: 系统由各处理部件简单组合,易于扩充处理,系统由各处理部件简单组合,易于扩充处理,部件易于复用。适合于在大规模并行计算机中部件易于复用。适合于在大规模并行计算机中(massively parallel computer)运行,解决复

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

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

15、面可能变得臃肿,使函数调用性能下降。能下降。ISO/OSI 开放系统互连参考模型开放系统互连参考模型应用层协议应用层协议表示层协议表示层协议会话层协议会话层协议传输层协议传输层协议 物物 理理 介介 质质应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层应用层应用层表示层表示层会话层会话层传输层传输层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层网络层网络层数据链路层数据链路层物理层物理层中继系统中继系统 中继系统中继系统主机系统主机系统主机系统主机系统Open System Interconnection R

16、eference Mode NOS依靠在各网络层次上(依靠在各网络层次上(OSI七层参考模型)的七层参考模型)的协议实现通信。协议实现通信。层状系统举例在在c/s模式下,客户机负责用户输入和展示,服务器处理模式下,客户机负责用户输入和展示,服务器处理低层的功能。低层的功能。3.3 客户机客户机/服务器系统服务器系统优点:优点: 1. 客户机与服务器分客户机与服务器分离,两者开发可同时进离,两者开发可同时进行。行。 2. 一个服务器可服务一个服务器可服务于多个客户机。于多个客户机。限制:限制:1. 客户机与服务器的通信依赖于网络,可能出现网络阻客户机与服务器的通信依赖于网络,可能出现网络阻塞的瓶

17、颈塞的瓶颈(bottleneck)现象。现象。2. 服务器及界面的改变将引起客户机的相应改变。服务器及界面的改变将引起客户机的相应改变。Client BClient CClient AClient DServer (服务器服务器)客户机/服务器系统客户(Client)服务器(Server)服务请求结果网络典型的客户服务器(C/S)结构数据库DBMS应用程序. 针对网络瓶颈问题,尽量减少客户机作远程调用,针对网络瓶颈问题,尽量减少客户机作远程调用,如把一组运算组合起来,在一个远程调用中处理。如把一组运算组合起来,在一个远程调用中处理。 为了解决服务器的变动引起客户机的改变,采用为了解决服务器的变

18、动引起客户机的改变,采用“轻型客户机轻型客户机”(thin cilent)。如。如WebWeb浏览器浏览器/ /服务器模式,服务器模式,简称简称B/S (Browser/ServerB/S (Browser/Server)模式)模式。 它无须在不同的客户机上安装不同的客户应用程序,它无须在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。而只需安装通用的浏览器软件。简化了系统的开发和维护。系统的开发者无须再为不简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在有的功能

19、都实现在WebWeb服务器上,并就不同的功能为各个服务器上,并就不同的功能为各个组别的用户设置权限就可以了。组别的用户设置权限就可以了。 浏览器WEB服务器服务请求最终结果网络图6.15 基于Web的浏览器/服务器(B/S)结构数据库服务器数据请求结果集数据访问引擎 . 把部分工作转移到客户机中执行,如查证把部分工作转移到客户机中执行,如查证输入数据的正确性,可在客户端进行。输入数据的正确性,可在客户端进行。. 将数据库的处理事项组合起来执行,可提将数据库的处理事项组合起来执行,可提高数据库的吞吐量高数据库的吞吐量(throughput )。Database management node(数

20、据库管理结点)(数据库管理结点)business logic node(商业逻辑结点)商业逻辑结点)Security(安全)(安全)Event(事件)(事件)Search(搜索)(搜索)ClientAClientDClientBClientC服服务务器器客客户户机机第一级是数据库管理结点第一级是数据库管理结点(database management node)。第二级或中间级是第二级或中间级是“商业逻辑结点商业逻辑结点” (business logic node),是指具体应用中实施的是指具体应用中实施的 程序逻辑和法则。程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用户界面。第三级

21、是用户界面级,强调高效、方便易用的用户界面。三级体系结构第一级第一级第二级第二级第三级第三级 可由三级系统的概念推广到多级系统可由三级系统的概念推广到多级系统( (multi-tier system),),即由多个即由多个C/SC/S对组成。对组成。四级体系结构Thin ClientsDatabase management node(数据库管理结点)(数据库管理结点)business logic node(商业逻辑结点)商业逻辑结点)Security(保安)(保安)Event(事件)(事件)Search(搜索)(搜索)ClientAClientBThin ClientsWeb Server(服务器)(服务器)(轻型客户机)(轻型客户机)(客户机)(客户机)SQLHTTPCORBA/IIOP优点:优点:. 系统功能分布在多级或服务器上,系统易于维护和系统功能分布在多级或服务器上,系统易于维护和扩充。扩充。. 进行分级控制,可对不同级的客户机提供不同水平进行分级控制,可对不同级的客户机提供不同水平的服务。的服务。. 可方便地将中间级与企业的其他系统连接起来。可方便地将中间级与企业的其他系统连接起来。. 多级系统可以对同时使用系统的客户机提供服务。多级系统可以对同时使用系统的客户机提供服务。限制:限制:. 各对客户机与服务器之间有多种不同的通信协议,要各对客户机与

温馨提示

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

评论

0/150

提交评论