0

I am working on a university project. I have the following issues. this is a publication system's use case diagram. as you see there is a confusion in it. I don't know exactly how and where to use extend-include relations. also how to use Inheritance UCs. should all the reports be extended from a main Report-UC ? and where could we have include-extend relations ? enter image description here

Mehdi Hosseini
  • 1,937
  • 1
  • 18
  • 29

1 Answers1

3

Warning

"Use Cases" usually start with a verb, indicate an action.

Quick Short Answer

Perhaps, you may want to stick to standard "use cases".

The "inheritance" & "include" may help, but, also may confuse you more.

Long Extended Boring Answer

1. Inheritance

You have several users in your publishing system. Some of those users, are represented by a generic "User" that is not included, that requires to loggin into the system.

For example, you may have a generic "Administrator" that has rights to do some operations, and your "Manager" actor & your "Responsible" actor, inherit from him.

 o
-+-
 |
/ \
"Administrator"
 ^             ^
 |             |
 | "inherits"  | "inherits"
 |             |
 o             o
-+-           -+-
 |             |
/ \           / \
"Manager"    "Responsible"

These actors share several Use Cases, but, doesn't have exactly the same use cases.

The "inheritance" is more focused in the "Actors" ("people"), not the "use case" ("bubles").

2. Extend/Include

The "Extend/Include" is more focused in the "Use Case", not the "Actors".

This situation require several "use cases" that may be independent by themselves, and other composed "Use Cases", that require the independent ones.

You may have a "Make a Contract with the Author" Use Case. That Use Case, includes, more aditional Use Cases:

2.1 "Deal the Contract with the Author", that its a manual operation, not, a computer action.

("Make a Contract with the Author") --includes--> ("Deal the Contract with the Author")

2.2 "Login into the System", that is a module in the system, that can be included in other Use Cases, and its indepedent by itself.

("Make a Contract with the Author") --includes--> ("Login into the System")

2.3 "Register the Contract with the Author", that is a module in the system, that requires the "Login into the System" Use Case, where the contract data is captured.

("Make a Contract with the Author") --includes--> ("Register the Contract with the Author")

Summary

I learnt the first U.M.L. version of "Use Case" diagrams that didn't include "inheritance" or "Extend/Include". Later, I found out, how to use them.

Does your project, as a homework, require to implement them ?

umlcat
  • 4,091
  • 3
  • 19
  • 29