第14章UML扩展机制
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
本章学习要点:
• • • • • • • • • • 理解UML四层体系结构 掌握四层体系结构间的关系 了解元元模型层和元模型层 理解UML核心语义 掌握构造型的表示方法 熟悉UML标准构造型 掌握标记值表示方法 了解UML标准标记值 掌握约束的表示方法 理解UML标准约束
2
14.1 UML的体系结构 的体系结构
8
14.3.1 表示构造型
• 构造型可以基于所有种类的模型元素:类、节点、组合、 注释、关联、泛化和依赖等都可以用来作为构造型的基类 。表示构造型时,将构造型名称用一对源码括号括起来, 然后放置在构造型模型元素名字的邻近。构造型可以有自 己的图形表示符号,如数据库可以用圆柱型图标表示,演 示了构造型图标。
14.4.2 标记值应用元素
• 文献(Documentation)是给元素实例进行建档的标记 ,其值是字符串。通常这个标记值是单独显示的,并不 与元素放在一起。如在某些软件或工具中,其值是显示 在一个性质或文献窗口中。类Abstract附加在文献标记 值可以是对该类的描述: • This class can inherit only. • 对于类型、实例、操作和属性共有九种标记值可以使用 ,它们分别是: • 不变性(invariant) 应用于类型,它指定了类型实例在 整个生命周期中必须保持一种性质,这个性质通常对于 该类型实例必须有效的一种条件。 • 后置条件(postcondition) 应用于操作,它是操作结束 后必须为真一个条件,该值没有解释通常也不显示在图 中。
第14章 UML扩展机制 章 扩展机制
为了避免UML语言整体的复杂性,UML并没有 吸收所有面向对象的建模技术和机制,而支持自身 的 扩 展 和 调 整 。 这 就 是 扩 展 机 制 ( extensibility mechanism),通过该扩展机制用户可以定义使用 自己的元素。UML扩展机制由三部分组成:构造型 UML (stereotype)、标记值(tagged value)和约束( constraint)。在许多情况下UML用户利用该扩展机 制对UML进行扩展,使其能够应用到更广泛的领域 。
9
14.3.2 UML标准构造型 标准构造型
•
UML中已经预定义了多种标准构 造型,用户在这些标准构造型的基础上 定义自己的构造型。
10
14.3.3 数据建模
• 在进行数据建模时通常使用的建模工具是ERWin 、Power Designer和ERStudio等。而UML具有 强大的功能,同样可以使用UML进行数据建模。 此时就需要使用扩展机制,对于关系型数据库来 说,可以用类图描述数据模库模式,用类描述数 据库表,用操作描述触发器和存储过程。 • 进行数据库设计时有一些关键概念需要使用UML 来表示,它们是模式、主键、外键、域、关系、 约束、索引、触发器、存储过程和视图等。
14.4.4 UML标准标记值 标准标记值
•源自文库
前面曾经介绍UML中预定义的标准构造 型,同样UML中也预定义了标准标记值。在 自定义标记值时,可以通过标准标记值进行扩 展。
14.5 约束
• 约束是元素的一种语义条件或限制 ,它应用于元素。一条约束应用于同一 种类的元素,因此一条约束可能涉及许 多元素,但它们都必须是同一类元素。 约束的每个表达式有一种隐含的解释语 言,这种语言可以正式的数学符号,如 集合的符号;也可是一种基于计算机的 约束语言,如OCL;可以是一种编程语 言如C、C++等;还可以是伪代码或非正 式的自然语言。
14.5.1 表示约束
• 约束是一种限制,这种限制 限定了该模型元素的用法或语义。 与构造型相类似,约束出现在几乎 所有UML图中,它定义了保证系统 完整性的不变量。约束定义的条件 在上下文中必须保持为真。
14.5.2 UML标准约束 标准约束
•
UML中同样预定义了一些标准约 束,用户可以扩展UML中的标准约束 来创建自定义的约束。
14.4.3 自定义标记值
• 标记值是由“键”即标记和“值”即某种类型 组成,可以连接到任何元素上,用来为这些元 素加上一些新的语义。标记值是有关模型和模 型元素的附加信息,在最终的系统中是不可见 的。自定义标记值时可以按照以下步骤进行: • (1)确定要定义标记值的目的。 • (2)定义需要标记值的元素。 • (3)为标记命名。 • (4)定义值类型。 • (5)根据使用标记值对象(人或机器)的不同 ,适当定义标记值。 • (6)在文档中给出一个以上使用该标记值的例 子。
7
14.3 构造型
构造型是一种优秀的扩展机制,它把UM L中已经定义元素的语义专有化。并且能够有 效地防止UML变得过于复杂。构造型扩展机制 不是给模型元素增加新的属性或约束,而是在 原有模型元素的基础上增加新的语义或限制。 构造型在原来模型元素的基础上添加了新的内 容,但并没有更改模型元素的结构。
12
14.4 标记值
• 性质通常用于表示元素的值,增加模型元素的 有关信息。标记值明确地把性质定义成一个“ 名—值”对,这些“名—值”对存储模型元素 相关信息。机器通过这些信息以某种方式处理 模型。例如模型中性质可以代码生成的参数, 告诉代码生成器生成何种类型的代码。 • 使用标记值的目的是赋予某个模型元素新的特 性,而这个特性不包括在元模型预订义的特性 中。与构造型类似,标记值只能在已存在的模 型上扩展,而不能改变其定义结构。
5
14.1.3 元模型层
• UML的元模型层是元元模型层的实例,它由UML包的内 容来规定,又可以将UML中的包分为结构性建模包和行为性 建模包。包之间存在相互依赖,形成循环依赖性,该循环依 赖性是由于顶层包之间的依赖性概括了其子包之间所有的联 系。子包之间是没有循环依赖性的,显示了UML中包的结构 。
6
14.2 UML核心语义 核心语义
• 要实现用户自定义扩展,必须熟悉UML语义,至 少要熟悉UML核心语义。在定义自己的扩展之前 了解一下基本的UML核心语义是非常有帮助的。 这里将简单介绍UML核心语义,这将有助于对 UML底层模型的理解。 • 元素是UML大多数成分的抽象基类,它是一个基 础,在此之上可以附加一些其他机制。元素又可 以被专有化为:模型元素、视图元素、系统和模 型。模型元素是被建模系统的一个抽象,如类、 消息、节点和事件等。视图元素是一个映射,单 个模型元素或一组模型元素的文字或图形映射, 它可以是文字或图形符号。
14.5.3 自定义约束
• 约束是UML的扩展机制之一,与构造型 和标记值相同用户也可以自定义约束。 自定义的约束通过条件或语义限制来影 响元素的语义。所以当自定义约束时, 一定要仔细分析约束所带来的影响。自 定义约束时需要做好以下工作: • 描述需要约束的元素。 • 分析该元素的语义影响。 • 给出一个或多个使用该约束的例子。 • 说明如何实现约束。
4
14.1.2 元元模型层
• UML的元元模型层是UML的基础结构,基础结构由包 Infrastructure表示。元元模型描述基本的元元类、元元属性 和元元关系,它们都用于定义UML的元模型。基础结构库包 由核心包(Core)和外廓包(Profile)组成。核心包包括了 建立元模型时所用的核心概念;外廓包中定义了定制元模型 的机制。Infrastructure包的结构。
11
14.3.4 Web建模和业务建模扩展 建模和业务建模扩展
• Web应用程序建模时需要利用UML 的扩展机制对UML的建模元素进行扩展, 对Web建模主要是利用了UML的构造型这 个扩展机制,在类和关联上定义一些构造 型以解决Web应用系统建模的问题。其中 WAE(Web application extension for UML)扩展方法影响比较大。WAE定义了 一些常见的Web建模元素的版型,如果我 们在开发中遇到WAE没有提供的版型,完 全可以根据UML的扩展机制定义自己的构 造型。
13
14.4.1 表示标记值
• 标记值用字符串表示,字符串有标记名、等号 和值。标记值把性质明确地定义成一个“键— 值”对,其中键为标记。每个标记代表一种性 质,并且能够应用于一个以上的元素,性质都 用大括号括起来,一个标记对应一个值,如下 所示: • {tag=value} or {tag1=value1,tag2=value2} or {tag}
• 按照面向对象的问题解决方案以及建立 系统模型的要求,UML语言从四个抽象层 次对UML语言的概念、模型元素和结构进 行了全面定义,并规定了相应的表示法和 图形符号。UML的四层体系结构就从这四 个抽象层次演化而来。
3
14.1.1 四层体系结构
• UML具有一个四层的体系结构,每个层次是根据 该层中元素的一般性程序划分的。从一般到具体 ,四层分别为:元元模型层(Metametamodel) 、元模型层(Metamodel)、模型层(Model) 和用户模型层(UserModel)。UML四层体系结 构的示意图。