Intro: Use Case and Use Case Diagram Documentation. Use Case. A use case is a contract of an interaction between the system and an actor . Use Case Diagram: an integration of use cases. Use Case Diagram.
A use case is a contract of an interaction between the system and an actor.
Use Case Diagram: an integration of use cases
A use case diagram illustrates a set of use cases for a system, the actors, and the interactions between actors and use cases.
A graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.
Lack of ambiguity
- Each requirement must be interpreted in a single manner.
- The collection of all use cases is everything that can be done to/with the system.
- Requirements should not conflict with each other. If there are, tradeoffs must be detected and discussed.
- Requirements should raise a need, not answer it.
Define hierarchy for actors
The child actor inherits all use-cases associations
Should be used if (and only if), the specific actor has more responsibility than the generalized one (i.e., associated with more use-cases)
Decomposing complicated behavior
Centralizing common behavior
the behavior of the included use case is inserted into the behavior of the including use case - The first use case often depends on the outcome of the included use case.
the behavior of the extension use case may be inserted in the extended use case under some conditions
Note the direction of the arrow
The base use-case does not know which use-case extends it
use case may have common behaviors, requirements, constraints, and assumptions with a more general use case.
Hint - Actors: Phones, Phone Companies
The success scenario is the main story-line of the use-case
• Assumption: everything is okay, no errors or problems occur, and it leads directly to the desired outcome of the use-case
• It is composed of a sequence of subflows
Step 1: Administrator enters course name, code and description (interaction)
Step 2: System validates course code
Step 3: System adds the course to the db and shows a confirmation message (interaction)
“Get the amount form the user and give him the money”
“User click the enter key”
Starting with an overview of the system, and then splitting Use-cases
Starting with throwing all scenarios on the page, and then combining them:
Most of the analysis process are actually combined
---- If the dependency between two parts of a use-case is weak, they should be divided.
- split using include/exclude