首页 理论教育 软件系统分析与体系结构设计-UML扩展机制

软件系统分析与体系结构设计-UML扩展机制

时间:2023-10-16 理论教育 版权反馈
【摘要】:当用户需要使用一些新的模型特征和表示方法,或者为模型增加一些非语义信息时,由于UML提供了内置的语言扩展机制,因此用户无需对基本建模语言重新定义。UML的扩展机制是UML适应时代发展,不断向前演化的重要保障。UML的扩展机制包括三种:构造型、标记值和约束。约束可以表达UML标记无法表现的限制和关系,规定某个条件或命题必须为真,否则该模型表示的系统无效。

软件系统分析与体系结构设计-UML扩展机制

当用户需要使用一些新的模型特征和表示方法,或者为模型增加一些非语义信息时,由于UML提供了内置的语言扩展机制,因此用户无需对基本建模语言重新定义。

UML的扩展机制是UML适应时代发展,不断向前演化的重要保障。UML的扩展机制包括三种:构造型(Stereotype)、标记值(Tagged)和约束(Constraint)。其中构造型用于对模型元素进行分类,在已有的基本模型元素上定义新的模型元素;标记值则是以约束直接对某个模型元素附加性质或语义。

1)构造型

构造型是在模型本身定义的一种模型元素,即扩展UML的语义,是在原有已定义的模型元素的基础上增加新的语义或限制,允许创造新的构造块。它是UML中一种用来对模型元素进行分类或标记的新模型元素,可以看作对已有元素进行的专有化,能有效防止UML变得过于复杂,同时也使得UML能够适应各种需求。

一个模型元素只能有一个构造型,构造型可以使用标记值来存储不被基本元素支持的附加特征。所有用某一特定构造型分类的模型元素都接受引入的该标记值。构造型可以基于所有种类的模型元素:类、结点、注释、关联、泛化和依赖等,其对象类共享基类的属性、操作和关联。

表示构造型时,将构造型放置在基本模型元素符号邻近并被双尖括号“≪≫”包围。构造型元素可以拥有自己的图形表示符号。构造型可以与类名写在一起,也可作为类内操作的分类标识。

案例学习

◎图3-16给出了一个有构造型的类。Catalog类是一个接口类,在操作描述中,这些操作由构造型被分为≪get operations≫和≪editing≫两大类,即提取运算和编辑修改两大类操作。

图3-16 有构造型的类

2)标记值

标记值用来描述模型元素的特性,是存储有关元素任意相关信息的字符串。标记值可以附加在任何独立的元素上,包括模型元素和视图元素,提供了向元素添加特性的规格说明的方法。

表示标记值时,标记名用字符串表示,一组标记和它所被赋予的值用等号相连,放在花括号“{}”中。一个模型元素可以有多个标记值来描述其特性。标记值一般写在类名后面。

案例学习(www.xing528.com)

◎图3-17给出一个即有构造型又有标记值的类Person。类名前的构造型≪Actor≫表示该类为行为者,类名后花括号中的标记值指出了该类的作者和创建日期。

图3-17 有构造型和标记值的类

3)约束

约束是用文字表达式扩展模型元素的语义,它允许增加新的规则或修改现有的规则。约束可以表达UML标记无法表现的限制和关系,规定某个条件或命题必须为真,否则该模型表示的系统无效。

表示约束时,将一个文本字符串放在花括号“{}”中。对于单个模型元素,可以将约束写在其附近;两个模型元素之间的约束可以写在两个元素之间的虚线箭头上。

案例学习

◎图3-18和3-19给出了约束的表示方法。本例中有两个约束,图3-18中的约束由虚线箭头与字符串{subset}(子集)表示,意思是“主席”必须是“成员”的子集;图3-19中的约束由虚线与注释框表示,在注释框中标识了条件{Person.employer=Person.boss.employer}。

图3-18 约束的表示方法示例(1)

图3-19 约束的表示方法示例(2)

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

我要反馈