Use-Case Overview • Objectives of requirements capture – Identify true requirements – Suitable representation for users, customers, developers • Why use-case? – Systematic and intuitive means of capturing functional requirements – Drive the whole development process • Definition of use case – Specification of a sequence of actions, including variants, that the system can perform and that yields an observable result of value to a particular type of users (actor)
Capturing Use Cases • Use case model represents the functional requirements – From users’ perspective (fig. 3. 3) – Focus on interactions of the system with environment (actors) • Use cases also used as “placeholders” for nonfunctional requirements
Example
Creating Analysis Model From Use Cases • Analysis model constructed incrementally as more use cases analyzed – Select use cases to be realized in analysis model – Build system as a structure of classifiers (analysis classes) and relationship between them – Describe collaborations that realize use cases – Pick next set of uses cases for the next iteration
Example
Evolution of Analysis Model
Describing Use Case Realization Using Collaboration Diagram
Use Case Realization - Traceability
Use Case Realization in Different Models Serve Different Purposes
Use Case Realization In Terms of Design Classes
Realization of Use Cases - Dynamic Model for Design Classes (Compare with Fig. 3. 6)
Managing Complexity Grouping Objects Into Subsystems