User Level Definition
In order to commend users for their efforts, success, and progress with each Study Buddy, awards are given for various accomplishments. Such accomplishments range from scoring a perfect score for a particular quiz, to reaching the top ranking on the Leader Board.
Users will be able to view all the awards they have collected, as well as the accomplishments for which they were awarded.
System Level Specification
Function: Determine which award(s), if any, are to be awarded to a user
Description: For each award, determine if the user meets the requirements to receive it. If so, then the award is given to the user. If not, then it will continue to be available until the user meets the requirements.
Inputs: User's statistics, including scores for individual Study Buddies, total number of points, as well as any rankings on the Leader Board
Outputs: Set of all awards, in which the requirements are met by the user
Action: For each award, compare the requirement(s) with the corresponding user information or statistics. If the comparison returns true for all requirements, then the award is added to the user's collection of awards. In this case, the award will also be removed from the set of all available awards, so as to ensure that users don't receive the same award twice.
Pre-condition: The set of available rewards is not empty.
Post-condition: Both the set of available awards, and the user's awards collection will be updated pending the results of the series of comparisons.