This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I am beginning the Bodgitt and Scarper assignment and I have a couple of questions regarding the (end-user) GUI functionality. 1. It states in the Background section that the customer service representatives "take requests from home owners for a type of service, and offer the homeowner one or more contractors that provide the required services..". However in the GUI requirements it states that the system "must allow the user to search the data for all records, or for records where the name and/or location fields exactly match values specified by the user". Does this mean that the GUI does not have top provide functionality whereby the user can search by service, e.g. search for painters, even though it suggests in the background section (see above) that this functionality would be important? 2. To book a record it seems that the id of the customer is stored against the record. If this is correct is it true that a customer cannot book a contractor for a certain date e.g. the customer cannot book a contractor for between the 25th to the 27th of August 2003 - i.e. once a record is booked the user does not know when it is available again. I realise that the assignment is not intended to be a fully functional real-world application, but I just wanted to check these points. Also, do people use drop down lists for searching or textfields? Thanks, John
Hi John Welcome to JavaRanch. Sun have deliberately made the specifications similar to what you would get in the real world. So therefore there can be sections that are vague, there can be contradictions, there could be incorrect information, and there can be important things left out. In the assignment I did (Fly By Night Services) I had a similar issue: in one part of my specifications it mentioned a requirement for searching on two specific fields, and in another section it gave an example of searching on a third field. I played it safe by allowing the user to search on all three fields. Whether you decide to do this or not is up to you. My personal view is that I have worked on too many projects where the client expected that anything mentioned in the documentation, or in a meeting, should be considered a requirement :roll: . Having said that, I should mention that I recall some people stating that they only provided the two absolutely required fields in their GUI, and got 100% for their GUI.
2. To book a record it seems that the id of the customer is stored against the record. If this is correct is it true that a customer cannot book a contractor for a certain date e.g. the customer cannot book a contractor for between the 25th to the 27th of August 2003 - i.e. once a record is booked the user does not know when it is available again.
I think the consensus here is that once a record is booked, it is gone for good. You cannot book a partial period for the contractor (or book each bed in a room separately for hotels).
Also, do people use drop down lists for searching or textfields?
In the Fly By Night Services assignment, drop down lists were used extensively, following one person failing the exam because they did not have drop down lists or menus. Personally I think that you should use drop down lists where they are practical - so you might consider whether you have too many unique items for a drop down list to be practical - I think you should be OK, but you have to decide that for yourself. Good luck with the assignment. Regards, Andrew
Thanks for replying Andrew! I was thinking of putting in a 'reserve' (book) button which would allow the user to enter in a customer id to match a record (this of course is a requirement) and an 'unreserve' button which would clear / delete the customer id. This way when a contractor is free a new customer id can be matched against the contractor - I would have thought that if a user can match a customer id with a record/contractor that they should be able to free this id as well - should I include such a facility or just stick with what was in the requirements? John
author and jackaroo
Hi John If you can keep your submission simple and close to the requirements, then it will be easier for the examiner to inspect it and determine if what you are doing is correct or not. The more you deviate from the specifications, the more code the examiner will have to wade through in order to get to the code they have to inspect. Do you really want to give the examiner a hard time examining your code? Plus there is always the danger that as you add more and more code, that you will make a mistake somewhere, which might cause you to loose marks. The new assignments even have the following warning: "You will not receive extra credit points for work beyond the requirements of the specification." Regards, Andrew