我的用例图中有一个片段(参见图)。我不确定如何安排View account details
用例。要编辑帐户,代理必须首先打开帐户详细信息(如上图所示)。然后他可以继续实际更改帐户详细信息。
但是,如果代理只想查看帐户详细信息,我应该启动查看帐户详细信息(如图所示),还是执行编辑帐户详细信息直到实际执行编辑然后停止?
答案 0 :(得分:1)
UseCase定义表示UseCase执行期间的系统与外部实体(Actors)协作(交互)。我认为“查看帐户详细信息”UseCase涉及与代理的交互。将此用例与Agent actor连接是正确的。
顺便说一下,通过图表,系统可以执行“查看帐户详细信息”而不执行“编辑帐户详细信息”。因此,如果与系统和代理进行某种交互,则代理应连接到UseCase。
答案 1 :(得分:1)
基于对用例的描述,您的问题的答案是肯定的。您在概念上遇到问题的原因是您在查看帐户详细信息和编辑帐户详细信息之间建立了包含关系。 (您实际上是说编辑帐户详细信息始终包含查看帐户详细信息,这可能是正确的,但这并不符合您要模拟的内容。)
对此进行建模的方法是将包含更改为扩展。这意味着,虽然您始终可以查看帐户详细信息,但您也可以编辑或不编辑它们。在这种情况下,作为扩展视图用例的结果,Agent actor也将与视图交互但仅间接与编辑交互。
因此,更改include以扩展,并删除代理与编辑用例之间的关联栏。
页。秒。如果你不喜欢为Repository actor设置一个人,你总是可以用<<<<<<演员>>它上面的刻板印象。