我有一个关于在活动图上建模的问题一直困扰着我一段时间,我无法在任何地方找到任何答案/约定。
这是一个更好地理解我的问题的示例:
假设我有两个名为“flat”和“house”的班级。两者都是“住房”类的概括。住房包含居住在其中的人的属性“居民”。flat 包含一个属性“floor”,表示该公寓位于哪一层。
在活动图中,我想表示为人们提供住房的行为。此操作可以将房屋或平面作为输入(因此我认为对输入引脚使用“房屋”类型是正确的)以及未定义的人数。我希望此操作将更新的房屋或公寓作为输出(不是更新的房屋,因为这意味着特定于房屋或公寓的信息将丢失。我真的不知道是否必须创建两个操作(一个用于房屋另一个用于公寓),或者是否有办法为两个班级重用该动作并从中获得正确的输出。
我的问题是:如何在活动图中表示对于不同类型的对象流作为输入的相同操作,并将更新的对象流作为输出(因此可能是不同类型)?
注意:
- 所有类型的对象流都是类并继承自同一个其他类。
- 我在 modelio 中代表这一点,但首先在 Cameo 中遇到了这个问题。
- 我正在尝试尽可能地适应 UML 语言的规则。