软件工程-面向对象设计课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程-面向对象设计课件.ppt》由会员分享,可在线阅读,更多相关《软件工程-面向对象设计课件.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第11章 面向对象设计 分析是提取和整理用户需求,并建立问分析是提取和整理用户需求,并建立问题域精确模型的过程。设计则是把分析阶段题域精确模型的过程。设计则是把分析阶段得到的需求转变成符合成本和质量要求的、得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。抽象的系统实现方案的过程。从面向对象分析(从面向对象分析(OOA)到面向对象设)到面向对象设计(计(OOD)是一个逐渐扩充模型的过程。)是一个逐渐扩充模型的过程。111.1 面向对象设计的准则面向对象设计的准则 1 模块化模块化 对象就是模块,它是把数据结构和操作这些数据的方法紧密结合在一起对象就是模块,它是把数据结构和操作这
2、些数据的方法紧密结合在一起所构成的模块。所构成的模块。2 抽象抽象 不仅支持过程抽象,还支持数据抽象。不仅支持过程抽象,还支持数据抽象。3 信息隐藏信息隐藏通过对对象的封装性实现通过对对象的封装性实现 4 弱耦合弱耦合不同对象间相互关联的紧密程度。不同对象间相互关联的紧密程度。交互耦合(对象间通过消息连接实现耦合)交互耦合(对象间通过消息连接实现耦合)继承耦合(一般化类与特殊类之间耦合的一种形式)继承耦合(一般化类与特殊类之间耦合的一种形式)5 强内聚强内聚(服务内聚、类内聚、一般(服务内聚、类内聚、一般-特殊内聚)特殊内聚)6 可重用可重用 2 11.2 启发规则启发规则1 设计结果应该清晰
3、易懂设计结果应该清晰易懂 使设计结果清晰、易读、易懂,是使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措提高软件可维护性和可重用性的重要措施。施。用词一致用词一致使用已有的协议使用已有的协议减少消息模式的数目减少消息模式的数目避免模糊的定义避免模糊的定义32 一般一般-特殊结构的深度应适当特殊结构的深度应适当 应该使类等级中包含的层次数适当。应该使类等级中包含的层次数适当。一般说来,在一个中等规模一般说来,在一个中等规模(大约包含大约包含100个类个类)的系统中,类等级层次数应保持为的系统中,类等级层次数应保持为5-9。应该使一般一特殊结构与领域知识或常识应该使一般一特殊结构与
4、领域知识或常识保持一致。保持一致。43 设计简单的类设计简单的类 (1)避免包含过多的属性避免包含过多的属性 (2)有明确的定义有明确的定义 (3)尽量简化对象之间的合作关系尽量简化对象之间的合作关系 (4)不要提供太多服务(不超过不要提供太多服务(不超过7个)个)4 使用简单的协议使用简单的协议 消息中的参数不要超过消息中的参数不要超过3个个 通过复杂消息相互关联的对象是紧耦合的,通过复杂消息相互关联的对象是紧耦合的,对一个对象的修改往往导致其他对象的修改对一个对象的修改往往导致其他对象的修改55 使用简单的服务使用简单的服务 6 把设计变动减至最小把设计变动减至最小 服务通常一般只有服务通
5、常一般只有35行源程序语句行源程序语句 一般说来,应该尽量避免使用复杂的服务。一般说来,应该尽量避免使用复杂的服务。如果需要如果需要 在服务中使用在服务中使用CASE语句,通常应该考语句,通常应该考虑用一般一特殊结构代替这个类的可能性。虑用一般一特殊结构代替这个类的可能性。设计的质量越高,设计结果保持不变的时间设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可能小。使修改的范围尽可能小。611.3.1 概述概述 1 重用重用:也叫再用或复用,是指同一事物不作修也叫再用或复用,是指同一事物不作修改或稍加改动就
6、多次重复使用。改或稍加改动就多次重复使用。(1)知识重用知识重用(例如,软件工程知识的重用例如,软件工程知识的重用)。(2)方法和标准的重用方法和标准的重用(例如,面向对象方法或国例如,面向对象方法或国家制定的软件开发规范的重用家制定的软件开发规范的重用)。(3)软件成分的重用。软件成分的重用。11.3 软件重用软件重用72软件成分的重用级别软件成分的重用级别(1)代码重用代码重用(2)设计结果重用设计结果重用(3)分析结果重用分析结果重用3 典型的可重用软件成分典型的可重用软件成分(1)项目计划项目计划(2)成本估计)成本估计(3)体系结构)体系结构 (4)需求模型和规格说明)需求模型和规格
7、说明(5)设计设计 (6)源代码源代码(7)用户文档和技术文档)用户文档和技术文档(8)用户界面)用户界面(9)数据)数据(10)测试用例)测试用例811.3.2 类构件类构件 面向对象中的类是比较理想的可重用的构件,称类面向对象中的类是比较理想的可重用的构件,称类构件。构件。1可重用软构件应具备的特点可重用软构件应具备的特点(1)模块独立性强模块独立性强 具有单一、完整的功能,且经过反复测试被确认是具有单一、完整的功能,且经过反复测试被确认是正确的,内部实现在外面是不可见的。正确的,内部实现在外面是不可见的。(2)具有高度可塑性具有高度可塑性 必须提供为适应特定需求而扩充或修改已有构件的必须
8、提供为适应特定需求而扩充或修改已有构件的机制,而且所提供的机制必须使用起来非常简单方便。机制,而且所提供的机制必须使用起来非常简单方便。(3)接口清晰、简明、可靠接口清晰、简明、可靠 应该有详尽的文档说明应该有详尽的文档说明9 系统的主要组成部分称为系统的主要组成部分称为子系统子系统。通常根据所提供。通常根据所提供的功能来划分子系统。的功能来划分子系统。例如,编译系统可划分成词法分析、语法分析、中例如,编译系统可划分成词法分析、语法分析、中间代码生成、优化、目标代码生成和出错处理等子系统。间代码生成、优化、目标代码生成和出错处理等子系统。子系统的数目应该与系统规模基本匹配。子系统的数目应该与系
9、统规模基本匹配。在划分和设计子系统时,应该尽量减少子系统彼此在划分和设计子系统时,应该尽量减少子系统彼此间的依赖性。间的依赖性。面向对象设计模型面向对象设计模型(即求解域的对象模型即求解域的对象模型),也由主,也由主题、类与对象、结构、属性、服务等五个层次组成。这题、类与对象、结构、属性、服务等五个层次组成。这五个层次一层比一层表示的细节更多,可以把这五个层五个层次一层比一层表示的细节更多,可以把这五个层次想象为整个模型的水平切片。次想象为整个模型的水平切片。11.4 系统分解系统分解10 面向对象设计模型,在逻辑上都由四大部分组成。面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于
10、组成目标系统的四个子系统,它们这四大部分对应于组成目标系统的四个子系统,它们分别是分别是问题域子系统问题域子系统、人人机交互子系统机交互子系统、任务管理任务管理子系统子系统和和数据管理子系统数据管理子系统。可以把四大部分想象为模型的垂直切片。可以把四大部分想象为模型的垂直切片。11 1141 子系统之间的两种交互方式子系统之间的两种交互方式1 客户客户-供应商关系供应商关系 在这种关系中,作为在这种关系中,作为“客户客户”的子系统调用作为的子系统调用作为“供应商供应商”的子系统,后者完成某些服务工作并返回结果。的子系统,后者完成某些服务工作并返回结果。使用这种交互方案,作为客户的子系统必须了解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 面向 对象 设计 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内