当前位置:文档之家› 第10章-面向对象设计PPT课件

第10章-面向对象设计PPT课件


第10章 面向对象设计
3
教学重点
⒈架构设计的概念和原则; ⒉常用的架构摸式; ⒊详细设计原则和设计内容; ⒋设计模式。
教学难点
⒈架构设计的概念; ⒉常用的架构摸式; 3.详细设计原则和设计内容。
目录 首页 上页 下页 末页
第10章 面向对象设计
4
10.1 架构设计
一、软件架构与框架
(1)什么是软件架构 软件架构是一种思想,一个系统蓝图,对软件结构组
目录 首页 上页 下页 末页
第10章 面向对象设计
15
10.1 架构设计
四、常用的架构模式
2.黑板模式
黑板模式的思想是,有一系列独立的模块,或者说是 方案,这些方案能解决部分问题的一部分,这些方案进行 协作,使得问题问题能够最终解决。这就像一群人在一 块 黑板前,共同解决一个问题,根据当前问题解决的程度 和状态,不同的人上前到黑板上解决他所能解决的部分, 这样经过多人的协作,最终能够将问题解决。这就是 黑板 模式这个名字的来历。黑板模式的实现分为三个主要的组 件:黑板(Blackboard),知识源(Knowledge Source)和控制 (Control)。。如图下所示。
目录 首页 上页 下页 末页
第10章 面向对象设计
19
• 这种构架具有以下优点:
• 可以创建具有良好隐蔽性和高内聚、低耦合的构件。
• 设计者可以将整个系统的输入/输出行为看成是多个过 滤器行为的简单合成。
第10章 面向对象设计
1
第10章 面向对象设计
10.1 架构设计 10.2 详细设计 10.3 设计模式
目录 首页 上页 下页 末页
第10章 面向对象设计
2
教学目的与要求
⒈掌握架构设计的概念和原则; ⒉掌握常用的架构摸式; ⒊掌握详细设计原则和设计内容; 4.了解各种设计模式;
目录 首页 上页 下页 末页
目录 首页 上页 下页 末页
第10章 面向对象设计
5
10.1 架构设计
软件框架是软件架构的一种实现,是一个半成品。它通 常针对一个软件架构当中某一个特定的问题提供解决方案 和辅助工具。因此,如果说架构是一个逻辑的构成,而框 架则是一个可用的半成品,是可执行的。
二、软件架构的基本组成
一个软件架构应当包括软件层次、每一层次的职责、 层次之间的接口、传输协议和标准以及每一层次上所采用 的软件框架
1. 自顶向下原则 2. 职能集中原则 3. 互不交叉原则
目录 首页 上页 下页 末页
第10章 面向对象设计
9
自顶向下分包原则
目录 首页 上页 下页 末页
第10章 面向对象设计
10
职能集中原则
目录 首页 上页 下页 末页
第10章 面向对象设计
11
交叉依赖的类单独分包
增加新类并单独分包
目录 首页 上页 下页 末页
成的规划和职责设定。一个软件里有处理计算的、处理界 面的、处理数据的、处理业务规则的、处理安全的等许多 可逻辑划分出来的部分。软件架构的意义就是要将这些可 逻辑划分的部分独立出来,用约定的接口和协议将他们有 机的结合在一起,形成职责清晰、结构清楚的软件结构。
软件架构是一个逻辑性的框架描述,它可能并无真正 的可执行部分。大部分的软件架构都是由一个设计思想, 加上若干设计模式,在规定一系列的接口规范、传输协议、 实现标准等文档构成的。
第10章 面向对象设计
12
10.1 架构设计
四、常用的架构模式
1. 分层架构模式
分层(Layer)模式是最常见的一种架构模式。甚至 说分层模式是很多架构模式的基础。分层描述的是这样一 种架构设计过程:从最低级别的抽象开始,称为第1层。 这是系统的基础。通过将第J层放置在第J-1层的上面逐步 向上完成抽象阶梯,直到到达功能的最高级别,称为第N 层。如图下所示。
目录 首页 上页 下页 末页
第10章 面向对象设计
16
黑板模式
目录 首页 上页 下页 末页
第10章 面向对象设计
17
10.1 架构设计
四/过滤器模式构架中的每个构件都有一组输入和输 出,构件读入数据流,经过处理产生输出数据。这个过程 通过对输入流的变换及增量计算来完成,因此在输入流被 完全使用掉之前,变产生了输出,这样的构件就是过滤器, 而构件间的连接件就像是数据流传输的管道,它将数据从 一个过滤器传到另一个过滤器。其中,过滤器必须是独立 的实体,它不能与其他的过滤器共享数据。多个过滤器相 连,可以形成过滤器链。而每个过滤器功能单一,可以单 独修改,链中过滤器的排列顺序可以根据需求进行配置。
目录 首页 上页 下页 末页
第10章 面向对象设计
18
特征: 每个过滤器构件是一个独立的部件,除了输入流和输 出流外,过滤器之间互不影响,因此,过滤器之间不共 享任何状态信息。 每个过滤器对其上游或下游连接的过滤器是透明的, 它的实现和使用不对链中的任何过滤器加以限制。如下 图所示。
管道/过滤器模式
目录 首页 上页 下页 末页
第10章 面向对象设计
6
软件架构的内容
目录 首页 上页 下页 末页
第10章 面向对象设计
7
在Rose中,我们可以用包图来描述软件架构。如下图所示,描述了一个由五个层次构成的 软件架构。
目录 首页 上页 下页 末页
第10章 面向对象设计
8
10.1 架构设计
三、架构设计原则
改变最多影响相邻的两层。 • 可替换性。独立的层次设计容易被功能相似的模块替换。 • 分层构架也有一些缺点,主要表现在: • 效率低。分层结构通常要比单层结构效率低,原因是有时高层过分依赖
底层的服务,必须经过许多中间层进行数据传递。 • 增加了一些不必要的工作。 • 改变行为的连锁反应。 • 设计者要建立不同合适粒度的抽象层次有一定困难。 • 常见的分层架构模式有: • 客户端-服务器模型(Client-Server,C/S)。 • 三层模型:用户表示层、业务逻辑层、数据层。
目录 首页 上页 下页 末页
第10章 面向对象设计
13
分层架构模式
目录 首页 上页 下页 末页
第10章 面向对象设计
14
分层构架具有以下优点: • 层次的复用性。为每个层次建立好抽象接口,可以使其在其他环境复用。 • 支持基于抽象程度递增的系统设计,使设计者可以对复杂系统进行分解,
从而使系统更容易模块化。 • 支持功能增强。因为每一层至多和相邻的上下层进行交互,因此功能的
相关主题