如何表示用例条件?

时间:2010-10-27 21:09:11

标签: uml use-case

我有这个问题,我的系统是一个服装店,允许顾客在购买日期一天后退回他买的衣服。

返回布料是用例...但我怎样才能代表一天的条件?我想过使用“守卫条件”,您怎么看?

3 个答案:

答案 0 :(得分:3)

您在这里拥有的实际上是两个不同的用例,它们共享一个共同的行动。

您希望创建“尝试归还衣服”的基本用例,然后将其扩展为两个不同的用例,这些用例可以概括为:

  • 基本用例是“试着回归衣服”
  • “1天后”延伸“尝试归还衣服”
  • “1天内”延伸“尝试归还衣服”

然后,您可以在序列图中识别这些用例的结果,例如:在一天之后执行此操作的客户不得处理退货。

答案 1 :(得分:3)

一些选项取决于您选择如何表示用例流程。

  • 序列图:UML具有内置计时器的想法,参见例如here。您可以将时间到期(即返回期间结束)显示为确定后续行为的触发器。
  • 如果您使用活动图表,您可以简单地设置一个带有两条路线的决策点(自购买以来<1天/&gt; =购买后1天)。 [我认为这与你的警卫条件建议相同]。
  • 如果您使用文本步骤,请将“欢乐日”案例放在主流程中(可能少于一天“,然后添加扩展名以涵盖例外流程(&gt; 1天)。

为清晰起见,最后一个示例:

主要流程

  1. 从客户收到的退回物品
  2. 确认返回日期小于最大返回间隔(1天)
  3. 客户已退款
  4. ...等
  5. 异常流程:超出最大返回间隔

    2a上。确认返回日期大于或等于最大返回间隔

    3 无论你在这种情况下做什么......

    底线,有选项。选择哪个取决于您的建模首选项。但要回答你原来的问题:保护条件是完全可以接受的。

答案 2 :(得分:1)

条件语句不用于用例,因为条件包含行为。这种用例“返回布料”很奇怪。对您的用例使用命令性语句,例如: “进行注册” “完成订单”等。