文档详情

对象模型技术-软件工程

飞***
实名认证
店铺
PPT
1.01MB
约112页
文档ID:4877789
对象模型技术-软件工程_第1页
1/112

9.5.2 对象模型技术 (OMT——object modeling technique) OMT是美国通用电气公司在总结其内部多年来采用OO技术开发实践的基础上提出的一套系统开发方法学 OMT最早是由Loomis,Shan和Rumbaugh在1987年提出的,曾扩展应用于关系DB设计J.Rumbaugh在1991年正式把OMT应用于OO的分析和设计它以面向对象思想为基础,通过构造一组相关模型(对象模型、动态模型和功能模型)来获得关于问题的全面认识(即问题领域模型),是在实体关系模型上扩展了类、继承和行为而得到的 对象模型(object model)代表了系统的静态的、结构方面的特性 动态模型(dynamic model)代表了系统对象之间的时间的、行为的、控制方面的特性 功能模型(functional model)主要描述值与值之间的函数关系1.对象模型 对象模型描述了系统中对象的结构,即它们的标识、它们与其它对象之间的关系、它们的属性以及它们的操作 对象模型为动态模型和功能模型提供了重要的框架,因为只有当事物变化时,动态模型和功能模型才有存在的意义。

对象模型用包含对象及对象的关系图表示OMT建立一个对象模型的步骤大致如下: 确定对象类 定义一个DD,包括类、属性和关系的描述 增加类之间的关系 增加对象和联系的属性 用继承组织和简化对象类 用场景测试访问路径 如有需要重复以上各步 基于相近的关系和相关的功能将成组的对象形成模块,2.动态模型 动态模型由多个状态图组成,每个用来描述一个类的重要动态行为,并表明整个系统的活动方式,不同类的状态图通过共享的事件组成一个动态模型 状态图的结点是状态,标有事件的线是转移 转移的箭头指向接收事件后的目标状态建立一个动态模型的步骤 准备典型的交互序列的场景 确定对象之间的事件和为每个场景准备一个事件跟踪图 为每个系统准备一个事件流图 为每个有重要的动态行为的类开发一个状态图 检验状态图之间的共享的事件的一致性和完整性3.功能模型 对象模型指出事件要发生在什么方面,动态模型指出什么时候发生,功能模型则指出要发生什么 功能模型表示怎样从输入值得到输出值包括函数、映射、约束和功能性依赖。

功能模型由多个DFD组成,它们表示从外部输入,通过操作和内部数据存储,到外部输出这样一个流DFD不表示控制或对象结构信息,这些分别属于动态模型和对象模型功能是由动态模型的动作引起,并在对象模型里表示对对象的操作 一个DFD包括转换数据的过程,移动数据的 DF,生产和消费数据的角色对象,以及被动地存储数据的数据存储对象建立一个功能模型的步骤 确定输入和输出值 需要时用DFD表示功能的依赖性 描述每个功能干什么 确定限制,指定优化准则,三个模型之间的关系 对象模型、动态模型和功能模型都包含了同样的概念、数据、序列和操作,但它们描述了系统的不同方面,同时也互相引用 对象模型描述了动态模型、 功能模型所操作DS对象模型中的操作对应于动态模型中的事件和功能模型中的函数动态模型描述了对象的控制结构,告诉我们哪些决策是依赖于对象值,哪些引起对象的变化,并激活了功能功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,而功能作用在对象模型说明的数据上,功能模型还表示对对象值的约束9.5.2.1 OMT 的面向对象分析过程 (1)软件设计者与用户交流后得出问题需求的陈述。

(2)建造对象模型:构造对象模型的主要工作有识别与问题有关的性类的对象,定义属,设计对象间的关联,以及分析类并设计类的层次结构 (3)建立动态模型:动态模型是依据对象之间交互及对象状态的改变建立的,首先是编写脚本描述具体交互过程,然后定义事件并设计事件发生流程,标识对象在处理事件前后状态的改变,以及对人机交互界面的基本设想4)构造系统的功能模型:功能模型在动态模型的基础上决定具体所做的工作,包括标识输人数据和输出数据,使用数据流图表示流变换,设计每个功能的实现情况,并指定约束和优化准则9.5.2.2 OMT 的面向对象设计过程 OMT的面向对象设计分为系统设计和对象设计两部分 (1)进行系统设计 为简化设计,首先将分析模型划分为若干子系统,标识由问题所规定的并发性,设计适当的控制机制组织子系统协调工作;然后选择数据管理的基本策略,考虑对边界条件的处理;最后是复审具体的设计内容 (2)进行对象设计 以分析模型为基础,首先定义类,设计类属性及操作,为每个操作选择合适的数据结构并定,义算法,调整类结构以强化继承性;然后创建对象,设计消息以补充对象关系(关联);通过关联发现新的对象或交互条件时,修改类组织以优化对数据的访问,改善设计结构。

