我正在做一个大学项目。我有以下问题。这是一个发布系统的用例图。如您所见,其中存在混乱。我不确切知道如何以及在何处使用扩展-包含关系。以及如何使用继承 UC。是否应该从主 Report-UC 扩展所有报告?我们在哪里可以有包含-扩展关系?
问问题
5155 次
1 回答
3
警告
“用例”通常以动词开头,表示一个动作。
快速简短的回答
也许,您可能想坚持标准的“用例”。
“继承”和“包含”可能会有所帮助,但也可能会让您更加困惑。
冗长的无聊答案
1. 继承
您的发布系统中有多个用户。其中一些用户由不包括在内的通用“用户”表示,需要登录系统。
例如,您可能有一个通用的“管理员”有权执行某些操作,而您的“经理”演员和您的“责任”演员从他那里继承。
o
-+-
|
/ \
"Administrator"
^ ^
| |
| "inherits" | "inherits"
| |
o o
-+- -+-
| |
/ \ / \
"Manager" "Responsible"
这些参与者共享几个用例,但没有完全相同的用例。
“继承”更集中在“演员”(“人”),而不是“用例”(“泡泡”)。
2. 扩展/包含
“扩展/包含”更侧重于“用例”,而不是“参与者”。
这种情况需要几个可能独立的“用例”,以及其他需要独立的组合“用例”。
您可能有一个“与作者签订合同”用例。该用例包括更多其他用例:
2.1 “与作者签订合同”,这是一种手动操作,而不是计算机操作。
("Make a Contract with the Author") --includes--> ("Deal the Contract with the Author")
2.2 “登录系统”,即系统中的一个模块,可以包含在其他用例中,并且是独立的。
("Make a Contract with the Author") --includes--> ("Login into the System")
2.3 “向作者注册合同”,这是系统中的一个模块,需要“登录到系统”用例,其中合同数据被捕获。
("Make a Contract with the Author") --includes--> ("Register the Contract with the Author")
概括
我学习了不包含“继承”或“扩展/包含”的“用例”图的第一个 UML 版本。后来,我发现了如何使用它们。
作为家庭作业,您的项目是否需要实施它们?
于 2012-07-12T20:09:40.660 回答