【问题标题】:Use Case Diagram <<extend>>用例图 <<extend>>
【发布时间】:2013-03-28 21:15:10
【问题描述】:

我为我提议的系统创建了下图,但有几个问题。

该项目包含三个组件:程序 (Java)、网站和数据库。

使用该程序,用户可以生成数据并将其提交到数据库。然后,用户可以通过 Web 界面查看。

从图中可以看出,我有“导出数据”&lt;&lt;extend&gt;&gt;“将信息传递到网站”。 (数据库通过PHP从数据库中检索数据)。这是否意味着“导出数据”需要在“网站界面边界”中。

另外,如果我要添加第三个边界 - 这是不好的做法吗?

【问题讨论】:

    标签: uml diagram use-case


    【解决方案1】:

    为了具体回答您的主要问题,对于用例(例如扩展)和用例包含(例如包或系统边界)之间的链接没有强烈要求

    但除此之外,请允许我对您的图表说一些看起来很尴尬的事情:

    • 我们应该在图中包含以下信息:哪个参与者执行此用例?这里我假设数据库不是执行者,所以除了底部的三个用例外,这个图中的用例没有遵守这个规则。
    • 您只能在参与者和用例之间画线,不能在两个用例之间画线。在这里,例如在导出数据和查询数据库之间,您是什么意思?如果你的意思是导出数据过程的一部分会查询数据库,那么你需要一个&lt;&lt;include&gt;&gt;关系,箭头指向查询数据库,这意味着查询数据库是导入数据的强制子用例。但好吧,这是一个疯狂的猜测......
    • 我也不确定您的&lt;&lt;extend&gt;&gt;s 是否正确。这意味着当您授予权限时,您可以选择检查凭据,并且当您将信息传递到网站时,您可以选择导出数据。我很确定这不是你的意思。

    总结最后两点:

    Main use case ------------> sub use case
                  <<include>>
    
    Main use case <------------ optional sub use case
                   <<extend>>
    

    在 UML 语法中,箭头在 include 和 extend 之间颠倒是相当痛苦的,但它就是这样工作的。不是我的错:)

    【讨论】:

    • 非常感谢斯蒂芬。这让我深思。现在重新做我的图表有点晚了,所以明天会修改它们。
    • +1 指出 «extend» 在该示例中可能不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 2016-12-13
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-05-22
    相关资源
    最近更新 更多