The goal is to build a (very simple) computerized dating system. Users will be members of the dating service, which will allow them to ask for dates. They will choose from a set of allowable preferences, and the system will try to find someone belonging to the service who matches the preferences.
An administrator will be able to add new members and delete members. Each member will have a set of characteristics that he or she can change at any time.
When a user of the system logs on by giving his or her name, the system will determine if it is the administrator or a dating member. If it is a member, it will present the member options, which are to get a date or set the person's characteristics. If it is the administrator, the system will present the two options of deleting or adding a member.
If someone tries to log on who is not a member or the administrator, the system will give an error message and return to the initial state, from which the user can start up the dating system or end the session.
The user will interact with the system through a GUI. It will consist of a sequence of dialog windows that appear in response to a users action. In general, the user will indicate that some requested input has been completed, or some information has been read, with an OK button.
After completing some allowable option for a member or the administrator, the system returns to an initial state where the user can repeat his or her use of the system, or end the session.
For this product, we will assume there is only one copy of the system, and the user of it must be on the workstation on which it is implemented.
Special Additional Features:
1. Frequent
Datee Warning. If a date is selected who has been
selected many times, the
dater is warned with a frequent datee warning.
The system then continues.
2. Short Circuit.
The system will have a special hidden feature put in by
the builder which works
as follows. Whenever a member with a certain
name asks for a date, it
always returns the builder's name, and reports
the builder as a datee having
the preferences listed by the member,
regardless of what they
are.
In our simple system, members will have the following characteristics
gender: M or F
motivator: money,
religion, power, sex
occupation: [any string]
When selecting a date, member can name values for the first two attributes. If a match is found, the system will give the user the name that additional characteristics (in this case, occupation) and the email address for the match.