资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件体系结构软件体系结构面向对象的面向对象的高等教育出版社高等教育出版社 高等教育电子音像出版社高等教育电子音像出版社 从一般意义上说,体系结构包括两个层面:硬件体系结构(Hardware Architecture )软件体系结构(Software Architecture )面向对象体系结构面向对象体系结构硬件体系结构指系统的硬件组织模式;而软件体 系结构则描述软件的组织模式。这里我们主要关注软 件体系结构的问题。体系结构反映了系统的总体结构,是从全局上描 述系统。一、什么是体系结构一、什么是体系结构体系结构建模(architecture modeling)首先要建立系统的基本模型,并将该模型映射到软硬件单 元上。主要讨论以UML为基础的体系结构建模。 面向对象体系结构面向对象体系结构面向对象的体系结构与传统的体系结构不同, 它强调的是分布式对象的分配、部件及其界面、面 向对象的通信方法。三、什么是面向对象的三、什么是面向对象的体系结构?二、体系结构建模软件技术研究的主要方面:软件理论、编程和 软件设计方法、软件工程环境、软件体系结构和中 间件中,软件体系结构最重要。四、建立软件体系结构的重要性四、建立软件体系结构的重要性软件开发首先要解决高层问题的决策,再逐步细 化。系统能否适应用户初期需求的模糊性和需求的变 化,主要取决于软件体系结构。软件体系结构是软件质量的保证。面向对象体系结构面向对象体系结构1. 用包图或构件图描述的静态结构2. 基于配置图的软件体系结构一个合理、健全、内在一致的体系结构,是建立 高水平软件系统的基础,即软件系统的体系结构,决 定了软件的质量。基于基于UMLUML的体系结构设计的体系结构设计2.1 2.1 用包图用包图描述系统的体系结构描述系统的体系结构一、一、 包是系统的一种分组机制包是系统的一种分组机制包由关系密切的一组模 型元素构成,包还可以由其 他包构成(嵌套)。图中描 述了体系结构的包图。表 示领 域服 务数据库表示层应用逻辑层存储层图6.1 UML包表达的体系结构单元包图是维护和控制系 统总体结构的重要建模工 具。二、二、应用包图要解决的问题表 示领 域服 务数据库表示层应用逻辑层存储层UML包表达的体系结构单元如何组织包?如何组织包?应将概念或语义相近的模 型元素(对象类)纳入一个包。 即包具有高内聚性,包中的类 具有功能相关性。如何确定包之间的关系?如何确定包之间的关系?包之间的联系主要有两种 :依赖和泛化。2.1 2.1 用包图用包图描述系统的体系结构描述系统的体系结构2.2 用配置图描述系统结构配置图是一个架构,用来详细说明技术单元和它 们之间的链接。又可分为硬件环境的配置图和软件环 境的配置图。三、设计样式UserStation: Personal ComputerdeptServer: FileserveropStation: WorkStationcorpServer: MainFrameONE DESKTOPONE DEPARTMENTTHE CORPORATIONinterDeptLink: LANdeptCorpLink: TCP/IPopCorpLink: TCP/IP1.*1.*1.*11111三层C/S商业系统的配置图医院诊疗系统的配置图(C/S):Object Database:Health Care DomainDatabase Unit Server (数据库服务器)a Windows PC(客户机):Object Database:Health Care DomainHeart Unit Server(心血管病服务器):Configure Knowledge:Configure usersHeart Unit ConfigurationCommunication TCP/IPTCP/IP:Heart Unit UI:Heart Unit Client Facade:Heart Unit Server Application2.2 用配置图描述系统结构并不是所有的系统都需要建立配置图,一个单 机系统只需建立包图或构件图。配置图主要用于在 网络环境下运行的分布式系统或嵌入式系统的建模 。数据库服务器DB:数据库打印机打印机应用 服务器系统管理(执行码)通用应用(执行码)资源管理桌面 客户资源管理(执行码)项目管理桌面 客户项目管理(执行码)项目与资源管理系统的配置图2.2 用配置图描述系统结构2.3 用构件图来描述系统软件环境的配置image.java构件图又称为组件图,组件(Component)是系 统的物理可替换的单位,代表系统的一个物理组件及 其联系,表达的是系统代码本身的结构。. . 简单组件与扩充组件简单组件与扩充组件Mailer+Mailbox +RoutingListMailQueue 2. 组件的实例表示运行期间可执行的软件模块。只有可执行的 组件才有实例。mymailer: Mailer:Mailbox :RoutingList:MailQueue 构件图实例构件图实例窗口控制(whnd.cpp)通信控制(comhnd.cpp)主控模块(main.cpp)窗口控制(whnd.obj)通信控制(comhnd.obj)主控模块 (main.obj)图形库(graphic.dll)客户程序(client.exe)构件构件关 系2.3 用构件图来描述系统软件环境的配置 基于模式的软件体系结构2.2.设计模式设计模式(design pattern)(design pattern)由一些更基本的成分构成由一些更基本的成分构成, ,是进行设计的是进行设计的“ “砖头砖头” ”, 可以用于同类的其他设计,也称为模型架构可以用于同类的其他设计,也称为模型架构(model (model framework)framework)。它。它用于细化软件系统的子系统或组件。用于细化软件系统的子系统或组件。1. 1. 体系结构模式体系结构模式(architecrularchitecrul pattern)体系结构模式表示软件系统的基本结构化组织图式体系结构模式表示软件系统的基本结构化组织图式。体系结构模式可以作为具体软件体系结构的模板。体系结构模式可以作为具体软件体系结构的模板。一、什么是软件体系结构的通用模式流程处理系统流程处理系统层状系统层状系统客户服务器系统客户服务器系统三级和多级系统三级和多级系统代理代理二、常用的通用模式二、常用的通用模式三、体系结构图的标记法三、体系结构图的标记法通常采用一组简单的工程式样标记来构造体系结 构图(architecture diagram),这组标记是以UML的 配置图为基础的。配置图由多个结点(node)、连接器(connector )构成。Client Node(客户机结点)Server Node(服务器结点)Component A配置图流程处理系统(procedural processing system)以算 法、数据结构为中心,按照-过程进行处理。3.1 流程处理系统User Inteface/Controller (用户界面控制器)System Services(系统服务)预处理器1解题器2后处理器3系统的主要特色是:三个处理部件之间是单向连接的, 可能安装在不同的计算机上。常用于数据与图像处理、计算机模拟、数值解题等 。流程处理系统优点:系统由各处理部件简单组合,易于扩充处理,部件易于复用。适合于在大规模并行计算机中 (massively parallel computer)运行,解决复杂的工程技术问题。限制:主要以批处理方式执行,不适合交互方式。不易管理大量的不同格式的输入、输出数据。3.1 流程处理系统层(layer)是一个部件或结点中的一组对象或函 数,共同协作提供服务。如服务器中里层给外层提 供服务。层状体系结构适用于应用服务器、数据库 系统及操作系统等。3.2 3.2 层状系统层状系统持久服务核心函数界面函数 界面函数核心函数持久服务层状系统优点:优点:1. 按照功能层次划分,降低系统复杂度,系统设 计更加清晰。2. 内层与外界隔离,可有效控制内层的函数和服 务。. 新的及常用运算(查询)可在界面层中引入, 由内层服务支持,可提高系统性能。. 独立的层,可以作为构件或结点使用。 限制限制:1. 层数过多,系统性能下降。2. 标准化的层界面可能变得臃肿,使函数调用性 能下降。3.2 3.2 层状系统层状系统ISO/OSI 开放系统互连参考模型应用层协议表示层协议会话层协议传输层协议 物 理 介 质应用层表示层会话层传输层网络层数据链路层物理层应用层表示层会话层传输层网络层数据链路层物理层网络层 数据链路层 物理层网络层 数据链路层 物理层中继系统 中继系统主机系统主机系统Open System Interconnection Reference ModeNOS依靠在各网络层次上(OSI七层参考模型)的 协议实现通信。层状系统举例3.2 3.2 层状系统层状系统在c/s模式下,客户机负责用户输入和展示,服务器处理 低层的功能。3.3 客户机/服务器系统优点:1. 客户机与服务器分 离,两者开发可同时进 行。2. 一个服务器可服务 于多个客户机。限制:1. 客户机与服务器的通信依赖于网络,可能出现网络阻 塞的瓶颈(bottleneck)现象。2. 服务器及界面的改变将引起客户机的相应改变。Client BClient CClient AClient DServer (服务器)客户机/服务器系统C/SC/S结构的数据库结构的数据库客户(Client)服务器(Server)服务请求结果网络典型的客户服务器(C/S)结构数据库DBMS应用程序一、如何解决客户服务器系统的限制?一、如何解决客户服务器系统的限制?. 针对网络瓶颈问题,尽量减少客户机作远程调用, 如把一组运算组合起来,在一个远程调用中处理。 为了解决服务器的变动引起客户机的改变,采用“ 轻型客户机” (thin cilent)。如Web浏览器/服务器模式, 简称B/S (Browser/Server)模式。 它无须在不同的客户机上安装不同的客户应用程序, 而只需安装通用的浏览器软件。 简化了系统的开发和维护。系统的开发者无须再为不 同级别的用户设计开发不同的客户应用程序了,只需把所 有的功能都实现在Web服务器上,并就不同的功能为各个 组别的用户设置权限就可以了。 B/SB/S结构的数据库结构的数据库浏览器WEB服务器服务请求最终结果网络图6.15 基于Web的浏览器/服务器(B/S)结构数据库服务器数据请求结果集数据访问引擎二、如何提高服务器的效率二、如何提高服务器的效率. 把部分工作转移到客户机中执行,如查证 输入数据的正确性,可在客户端进行。. 将数据库的处理事项组合起来执行,可提 高数据库的吞吐量(throughput )。3.4 3.4 三级和多级系统三级和多级系统Database management node (数据库管理结点)business logic node(商业逻辑结点)Security (安全)Event (事件)Search (搜索)ClientAClientDClientBClientC 服 务 器客 户 机第一级是数据库管理结点(database management node)。第二级或中间级是“商业逻辑结点” (business logic node),是 指具体应用中实施的 程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用户界面。三级体系结构第一级第二级第三级可由三级系统的概念推广到多级系统(multi-tier
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号