UML第14章 对象设计.pptVIP

  1. 1、本文档共80页,可阅读全部内容。
  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文档。上传文档
查看更多
第14章 对象设计 14.1 对象设计综述 14.2 组合三种模型 14.3 设计算法 14.4 设计优化 14.5 控制实现 第14章 对象设计 14.6 继承的调整 14.7 关联设计 14.8 对象的表示 14.9 物理打包 14.10 设计决策文档 分析阶段决定要实现什么;系统设计阶段决定着手实现的计划,而对象设计则是决定在实现过程中使用的类和关联的全部定义,以及用于实现操作的各种方法的算法和接口。 在OMT方法学中,没有必要从一个模型转换到另一个模型,因为面向对象的范型已经跨越了分析、设计和实现全过程。面向对象范型在描述现实世界的详细说明和基于计算机的实现两方面应用得同样出色。 14.1 对象设计综述 对象设计是继分析和系统设计之后的重要设计阶段。对象设计不是从粗框的架构开始,而是对前述的分析和系统设计的精工细雕。设计者根据在实现系统设计时所选取的策略,加以丰富和完善细节。 14.1.1 从分析和系统结构着手 分析对象模型中的信息必须以某种形式在设计中呈现出来。通常最简单和最好的方法就是把分析得出的类直接带进设计中,而对象设计成为添加细节并做出实现决策的过程。有时,分析对象不是显式地出现在设计中,这是由于计算效率的缘故分布于其他对象之中。更经常的是增加新的冗余类以提高效率。 功能模型描述系统中必须实现的操作。在设计期间,必须确定如何实现每个操作,选择操作的算法,并把复杂的操作分解成简单的操作。这种分解是一个必须在相关的低层抽象层次上重复迭代的过程。 动态模型描述系统是如何响应外部事件,程序的控制结构是从动态模型导出来的。选择一个系统结构时已经为实现系统必要的决策而采取了一些步骤,选取整个系统总控制流和数据流,并把系统分成几个可管理的子系统,也决定了怎样把对象分配给处理器。体系结构的选择也将影响到如何把事件映射成操作的决策。 14.1.2 对象设计的步骤 组合三种模型以获取类上的操作 实现操作的设计算法 优化数据的访问路径 实现外部交互式的控制 调整类结构提高继承性 设计关联 确定对象表示 把类和关联封装成模块 14.1.3 对象模型工具 对象模型工具(OMTool)是一个为建立对象而设计的图形编辑器。应用OMTool可以较方便地创建、装入、编辑、保存和打印对象图。OMTool设计的主要目的是提供简易自然的用户交互界面。 OMTool所确定的一个主要结构决策是同时存储逻辑和图形模型,图形模型存储画在屏幕上的图,包括符号表示的选择、符号表示的位置、线的长度等等。逻辑模型存储图的基本含义,包括类、属性、操作和它们的关系。 14.2 组合三种模型 从分析得到的对象模型可以不表示操作。设计者必须把动态模型的动作和活动以及功能模型的处理转化成对象模型中与类相关的操作。要完成这个转换,把分析模型的逻辑结构映射到程序的物理组织。 每个状态图描述了一个对象生命历史,变迁过程是对象状态的转变并且映射成对象上的一个操作,将操作对象与所收到的事件联系起来。在状态图中,变迁完成的动作同时依赖于事件和对象的状态。 一个对象发送的事件可以表示另一对象上的一个操作。事件经常是成对出现,第一个事件触发一个动作,第二个事件返回结果或指出那个动作的完成。数据流图中的处理构成了子操作。它们中的一些,不一定是全部,可以是初始目标对象或其他对象上的操作。以下步骤是确定一个子操作的目标对象: (1)如果一个处理从输入流中抽取值,那么输入流是目标。 (2)如果一个处理有相同类型的输入流和输出流,而且大部分输出值是输入流更新版本,那么输入/输出是目标。 (3)如果一个处理由几个输入流得出输出值,那么该操作是一个输出类上的类操作。 (4)如果一个处理的输入来自或输出到达一个数据存储或施动者,那么数据存储或施动者是处理的一个目标。 14.3 设计算法 算法的设计者必须: (1)选择实现操作花费最小的算法。 (2)给算法选择合适的数据结构。 (3)必要时定义新的内部类和操作。 (4)给合适的类指定操作响应。 14.3.1 选择算法 功能模型中已经详细说明构造了满意的算法,关于做什么的描述同时也表示了如何实现。很多操作只是简单地通过遍历对象—链接网络中的路径来检索或改变属性或链接。例如,图14-1表示了一个类矩形框对象,它包含一个操作表,其中依次包含一组操作条目对象。 在选取算法中需要考虑以下问题: (1)计算复杂度。 (2)易于实现性和可理解性 (3)灵活性。 (4)精细协调对象模型。 如果对象模型构造不同,将会有别的选择吗?例如,图14-2表示OMTool中的图元素和窗口之间映射的两种设计。 14.

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档