The history of our application begins with a hypothetical person, which loves cats. This person owns a clowder, and he/she would like to get feedback about them from the external world. For that reason, this person (we can him/her our client from now on) contacts with us to implement a web application which satisfies his/her needs. The name for that application will be "Rate my cat!". In a conversation with the client, we elicit a following list of features for the application to be developed:
- F1: Each user shall rate a list of cats by watching its name and picture.
- F2: The rate shall be done once per user using a star mechanism (from 0.5 to 5 stars per cat) and optionally comments could be included per cat.
As part of the analysis phase in our development process, those features are refined as a list of functional requirements (FR) as follows:
- FR1: The application presents a list of cats (composed by name and picture) to the end user.
- FR2: Each cat can be rated individually.
- FR3: The range for rating cats is an interval from 0.5 to 5 (stars).
- FR4: Optionally to the numeric rate per cat, users shall include some comments.
- FR5: Each end user only shall rate each cat (comments and/or stars) once.