第11章 面向对象的OMT方法.ppt

  1. 1、本文档共191页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 面向对象的OMT方法

第11章 面向对象的OMT方法 11.1 OMT方法概述 11.1.1 OMT方法学 OMT是一种软件工程方法学,支持整个软件生存周期。它覆盖了问题构成、分析、设计和实现等阶段。 系统分析阶段涉及对应用领域的理解及问题域建模。分析阶段的输入是问题陈述,说明要解决的问题并提供了对假想系统概念的总览,同用户不断对话以及对客观世界背景知识的了解作为分析的附加输入,分析的结果是一个形式化模型。该模型概括了系统的3个本质因素:对象及对象之间的关系、动态的控制流以及带有约束的功能数据变换。 系统设计阶段确定整个系统的体系结构。以对象模型为指导,系统可由多个子系统组成,把对象组织成聚集并发任务而反映并发性,对动态模型中处理的相互通信、数据存储及实现要制定全面的策略,在权衡设计方案时要建立优先顺序。 对象设计阶段要精心考虑和细化分析模型,然后优化地生成一个实际设计。对象设计的重点从应用域概念转到计算机概念上来,应选择基本算法来实现系统中各主要功能。 OMT方法学是组织开发的一种过程。这种过程是建立在一些协调技术之上的,OMT方法的基础是开发系统的3个模型,再细化这3种模型,并优化以构成设计。对象模型由系统中的对象及其关系组成,动态模型描述系统中对象对事件的响应及对象间的相互作用,功能模型则确定对象值上的各种变换及变换上的约束。 11.1.2 系统分析 分析的目的是确定一个系统“干什么”的模型,该模型通过使用对象、关联、动态控制流和功能变换等来描述。分析过程是一个不断获取需求及不断与用户磋商的过程。 1. 问题陈述 问题陈述为记下或获取对问题的初步描述。 2. 构造对象模型 构造对象模型的步骤如下: (1) 确定对象类。 (2) 编制类、属性及关联描述的数据词典。 (3) 在类之间加入关联。 (4) 给对象和链加属性。 (5) 使用继承构造和简化对象类。 (6) 将类组合成模块,这种组合在紧耦合和相关功能上进行。 最后得到:对象模型=对象模型图+数据词典。 3. 构造动态模型 构造动态模型的步骤如下: (1) 准备典型交互序列的脚本。 (2) 确定对象间的事件并为各脚本安排事件跟踪。 (3) 准备系统的事件流图。 (4) 开发具有重要动态行为的各个类的状态图。 (5) 检查状态图中共享事件的一致性和完整性。 最后得到:动态模型 = 状态图 + 全局事件流图。 4. 构造功能模型 构造功能模型的步骤如下: (1) 确定输入、输出值。 (2) 需要时使用数据流图来表示功能依赖关系。 (3) 描述各功能“干什么”。 (4) 确定约束。 (5) 详细说明优化标准。 最后得到:功能模型 = 数据流图 + 约束。 5. 验证、重复并完善细化 3 种模型 最后得到:分析文档 = 问题陈述 + 对象模型 + 动态模型 + 功能模型。 11.1.3 系统设计 在系统设计阶段建立系统的高层结构,有各种标准结构可以用作设计的起点。面向对象的开发方法对系统设计没有什么特殊的限制,但覆盖了完整的软件开发阶段。系统设计的开发步骤如下: (1) 将系统分解为各子系统。 (2) 确定问题中固有的并发性。 (3) 将各子系统分配给处理器及任务。 (4) 根据数据结构、文件及数据库来选择实现存储的基本策略。 (5) 确定全局资源和制定控制资源访问的机制。 (6) 选择实现软件控制的方法。 (7) 考虑边界条件。 最后得到:系统设计文档 = 系统的基本结构 + 高层次决策策略。 11.1.4 对象设计 对象设计时,对分析模型进行详细分析和阐述并且奠定实现的基础,从分析模型的面向客观边界的观点转到面向实现的计算机观点上来。对象设计步骤如下: (1) 从其他模型中获取对象模型上的操作:在功能模型中寻找各个操作,为动态模型中的各个事件定义一个操作,这个操作与控制的实现有关。 (2) 设计实现操作的算法:指选择开销最小的算法,选择适合于算法的数据结构,定义新的内部类和操作。给那些与单个类联系不太清楚的操作分配内容。 (3) 优化数据的访问路径:指增加冗余联系以减少访问开销,提高方便性,重新排列运算以获得更高效率。为防止重复计算复杂表达,保留有关派生值。 (4) 实现系统设计中的软件控制。 (5) 为提高继承而调整类体系:是指为提高继承而调整和重新安排类和操作,从多组类中把共同行为抽取出来。 (6) 设计关联的实现:分析关联的遍历,使用对象来实现关联或者对关联中的1、2个类增加值对象的属性。 (7) 确定对象属性的明确表示:是将类、关

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档