软件工程-10.面向对象设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程-10.面向对象设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 10. 面向 对象 设计 课件
- 资源描述:
-
1、2022-7-28J.Yu,计算机学院1软件工程软件工程4 Software Engineering(An Introduction)软件工程软件工程2022-7-28J.Yu,计算机学院24软件工程软件工程第第6-10章章 面向对象设计面向对象设计2022-7-28J.Yu,计算机学院3 设设计计 编编码码 信信息息描描述述 功功能能描描述述 行行为为描描述述 其其它它需需求求 数数据据设设计计 过过程程设设计计 总总体体结结构构设设计计 软软件件需需求求规规格格说说明明书书 软软件件设设计计规规格格说说明明书书 软件需求分析与软件设计之间的关系软件需求分析与软件设计之间的关系4 分析模型分
2、析模型 设计模型设计模型What?How?2022-7-28J.Yu,计算机学院44 分析模型分析模型 设计模型设计模型在软件分析模型中的需求信息在软件分析模型中的需求信息(数据、数据、功能和行为功能和行为)基础上,产生软件系统各基础上,产生软件系统各个层次上的设计方案个层次上的设计方案子子 系系 统统 设设 计计类及对象设计类及对象设计消息设计消息设计责任设计责任设计分析模型分析模型设计模型设计模型2022-7-28J.Yu,计算机学院6软件设计的任务软件设计的任务4 分析模型分析模型 设计模型设计模型2022-7-28J.Yu,计算机学院74 第第10章章 面向对象的设计方法面向对象的设计
3、方法面向对象设计是将面向对象设计是将面向对象分析所创建面向对象分析所创建的分析模型的分析模型进一步细化形成软件设计模进一步细化形成软件设计模型的过程。如果说,型的过程。如果说,分析模型描述了系分析模型描述了系统需要完成的功能统需要完成的功能,在设计阶段则描述,在设计阶段则描述了了如何实现分析阶段所定义的软件功能如何实现分析阶段所定义的软件功能。2022-7-28J.Yu,计算机学院84 10.1 面向对象设计的概念面向对象设计的概念面向对象分析的面向对象分析的任务任务是解决系统是解决系统“做做什么什么”的问题。而在面向对象设计阶段的问题。而在面向对象设计阶段则着重完成则着重完成“如何做如何做”
4、的问题,也就的问题,也就是着重考虑对象的实现细节。是着重考虑对象的实现细节。2022-7-28J.Yu,计算机学院94 10.1.1 对象、操作和消息对象、操作和消息在面向对象的设计过程中,数据结构在面向对象的设计过程中,数据结构和对数据结构的操作被封装到了对象和对数据结构的操作被封装到了对象里,因此对象成了面向对象设计的基里,因此对象成了面向对象设计的基本单位,对象之间通过消息进行连接。本单位,对象之间通过消息进行连接。2022-7-28J.Yu,计算机学院104 10.2 面向对象设计(面向对象设计(OOD)从分析过渡到设计从分析过渡到设计 面象对象的设计(面象对象的设计(OOD)仍然采用
5、面向对象分)仍然采用面向对象分析所采用的模型,所不同的是它现在更加面向析所采用的模型,所不同的是它现在更加面向用户和计算机系统,从四个不同的侧面继续演用户和计算机系统,从四个不同的侧面继续演化化OOA阶段所生成的分析结果。阶段所生成的分析结果。从分析过渡到设计,分析阶段所遵循的一些从分析过渡到设计,分析阶段所遵循的一些原则毫无疑问也将被继承下来,这些原则包原则毫无疑问也将被继承下来,这些原则包括:抽象原则、封装原则、继承原则、分类括:抽象原则、封装原则、继承原则、分类原则、聚合原则、关联原则、消息通信原则、原则、聚合原则、关联原则、消息通信原则、粒度控制原则、行为分析原则等。粒度控制原则、行为
6、分析原则等。2022-7-28J.Yu,计算机学院114 10.2 面向对象设计(面向对象设计(OOD)2022-7-28J.Yu,计算机学院124 10.2 Object-Oriented Design2022-7-28J.Yu,计算机学院134 10.2 Object-Oriented Design主体部件设计应遵循的原则主体部件设计应遵循的原则使在子系统的各个高层部件之间的通使在子系统的各个高层部件之间的通信量达到最小;信量达到最小;子系统应当把那些成组的类打包,形子系统应当把那些成组的类打包,形成高度的内聚;成高度的内聚;逻辑功能分组,提供一个逻辑功能一逻辑功能分组,提供一个逻辑功能一
7、个单元,识别并定位问题事件。个单元,识别并定位问题事件。2022-7-28J.Yu,计算机学院144 10.2 Object-Oriented Design应用分析过程包括了对问题论域所需的类应用分析过程包括了对问题论域所需的类的模型化。的模型化。但在最终实现应用时不只有这些类,还需但在最终实现应用时不只有这些类,还需要追加一些类。要追加一些类。在类设计的过程中应当做这些工作。在类设计的过程中应当做这些工作。2022-7-28J.Yu,计算机学院154 10.2 Object-Oriented Design2022-7-28J.Yu,计算机学院164 10.2 面向对象的设计方法面向对象的设计
8、方法 面向对象设计面向对象设计主体部件设计(主体部件设计(PDC:高层设计):高层设计)用户界面部件设计(用户界面部件设计(HIC)任务管理部件设计(任务管理部件设计(TMC)数据管理部件设计(数据管理部件设计(DMC)基于对象的设计方法2022-7-28J.Yu,计算机学院17类的规类的规格说明格说明从废弃从废弃型开发型开发既存类既存类的复用的复用渐增式渐增式的实现的实现渐增式渐增式的测试的测试求精和求精和 维护维护 测试用测试用例和测试例和测试 的开发的开发实现实现从既存从既存类演变类演变4 10.3 类的设计类的设计(详细设计详细设计)2022-7-28J.Yu,计算机学院184 10.
9、3 类的设计类的设计(详细设计详细设计)类的设计与实现类的设计与实现类的规格说明指导对存放现存类的软类的规格说明指导对存放现存类的软件库进行查找。件库进行查找。现存类提供当前应用所需功能。现存类提供当前应用所需功能。三种可能利用现存类的方向:三种可能利用现存类的方向:现存类的复用现存类的复用 从现存类进行演变从现存类进行演变 从废弃类进行开发从废弃类进行开发 2022-7-28J.Yu,计算机学院19数据管理数据管理其它系统其它系统文件文件RDBMSOODBMS设备设备系统交互系统交互界面界面问题论域问题论域人机交互人机交互界面界面.窗口窗口报告报告4 OOD导出的系统结构导出的系统结构202
10、2-7-28J.Yu,计算机学院204 一一.问题域部分的设计问题域部分的设计OOA的模型直接放到的模型直接放到OOD D的问题域的问题域部部,OOD阶段对阶段对OOA结果进行改动结果进行改动和增补。和增补。根据需求变化,对根据需求变化,对OOA产生模型的产生模型的类与对象、结构、属性、操作进行类与对象、结构、属性、操作进行组合与分解,增加必要的类、属性组合与分解,增加必要的类、属性和关系。和关系。2022-7-28J.Yu,计算机学院214 一一.问题域部分的设计问题域部分的设计u对对OOAOOA结果加以增补要考虑的因素结果加以增补要考虑的因素:F重用设计重用设计F把问题域专用类组合在一起把
11、问题域专用类组合在一起F通过增添一般类而建立协议通过增添一般类而建立协议F调整继承的支持级别调整继承的支持级别F改进性能改进性能F增加低层的类和对象增加低层的类和对象2022-7-28J.Yu,计算机学院22F调整继承的支持级别调整继承的支持级别 F如如OOA的一般的一般/特殊结构包括特殊结构包括多继承多继承,在使用只有单继承或在使用只有单继承或无继承性的编程语言时无继承性的编程语言时,需对需对OOA的的结果进行修改。的的结果进行修改。4 一一.问题域部分的设计问题域部分的设计2022-7-28J.Yu,计算机学院234 二二.人机交互部分的设计人机交互部分的设计 虽然好的人机交互部分不可能挽
12、虽然好的人机交互部分不可能挽救一个功能很差的软件救一个功能很差的软件,但性能很但性能很差的人机交互部分将使一个功能很差的人机交互部分将使一个功能很强的产品变的不可接受强的产品变的不可接受!2022-7-28J.Yu,计算机学院244 三三.任务管理部分的设计任务管理部分的设计1.1.为什么要有任务管理部分为什么要有任务管理部分 系统中有许多并发行为时,需要按照系统中有许多并发行为时,需要按照各个行为的协调和通信关系,划分各种各个行为的协调和通信关系,划分各种任务(进程),简化并发行为的设计和任务(进程),简化并发行为的设计和编码。编码。根据动态模型分析、定义并发性;根据动态模型分析、定义并发性
13、;选择软件实现的控制方法。选择软件实现的控制方法。2022-7-28J.Yu,计算机学院252.2.怎样设计任务管理部分怎样设计任务管理部分 任务管理主要包括任务管理主要包括任务的选择和调整任务的选择和调整F识别事件驱动任务识别事件驱动任务F识别时钟驱动任务识别时钟驱动任务F识别优先任务和关键任务识别优先任务和关键任务F识别协调者识别协调者F审查每个任务审查每个任务F定义每个任务定义每个任务4 三三.任务管理部分的设计任务管理部分的设计2022-7-28J.Yu,计算机学院264 四四.数据管理部分的设计数据管理部分的设计 数据管理部分提供了数据在数数据管理部分提供了数据在数据管理系统中存储和
14、检索对象的据管理系统中存储和检索对象的基本结构,它分离了数据管理方基本结构,它分离了数据管理方案的影响案的影响 (不管该方案是普通文不管该方案是普通文件、关系型数据库、面向对象数件、关系型数据库、面向对象数据库或其它方式据库或其它方式.).)2022-7-28J.Yu,计算机学院272.2.如何设计数据管理部分如何设计数据管理部分(1)1)数据存放方法设计数据存放方法设计F采用普通文件数据管理采用普通文件数据管理F采用关系数据库管理采用关系数据库管理F采用面向对象数据库管理采用面向对象数据库管理(2)(2)相应服务的设计相应服务的设计为每个需存储其对象的类增加一个属为每个需存储其对象的类增加一
15、个属性和服务性和服务4 四四.数据管理部分的设计数据管理部分的设计2022-7-28J.Yu,计算机学院28结构化方法中软件设计的基本原理结构化方法中软件设计的基本原理在进行面向对象设计时仍然成立,在进行面向对象设计时仍然成立,但是增加了一些与面向对象方法密但是增加了一些与面向对象方法密切相关的新特点,从而具体化为面切相关的新特点,从而具体化为面向对象设计准则。向对象设计准则。4 OOD应遵循的原则应遵循的原则2022-7-28J.Yu,计算机学院294 OOD应遵循的原则应遵循的原则准则:准则:1.模块化模块化2.抽象抽象3.信息隐藏信息隐藏4.弱耦合弱耦合5.强内聚强内聚6.可重用可重用2
展开阅读全文