Use cases describe interactions between systems and users or other systems in order to achieve a goal. They are written from the perspective of a user and outline the steps required to complete a particular task or function. Use cases help ensure software meets requirements by validating functionality and driving development and testing.