A use case describes what a system does but it does not specify how it does it. It represents a quite detailed set of actions performed by an actor (either a human or a device) to yield an observable result of value. Use cases constitute the functional requirements of a system and drive its architecture.