我有这个问题,我的系统是一家服装店,它允许客户在购买日期后一天才能退回他购买的衣服。
退货是用例……但我怎么能代表一天的情况呢?我想过使用“守卫条件”,你怎么看?
几个选项取决于您选择如何表示用例流程。
为清楚起见,最后一个示例:
主流
异常流:超出最大返回间隔
2a. 确认返回日期大于或等于最大返回间隔
3无论你在这种情况下做什么......
底线,有选择。选择哪个取决于您的建模偏好。但是要回答您最初的问题:警卫条件是完全可以接受的。
您在这里拥有的实际上是两个不同的用例,它们共享一个共同的操作。
您想创建一个“尝试归还衣服”的基本用例,然后将其扩展为两个不同的用例,并对其进行推广,例如:
然后,您可以在您的序列图中识别这些用例的结果,例如,一天后执行此操作的客户不允许处理退货。
用例中不使用条件语句,因为条件由行为组成。这样的用例“退衣服”很奇怪。为您的用例使用命令式语句,例如:“进行注册”“完成订单”等。