0

我正在做一个大学项目。我有以下问题。这是一个发布系统的用例图。如您所见,其中存在混乱。我不确切知道如何以及在何处使用扩展-包含关系。以及如何使用继承 UC。是否应该从主 Report-UC 扩展所有报告?我们在哪里可以有包含-扩展关系? 在此处输入图像描述

4

1 回答 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 回答