软件工程课件第8章面向对象设计new.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文档。上传文档
查看更多
软件工程课件第8章面向对象设计new

面向对象设计 第八章 面向对象设计 8.1 面向对象设计的准则 8.1.1 模块化 对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。 8.1.2 抽象 面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,某些面向对象的程序设计语言还支持参数化抽象。 8.1.3 信息隐藏  在面向对象方法中,信息隐藏通过对象的封装性实现。 8.1.4 弱耦合 耦合主要指不同对象之间相互关联的紧密程度。一般来说,对象之间的耦合可分为两大类,下面分别讨论这两类耦合。 8.1 面向对象设计的准则 8.1 面向对象设计的准则 8.1.5 强内聚 1.服务内聚: 一个服务应该完成一个且仅完成一个功能。 2.类内聚 设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。 3.一般—特殊内聚 设计出的一般—特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对相应的领域知识的正确抽取。 8.1.6 可重用 一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。 8.2 启发规则 8.2.1 设计结果应该清晰易懂 使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。保证设计结果清晰易懂的主要因素如下。 1. 用词一致; 2. 使用已有的协议 3. 减少消息模式的数目; 4. 避免模糊的定义 8.2.2 一般—特殊结构的深度应适当 应该使类等级中包含的层次数适当。 8.2.3 设计简单的类 应该尽量设计小而简单的类,以便于开发和管理。 1. 避免包含过多的属性; 2. 有明确的定义 3. 尽量简化对象之间的合作关系 4. 不要提供太多服务 8.2 启发规则 8.2.4 使用简单的协议 一般来说,消息中的参数不要超过3个。 8.2.5 使用简单的服务 面向对象设计出来的类中的服务通常都很小,一般只有3~5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能。 8.2.6 把设计变动减至最小 通常,设计的质量越高,设计结果保持不变的时间也越长。 8.3 系统分解 大多数系统的面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于组成目标系统的四个子系统,它们分别是问题域子系统,人-机交互子系统、任务管理子系统和数据管理子系统。 当然,在不同的软件系统中,这四个子系统的重要程度和规模可能相差很大,规模过大的在设计过程中应该进一步划分成更小的子系统,规模过小的可合并在其他子系统中。某些领域的应用系统在逻辑上可能仅由3个(甚至少于3个)子系统组成。 8.3 系统分解 8.3.1 子系统之间的两种交互方式 在软件系统中,子系统之间的交互有两种可能的方式,分别是客户—供应商(Client_supplier)关系和平等伙伴(peer_to_peer)关系。 1. 客户—供应商关系 2. 平等伙伴关系 总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此应该尽量使用客户—供应商关系。 8.3 系统分解 8.3.2 组织系统的两种方案 把子系统组织成完整的系统时,有水平层次组织和垂直块组织两种方案可供选择。 1. 层次组织:这种组织方案把软件系统组织成一个层次系统,每层是一个子系统。上层在下层的基础上建立,下层为实现上层功能而提供必要的服务。 2. 块状组织:这种组织方案把软件系统垂直地分解成若干个相对独立的、弱耦合的子系统,一个子系统相当于一块,每块提供一种类型的服务。 8.4 设计问题域子系统 通过面向对象分析所得出的问题域精确模型,为设计问题域子系统奠定了良好的基础,建立了完整的框架。 只要可能,就应该保持面向对象分析所建立的问题域结构。通常,面向对象设计仅需从实现角度对问题域模型作一些补充或修改,主要是增添、合并或分解类—&—对象、属性及服务,调整继承关系等。 当问题域子系统过分复杂庞大时,应该把它进一步分解成若干个更小的子系统。 下面介绍,在面向对象设计过程中,可能对面向对象分析所得出的问题域模型作的补充或修改。 8.4.1 调整需求 8.4.2 重用已有的类 8.4.3 把问题域类组合在一起:在面向对象设计过程中,设计者往往通过引入一个根类而把问题域类组合在一起。 8.4.4 增添一般化类以建立协议 8.5 设计人-机交互子系统 8.5.1 设计人-机交互界面的准则 1. 一致性:使用一致的术语,一致的步骤,一致的动作。 2. 减少步骤:应使用户为做某件事情而需敲击键盘的次数、点按鼠

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档