authorization - 不同类型的用户扩展用例

标签 authorization uml modeling use-case use-case-diagram

我正在制作我创建的程序的用例的 UML 图。我在具体情况下遇到了麻烦。我的程序可供多种类型的转换使用。 Guest、User(以Guest身份登录)、Editor(具有特殊权限的用户)。在程序中,所有类型的参与者都可以阅读一篇文章,但是如果您是用户,您还可以通过发表评论来扩展文章的阅读,如果您是编辑,您可以通过发表评论或编辑文章来扩展文章的阅读文章。这种情况下的 UML 应该如何相似?

我试图让它看起来像这样,但它并不真的认为应该这样做

Example

最佳答案

初步说明,不是Readarticle扩展了Editarticle,而是Editarticle扩展了Readarticle 。因此,延伸箭头应全部朝相反方向。

在用例图中,每个用例应该只出现一次。因此,您不应该为不同的参与者展示具有不同扩展的相同用例,而应该只有一个包含所有扩展的用例。

您试图在图表中表达的是阅读文章及其扩展点对参与者有一些限制。这最好地反射(reflect)在明文约束中,例如{仅当参与者是编辑者或用户时}。进一步的简化可能是专门化参与者(继承),因为 Editor 是一个具有更多职责的 User

但实际上,您的用例图似乎不是由参与者的目标驱动的,而是由您的用户界面设计驱动的:编辑文章的目标与阅读有很大不同。事实上,一开始没有文章可看,编辑却开始编辑。当然,您的用户界面可能设计有阅读界面,以及用于编辑模式的特殊按钮。但这是系统“如何”满足参与者的目标,而不是“什么”这些目标,这应该是用例的主要焦点。

因此,我宁愿建议根据用户的目标重新绘制图表,独立于这些在用户界面或系统内部结构中的实现方式。

关于authorization - 不同类型的用户扩展用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74887220/

相关文章:

javascript - 从 javascript 调用操作方法时 Asp、Net MVC 应用程序的安全问题

java - 如何在Java中实现使用依赖,枚举数据类型?混淆实现聚合,组合

java - 寻求建议: overview/detail representation of models

uml - 在 Visio 2003 中使用 UML 2.0 的最佳方式是什么?

uml - 如何使用 NetBeans 的 6.8 UML 模块创建类图?

components - Sparx Enterprise Architect (EA) 中的嵌套组件

uml - 什么是 UML 概要图以及何时使用它?

java - Spring Security允​​许每个用户看到他们自己的个人资料,但没有其他人可以查看

jsf - 使用 PhaseListener 而不是 Servlet Filter 进行授权的限制

asp.net - 如何从ASP.NET Core Web API中删除重定向并返回HTTP 401?