1.什么是剖面图
配置文件图是一种结构图,描述了通过定义自定义构造型、标记值和约束来为UML提供轻量级扩展机制。配置文件允许适应不同的UML元模型:
平台,例如Java平台企业版(Java EE)或Microsoft .NET Framework, 领域,例如业务流程建模、面向服务的架构、医疗应用等。
例如,可以在配置文件中对标准UML元模型元素的语义进行特殊化。在带有"Java模型"配置文件的模型中,类的泛化应该可以限制为单继承,而无需显式地为每个类实例分配"Java类"构造型。
配置文件机制不是一种一流的扩展机制。它不允许修改现有的元模型或创建一个新的元模型,就像MOF(元对象机制)那样。配置文件只允许使用特定于特定领域、平台或方法的结构对现有元模型进行自适应或定制。不能取消适用于元模型的任何约束,但可以添加特定于配置文件的新约束。
元模型定制在配置文件中定义,然后应用于一个包。构造型是特定的元类,标记值是标准的元属性,配置文件是特定种类的包。
配置文件可以动态地应用于模型或从模型中撤销。它们还可以动态组合,以便多个配置文件可以同时应用于同一模型。
2.startuml剖面图标含义
- MetaClass
元类是一个配置文件类和一个可打包元素,可以通过一个或多个构造型进行扩展。
- Stereotype
构造型是一个配置文件类,定义了如何扩展现有的元类作为配置文件的一部分。它使得可以使用平台或领域特定的术语或符号代替或补充扩展的元类所使用的术语或符号。
构造型本身不能单独使用,而必须始终与它所扩展的元类之一一起使用。构造型不能被另一个构造型扩展。
构造型使用与类相同的符号表示法,构造型名称前面或上方显示关键字«stereotype»。构造型名称不应与扩展模型元素的关键字名称冲突。
- Enumeration
枚举(Enumeration)是一种表示有限命名值集合的数据类型。它用于定义类的属性或操作参数的可能值列表。
枚举通常用于表示一组相关的常量或选项。它们提供了一种定义属性或参数可以取的预定义值集合的方式。枚举中的每个值通常被分配一个唯一的名称。
- Extension
扩展(Extension)是一种关联关系,用于指示通过构造型扩展了元类的属性,并且可以灵活地向类添加构造型,并在需要时进行删除。
扩展关联的一端是普通属性,另一端是扩展端(Extension End)。属性将扩展关联到元类,而扩展端将扩展关联到扩展元类的构造型。
扩展端是可导航的端口,由扩展所拥有。这允许将构造型实例附加到扩展分类器的实例上,而无需向分类器添加属性。需要注意的是,在UML 2.3之前,扩展端口是"从不可导航"的。
- Generalization
泛化(Generalization)是一种二元分类关系,是指一个更一般的分类器(超类)和一个更具体的分类器(子类)之间的有向关系。
特定分类器的每个实例也是一般分类器的间接实例,因此我们可以说"患者是人"、"储蓄账户是账户"等。因此,泛化关系也常被非正式地称为"是一个"(Is A)关系。
泛化关系是由特定分类器所拥有的。
3. 什么时候使用 profile diagram
UML Profile 是在 UML 中用于定义轻量级扩展的一种方式,它基于构造型和剖面(stereotypes and profiles)。通过 UML Profile,可以按照以下三种方式之一来定义:
-
创建一个新的元模型:这意味着您可以从头开始创建一个全新的元模型,以满足您的特定需求。
-
扩展和修改 UML 元模型:这意味着您可以在现有的 UML 元模型的基础上进行扩展和修改,以适应您的需求。这种方式通过引入新的构造型和剖面来扩展 UML 元模型,并对现有元模型进行修改。
-
使用语言内在机制扩展 UML 元模型:这意味着您可以利用 UML 元模型本身提供的语言特性和机制来扩展元模型,而无需进行显式的修改。这种方式通常涉及使用现有的 UML 构造型和剖面的组合,以实现特定领域的建模需求。
其中,Profile Diagram 是 UML 的一种图表类型,用于展示和描述 UML Profile 的结构和内容。Profile Diagram 可以用于显示扩展和修改的 UML 元模型中的构造型、剖面和关系,以及它们与基本 UML 元素之间的关联。
Profile Diagram 通常在以下情况下使用:
-
当您需要自定义和扩展 UML 元模型,以满足特定领域或应用的需求时,可以使用 Profile Diagram 来定义和表示这些扩展。
-
当您希望在 UML 模型中使用特定领域或应用的专业术语、概念和约束时,可以使用 Profile Diagram 来定义和应用这些特定的构造型和剖面。
-
当您需要在 UML 模型中引入额外的元数据或扩展属性时,可以使用 Profile Diagram 来定义和表示这些元数据和属性。
4.例子
1. uml构件剖面图
2.简单的安全认证授权
分享到: