繁体   English   中英

如何在没有“包含”或“扩展”的情况下连接不同的用例?

[英]How to connect different Use Cases without 'include' or 'extend'?

我对UML和用例图还很陌生,我不确定我是否理解自己正确地使用了“ include”。 还请注意,这是针对课程而非实际系统的,因此即使以下细节并非一成不变,但它们也不是很灵活。

在这种情况下,演员(客户)填写了一份申请表。 该用例称为TakeMembership。

在客户向系统提供详细信息后,他们将被支付,我开始了另一个用例,即TakePayment。 在此用例中,我包括了外部支付系统作为主要参与者,而客户包括了辅助参与者。

最后,外部电子邮件系统向用户发送其登录详细信息。 我已经将此用例称为SendLoginDetails,并将电子邮件系统作为主要角色,并将成员(客户现在变成了成员并成为其他参与者)作为该案例的次要参与者。

现在我的问题是:后两个用例是第一个用例的主要流程的一部分,但是我不知道如何实际连接它们。

我考虑过先使用“扩展”,然后才决定使用“扩展”,因为这两个用例也不例外,因为每次使用系统时都可以很好地使用它们。

一些同学建议我将它们与“ include”联系起来,但这对我也没有意义。 我对“包含”的理解是,当两个或更多个用例中有共同的步骤并且“包含”用例不能独立存在时,应使用它。

我是否不知道有关“扩展”或“包含”的内容?

用例不是关于“先做A,再做B,最后是C”,而是为了显示参与者从系统中获得的附加值。 不要尝试功能分解(因此哪个UC包含/扩展了其他UC)。 仅在极少数情况下可以使用它们(实际上,如果没有它们,我可以生活得很好)。 人们通常会创建一个用例,实际上它只是一个约束(最著名的用例: Login )。

一旦确定了附加值,就可以考虑如何实现它们的方案。 这可以通过纯文本描述或使用活动图来完成。

我最好的建议:不要使用包含/扩展和阅读Bittner / Spence。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM