为入口系统创建UML类图?

为入口系统创建UML类图?,uml,diagram,class-design,class-diagram,Uml,Diagram,Class Design,Class Diagram,我在看一个攀岩馆的入口系统。客户进入大楼,向接待员提供他们的详细信息,接待员将详细信息输入数据库,验证详细信息,如果客户不是会员,接待员接受付款,客户进入大楼 我有四个班:客户、接待员、管理员、数据库。 我有非会员和会员在客户下面。 客户和接待员之间有一种多对一的关系(许多在客户端)。接待员和数据库之间的一对一关系。接待员和管理员之间的一对一关系 我的课程和关系正确吗?这不容易回答。你们谈论类,所以我假设你们正在创建一个类图。如果是这样的话,我不确定我是否会包含一个前台类(至少不是针对那个用例

我在看一个攀岩馆的入口系统。客户进入大楼,向接待员提供他们的详细信息,接待员将详细信息输入数据库,验证详细信息,如果客户不是会员,接待员接受付款,客户进入大楼

我有四个班:客户、接待员、管理员、数据库。 我有非会员和会员在客户下面。 客户和接待员之间有一种多对一的关系(许多在客户端)。接待员和数据库之间的一对一关系。接待员和管理员之间的一对一关系


我的课程和关系正确吗?

这不容易回答。你们谈论类,所以我假设你们正在创建一个类图。如果是这样的话,我不确定我是否会包含一个前台类(至少不是针对那个用例)。数据流图中可能存在接待员。在类图中,接待员类可能存在于员工轮换表或员工付款流程中。从编程的角度来看,在entry系统中,customer类如何与前台类交互?接待员类包含哪些用于交互的方法?我假设没有,真实的人类接待员与真实的客户交互,但是客户类不会与接待员类交互,除非您记录哪个接待员处理了事务

即使在这种情况下,我也会认为是另一个类管理了这个动作


如果您只是简单地映射真实人类之间的交互,那么我建议,许多客户可以由许多单独的接待员来服务。我认为他们雇佣了不止一名员工。

因此,以下是我的观察结果:

  • 所有属性/操作都应以小写字母开头(正如您所做的那样,所有类都应以大写字母开头)。这是我所知道的所有语言列表中采用的一种常见约定(这肯定不完整,但不止一种或两种)
  • 您可以将共享作文与
    成员
    非成员
    一起使用。看起来这应该是一个泛化关系。所以你需要使用和未填充的三角形,而不是菱形
  • 您应该在关联中使用角色名称。也就是说,您应该注意
    administrator
    类的
    administrator
    。这将使其成为
    administrator
    类型的
    administrator
    属性,位于
    前台
  • 您不应该在草稿/业务模型中定义
    ID
    属性。ID通常在以后从对象地址编译时派生。因此,您引用的是对象本身,而不是ID
  • 接待员
    数据库
    之间存在关系。我认为这不是一个明智的设计决定。目前还不清楚该数据库的用途。可能每个类都会以某种方式镜像到数据库中。因此,这些类应该实现一个可序列化的接口,该接口允许在数据库中镜像它们。将
    数据库
    作为业务模型中的类是不正确的。只需专注于业务对象,并在稍后阶段实现持久性层
  • 从您的描述中,我看不出
    管理员是从哪里来的。每个接待员都有一个管理员似乎有点偏执

您现在可以将图片放在公共服务器上。我稍后会查看。您的设计有几个问题。好的,谢谢。仅供参考-我尚未完成该图像中的属性或操作。是的,我正在映射人机交互。然后制作另一个具有重大安全性更改的类图-例如指纹扫描仪或要输入的代码。