首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正确使用用例图中的包含和扩展

正确使用用例图中的包含和扩展
EN

Stack Overflow用户
提问于 2021-03-22 22:11:19
回答 2查看 1.4K关注 0票数 1

我正在为理发店系统创建用例图。我不确定Add Product Inventory用例是否应该包括Purchase Product用例。

将与理发店系统互动的演员是:

  1. Customers
  2. System用户(即。
  3. 系统管理员(即。(经理)

所有用户将需要能够登录,客户将需要注册,如果他们是第一次用户。

客户将与系统互动,进行预订或购买产品,如凝胶,洗发水,蜡。预约可以延长到取消预约,客户不太可能重新安排约会,而是取消约会,并在不同的时间再次预订。

系统用户,理发师,需要能够查看预约时间表,查看客户联系详细信息,并登录到系统。

系统管理员,可能是经理和理发师,也应该能够查看预约时间表,查看客户联系详细信息,并向商店添加产品库存。产品清单还将包括确定产品规格、产品的颜色或大小以及价格。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-23 08:16:20

我不确定用例是否应该包括购买产品用例。

情况并非如此,这意味着每次产品被添加到库存中时,它也会在添加期间购买。注意,对于这两个用例,参与者并不相同,但是有了包含,这意味着采购也是由管理员完成的。

也没有延伸的余地。

在购买之前,产品被添加到库存中,这是您在UC采购描述中添加的前提条件。

图中还有其他问题:

  • 您的所有扩展都是在错误的方向绘制的,除了可能在登录和注册之间,这取决于您想说什么

  • 把次要演员放在右边是很常见的,所以客户似乎是次要演员,但事实并非如此。

  • Admin和Barber不能登录(但他们可以登出),让其中一个角色成为成功登录之前所需的真实角色,这是与演员嘉宾或诸如此类的事情一起完成的。

  • 与客户无法注册(或登录)

的方式相同

  • ,但实际上,登录和注册(和注销)是非常常见和简单的特性,并且可能没有足够的加法值来作为用例。

客户只能在约会创建过程中才能取消约会,这不是您想要的。

代码语言:javascript
复制
- you need to allow _Customer_ to activate _Cancel Appointment_ in an other way (directly or as an extension of the probable _View Own Appointments_, see after)
- for me while an appointment is under construction it does not exist and then the _Customer_ cannot cancel the appointment, but the customer can abort the construction. So for me there is no extend between these use cases. Of course in the description of _Make Appointment_ you can say an abort is possible, but I think this is the case in all the UC.

  • 很可能是客户可以查看他/她的约会,所以必须添加UC (假设查看自己的约会)。注意:这不像理发师可以激活的UC View Appointmenst,所以这些UC不能有相同的名称。将取消约会作为这一新UC的延伸似乎是一个好方法,在这种情况下,取消约会不能由客户直接激活。

  • 一些管理员可以激活的UCs缺失了,可以修改产品的价格,删除产品,修改理发细节,删除理发师,.
票数 3
EN

Stack Overflow用户

发布于 2021-03-23 04:27:33

我不熟悉您的场景中的业务规则,所以这是一些猜测工作和一些假设,您可以验证。

我假设“添加产品库存”用例是关于将产品添加到所有产品的库存中。为了回答您的问题,我认为这个用例是否涉及添加一个产品、多个产品、管理产品(例如编辑或删除它们)、库存是否已经存在、或者库存对其上的产品是一个单独的东西,这些问题的答案都不重要,但这些问题的答案从您的模型中并不是100%清晰的,您可以考虑澄清这些要点。

我还假设产品需要在库存中才能被购买。如果是这样的话,那么我想你要问的就是这一点--我怎么能代表这样一个事实:产品需要添加到库存中才能被购买?如果这就是您所要求的,那么您可以使用一个简单的“依赖”关系来表示它,这个关系将从运行到用例,如下所示。这说明产品采购在某种程度上依赖于添加产品,但没有进一步解释这种关系。或者,您可以使用从“添加到购买”中运行的preceedes关系。我不认为扩展是正确的关系--添加产品的步骤不需要在每次购买产品时都被考虑在内,依赖的是添加产品的目标,而不是步骤。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66754536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档