Kij*_*ooc 2 uml class-diagram use-case use-case-diagram
我需要为有关游戏的功课创建UML图(称为Downfall)。我必须创建它,以便它可以在任何数量(n)的播放器上使用。
如果这是在图表的多个位置出现的确切数字,我应该使用n还是*?我会在多样性参数和数组大小中使用它。
例如:有n个面,并且如果侧面有一个转盘,则该位置的每一侧都必须有一个转盘,因此该转盘具有n-1个相连的转盘。
您可以使用类似的常量n。但我建议您使用一个不言自明的常量名称,例如numberOfPlayers或至少noOfPlayers使它变得始终是相同的常量。
常量的名称应不带引号(以与以双引号表示的字符串区分)。
您也可以使用类似表达式n-1,只要它始终始终为非负整数即可。
让我们来看看UML规范。所有章节和图形参考均来自此。
多样性定义为lowerValue和upperValue。
MultiplicityElement的多重性的上限和下限由ValueSpecifications指定(请参见第8章),该值必须评估为LowerBound的Integer值和upperBound的UnlimitedNatural值(请参见基本类型的第21章)。
ValueSpecification定义为LiteralSpecification(8.2)或Expression或OpaqueExpression(均在8.3中描述)。
在我们感兴趣的情况下,LiteralSpecification本质上只是一个数字,所以它不是您所需要的。但这不是www.admiraalit.nl在他的回答中建议的唯一选择。
表达式是一种通过一些文本表示形式并最终通过计算来提供值的机制(我在这里简化)。例如:
首先对表达式的每个操作数求值,然后对所得的操作数值执行由表达式符号表示的运算,从而对表达式求值
如果使用不带操作数的简单表达式,它将简单地成为一个常量,该常量是模型的模板。因此,请随时使用常数作为多重性值,只要该常数的计算结果为非负整数(上限时为UnlimitedNatural)即可。
它甚至可能是在对象的整个生命周期中更改其值的表达式,但是确保始终满足这种多样性可能会变得充满挑战。