abc*_*XYZ 4 inheritance uml modeling class stereotype
我正在为 JAVA 软件设计绘制一个类 UML。我真的不明白什么是刻板印象。正式定义:
构造型是一个配置文件类,它定义了如何将现有元类扩展为配置文件的一部分。它允许使用平台或领域特定的术语或符号来代替或补充用于扩展元类的术语或符号
这是否意味着构造型应该是父类的名称?但是为什么有些超类也有刻板印象呢?
例如,我有一个超类 Animal 和一个扩展 Animal 类的 dog 类,这两个类的刻板印象是什么?另外,为什么有些类没有刻板印象。
构造型通过允许以比 UML 本身预见的更详细的方式对某些元素进行分类来扩展UML。它有助于使模型更具表现力。
一个典型的例子是实体、控制和边界构造型。它们用于用例驱动的设计:在类图中,您可以立即找出哪些类代表用例逻辑(标记为«control»构造型),哪些类代表具有参与者的用户界面(«boundary»构造型),以及哪些类表示业务/域对象(标记为«entity»)。
构造型的另一个用途是指示类应该被实现的方式,例如标记为«table»对应于与内存对象相关的数据库表的类,或者在对象中指示哪些是«persistent». 一个更常见的用途是显示一些特定于语言的概念,并且在 UML 中没有等价物。我特别认为 C#«struct»具有值语义,其中 C# 类具有引用语义,或 C# «property»(这是属性级别的构造型)。
构造型在概要文件中定义。您可以在配置文件图中将构造型视为类。
但它不是一个普通的类,您可以将其与模型中的其他类相关联。所以这里没有继承在起作用。您永远不会将超类表示为构造型。
构造型是与“元模型”相关的类,即 UML 标准中定义的 UML 标准元素。所以它是一类类(或一类关联,或任何其他 UML 元素)。
详细说明您的示例,使用抽象超类Animal和具体子类Cat以及Dog:
«entity»配置文件,因为它们都属于域模型。Catand使用构造型«persistent» Dog(因为具体表继承模式没有实现抽象类的持久性)