Capturing the Requirements as Use Cases
- Requirements Description
- The artifacts created in the requirements workflow
- The workers participating in the requirements workflow
- The requirements capture workflow activities.
- Workers and artifacts involved
responsible for
- Use-Case Model
- Actor
- Glossary
responsible for
- Use Case
responsible for
- User-Interface Prototype
responsible for
a) Architecture description
- Artifacts
- Artifact: Use-Case Model
- The system's functional requirements
- The conditions or capabilities to which the system must conform
- Agreement between the customer and the developer
- Essential input for analysis, design, and testing
- Artifact: Actor
- Actors represents parties outside the system that collaborate with the system.
- Actors correspond to workers and/or business actors in a business.
- An actor plays one role for each use case which it collaborates.
- An instance of an actor is a specific user interacting with the system.
- Artifact: Use Case
- A use case represents each way the actors use the system
- A use case is a chunk of functionality that the system offers to add a result of value to its actors.
- A use case specifies a sequence of actions, including alternatives of the sequence, that the system can perform, interacting with actors of the system.
- Use-case instance
- A use case specifies the behavior of dynamic use-case instances or a scenario of use of the system.
- A use-case instance is the performance or execution of a use case.
- A use-case instance interacts with an actor instance.
- A use-case instance does not interact with another use-case instances
Flow of Events
For each use case
It can be captured as a separate textual description of the use case's sequence of actions.
It specifies
what the system does when the use case is performed, and
how the system interacts with the actors when the use case is performed.
It describes a set of sequences of actions.
Special Non-functional Requirements
- Artifact: Architecture Description
- An architectural view of the use-case model.
- It depicts the architecturally significant use cases.
- An architecturally significant use case
- has some important and critical functionality, or
- involves some important requirement
that must be developed early in the software's life cycle.
- The architectural view is used as input when use cases are prioritized to be developed within an iteration.
- Artifact: Glossary
- To define important and common terms used by analysts to describe the system
- Useful in reaching a consensus among developers
- Regarding the definitions of various concepts and notions, and
- Reducing the risk of misunderstandings
- It can be derived from a business or domain model
- It is more focused on the system to be built instead of the system's context.
- Artifact: User-Interface Prototype
- Help understand and specify the interactions between human actors and the system.
- One user-interface prototype for each use case.