【问题标题】:Can an artifact consist of a list of .jar files?工件可以包含 .jar 文件的列表吗?
【发布时间】:2021-07-12 17:28:05
【问题描述】:

我在 UML 手册中读到,当有许多 .jar 文件时,可以将它们列在单个工件框中。但是,我无法从其他来源验证这一点,并且由于 Visual Paradigm 没有正式允许它,我想知道我的图表是否符合 UML 表示法。 如果这是正确的,是否有选择工件名称的规则? 我也在试图弄清楚表现是什么。由于我不识别应用程序中的实际组件,但只有几个我不会定义为组件的层,我什至找不到表现形式。 Web应用程序中是否可能没有表现形式?

【问题讨论】:

    标签: deployment architecture uml artifact deployment-diagram


    【解决方案1】:

    使用«artifact» 的快捷表示法是模棱两可的,因为该表示法指的是单个工件,名称为File.JAR,而实际上有很多。而且,UML 规范没有提到这种可能性,所以modelling tools 不应该提供这个功能。

    但是,UML 提供了部署目标(例如节点和执行环境)的快捷方式,允许直接在节点的框中写入已部署工件的列表,而不是绘制大量嵌套或相关的占用空间的工件符号。 UML specification 明确允许它:

    DeployedTarget 显示为立方体的透视图,标有 DeployedTarget 的名称,前面带有冒号。部署在 DeployedTarget 上的系统元素以及连接它们的部署可以绘制在透视立方体内。或者,部署的系统元素可以显示为元素名称的文本列表。

    UML 规范在第 653 和 657 页提供了几个示例。

    P.S:除了 UML 规范之外,我还交叉检查了 UML Distilled、UML 用户指南第 2 版和 UML 语言参考手册第 2 版。在这方面它们都是一致的:它们提到了直接在执行目标中部署的可能性(旧书阐明它在隔间中,即在分隔线之后),它们都没有为工件符号提供这种可能性。

    【讨论】:

    • 我误读了我查阅过的手册。事实上,该手册包含您提出的符号,而不是我自己展示的符号。但似乎 Visual Paradigm 甚至不允许这种表示法,或者至少我找不到它。为了编译工件列表,我使用了框文本。不知道VP有没有这个功能?
    • 我也没找到。有一个肮脏的解决方法,即滥用建模工具作为绘图工具:您在一个空节点上创建一个文本框文本框,在其中键入您的人工制品列表,然后选择文本框和封闭节点,然后右键 -点击->分组->分组。双击文本框,您可以编辑列表。然而,这远非理想,因为人工制品仅在视觉上存在,但在模型中并未真正识别出来。我不会推荐它。顺便说一句,我在 EA 和 StarUML 上都没有找到它。也许那里的一些工具专家可以确认
    • 我相信我会采用一些类似于您向我提出的解决方案。非常感谢您的回答。
    【解决方案2】:

    这取决于您(而不是您的工具)对 UML 合规性的关注程度

    总的来说,严格遵守 UML 的需求各不相同:如果您使用 UML 生成代码/文档等,那么是的,您需要遵守规范。而如果你只是想与其他人交流想法,除非他们是 UML 狂热者,否则他们可能不会在意,只要他们能清楚地理解你在交流什么。

    Visual Paradigm 和 Sparx EA 等工具面临的挑战是它们需要符合 UML。这意味着无论您是否需要,您都会得到严格遵守 - 除非您找到一种解决方法,可以让您交流您的想法,即使从 UML 的角度来看这有点奇怪。

    【讨论】:

    • 对于这个项目,我需要构建完全符合 UML 标准的图表。因此我很担心。
    • 在这种情况下,我会听从对 UML 了解更多的其他人的意见,但我想知道每个文件一个工件是否更准确。
    【解决方案3】:

    我只是想用 UML 规范中关于工件 (p. 654) 的内容来完成这个:

    • 工件表示一些(通常可修改)由软件开发过程或系统操作使用或产生的信息项。工件示例包括模型文件、源文件、脚本、可执行文件、数据库表、开发可交付成果、文字处理文档和邮件消息。

    (我强调)

    现在,无论 reifiable 是什么意思(可能是 refinable?),我认为 item of information 这个词足够广泛,可以涵盖任何持有信息。可以是升技,一个文件中的一句话,也可以是一整套文件。

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2010-11-10
      • 1970-01-01
      • 2015-09-19
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 2016-12-05
      • 2013-04-23
      相关资源
      最近更新 更多