Hi Sakkarin,
It might help if you consider that there are multiple different specifications that you have to adhere to. If you were working in a larger organization, you might have one team work on the database, another work on the server, and another work on the GUI (or perhaps multiple teams for multiple user interfaces - Swing, Web, Web Services ...). Since there are multiple teams (or mini-assignments) then each team will have their own requirements to fulfill, and it is possible that the team working on the database may have different requirements (hopefully less restrictive) than those teams working on client interfaces.
The specification for the Database team says that if you do a search on "Fred", then "Fred", "Fredy", and "Fredo" will all be returned.
However the specifications for the Swing team says that only an exact match should be displayed - so the Swing team will have to discard the "Fredy", and "Fredo" responses as they are outside of the original search parameter.
Some candidates search the entire database first, and only allow the user to select "Fred" or "Fredy" from a list - I will let you think of benefits and problems with this approach on your own before taking it further
.
I mentioned before that it might help to think of the specs as written for three teams. Another popular way of thinking of the specs is that they were written to simulate typical semi-clueless customers. Sun have actually agreed with that statement in the past
.
Regards, Andrew