[英]How do i design a UML use case diagram
我正在尝试为以下场景设计用例图。
我有一个社会,它根据客户的订单向客户分发商品。 这些客户可以是行政部门、公司或个人。 根据客户是什么,我想或多或少地了解他们的信息(姓名、号码等)
用例因客户端是否为:
例如:
1) 英语客户的订单只有在他们提前支付少量费用的情况下才会被接受。
2) 使用该服务 3 年的英语客户无需支付此费用,但需要获得不同演员(在这种情况下为代理人)的认可
3) 无论如何,外国客户的订单总是被接受。
这就是我遇到麻烦并需要帮助的地方。
来自有犯罪记录的英国客户的订单总是被拒绝,除非他们是行政部门。
这里最好的演员选择是什么? 我想过使用English client
和Foreign clients
但我不知道如何在用例中包含“除非客户是管理人员”。
用例图不是放置这些信息的正确位置。 正如@Christophe 正确指出的那样,用例代表将与系统交互以实现目标的用户的目标。
这意味着您的场景中只有一个用例: "Order Goods" 。 但是,它有一组先决条件。 您可以将它们列为结构化纯文本。 由于它们每个背后都有相当多的复杂性,我建议将它们放入单独的决策图中。 然后,您可以很好地将图表范围分开,并且它们仍然易于阅读。
旁注:可能会有第二个“分发订购的货物”由第二个演员执行,该演员是执行/路由/调度的员工。
UML 用例中的参与者是分类器。 要决定创建哪些参与者,需要了解参与者的目标和行为,以及他们与系统交互的不同之处。
首先需要明确一下超模棱两可的需求:
用例原则上应该是面向目标的。 因此,用例代表将与系统交互以实现目标的用户的目标。 用例并不意味着描述你的流程的详细顺序(如果客户是这个,那么做,等等……),参与者也不是为了这个目的。
因此,您应该考虑重新制定用例以表示参与者如何看待它们。 如果需要,您可以考虑演员的状态,这可以解释演员的行为非常不同。 通常在你的情况下,我可以想象:
是否需要支付预付费用似乎取决于地址、国籍、历史。 它与过程(它是过程的一部分)的相关性比演员的独立目标更相关。 因此,我既不会将此作为用例展示,也不会为此目的制作不同的演员。
拒绝订单的原因与客户无关(没有客户有目标,拒绝购买!)。 它与您和您的系统相关,是注册过程的结果。 所以不需要专门的演员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.