- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三种面向对象方法比较
面向对象方法作业
学 院:通 信 学 院
姓 名:向 运 琼学 号:S060102140通信学院2班 姓名:向运琼 学号:S060102140
八十年代末以来,随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法。其中,Booch、 OMT 和OOSE等方法在面向对象软件开发界得到了广泛的认可。
面向对象方法都支持三种基本的活动:识别对象和类,描述对象和类之间的关系,以及通过描述每个类的功能定义对象的行为。
一.Booch方法
Booch是面向对象方法最早的倡导者之一,他提出了面向对象软件工程的概念。1991年,他将以前面向Ada的工作扩展到整个面向对象设计领域。Booch方法的开发模型包括静态模型和动态模型,静态模型分为逻辑模型和物理模型,描述了系统的构成和结构,动态模型分为状态图和时序图。该方法对每一步都作了详细的描述,描述手段丰富、灵活。不仅建立了开发方法,还提出了设计人员的技术要求,不同开发阶段的资源人力配制。
Booch方法的过程包括以下步骤:
(1)在给定的抽象层次上识别类和对象;
(2)识别这些对象和类的语义;
(3)识别这些类和对象之间的关系;
(4)实现类和对象;
这四种活动不仅仅是一个简单的步骤序列,而是对系统的逻辑和物理视图不断细化的迭代和渐增的开发过程。
类和对象的识别包括找出问题空间中关键的抽象和产生动态行为的重要机制。开发人员可以通过研究问题域的术语发现关键的抽象。语义的识别主要是建立前一阶段识别出的类和对象的含义。开发人员确定类的行为(即方法)和类及对象之间的互相作用(即行为的规范描述)。该阶段利用状态转移图描述对象的状态的模型,利用时态图(系统中的时态约束)和对象图(对象之间的互相作用)描述行为模型。
在关系识别阶段描述静态和动态关系模型。这些关系包括使用、实例化、继承、关联和聚集等。类和对象之间的可见性也在此时确定。在类和对象的实现阶段要考虑如何用选定的编程语言实现,如何将类和对象组织成模块。
在面向对象的设计方法中,Booch强调基于类和对象的系统逻辑视图与基于模块和进程的系统物理视图之间的区别。他还区别了系统的静态和动态模型。然而,他的方法偏向于系统的静态描述,对动态描述支持较少。
Booch方法的力量在于其丰富的符号体系,包括:
. 类图(类结构-静态视图)
. 对象图(对象结构-静态视图)
. 状态转移图(类结构-动态视图)
. 时态图(对象结构-动态视图)
. 模块图(模块体系结构)
. 进程图(进程体系结构)
用于类和对象建模的符号体系使用注释和不同的图符(如不同的箭头)表达详细的信息。Booch建议在设计的初期可以用符号体系的一个子集,随后不断添加细节。对每一个符号体系还有一个文本的形式,由每一个主要结构的描述模板组成。符号体系由大量的图符定义,但是,其语法和语义并没有严格地定义。
二.OMT方法
Rumbaugh等人提出了面向对象的建模技术—OMT(Object Modelling Technique)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。
OMT 方法讨论的核心就是建立三类模型:对象模型、动态模型、功能模型。
对象模型描述了由对象和相应实体构成的系统静态结构,描述了系统中对象的标识,属性、操作及对象的相互关系,该模型使用了对象图来描述,它是分析阶段3个模型的核心,提供了其它两类模型都适用的框架。主要的概念包括:a.类;b.属性;c.操作;d.继承;e.关联(即关系);f.聚集。
动态模型根据事件和状态描述了系统的控制结构,系统中与时间和操作顺序有关的内容。如:标记变化的事件,事件的顺序,定义事件背景的状态等。其主要概念有:a.状态;b.子状态和超状态;c.事件;d.行为;e.活动。
功能模型着重描述系统中与值的转换有关的问题,如函数、映射、约束和功能作用等。其主要概念有:a.加工;b.数据存储;c.数据流;d.控制流;e.角色。
三类模型描述的角度不同,却又相互联系。
OMT方法将开发过程分为四个阶段:
1 分析
基于问题和用户需求的描述,建立现实世界的模型。分析阶段的产物有:
. 问题描述
. 对象模型=对象图+数据词典
. 动态模型=状态图+全局事件流图
. 功能模型=数据流图+约束
2 系统设计
结合问题域的知识和目标系统的体系结构(求解域),将目标系统分解为子系统。
3 对象设计
基于分析模型和求解域中的体系结构等添加的实现细节,完成系统设计。主要产物包括:
. 细化的对象模型
. 细化的动态模型
. 细化的功能模型
4 实现
将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和可扩展性。
Jacobson于1994年提出了
文档评论(0)