好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

三种面向对象方法.doc

5页
  • 卖家[上传人]:wm****3
  • 文档编号:41146900
  • 上传时间:2018-05-28
  • 文档格式:DOC
  • 文档大小:49KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 三个著名的面向对象开发方法三个著名的面向对象开发方法摘摘 要要 主要介绍了3种典型的面向对象开发方法,并对它们进行了比较面向对象的方法 是一种分析方法、设计方法和思维方法面向对象方法学的出发点和所追求的基本目标是 使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法关键字:关键字:面向对象;开发方法;OMT;BOOCH;JACOBSON;1.1.引言引言 面向对象的方法是一种分析方法、设计方法和思维方法面向对象方法学的出发点 和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个 系统的方法也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致 其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以 便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界, 构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费 用 面向对象程序设计方法起源于六十年代末期的simnia语言.Smalltalk语言的出现, 进一步发展和完善了面向对象的程序设计语言,从此面向对象与开发方法开始结合,出现 了面向对象的开发方法. 自80年代后期以来,相继出现了多种面向对象开发方法,现将其 中几种典型的方法作一比较分析.2.2.三种典型的面向对象开发方法三种典型的面向对象开发方法2.12.1 OMT/RumbaughOMT(Object Modeling Technique)方法提出于1987年,曾扩展应用于关系数据库设 计.1991年Jim Rumbaugh正式把OMT应用于面向对象的分析和设计.这种方法是在 实体关系模型上扩展了类、继承和行为而得到的.OMT覆盖了分析、设计和实现3个阶段, 包括一组相互关联的类(class )、对象(object)、一般化(generalization)、继承(inheritance)、 链(link)、链属性(link attribute)、聚合(aggregation)、操作(operation)、事件(event)、场景 (scene)、属性(attribute)、子系统(subsystem)、模块(module)等概念. OMT方法把分析时收集的信息构造在3种模型中,这些模型贯穿于每个步骤,在每个 步骤中被不断地精化和扩充.对象模型用ER图描述问题域中的列象及其相互关系,用类和 关系来刻画系统的静态结构,包括系统中的对象、对象之间的关系、类的属性和操作等特 征.动态模型用事件和对象状态来刻画系统的动态特性,包括系统对象的事件序列、状态 和操作.功能模型按照对象的操作来描述如何从输入给出输出的结果,描述动态模型的动 作所定义对象操作的意义。

      OMT方法包含分析、系统设计、对象设计和实现4个步骤,它定义了3种模型,这些 模型贯穿于每个步骤,在每个步骤中被不断地精化和扩充这3种模型是:对象模型,用 类和关系来刻画系统的静态结构;动态膜型,用事件和对象状态来刻画系统的动态特性; 功能模型,按照对象的操作来描述如何从输人给出输出结果分析的目的是建立可理解的 现实世界模型系统设计确定高层次的开发策略对象设计的目的是确定对象的细节,包 括定义对象的界面、算法和操作实现对象则在良好的面向对象编程风格的编码原则指导 下进行 开发的四个阶段如下: (1)分析基于问题和用户需求的描述,建立现实世界的模型分析阶段的产物 有: 问题描述对象模型=对象图+数据词典 动态模型=状态图+全局事件流图 功能模型=数据流图+约束 (2)系统设计结合问题域的知识和目标系统的系统结构(求解域),将目标系 统分解为子系统 (3)对象设计基于分析模型和求解域中的体系结构等添加的实现细节,完成系 统设计主要产物包括: 细化的对象模型 细化的动态模型 细化的功能模型 (4)实现将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和 可扩展性OMT方法的一般过程包括分析建立可理解的现实世界模型、系统设计(确定高层次的 开发策略和划分子系统)、对象设计(确定对象细节并引入新的中间结果)和实现对象4个步 骤.OMT强调对“现实” 的模型化.这里的“现实”是指所面对的实际应用问题,即分析模型 是对实际问题的抽象.分析模型中对象之间的关系反映了实际问题中对象之间的关系.2.22.2 OODOOD//BoochBooch OOD(Object Oriented Design)方法是Grady Booch从1983年开始研究,1991年后走向 成熟的一种方法。

      OOD主要包括下述概念:类(class)、对象(object)、使用(uses)、实例化 (instantiates)、继承(inherits)、元类(meta class)、类范畴(class category)、消息(message)、 域(field)、操作(operation)、机制(mechanism)、模块(module)、子系统(subsystem)、过程 (process)等其中,使用及实例化是类间的静态关系,而动态对象之间仅有消息传递的连 接元类是类的类类范畴是一组类,它们在一定抽象意义上是类同的物理的一组类用 模块来表达机制是完成一个需求任务的一组类构成的结构 Booch方法在面向对象的设计中主要强调多次重复和开发者的创造性方法本身是一 组启发性的过程式建议OOD的一般过程:在一定抽象层次上标识类与对象;标识类与对 象的语义;标识类与对象之间的关系(如继承、实例化、使用等);实现类与对象 Booch方法的过程包括以下步骤: (1)在给定的抽象层次上识别类和对象 (2)识别这些对象和类的语义 (3)识别这些类和对象之间的关系 (4)实现类和对象 这四种活动不仅仅是一个简单的步骤序列,而是对系统的逻辑和物理视图不断细化的 迭代和渐增的开发过程。

      类和对象的识别包括找出问题空间中关键的抽象和产生动态行为的重要机制开发人 员可以通过研究问题域的术语发现关键的抽象语义的识别主要是建立前一阶段识别出的 类和对象的含义开发人员确定类的行为和类及对象之间的互相作用该阶段利用状态转 移图描述对象的状态的模型,利用时态图和对象图描述行为模型 在关系识别阶段描述静态和动态关系模型这些关系包括使用,实例化,继承,关联 和聚集等类和对象之间的可见性也在此时确定 在类和对象的实现阶段要考虑如何用选定的编程语言实现,如何将类和对象组织成模 块在面向对象的设计方法中,Booch强调基于类和对象的系统逻辑视图与基于模块和进程的系统物理视图之间的区别还区别了系统的静态和动态模型然而,他的方法偏向于 系统的静态描述,对动态描述支持较少 Booch方法的力量在于其丰富的符号体系,包括: 类图(类结构:静态视图) 对象图(对象结构:静态视图) 状态转移图(类结构:动态视图) 时态图(对象结构:动态视图) 模块图(模块体系结构) 进程图(进程体系结构) 用于类和对象建模的符号体系使用注释和不同的图符表达详细的信息Booch建议在 设计的初期可以用符号体系的一个子集,随后不断添加细节。

      对每一个符号体系还有 一个文本的形式,由每一个主要结构的描述模版组成符号体系由大量的图符定义, 但是,其语法和语义并没有被严格地定义 2.3OOSE/Jacobson OOSE (Object—Oriented Software Engineering)是Ivar Jacobson在1992年提出的一 种使用事例驱动的面向对象开发方法 OOSE主要包括下列概念:类(class)、对象(object)、继承(inherits)、相识 (acquaintance)、通信(communication)、激励(stimuli)、操作(operation)、属性(attribute)、 参与者(actor)、使用事例(use case)、子系统(subsystem)、服务包(service package)、块 (block)、对象模块(object module)相识表示静态的关联关系,包括聚合关系激励是通 信传送的消息参与者是与系统交互的事物,它表示所有与系统有信息交换的系统之外的 事务,因此不关心它的细节参与者与用户不同,参与者是用户所充当的角色参与者的 一个实例对系统做一组不同的操作当用户使用系统时,会执行一个行为相关的事物系列, 这个系列是在与系统的会话中完成的,这个特殊的系列称为使用事例,每个使用事例都是 使用系统的一条途径。

      使用事例的一个执行过程可以看作是使用事例的实例当用户发出 一个激励之后,使用事例的实例开始执行,并按照使用事例开始事物事务包括许多动作, 事务在收到用户结束激励后被终止在这个意义上,使用事例可以被看作是对象类,而使 用事例的实例可以被看作是对象 在该方法中的一个关键概念就是用例用例是指行为相关的事务序列,该序列将由用 户在与系统对话中执行因此,每一个用例就是一个使用系统的方式,当用户给定一个输 入,就执行一个用例的实例并引发执行属于该用例的一个事务 OOSE开发过程中有以下5种模型,这些模型是自然过渡和紧密耦合的: ① 需求模型包括由领域对象模型和界面描述支持的参与者和使用事例对象模型 是系统的概念化的、容易理解的描述界面描述刻画了系统界面的细节需求模型从用户 的观点上完整地刻画了系统的功能需求,因此按这个模型与最终用户交流比较容易. ② 分析模型是在需求模型的基础上建立的主要目的是要建立在系统生命期中可 维护、有逻辑性、健壮的结构模型中有3种对象界面对象刻画系统界面实体对象刻 画系统要长期管理的信息和信息上的行为实体对象生存在一个特别的使用事例中第三 种是按特定的使用事例作面向事务的建模的对象。

      这3种对象使得需求的改变总是局限于 其中一种 ③ 设计模型进一步精化分析模型并考虑了当前的实现环境块描述了实现的意图, 分析模型通常要根据实现作相应的变化,但分析模型中基本结构要尽可能保留在设计模 型中,块进一步用使用事例模型来阐述界面和块间的通信 ④ 实现模型主要包括实现块的代码OOSE并不要求用面向对象语言来完成实现⑤ 测试模型包括不同程度的保证这种保证从低层的单元测试延伸到高层的系统 测试3.3.三种方法的比较三种方法的比较 OMT方法覆盖了应用开发的全过程,是一种比较成熟的方法,用几种不同的观 念来适应不同的建模场合,它在许多重要观念上受到关系数据库设计的影响,适合于数据 密集型的信息系统的开发,是一种比较完善和有效的分析与设计方法 Booch方法并不是一个开发过程,只是在开发面向对象系统时应遵循的一些技术和 原则Booch方法是从外部开始,逐步求精每个类直到系统被实现因此,它是一种分治 法,支持循环开发,它的缺点在于不能有效地找出每个对象和类的操作 OOSE能够较好地描述系统的需求,是一种实用的面向对象的系统开发方法,适合 于商务处理方面的应用开发 4 4.结束语.结束语 要想实现软件生产自动化,实现开发方法的统一化、标准化是基本的一条。

      实现面 向对象开发方法的标准化以后,就可以避免不同方法的差异,提高软件重用效率此外, 统一面向对象开发方法,也就是综合每个面向对象方法的优点,最大限度地发挥各种方法 的长处 参考文献:参考文献: [1] 姜鸿飞.面向对象开发方法的最新进展[J].计算机科学,1998,(2):25 [2] 李光志.对象分析与设计方法比较[M].北京:北京电子工业出版社,1996 [3] 杨芙清,陈钟,章远阳.面向对象程序设计[M].北京:北京大学出版社1992. [4] 郑人杰,殷人昆,陶永雷. 实用软件工程【M】.北京:清华大学出版社 1997.120-162。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.