软件工程 第11章 面向对象设计课件

上传人:我*** 文档编号:144173222 上传时间:2020-09-06 格式:PPT 页数:25 大小:198KB
返回 下载 相关 举报
软件工程 第11章 面向对象设计课件_第1页
第1页 / 共25页
软件工程 第11章 面向对象设计课件_第2页
第2页 / 共25页
软件工程 第11章 面向对象设计课件_第3页
第3页 / 共25页
软件工程 第11章 面向对象设计课件_第4页
第4页 / 共25页
软件工程 第11章 面向对象设计课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《软件工程 第11章 面向对象设计课件》由会员分享,可在线阅读,更多相关《软件工程 第11章 面向对象设计课件(25页珍藏版)》请在金锄头文库上搜索。

1、面向对象设计,设计是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。 面向对象设计可再细分为系统设计和对象设计。系统设计确定实现系统的策略和目标系统的高层结构。对象设计确定解空间中的类、关联、接口形式及实现服务的算法。,面向对象设计的准则,模块化:对象就是模块,对象就是模块,它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。,抽象:面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型。它对外开放的公共接口构成了类的规格说明。这种接口规定了外界可以使用的合法操作,使用者通过这些操作使用类中定义的数据。 某些面向对象的程序设计语言还支持

2、参数化抽象,即当描述类的规格说明时并不具体指定所要操作的数据类型,而是把数据类型作为参数。,信息隐藏:属性的表示方法和操作的实现算法 在面向对象方法中,信息隐藏通过对象的封装性实现:类结构分离了接口与实现,从而支持了信息隐藏。,弱耦合:松散交互耦合、紧密继承耦合 交互耦合:指对象之间的耦合通过消息连接来实现。交互耦合应尽可能松散: 尽量降低消息连接的复杂程度。 减少对象发送(接受)的消息数。 继承耦合:继承是一般化类与特殊类之间耦合的一种形式,应该提高继承耦合程度。设计时应使特殊类尽量多继承并使用其一般化类的属性和服务。,强内聚: 面向对象设计中存在3种内聚: 服务内聚:一个服务应该完成且仅完

3、成一个功能。 类内聚:一个类应只有一个用途,类的属性和服务应全都是完成该类对象的任务所必须的,其中不包含无用的属性或服务。 一般特殊内聚:设计出的一般特殊结构,应该符合多数人的概念,即应是对相应的领域知识的正确抽取。,可重用:软件重用是提高软件开发生产率和目标系统质量的重要途径。 尽量使用已有的类。 如果确实需要创建新类,则在设计这些新类时,应该考虑将来可重用性。,启发规则(一),设计结果应该清晰易懂 用词一致 使用已有的协议 减少消息模式的数目 避免模糊的定义 一般特殊结构的深度应适当: 不能仅从方便编码的角度出发随意创建派生类,一个中等规模(大约包含100个类)的系统中,类等级层次数应保持

4、为72。,启发规则(二),设计简单的类:便于开发和管理 避免包含过多的属性 有明确的定义 尽量简化对象之间的合作关系 不要提供太多服务 使用简单的协议:减少消息中的参数 使用简单的服务 把设计变动减至最小,*11.3 软件重用(一),概念 重用:也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。包括知识重用、方法和标准的重用、软件成分的重用3个层次。,代码重用:调用库中的模块, 源代码剪贴:存在配置管理问题,无法跟踪原始代码块的修改 源代码包含:提供包含(include)库中源代码,修改库中源代码之后,所有包含它的程序都必须重新编译 继承:重用类库中的类,不存在配置管理问题,软件成

