Are there any tips for knowing what is and is not a use case?
Use cases are used to identify and record the functional requirements of the system. Use-case diagrams assist communication between analysts and the system, describing the scenario with the functionalities.
The Use-Case diagram is represented by:
- actors;
- use cases;
- relationships between these elements.
These relationships can be:
- actor associations and use cases;
- generalizations among the actors;
- generalizations,
extends
and includes
between use cases.
In the example above, the "3. Make Payment" use case would be part of the "2. Order" use case?
In your diagram, 3 is part of 2. include
is right. That's what it's for.
For you to understand better, the UFCG website has this explanation:
- Include : A
include
relationship of a use case A for a use case B indicates that B is essential for the behavior of A.
It can also be said that B is_part_of A.
-
Extend : A extend
relationship from a use case B to a use case A indicates that use case B can be added to
describe the behavior of A (not essential). Extension is
inserted at an extension point of the use case A. Extension point
in a use case is an indication that other use cases may
be added to it. When the use case is invoked, it
whether or not your extensions are invoked. When if
specifies B extends
A, the semantics is:
- Two use cases are defined: A and A extended by B;
- B is a variation of A. It contains additional events, for certain conditions;
- Must be specified where B is inserted in A.
Use-case utility
Although simple, they are useful from communication with the customer to the generation of test cases. That's because, they do not require technical knowledge and the customer can understand the diagram effortlessly. In addition, new usage cases generate new requirements and the merging of all scenarios is used to suggest testing for each scenario.
References: