Parameters 如何在UML类图中指定参数的条件?

Parameters 如何在UML类图中指定参数的条件?,parameters,uml,class-diagram,preconditions,Parameters,Uml,Class Diagram,Preconditions,如何在UML类图中为方法参数指定条件 例如,以下方法: +grade(n : Integer) n的值应介于1和6之间。有可能这样做吗? 还是有一种不同的方式,比如: "+grade(n oneOf [1,2,3,4,5,6]" 谢谢您的帮助。UML语法不允许您使用第二种方法。如果你在某个领域,你有控制权,你可以记录下它的使用情况,这样就可以了。但是,更好的方法是对该操作附加约束。您可以在附加为注释的花括号内使用自由文本。或者,如果你更大胆,你可以写一个合适的OCL。从我

如何在UML类图中为方法参数指定条件

例如,以下方法:

+grade(n : Integer)
n的值应介于1和6之间。有可能这样做吗? 还是有一种不同的方式,比如:

"+grade(n oneOf [1,2,3,4,5,6]"

谢谢您的帮助。

UML语法不允许您使用第二种方法。如果你在某个领域,你有控制权,你可以记录下它的使用情况,这样就可以了。但是,更好的方法是对该操作附加约束。您可以在附加为注释的花括号内使用自由文本。或者,如果你更大胆,你可以写一个合适的OCL。从我的观点来看,这只在学术界是可取的。

要详细说明我的答案:

可以在类中的操作旁边表示:

  • 在纯文本中,例如:
    {n介于1和6之间}


  • 使用OCL语法,如:
    {n>0和n0以及nA除了前面提到的以外,还将使用数据类型。例如,您定义一个数据类型并将其用作参数的类型。可以在类型本身中定义基础基元类型和值约束。这在需要多个用法之间的一致性时尤其有用。
    
     context: MyClass::grade(n : Integer)
       pre: n>0 and n<=6     -- expression could involve properties using prefix 'self.'