三种面向对象方法

上传人:桔**** 文档编号:487100228 上传时间:2024-01-15 格式:DOCX 页数:5 大小:16.74KB
返回 下载 相关 举报
三种面向对象方法_第1页
第1页 / 共5页
三种面向对象方法_第2页
第2页 / 共5页
三种面向对象方法_第3页
第3页 / 共5页
三种面向对象方法_第4页
第4页 / 共5页
三种面向对象方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《三种面向对象方法》由会员分享,可在线阅读,更多相关《三种面向对象方法(5页珍藏版)》请在金锄头文库上搜索。

1、三个著名的面向对象开发方法摘要主要介绍了3种典型的面向对象开发方法,并对它们进行了比较。面向对象的方法 是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使 人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。关键字: 面向对象;开发方法;OMT;BOOCH;JACOBSON;1. 引言面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和 所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统 的方法。也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。其基本 思想是:对问题空间进行自然分

2、割,以更接近人类思维的方式建立问题域模型,以便对客观 实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模 块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。面向对象程序设计方法起源于六十年代末期的simnia语言.Small talk语言的出现,进 一步发展和完善了面向对象的程序设计语言,从此面向对象与开发方法开始结合,出现 了面向对象的开发方法. 自80年代后期以来,相继出现了多种面向对象开发方法,现将其 中几种典型的方法作一比较分析.2. 三种典型的面向对象开发方法2.1 OMT/RumbaughOMT(Object Model ing

3、 Tech nique)方法提出于1987年,曾扩展应用于关系数据库设 计.1991年Jim Rumbaugh正式把OMT应用于面向对象的分析和设计.这种方法是在 实体关系模型上扩展了类、继承和行为而得到的.OMT覆盖了分析、设计和实现3个阶段, 包括一组相互关联的类(class )、对象(object)、一般化(generalization)、继承(inheritanee)、 链(link)、链属性(link attribute)、聚合(aggregation)、操作(operation)、事件(event)、场景 (scene)、属性(attribute)、子系统(subsystem)、模

4、块(module)等概念.OMT方法把分析时收集的信息构造在3种模型中,这些模型贯穿于每个步骤,在每个步 骤中被不断地精化和扩充.对象模型用ER图描述问题域中的列象及其相互关系,用类和关 系来刻画系统的静态结构,包括系统中的对象、对象之间的关系、类的属性和操作等特征.动 态模型用事件和对象状态来刻画系统的动态特性,包括系统对象的事件序列、状态和操作.功 能模型按照对象的操作来描述如何从输入给出输出的结果,描述动态模型的动作所定义对象 操作的意义。OMT方法包含分析、系统设计、对象设计和实现4个步骤,它定义了 3种模型,这些模 型贯穿于每个步骤,在每个步骤中被不断地精化和扩充。这3种模型是:对象

5、模型,用类和 关系来刻画系统的静态结构;动态膜型,用事件和对象状态来刻画系统的动态特性;功能模 型,按照对象的操作来描述如何从输人给出输出结果。分析的目的是建立可理解的现实世界 模型。系统设计确定高层次的开发策略。对象设计的目的是确定对象的细节,包括定义对象 的界面、算法和操作。实现对象则在良好的面向对象编程风格的编码原则指导下进行。开发的四个阶段如下:(1) 分析。基于问题和用户需求的描述,建立现实世界的模型。分析阶段的产物有: 问题描述 对象模型=对象图+数据词典 动态模型=状态图+全局事件流图 功能模型=数据流图+约束(2) 系统设计。结合问题域的知识和目标系统的系统结构(求解域),将目

6、标系统 分解为子系统。(3) 对象设计。基于分析模型和求解域中的体系结构等添加的实现细节,完成系统 设计。主要产物包括: 细化的对象模型 细化的动态模型 细化的功能模型(4) 实现。将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和可 扩展性。OMT方法的一般过程包括分析建立可理解的现实世界模型、系统设计(确定高层次的 开发策略和划分子系统)、对象设计(确定对象细节并引入新的中间结果)和实现对象4个步 骤.OMT强调对“现实”的模型化.这里的“现实”是指所面对的实际应用问题,即分析模型 是对实际问题的抽象分析模型中对象之间的关系反映了实际问题中对象之间的关系2.2 OODBoochO

7、OD(Objec t Orien ted Design)方法是 Grady Booch 从 1983年开始研究,1991 年后走向 成熟的一种方法。00D主要包括下述概念:类(class)、对象(object)、使用(uses)、实例化(i nsta ntiates)、 继承(i nherits)、元类(meta class)、类范畴(class category)、消息(message)、域(field)、操 作(operation)、机制(mechanism)、模块(module)、子系统(subsystem)、过程(process)等。 其中,使用及实例化是类间的静态关系,而动态对象之间

8、仅有消息传递的连接。元类是类的 类。类范畴是一组类,它们在一定抽象意义上是类同的。物理的一组类用模块来表达。机制 是完成一个需求任务的一组类构成的结构。Booch方法在面向对象的设计中主要强调多次重复和开发者的创造性。方法本身是一 组启发性的过程式建议。00D的一般过程:在一定抽象层次上标识类与对象;标识类与对 象的语义;标识类与对象之间的关系(如继承、实例化、使用等);实现类与对象。Booch方法的过程包括以下步骤:(1) 在给定的抽象层次上识别类和对象。(2) 识别这些对象和类的语义。(3) 识别这些类和对象之间的关系。(4) 实现类和对象。 这四种活动不仅仅是一个简单的步骤序列,而是对系

