Use cases are a tool for software developers to communicate how the system meets the customer s business requirements. The use case documents the business process that the software solution is designed to support. Software developers must be able to map the specific features and functionality of the system to the use case. This mapping allows developers to relate requirements to system functions to prove that the system meets the requirements of the system. If the software solution cannot be effectively mapped to the use case, then the software solution does not meet the business requirements.
Use cases prove their worth when several things happen upon completion of the software solution.
First, the customer, upon seeing the use cases again, agrees that the use cases properly describe the business process to be supported. Second, the software developers can show exactly how the system explicitly supports that business process. Third, the customer agrees that the system supports the business process as expected. We never have had this process documented so well and it would really help to train our staff. The use case definition provided above mentions that a use case must accomplish a business goal.