【问题标题】:UML to extend or not between two use casesUML 在两个用例之间扩展或不扩展
【发布时间】:2017-09-26 07:42:15
【问题描述】:

我有一个叫 X 的参与者。这个参与者连接到用例:查看库存。 还有一个称为查看项目的用例。在查看库存时,演员可以选择查看属于库存的物品。

在这种情况下:视图项目用例是否应该扩展视图库存?因为演员在查看所有库存的同时查看物品是可选的? 或者两个用例都应该简单地连接到参与者而不是彼此?

在 UML 2 和统一流程中,它规定扩展用例通常是完整的用例,因此不能被实例化。 我真的很困惑我的处境。

这里是一个简单的视图:

用例:查看库存

扩展---->查看项目

如果不先从查看库存用例中选择特定库存,您将无法查看商品。这是可选的。

用例:查看项目

扩展----> 添加项目 扩展---->删除项目

您必须先查看特定库存中的物品,然后才能添加或移除物品。这是可选的。

【问题讨论】:

标签: uml


【解决方案1】:

你最好忘记那些扩展/包含关系。您很想在 UC 上应用功能分解,这与您在此处尝试实现的目标完全相反。 UC 应是所考虑的系统 (SUC) 交付给其参与者之一的独特附加值。因此,UC 最好显示为边界内的简单气泡,代表 SUC 和站在外面的演员。通常将主要参与者放置在边界的左侧,将次要参与者(如果存在)放置在边界的右边界。

  • 不要使用扩展/包含。 (我从来没有真正需要这些关系。恕我直言,它们是 UML 中的设计错误。)
  • 如果您的 UC 图表开始类似于蜘蛛网,则您的设计可能会损坏。
  • UC 与函数的顺序无关。如果一个 UC 只能在另一个 UC 执行后才能执行,请添加约束 { can only be executed after UC x has been completed once } 等。

【讨论】:

  • 感谢您的反馈!所以在我的情况下,我应该简单地制作 2 个气泡,并且只将它们连接到演员而不是彼此。但在我的应用程序中,演员只能在选择库存后查看项目。如何在我的用例图中显示这一点?
  • 只需向view 添加一个约束,告诉{inventory must be selected}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2014-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多