9、统的逻辑和物理视图不断细化的迭代和渐增的开发过程。类和对象的识别包括找出问题空间中关键的抽象和产生动态行为的重要机制。开发人 员可以通过研究问题域的术语发现关键的抽象。语义的识别主要是建立前一阶段识别出的类 和对象的含义。开发人员确定类的行为和类及对象之间的互相作用。该阶段利用状态转移图 描述对象的状态的模型,利用时态图和对象图描述行为模型。在关系识别阶段描述静态和动态关系模型。这些关系包括使用,实例化,继承,关联 和聚集等。类和对象之间的可见性也在此时确定。在类和对象的实现阶段要考虑如何用选定的编程语言实现,如何将类和对象组织成模 块。在面向对象的设计方法中,Booch强调基于类和对象的系统

10、逻辑视图与基于模块和进程 的系统物理视图之间的区别。还区别了系统的静态和动态模型。然而,他的方法偏向于系统 的静态描述,对动态描述支持较少。Booch方法的力量在于其丰富的符号体系,包括: 类图(类结构:静态视图) 对象图(对象结构:静态视图) 状态转移图(类结构:动态视图) 时态图(对象结构:动态视图) 模块图(模块体系结构) 进程图(进程体系结构)用于类和对象建模的符号体系使用注释和不同的图符表达详细的信息。Booch建议在 设计的初期可以用符号体系的一个子集,随后不断添加细节。对每一个符号体系还有 一个文本的形式,由每一个主要结构的描述模版组成。符号体系由大量的图符定义, 但是,其语法和

11、语义并没有被严格地定义。2.3OOSE/JacobsonOOSE (ObjectOrie nted Software En gi neer ing)是 Ivar Jacobso n 在 1992年提出的一 种使用事例驱动的面向对象开发方法。OOSE主要包括下列概念:类(class)、对象(object)、继承(inherits)、相识(acqua intan ce)、通信(comm uni cati on)、激励(stimuli)、操作(operati on)、属性(attribute)、 参与者(actor)、使用事例(use case)、子系统(subsystem)、服务包(service

12、 package)、块 (block)、对象模块(object module)。相识表示静态的关联关系,包括聚合关系。激励是通信 传送的消息。参与者是与系统交互的事物,它表示所有与系统有信息交换的系统之外的事务, 因此不关心它的细节。参与者与用户不同,参与者是用户所充当的角色。参与者的一个实例 对系统做一组不同的操作。当用户使用系统时,会执行一个行为相关的事物系列,这个系列 是在与系统的会话中完成的,这个特殊的系列称为使用事例,每个使用事例都是使用系统的 一条途径。使用事例的一个执行过程可以看作是使用事例的实例。当用户发出一个激励之后, 使用事例的实例开始执行,并按照使用事例开始事物。事务包括

13、许多动作,事务在收到用户 结束激励后被终止。在这个意义上,使用事例可以被看作是对象类,而使用事例的实例可以 被看作是对象。在该方法中的一个关键概念就是用例。用例是指行为相关的事务序列,该序列将由用 户在与系统对话中执行。因此,每一个用例就是一个使用系统的方式,当用户给定一个输入, 就执行一个用例的实例并引发执行属于该用例的一个事务。OOSE开发过程中有以下5种模型,这些模型是自然过渡和紧密耦合的: 需求模型包括由领域对象模型和界面描述支持的参与者和使用事例。对象模型是 系统的概念化的、容易理解的描述。界面描述刻画了系统界面的细节。需求模型从用户的观 点上完整地刻画了系统的功能需求,因此按这个模

14、型与最终用户交流比较容易。 分析模型是在需求模型的基础上建立的。主要目的是要建立在系统生命期中可维 护、有逻辑性、健壮的结构。模型中有3种对象。界面对象刻画系统界面。实体对象刻画系 统要长期管理的信息和信息上的行为。实体对象生存在一个特别的使用事例中。第三种是按 特定的使用事例作面向事务的建模的对象。这3种对象使得需求的改变总是局限于其中一 种。 设计模型进一步精化分析模型并考虑了当前的实现环境。块描述了实现的意图, 分析模型通常要根据实现作相应的变化,但分析模型中基本结构要尽可能保留。在设计模型 中,块进一步用使用事例模型来阐述界面和块间的通信。 实现模型主要包括实现块的代码。OOSE并不要

15、求用面向对象语言来完成实现。 测试模型包括不同程度的保证。这种保证从低层的单元测试延伸到高层的系统测 试。3.三种方法的比较OMT方法覆盖了应用开发的全过程,是一种比较成熟的方法,用几种不同的观 念来适应不同的建模场合,它在许多重要观念上受到关系数据库设计的影响,适合于数据密 集型的信息系统的开发,是一种比较完善和有效的分析与设计方法。Booch方法并不是一个开发过程,只是在开发面向对象系统时应遵循的一些技术和原 则。Booch方法是从外部开始,逐步求精每个类直到系统被实现。因此,它是一种分治法, 支持循环开发,它的缺点在于不能有效地找出每个对象和类的操作。OOSE能够较好地描述系统的需求,是

16、一种实用的面向对象的系统开发方法,适合于 商务处理方面的应用开发。4结束语要想实现软件生产自动化,实现开发方法的统一化、标准化是基本的一条。实现面向 对象开发方法的标准化以后,就可以避免不同方法的差异,提高软件重用效率。此外,统一 面向对象开发方法,也就是综合每个面向对象方法的优点,最大限度地发挥各种方法的长处。 参考文献:1 姜鸿飞.面向对象开发方法的最新进展J.计算机科学,1998, (2): 252 李光志.对象分析与设计方法比较M.北京:北京电子工业出版社,19963 杨芙清,陈钟,章远阳.面向对象程序设计M.北京:北京大学出版社。1992.4 郑人杰,殷人昆,陶永雷.实用软件工程【M】.北京:清华大学出版社。1997. 120-162

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号