Uml 企业架构师中的抽象用例

Uml 企业架构师中的抽象用例,uml,abstract,use-case,enterprise-architect,Uml,Abstract,Use Case,Enterprise Architect,如何在enterprise architect 10中创建抽象用例 编辑: 以下是一个例子: 如何在企业架构师中实现这一点 将用例定型为“抽象”不会改变字体 我不是问如何手动更改字体。我曾期望,如果用例被定型为“抽象”,那么它的标题字体将自动更改为斜体。但事实似乎并非如此。这是可能的,但毫无用处,而且在UML和OOP中都有样式 如果你的客户坚持这种结构,你可以通过扩展和包含刻板印象来展示一些行为的变化。有些变体可能会有一个注释说,这种变体永远不会真正实现。这在语义上等同于您的抽象用例。。。这东

如何在enterprise architect 10中创建抽象用例

编辑:

以下是一个例子:

如何在企业架构师中实现这一点

将用例定型为“抽象”不会改变字体

我不是问如何手动更改字体。我曾期望,如果用例被定型为“抽象”,那么它的标题字体将自动更改为斜体。但事实似乎并非如此。

这是可能的,但毫无用处,而且在UML和OOP中都有样式 如果你的客户坚持这种结构,你可以通过扩展和包含刻板印象来展示一些行为的变化。有些变体可能会有一个注释说,这种变体永远不会真正实现。这在语义上等同于您的抽象用例。。。这东西的无用性也是显而易见的

您可以直接设置Abstrect属性,如相邻答案所示。但这并没有增加有用性

不使用“摘要”的更多原因:

  • 抽象意味着什么?这意味着,这种结构本身永远无法实现,只能为其他混凝土结构提供一些共同特征。也就是说,它设置了实现的方式,系统的内部结构。您不应该在UC图上解决实现问题,它们只是设置您正在解决的任务的正式方式。你不应该把设定任务和解决任务混为一谈
  • 从技术上讲,抽象是一种结构化的信息。用例图是一个行为图。不过,您可以在其中使用从其他图表中借用的结构元素。例如,抽象类。但它是用于特殊用途,而不是标准用途。例如,您正在解决任务,(唉!)由于许可证或政治原因,您已经严格设置了一些软件/硬件。这是不好的,但它可以发生。但用例本身是纯行为元素,不能简单地说它是抽象的
  • “抽象”一词在某些语言中使用,但并非在所有OOP语言中都使用。您不应该在UC图表中设置语言
  • 用例显示行为,将首先通过接口而不是类来实现。所有的接口都是抽象的
这是可能的,但没有用,而且在UML和OOP中都有样式 如果你的客户坚持这种结构,你可以通过扩展和包含刻板印象来展示一些行为的变化。有些变体可能会有一个注释说,这种变体永远不会真正实现。这在语义上等同于您的抽象用例。。。这东西的无用性也是显而易见的

您可以直接设置Abstrect属性,如相邻答案所示。但这并没有增加有用性

不使用“摘要”的更多原因:

  • 抽象意味着什么?这意味着,这种结构本身永远无法实现,只能为其他混凝土结构提供一些共同特征。也就是说,它设置了实现的方式,系统的内部结构。您不应该在UC图上解决实现问题,它们只是设置您正在解决的任务的正式方式。你不应该把设定任务和解决任务混为一谈
  • 从技术上讲,抽象是一种结构化的信息。用例图是一个行为图。不过,您可以在其中使用从其他图表中借用的结构元素。例如,抽象类。但它是用于特殊用途,而不是标准用途。例如,您正在解决任务,(唉!)由于许可证或政治原因,您已经严格设置了一些软件/硬件。这是不好的,但它可以发生。但用例本身是纯行为元素,不能简单地说它是抽象的
  • “抽象”一词在某些语言中使用,但并非在所有OOP语言中都使用。您不应该在UC图表中设置语言
  • 用例显示行为,将首先通过接口而不是类来实现。所有的接口都是抽象的

无论元素的类型如何,“抽象性”在EA中都不会表示为一个原型,因此这对类也不起作用。相反,元素的属性对话框中有一个“抽象”复选框。如果打开一个类的对话框,您将在详细信息页面上找到它

但是,用例的同一对话框不包含“抽象”复选框。然而,底层数据模型允许任何元素都是抽象的,包括用例

撇开为回答实际问题而建模抽象用例的正确性不谈,在EA中实现抽象用例有两种方法。两者都是“适当的”,因为它们导致用例具有适当的“抽象”属性集,而不是对字体或类似内容进行纯粹的修饰性更改

以这两种方式抽象的用例将自动以斜体显示,它们可以在搜索和生成的报告等中进行区分

方法1:元素属性窗口

在“图元属性”窗口(不是对话框,而是在“图元”菜单中打开的对话框)中,可以在“高级”分支下设置“抽象”属性

方法2:使用脚本

下面是一个VB脚本片段,它使单个用例变得抽象

if (theElement.Type = "UseCase") then
    theElement.Abstract = 1
    theElement.Update()
end if
如果将其放在图表或对象浏览器脚本中,则可以轻松地将用例抽象化。你可能想修改它,使之成为一个开关,而不是单向的,但你明白了


如果您已经创建了许多具体的用例,并且希望将它们抽象化,那么这将非常有用。

无论元素的类型如何,“抽象性”在EA中都不表示为原型,因此这也不适用于类。相反,有一个“抽象”检查
if (theElement.Type = "UseCase") then
    theElement.Abstract = 1
    theElement.Update()
end if