如何建模>在事件表中做同样事情的1种方法?

时间:2011-09-23 14:19:17

标签: uml use-case

假设有> 1种方法,在用例图中,我可以使用generalize,include,然后在事件表中?我将它们分开吗?

假设客户可以在线或通过柜台进行“购买预订”。在这种情况下,我认为来源不同?例如。 “在线购买”“客户”是与在线系统交互的来源。通过柜台,它的“收银台”与POS互动?

我想我将它们分成事件表中的不同事件?

1 个答案:

答案 0 :(得分:2)

首先,泛化通常不用于用例; <<extend>>可能就是你所追求的,尽管它并不完全相同。

其次,如果有多种方法可以做同样的事情,那么这就是设计的问题,而不是分析。分析会讨论系统将用于什么,而不是实现这些目标的不同方式。

然而,最重要的是,在你提到的例子中,你实际上在谈论两种不同的系统。用例表示一个或多个actor与恰好一个系统之间的交互。

书店的POS系统可能包括一个用例“购买书”,涉及演员收银员和客户。在线书店的网络系统可能还包括一个用例“购买书”(仅涉及客户参与者),但它们碰巧具有相同的名称和相同的目的。

一个真实的,有形的人可以在商店和网上购买书籍的事实没有任何影响,因为分析的重点是系统,而不是演员。

在事件表中,来源将是相同的(客户),事件将是相同的(客户想要买书),但会有两个不同的表,很可能是两个不同的文件,因为我们在谈论两个不同的系统。