A formal method of describing the proposed interactions, between the system and its users, to achieve user goals.
A use case is generally the foundation for a system function.
Use cases can be described at different levels of detail – as diagrams, narratives and detailed logic. Sequences of related use cases form user scenarios.
Use cases are used throughout the development lifecycle to
- identify required functions
- capture essential business rules
- define complex processing logic
- specify required interactions
- identify backend integration requirements
- provide background for logical database design
- estimate development work
- define user acceptance tests
Use case analysis helps to define the logical order of interactions and dependencies between functions. However, because use case analysis doesn't consider human factors, it should be used together with other techniques for interaction design.