Hi!
I can think of many business rules, but am unsure as to which I should implement. The specifications say I should not do more than is asked, but there are certain things the specifications "asks" in a manner which it does not explicitly require with a "must".
For instance, the specifications mention that the customer id is an 8 digit number, but it does not qualify that with a "must implement" of any sort. A subtler, yet much larger issue, is as follows:
1. A client locks, retrieves, and unlocks a certain record.
2. A second client locks, retrieves, unlocks, locks, books, unlocks (i.e. retrieves and books
) the same record.
3. The first client still displays the record as vacant, and so, the CSR books the already-booked record... how should the server react?
Unlike the customer id issue, the specifications does not even mention this. Yet this is such a huge issue that it's hard for me to just glaze over. After all, this could easily happen in real life, and a customer is suddenly out of a room. Being so hard to ignore, I implemented did implement this business rule - before booking, I check whether or not the record is vacant (if the 'owner' field is all blanks, as specified), and notify the user with a JOptionPane if it was already booked. Then again, the specifications did indeed not mention this; however, it does explicitly mention that implementing extraneous things may result in point deductions.
What are you guys' thoughts on this whole business rule issue in general, as well as these two specific cases? As always, your help is greatly appreciated!