第6章体系结构设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6
6.3 体系结构模式

体系结构风格(Styles)是构造的一种模式(Pattern), 类似于建筑行业中的建筑风格,是描述某一特定应用域 中系统组织方式的惯用模式,是对好的实践经验所做出 的格式化的抽象描述(如教材P98图6-2 MVC模式 ), 反映了领域中众多系统所共有的结构和语义特性。

概念视图:系统的高层抽象视图,给出系统的本质 内容。 逻辑视图:显示了系统中对象类的抽象,通过该视 图可将系统需求和实体关联起来。 进程视图:显示系统运行时一组交互的进程,对于 分析系统的非功能特征很有效。 开发视图:为便于开发,将系统分解成可以由独立 开发团队实现的组件。 物理视图:即部署图,显示了系统硬件和软件组件 如何分布在处理器上。 不同视图可能会涉及到不同体系结构模式或风格。
分布式 搜索
文档 恢复
版权管 理器
记账 处理
图书馆索引 数据库1 数据库2

数据库n
LIBSYS系统的体系结构(教材图6-7)
14
优点: • 支持基于抽象程度递增的系统设计,可将一个复杂 的系统按功能递增的步骤进行分解。 • 具有较好的可扩展性。每一层功能的改变最多影响 相邻上下层。 • 支持软件复用。只要提供的服务接口不变,同一层 的不同实现可以交换使用。因此可定义一组标准接口, 允许有多种不同的实现方法。 不足: 并不是所有系统都会清晰地分层,高层可能直接同 底层交互。因为服务请求会在每层中被处理,所以需要 多层解释,影响到系统性能。
10
6.3.1 分层体系结构

该模式是实现分离性和独立性的另一个方式。 系统的功能被划分成几个独立的层次,最内层 完成最基本的公用操作,向外各层逐渐进行功 能扩展,各层形成了不同功能级别的虚拟机 (Virtual Machine),每层只依赖内层中的虚 拟机提供的服务。
11
12
四层式通用软件体系结构
该模式分离了系统的组成元素,允许它们被独立地开发 与维护,如增加或修改一个视图不需要改变模型底层数据。
8
Controller
管理用户请求 模型编辑 选择视图
User request or data Browser
View selection
Behavior request (state change)
下图是MVC( Model-View-Controller )模式的概念视 图,它是构建基于Web应用系统体系结构的基础。
7
视图状态 视图方法
视图修改信息
控制器状态
控制器方法
用户输入
模型查询和更新
模型状态 模型方法
模型编辑信息
MVC模式
在MVC结构中,模型管理系统中的数据及其操作;视图 管理显示数据;而控制器管理用户的交互,并传递这些交互 给视图和模型。
各个应用的各种变型 应用软件层 各个应用系统 各个组件库系统 (针对特定域、特定业务) 不依赖平台的低层组件等 特定的平台软件:操作系统等
特定业务层
中间件层 系统软件层
13
Web浏览器界面 用户界面 系统登录 用户界面管理 身份验证和授权 表单和查 询管理器 打印管 理器
核心业务逻辑/应用功能
系统适用程序 支持平台(OS、 DBMS等) 通用分层体系结构(教材图6-6)
3
查询账户 更新账户
ATM系统的软件体系结构(教材图6-15)


设计什么样的体系结构取决于问题的应用类 型、系统如何分布、使用的体系结构风格 (模式)以及体系结构如何文档化和评估。 体系结构模型能够用来聚焦关于软件需求和 设计的讨论,并且可以用来文档化设计过程 以便作为更详细设计、实现和进化的基础。
15
6.3.2 容器体系结构


容器模型是基于一个 共享数据库的系统模 型,该模型适合于数 据由一个组件产生而 由其他组件使用的情 形。(右图) 体系结构为该类型的 系统例子如管理信息 系统(MIS)、CAD 系统、CASE工具集、 可复用组件库等。
16
集成的CASE工具集的体系结构 以数据仓库为核心
第6章 软件体系结构设计

体系结构设计决策 体系结构视图 体系结构模式 应用体系结构
1wk.baidu.com
软件设计模型 软件设计是将软件需求转换为软件表示的 过程,也是一个建模过程,以一系列迭代的步 骤建立不同的视图来描述系统。 主要的设计活动包括: 数据库设计、体系结构设计、接口设计、 组件级设计、部署级(Deployment-Level)的 设计。
2
6.1 软件体系结构设计决策

软件体系结构相关概念 软件体系结构(Architecture)是有关软件系 统如何组织的描述。体系结构为软件系统提供了一 个结构、行为和属性的高级抽象,由组件及其相互 作用、指导组件集成的模式以及模式的约束组成。
输入处理组件 获取用户账户· 验证卡 验证卡 选择服务 ATM 银行数据库服务器 账户处理组件 输出处理组件 打印明细 分发现金 验证卡 返回卡 ATM
Model
封装并实现功能 封装内容对象 分类所有的 WebApp状态
Client
HTML data
External data Data Update request
View
格式化来自模型的数据 状态改变请求模型更新 显示控制器所选择的视图
Server
Web应用系统一般的体系结构
9
研究体系结构风格的意义: • 有利于发现不同系统在较高级别上的共同特性。 • 对体系结构的了解,使得在设计软件结构时选择 合适的模式,进行正确地设计。 • 使用常用的、规范的模式来组织结构,使别的设 计者易于理解、便于交流。 • 有利于较高级别上的软件复用。判断能否在不同 的软件系统中使用同一体系结构。 以下根据本教材介绍几种通用的模型:
设计编辑器 代码生成器
设计翻译器
项目数据仓库
程序编辑器
4
6.2 体系结构视图



当设计和文档化体系结构时,什么样的视图或 角度最有效? 用什么样的符号来描述体系结构? 单个体系结构模型中不可能提出所有相关的信 息,每一种模型只能显示系统的一种角度。 为了说明系统如何分解,组件如何分布,运行 时进程间如何交互,需要提供系统的多重视图。
5
需要建立什么样的视图有很多选择, Krutchen和Hofmeister建议以下几种视图:
相关文档
最新文档