5、分的重用级别,设计结果重用:重用某个软件系统的设计模型(即求解域模型)。有助于把一个应用系统移植到完全不同的软硬件平台上。 分析结果重用:重用某个系统的分析模型。这种重用特别适用于用户需求未改变,但系统体系结构发生了根本变化的场合。,软件成分的重用级别,2. 类构件,类构件的重用方式 实例重用:使用适当的构造函数,按照需要创建类的实例。然后向所创建的实例发送适当的消息,启动相应的服务,完成需要完成的工作。 继承重用:当已有的类构件不能通过实例重用完全满足当前系统需求时,继承重用提供了一种对已有的类构件进行裁剪的机制。,多态重用 利用多态性不仅可以使对象的对外接口更加一般化(基类与派生类的许多对

6、外接口是相同的),从而降低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制。系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化了消息界面和软构件连接过程。,11.4 系统分解,采用面向对象方法设计软件系统时,面向对象设计模型(即求解域的对象模型),与面向对象分析模型(即问题域的对象模型)一样,也由主题、类与对象、结构、属性、服务等5个层次组成。 大多数系统的面向对象设计模型,在逻辑上都由四大部分组成,这四大部分对应于组成目标系统的四个子系统,它们分别是问题域子系统、人机交互子系统、任务管理子系统和数据管理子系统。,图11.2 典型的面

7、向对象设计模型,在面向对象分析中,只涉及到问题论域部分,其余3部分是在面向对象设计中加进来的。,设计问题域子系统(一),面向对象设计通常仅需从实现角度对问题域模型作一些补充或修改,主要是增添、合并或分解类&对象、属性及服务,调整继承关系等。 调整需求:修改分析结果,再把修改反映到问题域子系统中 重用已有的类: 把问题域类组合在一起:引入一个根类把应用的类关联到一起,建立类的层次 增添一般化类以建立协议:在一般类中定义所有特殊类都可使用的操作,这种操作可能是虚函数,其细节在特殊类中定义。 调整继承层次:若设计语言不提供多重继承机制,需修改分析结果。,设计人机交互子系统(一),确定人机交互的细节,

8、其中包括指定窗口和报表的形式、设计命令层次等项内容。 设计人机交互子系统的策略 分类用户 描述用户 设计命令层次:用过程抽象机制组织起来的、可供选用的服务的表现形式。 设计人机交互类,设计任务管理子系统,分析并发性: 若两个对象彼此间不存在交互,或者同时接受事件,则它们在本质上是并发的; 当系统有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种任务,以简化并发行为的设计和编码: 通过检查各个对象的状态图及他们之间交换的事件,把若干非并发的对象归并到一条用任务实现的控制线中。,进程的别名,是执行一系列活动的一段程序。,设计任务管理子系统,设计任务管理子系统:确定各类任务并把任务分配给适

9、当的硬件或软件去执行。 确定事件驱动型任务:由事件驱动完成通信工作的任务。 确定时钟驱动型任务:每隔一定时间间隔就被触发以执行某些处理的任务。 确定优先任务和关键任务:有关系统成功或失败的关键处理,有严格的可靠性要求。 确定协调任务:有助于把不同任务之间的协调控制封装起来。 尽量减少任务数 确定资源需求:决定哪些子系统用硬件实现,哪些用软件实现。,表明某些数据到达的信号,设计数据管理子系统,选择数据存储管理模式 文件管理系统 关系数据库管理系统 面向对象数据库管理系统: 1)扩展的关系数据库管理系统:增加了抽象数据类型和继承机制,增加了创建及管理类和对象的通用服务 2)扩展的面向对象程序设计语

10、言:增加了在数据库中存贮和管理对象的机制 设计数据管理子系统 设计数据格式 设计相应的服务,设计类中的服务,确定类中应有的服务 设计实现服务的方法 设计实现服务的算法 算法复杂度 容易理解与容易实现 易修改 选择数据结构 定义内部类和内部操作,设计关联,关联的遍历 实现单向关联 实现双向关联 链属性的实现,设计优化,确定优先级 提高效率的几项技术 增加冗余关联以提高访问效率 调整查询次序 保留派生属性 调整继承关系 抽象与具体 为提高继承程度而修改类定义 利用委托实现行为共享,对象模型,一本书有一个封面、一个目录、一个前言、若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后还有一个封底。建立该书的对象模型。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号