【问题标题】:Use Case Diagram having trouble with extends and includes in my diagram用例图无法扩展并包含在我的图中
【发布时间】:2016-03-04 16:23:15
【问题描述】:

我对 UML 非常陌生,尤其是用例图。我试图为我的应用程序绘制一个用例图,其中包括一个租户、一个卖家和一个普通用户。我的租客和卖家扩展了普通用户。我在包含和扩展方面遇到问题。例如,当您查看办公空间时,您还可以在页面底部看到对其的评论。以及当租客想要写评论时,他/她必须在查看办公空间页面上这样做。我不确定这是扩展还是包含。如果我的任何箭头方向有误,请纠正我。另外,可以说Renter和Seller包括登录吗?

【问题讨论】:

    标签: uml use-case


    【解决方案1】:

    正如 Jim 所说:I/E 是针对 UC 的,而不是针对 Actor 的。我假设你的意思是泛化,所以两者都继承自 General User。

    一些进一步的观察:

    • 对 UC 标题使用动词实体
    • 想想用例中的“用途”。 IOW:附加值。如果您没有发现它的附加值,那么它就没有用例。
    • 一般避免 I/E。它们通常表明您尝试使用功能分解,这不是 UC 综合的目标。
    • 在任何情况下,您在 UC 之间绘制的关系都是错误的。不存在具有实心三角形并带有点的关系。您可能打算使用一些 <<include>> 依赖项(带有开放箭头)。但如上所述:避免它。只需创建与演员的关联。只需在评论和普通用户之间绘制一个就足够了,因为 Renter 将继承关系。
    • 登录/退出没有 UC(没有附加值)。这些是对其他 UC 的限制(写入 {必须登录} 并附加到连接器)

    【讨论】:

    • 谢谢!你说两者都是一般用户的概括。如何在 UML 图上显示这一点?我应该保留没有扩展的箭头吗?
    • 概括以实线显示,并以朝向一般类的未填充三角形结束。因此,只需将虚线替换为没有刻板印象的实线,并使箭头成为未填充的三角形。
    【解决方案2】:

    您通常不应该为登录用例建模,因为它们不会直接帮助用户完成他或她关心的任何事情。

    包含和扩展是用例之间的关系,而不是参与者之间的关系。 UML 2.5 规范说:

    • 扩展是:

      从扩展用例到扩展用例的关系,指定扩展用例中定义的行为如何以及何时可以插入到扩展用例中定义的行为中。

    • 一个包含是:

      Include 关系指定 UseCase 包含在另一个 UseCase 中定义的行为。

    演员之间的泛化/专业化关系非常好。这只是一个概括箭头。 (例如,带有空心箭头的实线。)

    【讨论】:

    • hmmm...我会查看 UML 2.5 规范以确保我是对的...感谢您指出这一点。
    • 另外,我以此为指导。 gatherspace.com/static/use_case_example.html Tip 4 也在扩展它
    • 谢谢!我如何展示一个广义的演员(一个演员从另一个演员继承)?我见过实心箭头包含未填充箭头的示例。
    • @unconditionalcoder:我为您的回答添加了更多内容。我还解决了 UML 中参与者之间允许包含和扩展的错误声明。
    • 看第一条评论的答案,我觉得不正确。 I/E 适用于 UC(只要我正确理解第 639 页上的规范),而不适用于 Actors,其中泛化是选择的关系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2023-03-05
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多