首页 理论教育 UML建模:扩展和图形表达对象模型

UML建模:扩展和图形表达对象模型

时间:2023-07-25 理论教育 版权反馈
【摘要】:此外UML还支持对元模型的扩展定义。图9-8 一般化关系3.UML具体图形表达对象模型是由一个或若干个模板组成。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

UML建模:扩展和图形表达对象模型

1.UML定义

作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。

UML语义:描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了定义性说明,使开发者能在语义上取得一致,消除了人为表达方法差异所造成的影响。此外UML还支持对元模型的扩展定义。

UML表示法:定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法的系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

2.UML类图形表达

(1)关联和链的含义

关联是建立类之间关系的一种手段,而链是建立对象之间关系的一种手段,所以链表示对象间的物理与概念联结,关联表示类之间的一种关系;链是关联的实例,关联是链的抽象。图9-3表示了程序员、项目与语言间的关联。

图9-3 三元关联

(2)角色

角色说明类在关联中的作用,它位于关联的端点,图9-4表示了公司与员工之间的角色关联。

图9-4 关联的角色表示

(3)受限关联

受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端对象集中说明,见图9-5。限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。

图9-5 受限关联

(4)关联的多重性

关联的多重性是指类中有多少个对象与关联的类的一个对象相关。重数常描述为“一”或“多”。图9-6表示了各种关联的重数。没有符号表示的是一对一关联;小空心圆表示零或一;小实心圆表示多个,从零到多。

图9-6 关联的重数

(5)聚集关系

聚集是一种“整体—部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。(www.xing528.com)

聚集可以有不同层次,可以把不同分类聚集起来得到一棵简单的聚集树。聚集树是一种简单表示,与画很多线来将部分类联系起来相比较要简单得多,对象模型应该容易地反映各级层次,图9-7表示一个关于文件的聚集。

图9-7 聚集关系

(6)一般化关系

一般化关系是在保留对象差异的同时共享对象相似性的一种高度抽象方式。它是“一般—具体”的关系。一般类称为父类,具体类称为子类,各子类继承了父类的性质,而各子类的一些共同性质和操作又归纳到父类之中。因此,一般化关系和继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形,如图9-8所示。

图9-8 一般化关系

3.UML具体图形表达

对象模型是由一个或若干个模板组成。模板将模型分为若干个便于管理的子块,在整个对象模型和类及关联的构造块之间,模板提供了一种集成的中间单元,模板中的类名及关联名是唯一的。

(1)对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

(2)包图由包或类组成,表示包与包之间的关系。包图用于描述系统的分层结构。

(3)行为图描述的是系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态、其行为受外界环境的影响并且发生改变的类画状态图。

(4)状态图是一个标准的计算机概念,它是有限自动机的图形表示,这里把状态图作为建立动态模型的图形工具。状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。状态图是一种图,如图9-9所示,圆框内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。

图9-9 状态图

(5)活动图描述了满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并进行活动,图9-10标示了下象棋走子的一步活动。

图9-10 下象棋活动图

(6)交互图描述了对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。这两种图合称为交互图。

(7)实现图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。实现图有助于分析和理解部件之间的相互影响程度。

(8)配置图定义系统中软硬件的物理体系结构。它可以显示实际的计算机和设备(用节点表示)、它们之间的连接关系、连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点与可执行软件单元的对应关系。

从应用的角度看,当采用面向对象技术设计系统时,第一步是描述需求;第二步根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系,它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