【问题标题】:Suggested way of creating use case diagram where some use cases requires authentication?建议在某些用例需要身份验证的情况下创建用例图的方法?
【发布时间】:2018-03-28 09:18:03
【问题描述】:

我和我的同事并不确定如何建模用例,我们三个人各自提出了不同的解决方案,您可以在下面看到每个图像,它们是我们所面临的简化版本。我们刚刚开始从事严肃的项目,我们没有人有太多经验,所以我们想从头开始学习在这种情况下什么是最佳实践。

我们的 Web 应用程序的某些部分网站可供每个用户访问,而其他部分则需要登录,现在我们不确定为此编写用例的正确方法是什么。我的想法是将userguest userauthenticated user 分开,这样我们的用例就不会被一堆include relations 弄乱(我们得到的用例比这里提供的要多得多)。

这就是我所做的:

在我看来是最容易理解和可扩展的,因为它清楚地将两种用户分开。

另一种可能的方法:

当我们有更多用例时,这似乎也很好,比上一个更容易理解

最后一个:

这是最接近我们在大学中学到的 UML 规范,但是一旦我们添加更多用例,它就会开始变得非常混乱,线开始相互交叉并且很难看出什么是什么。

我们的问题是在这种情况下编写用例图的最佳方法是什么?

【问题讨论】:

    标签: uml use-case use-case-diagram


    【解决方案1】:

    您应该对单独的用例和参与者使用第一种方法。

    您可以为Use Case AUse Case B 添加一个前提条件,例如:用户必须经过身份验证

    Login 用例的后置条件可以是:用户已通过身份验证。这将您的用例与Login 用例的结果联系起来而不是实际用例
    如果明天您创建一个与Login 用例具有相同后置条件的新用例,则无需重新设计包括Login 用例的所有其他用例(或更糟的是包含在@987654327 中) @用例)

    在这种情况下,仅从演员姓名来看,这一切似乎都很明显,因此您甚至可以考虑将其完全省略。

    【讨论】:

    • 非常感谢,很好的回答,从没想过这些条件,现在这很有意义。
    【解决方案2】:

    不要使用你的方法! Login 根本没有用例,因为它没有增加任何价值。对于需要身份验证的用例,请使用约束 { needs to be logged on}

    【讨论】:

    • 谢谢,再问一个问题,该约束应该将参与者与用例或 2 个用例联系起来,还是无关紧要并且可以两种方式使用?
    • 约束可以连接到 UC(因此每个人都需要身份验证)或连接到 UC 和 Actor 之间的连接器(意味着:仅适用于该特定 Actor)。一般来说:UC显示附加值。如果你看不到任何东西,那就不是 UC。
    • 说的有道理,再次感谢你帮了我很多。
    【解决方案3】:

    使用方法二。为了理解将用例分成几部分。至于方法二,您可以显示用户登录,在另一个用例中,您可以显示经过身份验证的用户可以做什么。

    【讨论】:

    • 谢谢你的帮助,但我不太明白你第二句话的意思,你能解释一下吗?
    • Geert Bellekens 说的我也说了。
    • 但是你还没有听懂我的话
    • 好的,但我发现托马斯对我帮助最大,所以我选择了他的答案,如果你的意思是反对票,那不是我。
    猜你喜欢
    • 1970-01-01
    • 2010-11-05
    • 2014-08-09
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多