Uml 如何指定类的唯一标识符
我必须指出,对于Employee类,每个员工都可以通过其个人编号清楚地识别。我不知道我的想法是否太复杂,因为我没有真正的想法 属性: 最终内部人员编号Uml 如何指定类的唯一标识符,uml,class-diagram,ocl,Uml,Class Diagram,Ocl,我必须指出,对于Employee类,每个员工都可以通过其个人编号清楚地识别。我不知道我的想法是否太复杂,因为我没有真正的想法 属性: 最终内部人员编号 …您没有提供您的元模型,并且清楚地告诉每位员工,他们的人员编号是单值的,因此必然是唯一的。大概是在某个范围内,例如公司,人员编号应该是唯一的,所以答案通常是这样的 context Company inv UniquePersonelNumber: employees->isUnique(personelNumber) 在以下问题中可以找到
…您没有提供您的元模型,并且清楚地告诉每位员工,他们的人员编号是单值的,因此必然是唯一的。大概是在某个范围内,例如公司,人员编号应该是唯一的,所以答案通常是这样的
context Company
inv UniquePersonelNumber: employees->isUnique(personelNumber)
在以下问题中可以找到两种可选的OCL表达式: 在您的情况下,它将是:
context Employee
inv personalNumberUnique : Employee.allInstances() -> isUnique(personalNumber)
您甚至不需要OCL约束来用UML表达它。 属性元类上有一个属性
isID
,可确保:
来自UML 2.5规范§9.5.3(第111页)
可通过财产isID将财产标记为(部分)
作为其成员的分类器的标识符(如果有)。这个
对此的解释是开放的,但可以映射到
实现,例如关系数据库表的主键或
XML中的ID属性。如果多个属性标记为isID
(可能是泛化量词)然后是
逻辑上提供
任何情况下的唯一性。因此,没有必要采取任何措施
对订单进行了说明,并可能对某些属性进行了说明
值必须为空。如果属性是多值的,则所有值都是
包括在内
此属性的符号与其他约束的符号类似
使用
属性名称和类型后的{id}
谢谢,你说得对。我将删除我答案中的UML部分。正确,但UML没有为此属性指定符号,因此您如何在类图中可视化此属性的值?@www.admiralit.nl事实上,规范也指定了符号。我已经编辑了我的答案,将其包括在内。谢谢。UML规范的哪一节描述了这种符号?@www.admiralit.nl§9.5.4,在同一页上。参见
您好,施瓦兹先生,请将其中一个答案标记为已接受,或者解释您仍然不清楚的地方。