第十一篇 面向对象设计11.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SOFTWARE ENGINEERING 第十一章 面向对象设计 OOD概述 简单地说,运用面向对象的方法进行系统设计就称为面向对象设计。面向对象设计(Object-Oriented Design)通常缩写为OOD。面向对象设计模型的主要工作是根据面向对象分析的结果建立实际问题的面向对象的解域模型。 用面向对象方法进行软件开发时,由于在使用的概念和表示的方法上的一致性,保证了软件开发过程中分析和设计两个阶段之间的平滑过渡,使得两者更加紧密衔接。 OOD概述 OOD则针对系统的具体实现运用面向对象方法,首先把分析阶段已建成的问题领域的所有对象和类全部原封不动地搬过来(不经过转换,仅作某些必要的少量修改),作为面向对象设计结果的主要部分;同时运用同样的面向对象方法对模型进行扩充,其中包括针对系统的具体实现时必需要的人机界面、数据存储、任务管理等方面的补充内容。 OOD概述 从OOA到OOD,是一个逐渐扩充模型的过程,不存在模型的转换,只有局部的修改和增加一些与实现有关的部分。因此,OOA与OOD不存在传统方法中分析和设计之间的鸿沟与转换,大大降低了从OOA过渡到OOD的工作难度。 OOA与OOD之间的差别 (1) OOA识别和定义的类/对象,是直接反映问题空间和系统任务的,OOA为问题空间建立了模型;而OOD识别和定义的类/对象,是反映需求的一种实现,OOD为一个特定的实现空间建立了模型。 (2) OOA在较高的抽象层次上进行,是独立于程序设计语言的;而OOD则在较低的抽象层次上进行,OOD的最后结果一般都与程序设计语言有关。 面向对象设计的基本准则 1.抽象准则 在OOD中定义的类/对象实际上是一种抽象数据类型,同时还体现了系统的抽象逻辑结构,说明面向对象设计支持过程抽象和数据抽象,实现了抽象准则。 面向对象设计的基本准则 2.局部化和信息隐蔽准则 在OOD中,局部化和信息隐蔽准则是通过对象的封装性来实现的。由于对象的封装性,对象的属性表示方法和对象中的操作的实现算法都是隐蔽的,对于它的用户来说是不可见的和不必要了解的。由于数据和操作被限制在一个对象内,也就实现了数据的局部化;利用消息传递来控制流程,也就可以达到控制的局部化。 面向对象设计的基本准则 3.模块化准则 在面向对象方法中,系统的唯一元素是对象,而对象就是含有数据和操作这些数据的方法的模块。所以说,OOD很自然地支持了模块化准则。 面向对象设计的基本准则 (1) 耦合 OOD中的模块之间的耦合含义与结构化设计中的略有差别。在OOD中,对象之间的耦合分为两大类:交互耦合与继承耦合。OOD要求交互耦合越弱越好,继承耦合越强越好。 ①交互耦合 如果对象之间的耦合是通过消息连接来实现的,那么这种耦合就称为交互耦合。对于交互耦合,应当尽量减少对象发送(或接收)的消息数和消息中包含的参数个数。 ②继承耦合 父类与子类之间的耦合称为继承耦合。如果子类能尽可能多地继承父类中的属性和服务,则更能体现出继承的优越性来。因此,在OOD中要求强继承耦合。这与模块化准则并不矛盾。事实上,因为父类与子类的紧密耦合,形成了一种粒度更大的模块。 面向对象设计的基本准则 (2) 内聚 OOD中的模块内聚与结构化设计中的含义是相似的,可以定义为类/对象中各个元素间的关联程度。OOD中的内聚可分为两大类:类内聚和服务内聚。这两种内聚,应当尽可能是强内聚。 ①类内聚 设计类的原则是:一个类应该只有一个用途,一个类的属性和服务应该全部都是该类的任务所必需的,而且不包括多余的属性和服务。 ②服务内聚 设计服务的原则是:一个服务应该完成而且仅仅完成一个功能。 面向对象设计的基本准则 4 软件复用准则 什么是软件复用?软件复用是指同一个软件不作修改或稍加修改就可多次重复使用。 面向对象设计的基本准则 5.启发式原则 在应用面向对象方法开发软件过程中,人们对系统设计积累了一些经验,这里作为启发式原则介绍给读者。 (1) 设计结果清晰易懂。软件可维护性要求设计结果必须清晰,可读性强,容易理解。 (2) 类层次结构深度适当。 (3) 设计简单的类。 (4) 人机界面风格一致。 面向对象设计步骤 (1) 系统分解, (2) 问题域子系统的设计 (3) 人机交互子系统的设计 (4) 外部接口子系统的设计 (5) 任务管理子系统的设计 (6) 数据管理子系统的设计 (7) 基础对象子系统的设计 (8) 设计类中的服务 (9) 设计关联。 典型的面向对象设计模型 系统分解 在进行系统设计时,传统的方法是根据系统的功能进行系统分解,把系统划分为若

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档