Let's take the example of logging in and add item as two use case of an items management system. the requirements of the client are : (he needs/wants to : )
- Gain legitimate access to the resources of the system;
- Add Item (create one).
we also know that no unauthenticated user should use the system !
My questions are :
1) Is "Gain Access" a use case ? A precondition to other use-cases ? Or Both ? (knowing that by naming the use-case "Gain Access" and not "Logging in" I wanted to highlight the need rather than the solution to that need.
2) if "Gain Access" is a use-case, does the "Add Item" use-case includes the "Gain Access" use-case ?
Of Use Case Dependencies :
Sequential Dependencies
A use case precondition reflects a sequential dependency between use cases.
Use case B with precondition C can only start after use case A has produced C as a post-condition. Use case B is executed after use case A; their connection is asynchronous.
Functional Dependencies
In contrast, an include relationship reflects a functional dependency between use cases.
When use case A has an include relationship to use case B, it means that the functionality of use case B is part of the overall functionality of use case A. Use case B is executed as part of use case A; their connection is synchronous.
https://www.batimes.com/articles/use-case-preconditions-a-best-kept-secret.html