询问UML中的“包含”

时间:2013-09-29 08:22:39

标签: uml use-case

我的老师设计了一个关于管理学校的数据库的UML。它有3个演员,很多用例:

Student : See their information, see grade.
Teacher : Input grade of student.
Office : Manage information of student, order grade of student.

所有演员都必须登录(用例)。 他这样做:

See their information ---include--> login
See grade ---include--> login
Input grade of student ---include--> login
Manage information of student ---include--> login
Order grade of student ---include--> login

我认为这是错误的。因为,遵循理论,包含用于显示用例如何分解为较小的步骤。所以:

See their information <--include--- login
....
....
Order grade of student <---include--- login

你认为什么是对的,好吗?

2 个答案:

答案 0 :(得分:1)

您的箭头应指向从较大用例到较小用例的方向(主要用例到主要用例的一部分)

在这种情况下,当学生想要查看他们的成绩或他们的信息等时,他们必须登录 - 所以,这些用例'包括'登录用例,所以你的老师是正确的。

您的版本意味着当演员登录时,他们必须查看他们的成绩并查看他们的信息等没有任何意义。

答案 1 :(得分:0)

他是对的。但是,这是一个不好的例子,因为“登录”太细粒度而不是它自己的用例(并且很可能是其他任何用例都需要的)。您可以在stackoverflow上找到许多关于include / extend的线程,标记为“用例”。