首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用例图:包含的用例必须由基本用例触发吗?

用例图:包含的用例必须由基本用例触发吗?
EN

Stack Overflow用户
提问于 2021-03-23 07:08:57
回答 2查看 378关注 0票数 3

如果我调用了一个参与者,例如“创建缺勤”,并且每当该参与者创建缺勤时,他们都需要"Search “,那么使用包含关系来建模这个过程正确吗?

这是在包含的所有解释中并不清楚的事情,所包含的用例是否必须由基自动触发,或者是否可以用来显示每次创建缺勤时,用户总是会搜索员工。

或者,这两者是否应该被建模为被调用的参与者,并且没有包含它们之间的关系?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-23 08:27:33

这一标准是明确的,“正式/2017-12-05”第18.1.3.3节包括第641页:

DirectedRelationship是两个UseCases之间的一个UseCase,指示将包含的UseCase (加法)的行为插入到包含UseCase( includingCase)的行为中。在恢复包含UseCase的执行之前,在包含的UseCase中的单个位置执行包含的UseCase的所有行为。

因此:

  • does the included use case have to be triggered automatically by the base:是的,即使这样说也不完美,因为包含的UC不是被触发的,而是它的行为被插入的。
  • can it be used to show that every time an absence is created the user will always search for an employee:不,如果UC创建缺勤包括UC搜索员工,那么用户将不搜索,而是搜索期间。
  • is it correct to model this using an includes relationship?:那就不行
  • Alternatively should both of these be modelled as actor invoked and with no includes relationship between them?:是的,请注意,您可以在UC中设置一个职位条件,表示演员必须搜索员工。
票数 3
EN

Stack Overflow用户

发布于 2021-03-23 22:06:44

请停止谈论被触发或调用的用例。用例描述了将系统用于某一特定目的的情况。触发或调用的只能是系统的功能。用例帮助我们找到这些功能。如果使用锤子将板条箱钉在一起,则不会在锤子上调用nail crate together用例。而是调用store kinetic Energy函数、aim hammerhead函数和transfer energy to object函数。通过分析用例,我们发现钉子经常会弯曲,所以我们可能会发现有一个pull nail函数是有用的。

因此,search for employee是一个函数,是用例create absence所需要的。很可能,其他用例也需要这个功能。在不止一个用例中需要许多功能。例如,当您想打开一个机箱时,pull nail函数就派上了用场。

因此,只有当我找到两个有效的用例时,我才会使用include,其中第一个用例的目标包含在第二个目标中。并且只有当包含的用例值得分析时。否则,只需引用函数即可。您已经有了一个描述需求的用例。

顺便说一句,在用例的上下文中,UML规范总是提到“行为”。请注意,在讨论行为的概念时,它将用大写"B“写”行为“。这意味着在这里,它更多地是在口语化的意义上使用。所以,我不会把关于include的句子解释为定义它的精确语义。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66758654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档