- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章:面向对象设计
■ 分析是提取和整理用户需求,并建立问题域精确模型
的过程。设计 是把分析阶段得到的需求转变成符合
成本和质量要求的、抽象的系统实现方案的过程。从
面向对象分析到面向对象设计 (通常缩写为OOD),
是一个逐渐扩充模型的过程。
■ 尽管分析和设计的定义有明显区别,但是在实际的软
件开发过程中二者的界限是模糊的。许多分析结果可
以直接映射成设计结果,而在设计过程中又往往会加
深和补充对系统需求的理解,从而进一步完善分析结
果。
第八章:面向对象设计
■ 8.1 面向随想设计的准则
■ 8.2 启发规则
■ 8.3 系统分解
■ 8.4 设计问题域子系统
■ 8.5 设计人—— 交互子系统
■ 8.6 设计任务管理子系统
■ 8.7 设计数据管理子系统
■ 8.8 设计类中的服务
■ 8.9 设计关联
■ 8.10 设计优化
■ 8.11 面向对象分析与设计实例
■ 11..模模块块化化
面向对象软件开发模式,很自然地支持了把系统分解
成模块的 计原理:对象就是模块。它是把数据结构
和操作这些数据的方法紧密地结合在一起所构成的模
块。
■ 22..抽抽象象
面向对象方法不仅支持过程抽象,而且支持数据抽象
。类实际上是一种抽象数据类型,它对外开放的公共
接口构成了类的规格说明 (即协议),这种接口规定
了外界可以使用的合法操作符,利用这些操作符可以
对类实例中包含的数据进行操作。
■ 33..信信息息隐隐藏藏
在面向对象方法中,信息隐藏通过对象的封装性实现
:类结构分离 接口与实现,从而支持 信息隐藏。
对于类的用户来说,属性的表示方法和操作的实现算
法都应该是隐藏的。
■ 44..弱弱耦耦合合
耦合指一个软件结构内不同模块之间互连的紧密程度
。在面向对象方法中,对象是最基本的模块,因此,
耦合主要指不同对象之间相互关联的紧密程度。弱耦
合是优秀设计的一个重要标准,因为这有助于使得系
统中某一部分的变化对其他部分的影响降到最低程度
。
■ 一般来说,对象之间的耦合可分为两大类:
(1)交互耦合 如果对象之间的耦合通过消 连接
来实现,则这种耦合就是交互耦合。为使交互耦合尽
可能松散,应该遵守下述准则。
◇ 尽量降低消 连接的复杂程度。应该尽量减少消 中包
含的参数个数,降低参数的复杂程度。
◇ 减少对象发送 (或接收)的消 数。
(2)继承耦合 与交互耦合相反,继承耦合应该提高
继承耦合程度。继承是一般化类与特殊类之间耦合的一
形式。从本质上看,通过继承关系结合起来的基类和
派生类,构成了系统中粒度更大的模块,因此,它们彼
此之间应该结合得越紧密越好。
为获得紧密的继承耦合,特殊类应该确实是对它的一
般化类的一 具体化,也就是说,它们之间在逻辑上应
该存在 “is a”的关系。
■ 55..强强内内聚聚
内聚衡量一个模块内各个元素彼此结合的紧密程度。
也可以把内聚定 为:设计中使用的一个构件内的各
个元素,对完成一个定 明确的目的所做出的贡献程
度。在设计时应该力求做到高内聚。在面向对象设计
中存在下述3种内聚。
■ (1)服务内聚
一个服务应该完成一个且仅完成一个功能。
■ (2)类内聚
设计类的原则是,一个类应该只有一个用途,它的属
性和服务应该是高内聚的。类的属性和服务应该 都
是完成该类对象的任务所必需的,其中不包含无用的
属性或服务。
■ (3)一般/特殊内聚
文档评论(0)