当前位置:文档之家› 软件工程 (第二版)第11章 面向对象的OMT方法

软件工程 (第二版)第11章 面向对象的OMT方法


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