Skip to main content
43 votes
Accepted

Clean Architecture - Too many Use Case Classes

Do I really have to make 24 use cases? Only if everything you write is CRUD. Refer to the diagram below: Your assertion is that you will have six different entities, and 4 methods (Create, Read, ...
Robert Harvey's user avatar
33 votes

My use case diagram is a mess. What can I do?

The biggest problem that I see is the wrong level of abstraction. First, I'd remove the things that aren't use cases. A use case describes a goal that an actor has. "Log In", "Two-...
Thomas Owens's user avatar
  • 85.9k
31 votes

Clean architecture - How do I deal with use case reuse?

A use case is not a method. A use case is not an object. A use case is not a layer. A use case is a story about a user, using the software, in a particular case. So it should come as no surprise ...
candied_orange's user avatar
20 votes

My use case diagram is a mess. What can I do?

Two approaches might help you: Don't try to cram several use cases into one diagram - instead, create individual diagrams where each shows only one (main) use case. This will make it a lot clearer ...
Doc Brown's user avatar
  • 220k
13 votes
Accepted

Creating sequence diagrams for use cases

UML diagrams are supposed to be useful to the people building and maintaining a software system. Sequence diagrams and class diagrams serve different purposes, so they can have different information. ...
Greg Burghardt's user avatar
10 votes

Separation of application logic and domain logic in Clean Architecture

You don't need a one-to-one mapping of interactors and entities. I believe such a design would be harmful. DDD is all about context boundaries and the ubiquitous language within those boundaries. ...
bitsoflogic's user avatar
10 votes

Creating sequence diagrams for use cases

It's not strictly required to have the objects and calls on a sequence diagram strictly match classes and methods on a class diagram. The Agile Modeling introduction to UML sequence diagrams page and ...
Thomas Owens's user avatar
  • 85.9k
9 votes
Accepted

When "Log in" should be a use case and when not?

First, you need to specifically define what a "use case" is. At the most basic level, a use case is a set of system behaviors that products a result for one or more actors. However, some ...
Thomas Owens's user avatar
  • 85.9k
9 votes

Can systems have only one use case?

Yes, systems can have just one use case. That is quite normal for systems with very specialized, automatic tasks and no human user. This reveals, however, that for such kind of systems, "use case ...
Doc Brown's user avatar
  • 220k
9 votes
Accepted

Clean Architecture: Use case spanning multiple UI elements

OK, I think you you have a few misconceptions about the architecture itself and that this is tripping you up, so let me try to sort that out. So, domain behavior (the business logic of the application)...
Filip Milovanović's user avatar
7 votes

In Hexagonal Architecture, can a UseCase call another UseCase?

Reading the whole text of the question, title should be: "Can my use case implementation call a use case of another remote application (hexagon)?" The answer is yes. You should create a driven port ...
choquero70's user avatar
7 votes
Accepted

Why Don't We Add `Attributes` To Use Case Diagrams?

When talking about Use Case Diagrams, I like to make sure to mention one or two quotes from Martin Fowler's UML Distilled: The best way to think of a use case diagram is that it's a graphical table ...
Thomas Owens's user avatar
  • 85.9k
7 votes
Accepted

If logging in is not a Use Case, then what is it and where do I describe it?

I'm not aware of any good argument for "logging in" to be considered a use case. Looking at Alistair Cockburn's Writing Effective Use Cases, this is the definition of a use case: A use case ...
Thomas Owens's user avatar
  • 85.9k
7 votes

Use Cases in Clean Architecture, in Requirements Specifications from Software Engineering and Use Case Diagrams in UML

In short In the general sense, use-cases are meant to focus on user objectives and answer the question: "why would a user use this system? And for what purpose?". They therefore focus on ...
Christophe's user avatar
  • 82.2k
6 votes
Accepted

Understanding use case levels

This terminology was introduced by Alistair Cockburn in his book Writing effective use cases. The idea is that the sea level corresponds to the concrete goals of a business user in his everyday life....
Christophe's user avatar
  • 82.2k
6 votes

Is it feasible to use User Stories and Use Cases in the same team?

What's a use case ? Let's look at the definition of Ivar Jacobson, the guy who invented the concept before UML even existed: A use case is all the ways of using a system to achieve a particular goal ...
Christophe's user avatar
  • 82.2k
6 votes
Accepted

Use Case Diagram: Too many <<include>> relationships

Is it about the use case diagram ? Use case shall give the big picture of the system under consideration, by showing what it is used for and how it brings value to the actors in its environment. The &...
Christophe's user avatar
  • 82.2k
6 votes

If a user delivers a file as input for a use case, what is the actor : the user or the file

Actors should generally be people, or rather the business role the person is in. Applications can be actors, but normally this is when they are doing something like a scheduled task. Ie. behaving ...
Ewan's user avatar
  • 84.4k
6 votes
Accepted

When should you use nested subsystems inside usecase diagrams?

The problem with your diagram Your diagram does nor represent what you think. It represents packages containing use cases, and no systems nor sub-systems. Packaging means that the use-cases ...
Christophe's user avatar
  • 82.2k
6 votes
Accepted

Can I make a separate use case and class diagram for each module?

Use case diagrams describe the whole systems behavior of how it interacts with the outside actors. These are documents1 made during the requirement analysis phase, and done independently (and before) ...
πάντα ῥεῖ's user avatar
6 votes

TDD: testing an abstract class. Test all concrete classes or create mock sub-class to test the behavior?

Take a step back and look at your context: as an application programmer who has access to all concrete subclasses of that abstract class, it will be usually sufficient to write tests for those ...
Doc Brown's user avatar
  • 220k
6 votes
Accepted

Required sequential actions in use case diagram

What you are doing (and it's a typical mistake at the beginning) is decomposing how to execute a single use case as "smaller use cases". As a result you're getting a messed diagram with a ...
Ister's user avatar
  • 859
6 votes

Problem with use case diagram

This use case diagram isn't what I would consider correct. First, Login isn't a use case. Use cases capture goals that an actor has when interacting with a system. Although logging in (and other forms ...
Thomas Owens's user avatar
  • 85.9k
6 votes

use case relationship generalization

It is perfectly legit to have a generalisation between use cases. The generalisation arrow should then be a big hollow triangle: But generalisation makes only sense if the more specialized case is ...
Christophe's user avatar
  • 82.2k
5 votes

Use Case Diagrams - Are all use cases conducted by an outside user?

A use Case should always have an Actor that starts it off. That Actor need not be a person, it could be another system outside the boundary of the one being modelled. Something that just happens ...
Simon B's user avatar
  • 9,782
5 votes

When "Log in" should be a use case and when not?

In short Use-cases mean different things to different persons. For the Use-Case community it's user goals. For UML, a use case is a behavior with user interactions and observable results of value ...
Christophe's user avatar
  • 82.2k
5 votes
Accepted

User story - Discussing the secondary actors of a use case

User stories generally don't include implementation details. They aim to capture the functionality the user is looking for: As a customer, I want to be able to view the catalog of items for sale As a ...
mmathis's user avatar
  • 5,586
5 votes
Accepted

use case diagrams - need we add validations?

I don't think it would appear in a use case diagram. Although a use case is a series of steps in an interaction between a user and the system, the thing that appears in a use case diagram is really ...
Thomas Owens's user avatar
  • 85.9k
5 votes
Accepted

Association between actors in use case

No, this is not a valid use case diagram. Actors interact with use cases and not with other actors. Alternatives: Clerk is associated with Create order and you do not show the Customer, because the ...
Christophe's user avatar
  • 82.2k
5 votes

How to draw a use case digram for a autonomous system?

Actors in a use case diagram (or when identified in textual or tabular representations of use cases) do not need to be humans. Other systems can also be actors. The system can also be an actor that ...
Thomas Owens's user avatar
  • 85.9k

Only top scored, non community-wiki answers of a minimum length are eligible