9.5.3 Booch 的方法 Booch的面向对象分析开发过程概述: Booch认为软件开发是一个螺旋上升的过程,他强调过程的多次重复ch开发方法的一般过程如下 (1)标识对象和类:从用户需求和应用问题中识别对象,找出对象之间的关系,抽象形成类 (2)标识类和对象的语义:考虑已识别对象和类在完成功能上应承担的责任和所起作用,定义操作以满足相应的责任,定义属性描述对象并支持操作实现 (3)标识类和对象间的关系:包括类与类之间的关系,对象之间存在的相互依赖、相互作用的关系,根据所需实现功能进行确认4)建立模型:Booch方法对分析的详细表述是通过建立模型实现的模型分为逻辑设计和物理设计两部分,逻辑设计侧重对类和对象的定义,使用的是类图和对象图,其中,类图用于表示类及类之间关系的图形,对象图是表示对象及对象之间关系的图形;物理设计侧重体现软件系统的结构,使用的是模块图和进程图,其中,模块图需要说明模块中包含的类及对象信息,而进程图则说明如何处理并发进程的执行另外B Booch 方法还区分静态模型和动态模型,两个模型的侧重分别是系统的结构和系统的动态行为,动态模型是使用状态迁移图和时序图表示的。

从我们对前面几种比较流行的面向对象方法的介绍中发现,这些方法在解决问题时都是围绕对象进行的,但是每种方法的表示法不同,分析和设计的过程以及所使用的术语也不尽相同,这使得开发人员在选择何种面向对象方法时产生矛盾,且很难找到较好的解决办法因此,建立UML就为解决这一问题提供了较好的方法9.6 统一建模语言简介 (UML—— Unified Modeling Language )9.6.1 统一建模语言概述 统一建模语言(Unfied Modeling Language,UML)是由面向对象方法学的三位著名专家Grady Booch,James Rumbaugh和Ivar Jacobson合作研究,吸收了Booch和OMT方法及Jacobson的用例思想形成的 UML可以贯穿软件开发周期中的每一个阶段被国际对象管理组织(OMG)采纳作为业界的标准   UML最适于数据建模,业务建模,对象建模,组件建模UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现当模型建立之后,模型可以被 UML工具转化成指定的程序语言代码。

UML 是一种定义良好,易于表达,功能强大且普遍适用的标准建模语言利于它建模时,可遵循任何类型的建模过程,具有很宽的应用领域,使用 UML可以描述非软件领域的系统,但是最常用的是建立软件系统的模型从软件系统的需求规格描述,到建立静态结构和动态行为的模型,都可以使用UML进行描述,包括系统完成后测试阶段的工作,也需要UML的模型提供帮助采用UML进行建模,实际上就是构造视图的过程,我们对系统一个侧面的描述就构成系统的一个视图(View),每个视图体现了整个系统的一个组成部分,这个视图可以描述系统中一个状态,一个交互过程,或是一项功能等,所有的视图构成了对软件系统完整、详细的描述视图是由若干幅图来描述的,一幅图还可以作为多个视图的一部分UML中提供 9种图,分别为用例图、类图、对象图、状态图、时序图、协作图、活动图、构件图和部署图,每一幅图包含了系统某一特殊方面的信息,它表达了系统的一个特定部分或方面一幅图由若干个模型元素组成,模型元素是用来表示图中的概念,比如类、对,对象、用例等都是模型元素,还有用于表示模型元素之间相互连接的关系也是模型元素,如关联、泛化、依赖、聚集等 模型元素是UML中定义的可以在图中使用的符号表示,为开发者使用这些图形符号和文本语法为系统建模提供了标准。

我们到具体建模时再为大家详细介绍常用的模型元素IBM的Rational Rose和MS的Visio都是UML工具   同时还有一些免费的UML工具: http://java- 发展历史 20世纪60年代后期出现了面向对象的编程语言,在simula—67语言中引入了类和对象的概念,70年代初xerox公司推出了smalhalk语言,奠定了面向对象程序设计的基础,1980年出现的smalltalk—80标志着面向对象程序设计进入了实用阶段自80年代中期起,人们注重于面向对象分析和设计的研究,逐步形成了面向对象方法学1994年Booch和Rumbaugh在Rational Software Corporation开始了UML的工作,其目标是创建一个“统一的方法” 1995年OOSE的创始人Jacobson加盟到这项工作中,工作重点转移到创建一种统一的建模语言UML 1996年6月、10月、1997年1月、11月分别推出了UML0.9、 UML0.91、 UML1.0、 UML1.1 1997年11月,OMG(Object Management Group)批准把UML1.1作为基于面向对象技术的标准建模语言之后,UML进行了持续的修订和改进,先后产生了UML1.2、1.3、1.4、1.5版本 2004年推出了UML2.0,UML2.0对UML1.x作了重大的修改。

9.6.2 UML 视图 作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分    (1) UML语义 描述基于UML的精确元模型定义元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响此外UML还支持对元模型的扩展定义   (2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例UML主要从下列几种视图来观察和描述系统 (1)静态视图    静态视图(Static diagram)也称静态模型,是UML的基础视图静态视图对应用领域的概念建模,它将行为实体描述为离散的模型元素,只体现实体间的静态关系,但不涉及与实践相关的动态的行为细节,静态视图有类图描述,它的主要工作组成部分是类和类之间的关系(关联、依赖等),围绕着属于或附加于类的元素,组织并体现它们之间的关系对象建模的过程主要是建立静态模型。

下载提示
相似文档
正为您匹配相似的精品文档