1 / 23
文档名称:

第11章ood 软件工程 课件课件.ppt

格式:ppt   页数:23页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第11章ood 软件工程 课件课件.ppt

上传人:实用文库 2015/5/4 文件大小:0 KB

下载得到文件列表

第11章ood 软件工程 课件课件.ppt

相关文档

文档介绍

文档介绍:第11章面向对象设计
面向对象设计的准则
启发规则
软件重用
系统分解
设计问题域子系统
设计人机交互子系统
设计任务管理子系统
设计数据管理子系统
设计类中的服务
设计关联
设计优化
小结
优秀设计就是使得系统在其整个生命周期中的总开销最小的设计, 其主要特点就是容易维护。
结合面向对象方法的特点, 下面重温本书第5章讲述的指导软件设计的几条基本原理. 它们在进行面向对象设计时仍然成立。
面向对象设计的准则
1. 模块化
面向对象软件开发模式,很自然地支持模块的设计原理:对象就是模块。
2. 抽象
面向对象方法支持过程和数据抽象。
类是一种抽象数据类型。使用者无须知道类中数据元素的具体表示方法,就可以通过接口使用类中定义的数据。
这类抽象称为规格说明抽象。
3. 信息隐藏
对象的封装性实现支持了信息隐藏。
4. 弱耦合
耦合主要指不同对象之间相互关联的紧密程度。
两个对象应该通过类的接口实现耦合,而不应该依赖于类的具体实现细节(友元)。
对象之间的两类耦合:
(1) 交互耦合:交换消息
使交互耦合尽可能松散的准则:减少消息中包含的参数个数,降低参数的复杂程度, 减少消息数。
(2) 继承耦合:互为基类和派生类(非模块之间)
与交互耦合相反,应该提高继承耦合程度。
通过继承关系结合起来的基类和派生类,构成了更大的模块。
5. 强内聚
在面向对象设计中存在下述3种内聚。
(1) 服务内聚。一个服务应该完成一个且仅完成一个功能。
(2) 类内聚。设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必需的。如果某个类有多个用途,通常应该把它分解成多个专用的类。
(3) 一般-特殊(继承)内聚。设计出的一般-特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对相应的领域知识的正确抽取。
紧密的继承耦合与高度的一般-特殊内聚是一致的。
6. 可重用
重用有两方面的含义:
一是尽量使用已有的类
二是在设计新类的协议时考虑将来的可重用性。
1. 设计结果应该清晰易懂
保证设计结果清晰易懂的主要因素如下:
(1) 用词一致:一词一用。
(2) 使用已有的协议。
(3) 减少消息模式的数目。
(4) 避免模糊的定义:类的用途有限,名清晰
启发规则
2. 一般-特殊结构的深度应适当
一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为7±2。
不应该仅仅从方便编码的角度出发随意创建派生类,应该使一般-特殊结构与领域知识或常识保持一致。
3. 设计简单的类
小而简单的类便于开发和管理(高内聚)。为使类保持简单,应该注意以下几点。
(1) 避免包含过多的属性:完成的功能可能太多了。
(2) 有明确的定义:任务应该简单。
(3) 简化对象之间的合作关系。如果需要多个对象协同配合才能做好一件事,则破坏了类的简明性和清晰性。
(4) 不要提供太多服务。典型地,一个类提供的公共服务不超过7个。
4. 使用简单的协议
消息中的参数最好不要超过3个。
复杂消息导致对象紧耦合。
5. 使用简单的服务(模块复杂性)
类中的服务小为好,3~5行源程序语句,可用一个简单句子描述它的功能。
如果需要在服务中使用复杂的CASE语句,考虑用一般-特殊结构代替这个类的可能性。