Uml 从用例规范中识别类图类?

Uml 从用例规范中识别类图类?,uml,class-diagram,use-case,Uml,Class Diagram,Use Case,我目前正试图为即将到来的考试学习类图的构造,尽管我很难知道如何根据用例规范(或任何类似的系统描述)识别类 我理解这里的人可能不愿意帮助解决基于教育的问题,我只是想澄清,我不是要求为我做工作,我只是需要被指向正确的方向 我将回顾一篇过去的修订论文,其中包含了在自动售货机上“购买冰淇淋”过程的用例规范。第一个问题是从本规范中识别9个典型类 我理解一个类就像一个对象,通常由一个名词来识别,尽管我的困惑是如何提取9个类,因为我似乎只能找到6个,如果它们是正确的: 客户、学生、员工、触摸屏、零钱分配器和会

我目前正试图为即将到来的考试学习类图的构造,尽管我很难知道如何根据用例规范(或任何类似的系统描述)识别类

我理解这里的人可能不愿意帮助解决基于教育的问题,我只是想澄清,我不是要求为我做工作,我只是需要被指向正确的方向

我将回顾一篇过去的修订论文,其中包含了在自动售货机上“购买冰淇淋”过程的用例规范。第一个问题是从本规范中识别9个典型类

我理解一个类就像一个对象,通常由一个名词来识别,尽管我的困惑是如何提取9个类,因为我似乎只能找到6个,如果它们是正确的:

客户、学生、员工、触摸屏、零钱分配器和会员卡

以下是用例说明,抱歉长度太长:

Ben&Jerry的公司刚刚在一家商店安装了一台新的自动售货机 大学它有各种各样的冰淇淋,以 不同口味的浴缸或迷你浴缸。这些产品都有补贴 学生和员工,但不适用于其他用户;这样的顾客 可将会员卡插入读卡器,并可获得 将显示选定的冰淇淋。您已经设计了一个用例 系统模型,并确定了单个用例(“购买 “冰淇淋”),其中主要参与者是客户

  • ID:VM1
  • 姓名:购买浴缸
  • 主要行为者:
  • 资助客户(员工和学生)2非资助客户
  • 先决条件:
  • 机器开着,运转得很好
  • 有饮料和硬币的存货
  • 这台机器里有足够的硬币存货来提供零钱
  • 产品库存充足
  • 主要流程:
  • 机器显示欢迎信息
  • 学生/教职员插入会员卡
  • 系统验证会员卡
  • 客户通过按下触摸屏选择浴缸
  • 机器显示所选冰淇淋的补贴价格
  • 重复此操作,直到输入足够的硬币:6.1客户输入硬币6.2触摸屏显示到目前为止输入的金额
  • 该系统分配浴缸
  • 如果输入的硬币太多,则会交付零钱
  • 价格加到每周总金额中
  • 机器复位
  • 后条件:购买冰淇淋
  • 备选流程1:
  • 如果客户没有足够的硬币,6.1客户按下返回按钮6.2系统返回输入的硬币
  • 备选流程2:
  • 如果验证失败,3.1消息通知用户3.2非补贴价格显示3.3用例继续主流程4

如果有人能帮忙,我会非常感激。谢谢

你已经确定了很多演员,很少有班级本身。要开始您的设计,请自问正在考虑的系统(SUC)是什么。显然是自动售货机。现在看看UC这个SUC是如何运作的。这里有几个提示:

  • 控制资源(温度、冰淇淋、浴缸等)
  • 控制资金的筹集
  • 控制冰淇淋的分发
对于这些,您可以创建面向外部的控制器类,并相应地执行操作(读取临时->打开冷却;清点钱->开始销售;等等)

与客户互动的销售流程可能更为复杂(展示优惠、做出选择、定价等)


正如您已经猜到的,这不是教程的要点。但是,这些是开始设计的基本步骤。您可以继续并创建序列图来验证单个类之间的协作(许多异常情况,例如:当温度上升太多时,temp controller开始大叫)。

感谢您的响应。那么,所有的类都需要控制某些东西吗?例如,我是否可以将“vending controller”作为一个类来执行诸如计算总数或验证用户会员卡之类的操作?让我困惑的是,它要求9个班级,一个非常具体的数字,但似乎班级的数量会有不同的解释。是的,数量取决于设计。也许你应该“至少”想出9门课。每个班级都有一定的责任。你在哪里画边界取决于你/你的设计。用一个“doItAll”类完成是可能的,但不是建设性的。。。