A use case describes interactions between an actor and a system to achieve a goal. It represents a discrete unit of functionality provided by the system. The key components of a use case include the actor, system boundary, and use cases within the boundary. An actor can be a person or external system. A use case should be written from the perspective of the actor and describe the measurable value or objective the actor wants to achieve through their interaction with the system. Use case diagrams are used during requirements gathering and analysis to identify the functional scope of the system and external factors that influence it from the viewpoint of users, not developers.