书签 分享 收藏 举报 版权申诉 / 40
上传文档赚钱

类型高级软件工程(第九章)-软件体系结构(2017课件).ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4389661
  • 上传时间:2022-12-05
  • 格式:PPT
  • 页数:40
  • 大小:620.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《高级软件工程(第九章)-软件体系结构(2017课件).ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    高级 软件工程 第九 软件 体系结构 2017 课件
    资源描述:

    1、第九章第九章软件体系结构软件体系结构什么是软件体系结构?什么是软件体系结构?软件体系结构表示系统的框架结构,用于从较高软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要的层次上来描述各部分之间的关系和接口,主要包括:构件、构件性质和构件之间的关系。包括:构件、构件性质和构件之间的关系。软件体系结构是构件和连接件之间相互作用的形软件体系结构是构件和连接件之间相互作用的形式化说明,用以指导将多个模块组织成一个完整式化说明,用以指导将多个模块组织成一个完整的应用程序。的应用程序。2 2软件体系结构描述语言软件体系结构描述语言软件体系结构描述语言(软件体系结构描述语言

    2、(Architectural Architectural Description LanguageDescription Language,简称,简称ADLADL)是用来描述)是用来描述软件密集型系统的总体结构的语言,说明系统众软件密集型系统的总体结构的语言,说明系统众多构件之间的结构关系。多构件之间的结构关系。代表性的体系结构描述语言包括:代表性的体系结构描述语言包括:nWrightWrightnRapideRapidenDarwinDarwinnUniconUniconnACMEACMEnABC/ADLABC/ADLnXYZ/ADLXYZ/ADLnXADLXADL 大部分结构描述语言都有构

    3、件、连接子、配置大部分结构描述语言都有构件、连接子、配置等概念。等概念。3 3几种几种典型的软件体系结构风格典型的软件体系结构风格软件体系结构表示系统的框架结构,用于从较高软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要的层次上来描述各部分之间的关系和接口,主要包括:构件、构件性质和构件之间的关系。包括:构件、构件性质和构件之间的关系。不同系统的设计方案存在着许多共性问题,把这不同系统的设计方案存在着许多共性问题,把这些共性部分抽取出来,就形成了具有代表性的和些共性部分抽取出来,就形成了具有代表性的和可广泛接受的体系结构风格。可广泛接受的体系结构风格。4 4

    4、几种几种典型的软件体系结构风格典型的软件体系结构风格软件体系结构风格也称为软件体系结构惯用模软件体系结构风格也称为软件体系结构惯用模式,是指不同系统所拥有的共同组织结构和语式,是指不同系统所拥有的共同组织结构和语义特征。义特征。软件体系结构风格定义了用于系统描述的术语软件体系结构风格定义了用于系统描述的术语表和一组用于指导系统构建的规则。表和一组用于指导系统构建的规则。5 5几种几种典型的软件体系结构风格典型的软件体系结构风格管道管道/过滤器风格过滤器风格数据共享风格数据共享风格客户机客户机/服务器服务器风格风格浏览器浏览器/服务器风格服务器风格MVCMVC体系结构风格体系结构风格6 6管道管

    5、道/过滤器体系结构风格过滤器体系结构风格管道管道/过滤器结构主要包括过滤器和管道两种过滤器结构主要包括过滤器和管道两种元元素;素;构件被称为构件被称为过滤器过滤器,负责对数据进行加工,负责对数据进行加工处理;处理;每个过滤器都有一组输入端口和输出端口,从输每个过滤器都有一组输入端口和输出端口,从输入端口接收数据,经过内部加工处理之后,传送入端口接收数据,经过内部加工处理之后,传送到输出端口到输出端口上;上;数据通过相邻过滤器之间的连接件进行传输,连数据通过相邻过滤器之间的连接件进行传输,连接件可以看作输入数据流和输出数据流之间的通接件可以看作输入数据流和输出数据流之间的通路,这就是所谓的路,这

    6、就是所谓的管道管道。7 7管道管道/过滤器体系结构风格过滤器体系结构风格管道管道/过滤器结构将数据流处理分为几个顺序过滤器结构将数据流处理分为几个顺序的步骤来进行,一个步骤的输出是下一个步骤的步骤来进行,一个步骤的输出是下一个步骤的输入,每个处理步骤由一个过滤器来实现;的输入,每个处理步骤由一个过滤器来实现;每个过滤器独立完成自己的任务,不同过滤器每个过滤器独立完成自己的任务,不同过滤器之间不需要进行交互;之间不需要进行交互;在管道在管道/过滤器结构中,数据输出的最终结果过滤器结构中,数据输出的最终结果与各个过滤器执行的顺序无关。与各个过滤器执行的顺序无关。8 8当输入数据经过一系列的计算和操

    7、作构件的变当输入数据经过一系列的计算和操作构件的变换形成输出数据时,可以应用这种体系结构。换形成输出数据时,可以应用这种体系结构。管管道道/过滤器过滤器、批处理序列批处理序列都属于数据流风格。管都属于数据流风格。管道道/过滤器结构如下图所示。过滤器结构如下图所示。管道管道/过滤器体系结构风格过滤器体系结构风格管道管道/过滤器结构过滤器结构 每个过滤器都是一个独立的个体元素,各个过滤器的状态互不每个过滤器都是一个独立的个体元素,各个过滤器的状态互不相关,非邻近过滤器不共享任何信息;相关,非邻近过滤器不共享任何信息;运行结果的正确性与各个过滤器运行的先后顺序无关。运行结果的正确性与各个过滤器运行的

    8、先后顺序无关。9 9管道管道/过滤器体系结构风格过滤器体系结构风格管道管道/过滤器风格具有以下优点:过滤器风格具有以下优点:简单性,允许将系统的输入和输出看作是各个简单性,允许将系统的输入和输出看作是各个过滤器行为的简单组合,独立的过滤器能够减过滤器行为的简单组合,独立的过滤器能够减小构件之间的耦合小构件之间的耦合程度;程度;系统系统具有可扩展性和可进化性,各个过滤器是具有可扩展性和可进化性,各个过滤器是相互独立的,因此可以很容易地将新过滤器添相互独立的,因此可以很容易地将新过滤器添加到现有的系统之中,以扩展系统的业务处理加到现有的系统之中,以扩展系统的业务处理能力,原有过滤器可以很方便地被改

    9、进的过滤能力,原有过滤器可以很方便地被改进的过滤器所器所替代;替代;1010管道管道/过滤器体系结构风格过滤器体系结构风格支持复用,如果一个过滤器的输出数据格式与支持复用,如果一个过滤器的输出数据格式与另一个过滤器的输入数据格式是一致的,就可另一个过滤器的输入数据格式是一致的,就可以将这两个过滤器连接在一起;以将这两个过滤器连接在一起;系统并发性,各个过滤器能够独立运行,因此系统并发性,各个过滤器能够独立运行,因此,不同子任务可以并行执行,提高了系统运行,不同子任务可以并行执行,提高了系统运行效率;效率;便于系统分析,由于系统是独立构件的组合,便于系统分析,由于系统是独立构件的组合,具有清晰的

    10、拓扑结构,因而有利于对数据吞吐具有清晰的拓扑结构,因而有利于对数据吞吐量、死锁和计算准确性进行分析。量、死锁和计算准确性进行分析。1111管道管道/过滤器体系结构风格过滤器体系结构风格管道管道/过滤器风格也存在着一定的问题:过滤器风格也存在着一定的问题:p系统处理过程是批处理方式,过滤器具有很强系统处理过程是批处理方式,过滤器具有很强的独立性,对于每一个过滤器,设计者必须考的独立性,对于每一个过滤器,设计者必须考虑从输入到输出的转换过程,这种方式会造成虑从输入到输出的转换过程,这种方式会造成过滤器对输入数据的批量转换处理;过滤器对输入数据的批量转换处理;p不适合用来设计交互式应用系统;不适合用

    11、来设计交互式应用系统;p由于没有通用的数据传输标准,因此每个过滤由于没有通用的数据传输标准,因此每个过滤器都需要解析输入数据和合成数据,添加和去器都需要解析输入数据和合成数据,添加和去除标记需要花费一定的时间,从而导致了系统除标记需要花费一定的时间,从而导致了系统性能下降,增加了过滤器设计的复杂性。性能下降,增加了过滤器设计的复杂性。1212分层体系结构风格分层体系结构风格在分层风格中,系统将划分为一个层次结构;在分层风格中,系统将划分为一个层次结构;每一层都具有高度的内聚性,包含抽象程度一每一层都具有高度的内聚性,包含抽象程度一致的各种构件,支持信息隐藏;致的各种构件,支持信息隐藏;分层有助

    12、于将复杂系统划分为独立的模块,从分层有助于将复杂系统划分为独立的模块,从而简化程序的设计和实现;而简化程序的设计和实现;通过分解,可以将系统功能划分为一些具有明通过分解,可以将系统功能划分为一些具有明确定义的层,较高层是面向特定应用问题的,确定义的层,较高层是面向特定应用问题的,较低层更具有一般性。较低层更具有一般性。1313分层体系结构风格分层体系结构风格每层都为上层提供服务,同时又利用了下层的每层都为上层提供服务,同时又利用了下层的逻辑功能;逻辑功能;每层只对相邻层可见,层次之间的连接件是协每层只对相邻层可见,层次之间的连接件是协议和过程调用,用以实现各层之间的交互;议和过程调用,用以实现

    13、各层之间的交互;上层通过下层提供的接口来使用下层的功能,上层通过下层提供的接口来使用下层的功能,而下层却不能使用上层的功能;而下层却不能使用上层的功能;良好的层次结构将有助于对逻辑功能实施灵活良好的层次结构将有助于对逻辑功能实施灵活的增加、删除和修改。的增加、删除和修改。1414分层体系结构风格分层体系结构风格利用接口,可以将下层实现细节隐藏起来,从利用接口,可以将下层实现细节隐藏起来,从而有助于抽象设计,形成松散耦合的结构模型而有助于抽象设计,形成松散耦合的结构模型1515分层体系结构风格分层体系结构风格分层体系结构风格具有以下优点:分层体系结构风格具有以下优点:设计者可以将系统分解为一个增

    14、量的步骤序列,设计者可以将系统分解为一个增量的步骤序列,从而完成复杂的业务逻辑;从而完成复杂的业务逻辑;每一层至多和相邻的上下两层进行交互,每一层每一层至多和相邻的上下两层进行交互,每一层的功能变化最多只影响相邻两层,便于实现系统的功能变化最多只影响相邻两层,便于实现系统功能的扩展;功能的扩展;只要给相邻层提供相同的接口,就可以使用不同只要给相邻层提供相同的接口,就可以使用不同的方法来实现每一层,支持软件资源的复用。的方法来实现每一层,支持软件资源的复用。1616分层体系结构风格分层体系结构风格分层体系结构风格也存在着一些问题:分层体系结构风格也存在着一些问题:p并非并非所有系统都能够按照层次

    15、来进行划分,即使一所有系统都能够按照层次来进行划分,即使一个系统的逻辑结构是层次化的,但是出于对系统性个系统的逻辑结构是层次化的,但是出于对系统性能的考虑,需要把不同抽象程度的功能合并到一层能的考虑,需要把不同抽象程度的功能合并到一层,破坏了逻辑,破坏了逻辑独立性;独立性;p很难找到一种合适和正确的层次划分方法,其应用很难找到一种合适和正确的层次划分方法,其应用范围受到范围受到限制;限制;p在传输数据时,需要经过多个层次,导致了系统性在传输数据时,需要经过多个层次,导致了系统性能能下降;下降;p多层结构多层结构难以调试,往往需要通过一系列的跨层次难以调试,往往需要通过一系列的跨层次调用来调用来

    16、实现。实现。1717数据共享体系结构风格数据共享体系结构风格数据共享风格也称为仓库风格,有两种不同类数据共享风格也称为仓库风格,有两种不同类型的软件元素:型的软件元素:p一种是中央数据单元,也称为资源库,用于一种是中央数据单元,也称为资源库,用于表示系统的当前状态,另一种是相互依赖的表示系统的当前状态,另一种是相互依赖的构件组构件组中央数据单元和构件之间可以进行信息交换,中央数据单元和构件之间可以进行信息交换,这是数据共享体系结构的技术实现基础;这是数据共享体系结构的技术实现基础;根据所使用的控制策略不同,数据共享体系结根据所使用的控制策略不同,数据共享体系结构可以分为两种类型:构可以分为两种

    17、类型:p一种是传统的数据库,另一种是黑板一种是传统的数据库,另一种是黑板1818数据共享体系结构风格数据共享体系结构风格如果由输入流中的事件来驱动系统进行信息处理如果由输入流中的事件来驱动系统进行信息处理,把执行结果存储到中央数据单元中,则这个系,把执行结果存储到中央数据单元中,则这个系统就是数据库应用系统;统就是数据库应用系统;如果由中央数据单元的当前状态来驱动系统运行如果由中央数据单元的当前状态来驱动系统运行,则这个系统就是黑板应用系统;,则这个系统就是黑板应用系统;黑板是数据共享体系结构的一个特例,用以解决黑板是数据共享体系结构的一个特例,用以解决状态冲突并处理可能存在的不确定性知识源。

    18、状态冲突并处理可能存在的不确定性知识源。1919客户机客户机/服务器体系结构风格服务器体系结构风格客户机向服务器发送操作请求,期待服务器的客户机向服务器发送操作请求,期待服务器的响应;响应;二者之间具有一定的连接机制,遵循公共的通二者之间具有一定的连接机制,遵循公共的通信协议,都需要处理请求表达、返回结果表示信协议,都需要处理请求表达、返回结果表示、连接关系和状态表达等一系列问题。、连接关系和状态表达等一系列问题。2020客户机客户机/服务器体系结构风格服务器体系结构风格数据和业务处理分布在一定范围内的多个构件数据和业务处理分布在一定范围内的多个构件上,包括客户机程序中的构件和服务器程序中上,

    19、包括客户机程序中的构件和服务器程序中的构件,构件与构件之间是通过网络进行连接的构件,构件与构件之间是通过网络进行连接的;的;定义了工作站与服务器的连接方法,从而使数定义了工作站与服务器的连接方法,从而使数据存储和逻辑计算可以分布到物理上的多个处据存储和逻辑计算可以分布到物理上的多个处理器上;理器上;服务器负责存储和管理数据信息,客户机负责服务器负责存储和管理数据信息,客户机负责数据显示、用户交互以及对业务逻辑的处理。数据显示、用户交互以及对业务逻辑的处理。2121客户机客户机/服务器体系结构风格服务器体系结构风格C/S系统可以分为前台客户机程序和后台服务系统可以分为前台客户机程序和后台服务器程

    20、序两部分;器程序两部分;服务器程序负责管理客户机程序的数据,而客服务器程序负责管理客户机程序的数据,而客户机程序负责完成与用户之间的交互,发送请户机程序负责完成与用户之间的交互,发送请求消息,接收和分析从服务器返回的数据;求消息,接收和分析从服务器返回的数据;客户机程序是表示层,包括用户界面和业务处客户机程序是表示层,包括用户界面和业务处理程序;理程序;服务器程序是数据层,包括中心数据库、数据服务器程序是数据层,包括中心数据库、数据查询程序、数据存储程序和数据更新程序。查询程序、数据存储程序和数据更新程序。2222客户机客户机/服务器体系结构风格服务器体系结构风格服务器程序负责管理系统资源,包

    21、括:管理数服务器程序负责管理系统资源,包括:管理数据库的安全性、控制数据库访问的并发性、定据库的安全性、控制数据库访问的并发性、定义全局数据完整性规则以及备份恢复数据库;义全局数据完整性规则以及备份恢复数据库;服务器永远处于激活状态,监听用户请求,为服务器永远处于激活状态,监听用户请求,为客户提供服务操作;客户提供服务操作;客户机程序的主要任务包括:提供用户与数据客户机程序的主要任务包括:提供用户与数据库交互的界面、向服务器提交用户请求、接收库交互的界面、向服务器提交用户请求、接收来自服务器的信息以及对客户机数据执行业务来自服务器的信息以及对客户机数据执行业务逻辑操作。逻辑操作。2323客户机

    22、客户机/服务器体系结构风格服务器体系结构风格C/S体系结构具有以下优点:体系结构具有以下优点:客户机构件和服务器构件分别运行在不同的计客户机构件和服务器构件分别运行在不同的计算机上,有利于分布式数据的组织和处理;算机上,有利于分布式数据的组织和处理;构件之间的位置是相互透明的,客户机程序和构件之间的位置是相互透明的,客户机程序和服务器程序都不必考虑对方的实际存储位置;服务器程序都不必考虑对方的实际存储位置;客户机侧重数据的显示和分析,服务器则注重客户机侧重数据的显示和分析,服务器则注重数据的管理,因此,客户机程序和服务器程序数据的管理,因此,客户机程序和服务器程序可以运行在不同的操作系统上,便

    23、于实现异构可以运行在不同的操作系统上,便于实现异构环境和多种不同开发技术的融合。环境和多种不同开发技术的融合。2424客户机客户机/服务器体系结构风格服务器体系结构风格构件之间是彼此独立和充分隔离的,这使得软构件之间是彼此独立和充分隔离的,这使得软件环境和硬件环境的配置具有极大的灵活性,易件环境和硬件环境的配置具有极大的灵活性,易于系统功能的于系统功能的扩展;扩展;将大规模的业务逻辑分布到多个通过网络连接将大规模的业务逻辑分布到多个通过网络连接的低成本的计算机上,降低了系统的整体的低成本的计算机上,降低了系统的整体开销。开销。C/S体系结构也逐渐暴露出一些问题:体系结构也逐渐暴露出一些问题:p

    24、开发成本较高,客户机的软件配置和硬件配置开发成本较高,客户机的软件配置和硬件配置的要求比较高,随着软件版本的升级,对硬件的要求比较高,随着软件版本的升级,对硬件性能的要求也越来越高,从而增加了系统成本性能的要求也越来越高,从而增加了系统成本,使客户机变得,使客户机变得臃肿;臃肿;2525客户机客户机/服务器体系结构风格服务器体系结构风格p在开发在开发C/S结构系统时,大部分工作都集中在结构系统时,大部分工作都集中在客户机程序的设计上,增加了设计的复杂度,客户机程序的设计上,增加了设计的复杂度,客户机负荷太重,难以应对客户端的大量业务客户机负荷太重,难以应对客户端的大量业务处理,降低了系统性能;

    25、处理,降低了系统性能;p信息内容和形式单一,传统应用一般都是事务信息内容和形式单一,传统应用一般都是事务处理型,界面基本上遵循数据库的字段解释,处理型,界面基本上遵循数据库的字段解释,在开发之初就已经确定,用户无法及时获取办在开发之初就已经确定,用户无法及时获取办公信息和文档信息,只能获得单纯的字符和数公信息和文档信息,只能获得单纯的字符和数字,非常枯燥和死板。字,非常枯燥和死板。2626客户机客户机/服务器体系结构风格服务器体系结构风格p如果对如果对C/S体系结构的系统进行升级,开发人体系结构的系统进行升级,开发人员需要到现场来更新客户机程序,同时需要对员需要到现场来更新客户机程序,同时需要

    26、对运行环境进行重新配置,增加了维护费用;运行环境进行重新配置,增加了维护费用;p两层两层C/S结构采用了单一的服务器,同时以局结构采用了单一的服务器,同时以局域网为中心,因此难以扩展到域网为中心,因此难以扩展到Intranet和和Internet;p数据安全性不高,客户机程序可以直接访问数数据安全性不高,客户机程序可以直接访问数据库服务器,因此,客户机上的其它恶意性程据库服务器,因此,客户机上的其它恶意性程序也有可能访问到数据库,无法保证中心数据序也有可能访问到数据库,无法保证中心数据库的安全。库的安全。2727客户机客户机/服务器体系结构风格服务器体系结构风格为了克服两层为了克服两层C/S结

    27、构的缺点,可以将客户机结构的缺点,可以将客户机和服务器中的部分业务逻辑抽取出来,形成功和服务器中的部分业务逻辑抽取出来,形成功能层,放在应用服务器上,这就是所谓的三层能层,放在应用服务器上,这就是所谓的三层C/S体系结构;体系结构;三层三层C/S结构包括:客户机、应用服务器和数结构包括:客户机、应用服务器和数据库服务器三个部分。据库服务器三个部分。2828客户机客户机/服务器体系结构风格服务器体系结构风格在三层在三层C/S结构中,针对一类应用问题建立了结构中,针对一类应用问题建立了中间层,即功能层,配置在应用服务器上;中间层,即功能层,配置在应用服务器上;应用服务器负责处理客户机与数据库服务器

    28、之应用服务器负责处理客户机与数据库服务器之间的交互,而不是直接让客户机与中心数据库间的交互,而不是直接让客户机与中心数据库相连,因此减少了同数据库服务器相连的客户相连,因此减少了同数据库服务器相连的客户机的数目,提高了系统安全性;机的数目,提高了系统安全性;由于将数据存取构件放在应用服务器上,客户由于将数据存取构件放在应用服务器上,客户机只存放系统的表示层,因此,客户机程序不机只存放系统的表示层,因此,客户机程序不必关心数据的操作细节,便于实现软件的安装必关心数据的操作细节,便于实现软件的安装与维护;与维护;2929客户机客户机/服务器体系结构风格服务器体系结构风格在三层在三层C/S体系结构中

    29、,通过增加应用服务器体系结构中,通过增加应用服务器,在不增加数据库服务器负担的情况下,使客,在不增加数据库服务器负担的情况下,使客户机变户机变“瘦瘦”,这种风格又被称为,这种风格又被称为“瘦客户机瘦客户机”C/S结构;结构;在三层在三层C/S结构中,减小了数据库服务器的工结构中,减小了数据库服务器的工作量,应用服务器可以建立数据备份,因此,作量,应用服务器可以建立数据备份,因此,提高了系统的可靠性;提高了系统的可靠性;在三层在三层C/S结构的软件系统中,可以将系统划结构的软件系统中,可以将系统划分为表示层、业务逻辑层和数据层分为表示层、业务逻辑层和数据层3个部分。个部分。3030客户机客户机/

    30、服务器体系结构风格服务器体系结构风格与两层与两层C/S结构相比,三层结构相比,三层C/S体系结构具有体系结构具有以下优点:以下优点:如果合理地划分三层结构的功能,可以使系统如果合理地划分三层结构的功能,可以使系统的逻辑结构更加清晰,提高了软件的可维护性的逻辑结构更加清晰,提高了软件的可维护性和可扩充性;和可扩充性;在实现三层在实现三层C/S结构时,可以更有效地选择运结构时,可以更有效地选择运行平台和硬件环境,从而使每一层都具有清晰行平台和硬件环境,从而使每一层都具有清晰的逻辑结构、良好的负荷处理能力和较好的开的逻辑结构、良好的负荷处理能力和较好的开放性,清晰和合理地划分三层放性,清晰和合理地划

    31、分三层C/S结构,使各结构,使各层之间保持相互独立,可以降低每一层应用的层之间保持相互独立,可以降低每一层应用的修改难度;修改难度;3131客户机客户机/服务器体系结构风格服务器体系结构风格在三层在三层C/S结构中,可以分别选择合适的编程结构中,可以分别选择合适的编程语言来并行地开发每一层的逻辑功能,以提高语言来并行地开发每一层的逻辑功能,以提高开发效率,同时,每一层的维护也更加容易;开发效率,同时,每一层的维护也更加容易;系统具有较高的安全性,可以充分利用功能层系统具有较高的安全性,可以充分利用功能层来将数据层和表示层分隔开来,使未授权用户来将数据层和表示层分隔开来,使未授权用户难以绕过功能

    32、层,无法利用数据库工具和黑客难以绕过功能层,无法利用数据库工具和黑客手段来非法访问数据层,从而保证了中心数据手段来非法访问数据层,从而保证了中心数据库的安全性,整个系统也更加便于控制,管理库的安全性,整个系统也更加便于控制,管理层次也更加合理。层次也更加合理。3232浏览器浏览器/服务器体系结构风格服务器体系结构风格浏览器浏览器/服务器服务器(Browser/Server,B/S),是,是三层三层C/S体系结构的一种实现方式,主要包括体系结构的一种实现方式,主要包括:浏览器、:浏览器、Web服务器和数据库服务器;服务器和数据库服务器;B/S结构主要利用了不断成熟的结构主要利用了不断成熟的WWW

    33、技术,技术,结合浏览器的多脚本语言,采用通用浏览器来结合浏览器的多脚本语言,采用通用浏览器来实现原来需要复杂的专用软件才能实现的强大实现原来需要复杂的专用软件才能实现的强大功能,节约了开发成本;功能,节约了开发成本;与三层与三层C/S结构的解决方案相比,结构的解决方案相比,B/S体系结体系结构在客户机上采用了构在客户机上采用了WWW浏览器,将浏览器,将Web服服务器作为应用服务器;务器作为应用服务器;3333浏览器浏览器/服务器体系结构风格服务器体系结构风格当用户运行某个应用程序时,只需要在客户端当用户运行某个应用程序时,只需要在客户端的浏览器中键入相应的的浏览器中键入相应的URL,向,向We

    34、b服务器提服务器提出出HTTP请求;请求;当当Web服务器接收服务器接收HTTP请求之后,会调用相请求之后,会调用相关的应用程序,同时向数据库服务器发送数据关的应用程序,同时向数据库服务器发送数据操作请求;操作请求;数据库服务器对数据操作请求进行响应,将结数据库服务器对数据操作请求进行响应,将结果返回给果返回给Web服务器的应用程序;服务器的应用程序;3434浏览器浏览器/服务器体系结构风格服务器体系结构风格在使用系统时,用户仅使用一个浏览器就可以在使用系统时,用户仅使用一个浏览器就可以运行全部的应用程序,真正实现了运行全部的应用程序,真正实现了“零客户端零客户端”的运作模式;的运作模式;在系

    35、统运行期间,可以对浏览器进行自动升级在系统运行期间,可以对浏览器进行自动升级,B/S结构为异构机、异构网和异构应用服务结构为异构机、异构网和异构应用服务的集成提供了有效的框架基础;的集成提供了有效的框架基础;B/S体系结构具有以下优点:体系结构具有以下优点:客户端只需要安装浏览器,操作简单,能够客户端只需要安装浏览器,操作简单,能够发布动态信息和静态信息发布动态信息和静态信息3535浏览器浏览器/服务器体系结构风格服务器体系结构风格运用运用HTTP标准协议和统一客户端软件,能够标准协议和统一客户端软件,能够实现跨平台通信;实现跨平台通信;开发成本比较低,只需要维护开发成本比较低,只需要维护We

    36、b服务器程序服务器程序和中心数据库,客户端升级可以通过升级浏览和中心数据库,客户端升级可以通过升级浏览器来实现,使所有用户同步更新。器来实现,使所有用户同步更新。B/S体系结构风格也存在着一些问题:体系结构风格也存在着一些问题:p个性化程度比较低,所有客户端程序的功能个性化程度比较低,所有客户端程序的功能都是一样的;都是一样的;3636浏览器浏览器/服务器体系结构风格服务器体系结构风格p客户端数据处理能力比较差,加重了客户端数据处理能力比较差,加重了Web服务服务器的工作负担,影响系统的整体性能;器的工作负担,影响系统的整体性能;p在在B/S结构的系统中,数据提交一般以页面为单结构的系统中,数

    37、据提交一般以页面为单位,动态交互性不强,不利于在线事务处理。位,动态交互性不强,不利于在线事务处理。(OLTP)3737MVC体系结构风格体系结构风格模型模型-视图视图-控制器(控制器(model-view-model-view-controller controller,MVCMVC )体系结构。)体系结构。模型(模型(M M):是应用程序的核心,封装了问题):是应用程序的核心,封装了问题的核心数据、逻辑关系和计算功能,提供了处的核心数据、逻辑关系和计算功能,提供了处理问题的操作过程;理问题的操作过程;视图(视图(V V):是模型的表示,提供了交互界面):是模型的表示,提供了交互界面,为用户

    38、显示模型信息;,为用户显示模型信息;控制器(控制器(C C):负责处理用户与系统之间的交):负责处理用户与系统之间的交互,为用户提供操作接口。互,为用户提供操作接口。3838MVC体系结构风格体系结构风格MVCMVC的处理过程为的处理过程为:首先控制器接收用户的请求:首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模,并决定应该调用哪个模型来进行处理;然后模型用业务逻辑来处理用户的请求并返回数据;最型用业务逻辑来处理用户的请求并返回数据;最后控制器用相应的视图格式化模型返回的数据,后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。并通过表示层呈现给用户。其中,模

    39、型是核心数据和功能,视图只关心显示其中,模型是核心数据和功能,视图只关心显示数据,控制只关心用户输入,这种结构由于将数数据,控制只关心用户输入,这种结构由于将数据和业务规则从表示层分开,因此可以最大化地据和业务规则从表示层分开,因此可以最大化地重用代码。重用代码。3939课堂练习课堂练习1.1.你如何理解软件体系结构?你如何理解软件体系结构?2.2.典型的软件体系结构风格有哪些?典型的软件体系结构风格有哪些?3.3.简述简述2 2层和层和3 3层层C/SC/S软件体系结构的优缺点?软件体系结构的优缺点?4.4.MVCMVC体系结构风格中体系结构风格中M M、V V、C C的作用。的作用。4040

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:高级软件工程(第九章)-软件体系结构(2017课件).ppt
    链接地址:https://www.163wenku.com/p-4389661.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库