The Agile Unified Process
Before the iterations, there is a “plan and elaborate” phase
- motivation, business needs, alternatives
- requirements elicitation and specification
- feasibility study
- use cases and use case diagrams
- requirements and use cases traceability matrix
- draft conceptual model
- schedule, resources, budget
Steps of the Unified Process
- Identifying requirements
- Deriving use cases to satisfy the requirements
- Allocating use cases to increments
- Carrying out each increment
4.1) Use case modeling
4.2) Domain modeling
4.3) Interaction modeling
4.4) Derive design class diagram
4.5) Implementation and deployment
What Is a Use Case
- A use case is a business process.
- A use case is initiated by (or begins with) an actor.
- A use case must accomplish a business task (for the actor).
- A use case must end with the actor — the actor explicitly or implicitly acknowledges the accomplishment of the business task.
What Is an Actor
- An actor denotes a business role played by (and on behalf of) a set of business entities or stakeholders.
- Actors are not part of the system.
- Actors interact with the system.
- Actors are often human beings but can also be a piece of hardware, a system, or another component of the system.
- Actors initiate use cases, which accomplish business tasks for the respective actors.
Use Case Specification: 3 Levels of Abstraction
We specify use cases at three levels of abstraction:
- Abstract use case: using a verb and a noun phrase
- High level use case: stating exactly when and where the use case begins and when it ends using TUCBW/TUCEW (This use case begins with/This use case ends with)
- Expanded use case: describing step by step how the actor and the system interact to accomplish the business task using a two column table
Steps for Use Case Modeling
- Deriving (abstract) use cases from requirements
- Describing when and where each use case begins and when it ends (high level use cases).
- Depicting use case contexts according to subsystems/aspects using Use Case Diagrams.
- Relating use cases, and actors if desired.
- Specifying step by step how actor and system interact to accomplish the business task (for the actor) (expanded use cases).
Steps 1)-4) are performed during the planning phase. Step 5 is performed during each increment.
Deriving Use Cases from Requirements
In the requirements specification, look for verb noun phrases or verb-nouns that indicate
- “do something”
- “something must be done” or
- “perform some task”
in the application domain.
Verify the verb noun phrases using use case definition (next slide)
Verify the Use Cases Identified
Verify the use cases identified using use case definition:
- Is it a business process? y/n
- Is it initiated by an actor? y/n
- Does it end with the actor? y/n
- Does it accomplish something useful for the actor? y/n
All of the answers to the above questions must be “y”.
Identify Actor, System, & Subsystem
From the requirements, identify also
- the actors, who initiate the tasks, or for whom the tasks are performed
- the system or subsystem that the use case belongs to