UML及软件建模 主讲人:李唯 Clx7000@163.com
Page 1 UML及软件建模 主讲人 :李 唯 clx7000@163.com
第十三章扩展组件 什么是扩展组件 扩展组件包含哪些内容 如何应用扩展组件
Page 2 第十三章 扩展组件 什么是扩展组件 扩展组件包含哪些内容 如何应用扩展组件
概述 UML提供了几种扩展机制,允许建模者在不用改变基 本建模语言的情况下做一些通用的扩展。这些扩展机制 已经被设计好,以便于在不需理解全部语义的情况下就 可以存储和使用。由于这个原因,扩展可以作为字符串 存储和使用。对不支持扩展机制的工具来说,扩展只是 个字符串,它可以作为模型的一部分被导入、存储, 还可以被传递到其他工具。我们期望后端工具设计成能 够处理各种扩展,这些工具会为它们需要理解的扩展定 义特定的语法和语义
Page 3 1、概述 UML提供了几种扩展机制,允许建模者在不用改变基 本建模语言的情况下做一些通用的扩展。这些扩展机制 已经被设计好,以便于在不需理解全部语义的情况下就 可以存储和使用。由于这个原因,扩展可以作为字符串 存储和使用。对不支持扩展机制的工具来说,扩展只是 一个字符串,它可以作为模型的一部分被导入、存储, 还可以被传递到其他工具。我们期望后端工具设计成能 够处理各种扩展,这些工具会为它们需要理解的扩展定 义特定的语法和语义
这种扩展的方法很可能不能满足出现的多种要求,但是它 以一种易于实现的简单方式容纳建模者对UML裁制的大部分 要求 定要记住扩展是违反UML的标准形式的,并且使用它们 会导致相互影响。在使用扩展机制之前,建模者应该仔细权衡 它的好处和代价,特别是当现有机制能够合理工作时。典型地 ,扩展用于特定的应用域或编程环境,但是它们导致了UML 方言的出现,包括所有方言的优点和缺点。 扩展机制包括约束、标记值和构造型
Page 4 这种扩展的方法很可能不能满足出现的多种要求,但是它 以一种易于实现的简单方式容纳建模者对UML裁制的大部分 要求。 一定要记住扩展是违反UML的标准形式的,并且使用它们 会导致相互影响。在使用扩展机制之前,建模者应该仔细权衡 它的好处和代价,特别是当现有机制能够合理工作时。典型地 ,扩展用于特定的应用域或编程环境,但是它们导致了UML 方言的出现,包括所有方言的优点和缺点。 扩展机制包括约束、标记值和构造型
2、约束 约束是用文字表达式表示的语义限制。每个表达式有一种 隐含的解释语言,这种语言可以是正式的数学符号,如set- heoretic表示符号;或是一种基于计算机的约束语言,如OCL ;或是一种编程语言,如C++;或是伪代码或非正式的自然语 言。当然,如果这种语言是非正式的,那么它的解释也是非正 式的,并且要由人来解释。即使约束由一种正式语言来表示, 也不意味着它自动为有效约束
Page 5 约束是用文字表达式表示的语义限制。每个表达式有一种 隐含的解释语言,这种语言可以是正式的数学符号,如settheoretic表示符号;或是一种基于计算机的约束语言,如OCL ;或是一种编程语言,如C++;或是伪代码或非正式的自然语 言。当然,如果这种语言是非正式的,那么它的解释也是非正 式的,并且要由人来解释。即使约束由一种正式语言来表示, 也不意味着它自动为有效约束。 2、约束