第6章体系结构设计详解.pptVIP

  • 15
  • 0
  • 约5.79千字
  • 约 38页
  • 2016-03-13 发布于湖北
  • 举报
第6章 软件体系结构设计 体系结构设计决策 体系结构视图 体系结构模式 应用体系结构 软件设计模型 软件设计是将软件需求转换为软件表示的过程,也是一个建模过程,以一系列迭代的步骤建立不同的视图来描述系统。 主要的设计活动包括: 数据库设计、体系结构设计、接口设计、组件级设计、部署级(Deployment-Level)的设计。 6.1 软件体系结构设计决策 软件体系结构相关概念 软件体系结构(Architecture)是有关软件系统如何组织的描述。体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由组件及其相互作用、指导组件集成的模式以及模式的约束组成。 设计什么样的体系结构取决于问题的应用类型、系统如何分布、使用的体系结构风格(模式)以及体系结构如何文档化和评估。 体系结构模型能够用来聚焦关于软件需求和设计的讨论,并且可以用来文档化设计过程以便作为更详细设计、实现和进化的基础。 6.2 体系结构视图 当设计和文档化体系结构时,什么样的视图或角度最有效? 用什么样的符号来描述体系结构? 单个体系结构模型中不可能提出所有相关的信息,每一种模型只能显示系统的一种角度。 为了说明系统如何分解,组件如何分布,运行时进程间如何交互,需要提供系统的多重视图。 概念视图:系统的高层抽象视图,给出系统的本质内容。 逻辑视图:显示了系统中对象类的抽象,通过该视图可将系统需求和实体关联起来。 进程视图:显示系统运行时一组交互的进程,对于分析系统的非功能特征很有效。 开发视图:为便于开发,将系统分解成可以由独立开发团队实现的组件。 物理视图:即部署图,显示了系统硬件和软件组件如何分布在处理器上。 不同视图可能会涉及到不同体系结构模式或风格。 6.3 体系结构模式 体系结构风格(Styles)是构造的一种模式(Pattern),类似于建筑行业中的建筑风格,是描述某一特定应用域中系统组织方式的惯用模式,是对好的实践经验所做出的格式化的抽象描述(如教材P98图6-2 MVC模式 ),反映了领域中众多系统所共有的结构和语义特性。 下图是MVC( Model-View-Controller )模式的概念视图,它是构建基于Web应用系统体系结构的基础。 研究体系结构风格的意义: ? 有利于发现不同系统在较高级别上的共同特性。 ? 对体系结构的了解,使得在设计软件结构时选择合适的模式,进行正确地设计。 ? 使用常用的、规范的模式来组织结构,使别的设计者易于理解、便于交流。 ? 有利于较高级别上的软件复用。判断能否在不同的软件系统中使用同一体系结构。 以下根据本教材介绍几种通用的模型: 6.3.1 分层体系结构 该模式是实现分离性和独立性的另一个方式。 系统的功能被划分成几个独立的层次,最内层完成最基本的公用操作,向外各层逐渐进行功能扩展,各层形成了不同功能级别的虚拟机(Virtual Machine),每层只依赖内层中的虚拟机提供的服务。 6.3.2 容器体系结构 容器模型是基于一个共享数据库的系统模型,该模型适合于数据由一个组件产生而由其他组件使用的情形。(右图) 体系结构为该类型的系统例子如管理信息系统(MIS)、CAD系统、CASE工具集、可复用组件库等。 共享容器模型的优缺点: 能高效的共享数据,无须在组件之间进行数据交换。 组件一定要与容器的数据模型一致。大量信息都按照一致的数据模型生成,进化会变的困难。 生产数据的组件不需要关心数据如何被其他组件使用。 备份、保密性、访问控制、错误恢复等活动都是容器管理员的职责,客户程序主要集中在自己的功能上。不同的组件对这些活动要求不同,而容器模型迫使所有的组件使用相同的策略。 容器中出现问题会影响整个系统。 是系统的静态结构,不能展现系统运行时的组织。 6.3.3 客户机-服务器体系结构 是分布式系统运行时的组织。该模型主要组成部分是: ? 一组为其他组件提供服务的服务器。如打印服务器、文件服务器、编译服务器、图片服务器等。 ? 一组向服务器请求服务的客户机,客户机必须知道服务器的名字及它们所提供的服务,通过远程调用使用访问协议(如HTTP)获取服务。在某个时间内可能有多个客户程序在在不同的计算机上并发运行。 ? 一个连接客户机和服务器的网络。 大多数客户机-服务器系统实现为分布式系统,通过互联网的协议连接在一起。

文档评论(0)

1亿VIP精品文档

相关文档