gpt4 book ai didi

uml - 如何在用例图中描绘可见性

转载 作者:行者123 更新时间:2023-12-04 15:15:33 25 4
gpt4 key购买 nike

上下文

想象一个事件管理网站,事件策划者可以在其中发布事件。假设我们有三个 Actor:非注册用户注册用户Event Planner。事件策划者可以发布事件,这些事件可以是公开的(非注册用户可以看到)或私有(private)的(只有注册用户可以看到)。

问题

如何描述所有用户都可以看到公共(public)事件而只有注册用户才能看到私有(private)事件这一事实?

附加问题:我应该将“查看即将发生的事件”和“查看过去的事件”分成两个不同的用例,还是应该有一个“查看事件” “用例?

我的一些想法

下图是我想到的一些可能的解决方案,但我不确定它们的正确性。

有单独的用例

enter image description here

使用扩展

enter image description here

将“查看事件”作为一个综合用例

enter image description here

最佳答案

要么您接受 Geert 的建议并仅使用 See events 用例,要么您应该继续使用您的第一个用例。是否将 See events 拆分为私有(private)/公共(public)在很大程度上取决于您设计的系统。因此,考虑到需要拆分(因为两个事件的看待方式非常不同),您应该使用第一个草图。这里很清楚谁可以处理哪个UC。只需一个 UC,您就可以附加一个约束,例如 {only registered user can see private events}

你的第二个似乎没有意义。 «extend» 是多余的,因为参与者已经与用例直接相关。该关系意味着扩展用例是在事件过程中选择性地执行的。因此,在观看私有(private)事件的同时,还可以通过某种方式观看公共(public)事件。

最后的建议只是功能分解。与参与者没有联系的用例不是用例,因为它不会带来附加值。您可以使用通用用例(私有(private)/公共(public)是 See event 的特化),但我始终建议不要使用该构造。 UC 的泛化有点矛盾。 UC 应显示给所考虑系统的参与者带来的独特附加值。但是,如果您可以概括,那么它并不是真正独一无二的。与明确定义属性/操作覆盖的类泛化不同,UC 缺乏这样的描述,需要进行大量解释。

关于uml - 如何在用例图中描绘可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64389166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com