Question Details

No question body available.

Tags

design uml modeling use-case

Answers (3)

Accepted Answer Available
Accepted Answer
October 9, 2025 Score: 6 Rep: 85,916 Quality: Expert Completeness: 50%

There are two aspects: the documentation of the use case and the UML Use Case diagram. The UML only specifies the Use Case diagram. My preference is to focus on textual and tabular representations of the use cases and minimize my use of Use Case diagrams, which is something also recommended by Martin Fowler.

My initial thought would be to create a single use case, and "Manage Offer" is a good name for it. The "happy path" of accepting an offer would likely be the "Accept an Offer" path. Rejecting offers and making counteroffers would be variation scenarios or extension paths.

Depending on the complexity of the flows, I would consider splitting out the extension flows. Extension flows, at least in Cockburn's templates, don't necessarily require the steps to be enumerated within the use case. The extension could refer to another use case table by name.

If I had to create a Use Case diagram, the use cases that I'd include depend on the complexity. A comprehensive Use Case diagram would consist of not only the primary use cases (such as "Manage Offer"), but also the sub-cases using extend and include relationships as necessary. But this could make the diagram more difficult to read. If including the sub-cases made the diagram too noisy or cluttered, I'd drop them in favor of the top-level use cases only. This allows the diagram to, essentially, serve as a map to the tabular structures that document the details of the use cases.

October 12, 2025 Score: 2 Rep: 82,373 Quality: Low Completeness: 20%

The main goal of the actors of your system seem to be to manage offers. This is therefore an excellent candidate for the UML use case diagram that gives the big picture.

You have identified three ways to manage the offer. These are specializations of the more general use case. It's not extensions nor inclusions, but different ways to do it. Maybe later on, you'd find still other ways. In UML you could show it with inheritance. Preferably keep the big picture simple and without these details; use a second use-case diagram aiming for highlighting these details, following the advice of Booch, Rumbaugh and Jacobson in their "UML user's guide" (they invented UML, so they should know how to best use it).

By the way, while standard UML fully supports generalization/specialization between use-cases, Cockburn uses his own term of "Generic use case" for achieving something similar.

October 9, 2025 Score: -4 Rep: 49,577 Quality: Low Completeness: 0%

First use case: Choose an action.

Three more use cases: First action, second action or third action.