Software Requirements
Are (as recommended by ISO/IEC):
- Clear
- Correct
- Unambiguous
- Specific
- Verifiable
Each has:
Requirements can use domain specific language such as Fund, Stock, Bond, Insurance Policy but not table or column.
User Story
Always from a users perspective (typically by an analyst):
The user places an order; the system verifies the order and accepts it if all is fine
Normally in the format: As a [user type], I can [do something], so that I [can have this benefit]
Use Case
More detailed, describes all actors interaction with the system. An actor can either be human or machine (typically by the architect):
The user creates an order and specifies a date, a shipment date, customer information, and order items. The system validates the information, generates the order ID, and saves the order to the database.
User stories describe what the system will do, use case describes how it does it.