2

这是场景验证和授权服务的类图

系统有两个主要用户SYSTEM USER和END USER。最终用户进一步分为两个用户,即CLIENT USER和INTERNET USER,客户端用户在数据库可访问帐户中关联,而Internet用户不在。

所有用户分为不同的角色,每个角色都与一组访问模块相关联,不同的模块包含不同的功能,如查看,添加,编辑和删除功能。

不同的角色可以与模块的不同功能相关联。 示例超级管理员角色可以访问并在用户访问模块中添加编辑删除功能,而高级用户只能访问或查看它。

在用户登录时,在安全服务将验证用户名和密码的用户。如果通过身份验证,它将查找与用户关联的角色,并在屏幕上显示授权模块以供用户选择访问。


我已经创建了一个包含字段的简单类图或每类属性,我只是不知道这是否是正确的,如连接器或关系来实现,基数和每类中的方法,我有只输入一个类的方法,即为login(login())方法。

enter image description here

+0

似乎很明显,你来自数据库建模(因此'ID'属性)。 –

+0

是的,对不起。 – rickyProgrammer

+0

没理由对不起:-)你应该接受吉尔特的答案。对于SO问题,其他一切都会太宽泛。 –

回答

2

我可以看到几件事情错了你的模型:

  • 什么是那些充满箭头应该是什么?如果你的意思是继承,那么你必须使用一个未填充的箭头。
  • 是登录的用户?有关于此的一些堰塞人。我希望login()是一个将用户名和密码作为参数的操作,不一定是它自己的类,我可能不会使用属性UserName和Password对它进行建模。
  • 如果用户的所有子类,有一个用户名和密码。你不觉得你应该在类USER上定义吗?
  • 是用户和最终用户的应该是具体或抽象?看起来他们可能需要抽象。
  • 类通常以单数形式命名。因此,与其使用角色而不是ROLES
  • 什么是角色ID的类用户在干什么?这似乎是错误的。如果你使用的是UML,那么不要在你的类上放置外键字段。 RoleID是ROLE的一个属性,不应该在USER上。
  • 为什么你需要所有这些ID属性?如果您在逻辑层次上进行建模,则可以假定每个类都具有唯一标识,并且不需要担心该标识的技术实现(字符串,GUID ...)。另一方面,如果你正在制作技术模型,那么你错过了大约70%的细节。
+0

感谢您的输入,我非常感谢,所以我会重新登录登录框?所有的ID都是字段? – rickyProgrammer

+0

我将如何处理用户的子类?应该把它留空而没有任何领域? – rickyProgrammer

+0

我以某种方式关注了这个概念,并且在他的回答中有一个登录框 – rickyProgrammer

1

我会做这样的事情:enter image description here

你得到谁可以登录,谁拥有不同角色的用户,当你执行一个功能(改名服务),该服务获取其模块,并请求模块检查会话用户是否有权执行服务。

这对你有帮助吗?