【问题标题】:Is there a way in UML to express something like "virtual" use cases?UML 中有没有一种方法可以表达“虚拟”用例之类的东西?
【发布时间】:2009-09-28 15:31:44
【问题描述】:

我正在做需求分析,所以我正在编写一些用例图。我将尝试通过以下示例阐明我所说的virtual test case 的含义:

我有一组操作,例如 {create, read, update, delete}。我想将它们组合成一种virtual use case,这样我以后可以扩展它并为每个操作创建一个新的用例。比如:

  o
 -|- ----- ( basic operation ) <---- <<extends>> --- ( read )
 / \

理论告诉我这是不正确的,因为用例中的扩展将引入基本用例描述的基本动作序列的变化。在我的例子中,basic operation 用例没有真正的意义,所以它没有关联的动作序列。

这对于根据菜单项对操作进行分组很有用:

File Operations = {Save, Save As, Print, Exit}

你会如何表达这样的话?

【问题讨论】:

    标签: uml specifications use-case


    【解决方案1】:

    根据您的问题,我认为您尝试做的主要事情之一是表达多个用例之间的逻辑关系。更具体地说,您试图表明许多用例(例如“保存文件”、“打印文件”等)在功能上是相关的(“文件操作”)。

    您可以使用UML packages 来表达这种关系。例如,您可以创建一个包含相关用例的“文件操作”包:“保存文件”、“打印文件”等。

    【讨论】:

      【解决方案2】:

      嗯,UML 规范允许用例是抽象的。您可以使用 或斜体的关键字。我想说虚拟和抽象在用例级别是一回事,这就像类一样。我认为用例是 UML 中的一种分类器。

      您也可以使用模板创建模板用例,并要求任何实例随后完成需要填写的创建、读取、更新、删除参数。您仍然可以标记模板用例摘要以提供帮助清除这个。这是模型中捕获的更严重的方法,而不仅仅是图表方法。 Literal Strings 会给你更多的灵活性,操作需要一个 claas 来参与并提供操作,这不是可取的。

      您可能还会考虑用例的扩展点,但我对这些了解较少。

      【讨论】:

      • 不要被否决票所迷惑,这是正确的答案。我添加了一些细节和替代方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 2020-12-25
      • 1970-01-01
      相关资源
      最近更新 更多