我的老师设计了一个关于管理学校的数据库的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
你认为什么是对的,好吗?
答案 0 :(得分:1)
您的箭头应指向从较大用例到较小用例的方向(主要用例到主要用例的一部分)
在这种情况下,当学生想要查看他们的成绩或他们的信息等时,他们必须登录 - 所以,这些用例'包括'登录用例,所以你的老师是正确的。
您的版本意味着当演员登录时,他们必须查看他们的成绩并查看他们的信息等没有任何意义。
答案 1 :(得分:0)
他是对的。但是,这是一个不好的例子,因为“登录”太细粒度而不是它自己的用例(并且很可能是其他任何用例都需要的)。您可以在stackoverflow上找到许多关于include / extend的线程,标记为“用例”。