面向对象设计定稿.pptxVIP

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
11.2 启发规则1 设计结果应该清晰易懂 使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。用词一致使用已有的协议减少消息模式的数目避免模糊的定义从类名可以较容易地推想出它的用途2 一般特殊结构的深度应适当 一般说来,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为5-9。 应该使一般一特殊结构与领域知识或常识保持一致。 3 设计简单的类 (1) 避免包含过多的属性 (2)有明确的定义 (3)尽量简化对象之间的合作关系 (4)不要提供太多服务4 使用简单的协议 消息中的参数不要超过3个 通过复杂消息相互关联的对象是紧耦合的5 使用简单的服务 服务通常一般只有3—5行源程序语句 一般说来,应该尽量避免使用复杂的服务。如果需要 在服务中使用CASE语句,通常应该考虑用一般一特殊结构代替这个类的可能性。6 把设计变动减至最小 设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可能小。11.3 软件重用11.3.1 概述 1 重用:也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。 (1)知识重用(例如,软件工程知识的重用)。 (2)方法和标准的重用(例如,面向对象方法或国家制定的软件开发规范的重用)。 (3)软件成分的重用。2.软件成分的重用级别(1)代码重用·源代码剪贴·源代码包含:提供包含(Include)库中源代码的机制。·继承(2)设计结果重用(3)分析结果重用3 典型的可重用软件成分(1)项目计划 (2)成本估计(3)体系结构 (4)需求模型和规格说明(5)设计 (6)源代码(7)用户文档和技术文档 (8)用户界面 (9)数据(10)测试用例11.3.2 类构件 面向对象中的类是比较理想的可重用的构件,称类构件。1.可重用软构件应具备的特点(1)模块独立性强 具有单一、完整的功能,且经过反复测试被确认是正确的,内部实现在外面是不可见的。(2)具有高度可塑性 必须提供为适应特定需求而扩充或修改已有构件的机制,而且所提供的机制必须使用起来非常简单方便。(3)接口清晰、简明、可靠 应该有详尽的文档说明2.类构件的重用方式(1)实例重用 向创建的实例发送适当的消息,启动相应的服务,完成需要完成的工作。 还可以用几个简单的对象作为类的成员,创建出一个更复杂的类,这是实例重用的另一种形式。 (2)继承重用 提供了一种对已有的类构件进行裁剪的机制 (3)多态重用 利用多态性不仅可以便对象的对外接口更加一般化(基类与派生类的许多对外接口是相同的),从而降低了消息连接的复杂程度,而且还提供了一种简便可靠的软构件组合机制。系统运行时,根据接收消息的对象类型,由多态性机制启动正确的方法,去响应一个一般化的消息,从而简化消息界面和软构件连接过程。11.3.3 软件重用的效益1 质量 HP公司的研究2 生产率 创建计划、模型、文档、代码和数据所需花费的时间将减少。重用30%-50%提高生产率25%-40%3 成本 软件重用带来的净成本节省 C=Cs-Cr-CdCs从头开发(没有重用)所需成本;Cr与重用相关联的成本;Cd交付给客户软件的实际成本11.4 系统分解 系统的主要组成部分称为子系统,通常根据所提供的功能来划分子系统。 例如,编译系统可划分成词法分析、语法分析、中间代码生成、优化、目标代码生成和出错处理等于系统。 子系统的数目应该与系统规模基本匹配。 在划分和设计子系统时,应该尽量减少于系统彼此间的依赖性。 面向对象设计模型(即求解域的对象模型),也由主题、类与对象、结构、属性、服务等五个层次组成。这五个层次一层比一层表示的细节更多。 面向对象设计模型,在逻辑上都由四大部分组成。这四大部分对应于组成目标系统的四个子系统,它们分别是问题域子系统、人—机交互子系统、任务管理子系统和数据管理子系统。 11.4.1 子系统之间的两种交互方式1 客户一供应商关系 在这种关系中,作为“客户”的子系统调用作为“供应商”的子系统,后者完成某些服务工作并返回结果。使用这种交互方案,作为客户的子系统必须了解作为供应商的子系统的接口,然而后者却无须了解前者的接口,因为任何交互行为都是由前者驱动的。 2平等伙伴关系 在这种关系中,每个子系统都可能调用其他子系统,因此,每个子系统部必须了解其他子系统的接口。 总的说来,单向交互比双向交互更容易理解,也更容易设计和修改,因此应该尽量使用客户一供应商关系。11.4.2 组织系统的两种方案1.层次组织 这种组织方案把软件系统组织成一个层次系统,每层是一个子系统。 在上、下层之间存在客户一供应商关系。低层子系统提供服务,相当于供应商,上层子系统使用下层提供的服务,相当于客户。 2.块

文档评论(0)

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

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档