This week's book giveaway is in the Agile and Other Processes forum.We're giving away four copies of The Little Book of Impediments (e-book only) and have Tom Perry on-line!See this thread for details.

SCJD - how many GUI functions to implement

Mag Hoehme

Ranch Hand

Posts: 194

posted 14 years ago

Hi to all those who have passed the SCJD, I am about to complete my SCJD assignment, but doubts are creeping up. In addition to finding and booking, I have implemented a number of maintenance functionality (adding new records, modifying, deleting). In addition I have taken some effort to have popup dialog to keep users from accidentally loosing data (the sort of "Are you really sure you do not want to save this" windows). Can anybody help me to find out whether I am overdoing or whether the thing is fair? Any comment is welcome!!!

I have implemented a number of maintenance functionality (adding new records, modifying, deleting).

Those operations are not requirements of the assignment. As a real world developer it's always a mistake to add use cases that the customer does not ask for for several reasons the greatest of which is it puts unnecessary pressure on the schedule. I'm not sure if it will cost you or not but would lean towards probably not.

In addition I have taken some effort to have popup dialog to keep users from accidentally loosing data (the sort of "Are you really sure you do not want to save this" windows).

I'm pretty paranoid about users with IQ's below 90 myself due to years of experience. I don't really see anything wrong with it if the user can really screw things up by the operation. Just don't get carried away. Hope this helps, Michael Morris

Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher

Mag Hoehme

Ranch Hand

Posts: 194

posted 14 years ago

Hi Michael, I feel that you understand me! I went about the whole thing as if it were a real world program. Meanwhile I have re-read the instructions and decided to remove everything except (initial) loading, finding, and booking. For each operation I have an AbstractAction object extended, and a Command object defined. It's really child's play to add (or remove) operations. I'd be really glad to know how many functions, buttons and menu items you implemented. As far as I know your GUI score was very good. Did you provide GUI functions to add / delete / modify records? Thank you. [ September 04, 2002: Message edited by: Mag Hoehme ]

Mag

Michael Morris

Ranch Hand

Posts: 3451

posted 14 years ago

Hi Mag, I had a Menu which had File, Action and Help main menus. The File menu had Close Connection and Exit submenus; The Action menu had Book Flight and Search Database submenus. The Help menu had Help Topics and About submenus. All submenus had accelerators. I had a progress monitor at startup while opening the database connection, reading all the data, sizing the table and frame, etc that popped up before the GUI was shown. Just below the menu was the table. Below that was the Booking Panel which contained a label that followed the selected row in the table and showed the pertinent data, a text field for entering the number of seats that only accepted valid values (1-available seats), and a Book button. At the bottom was my Search Panel which had three combo boxes for Carrier, Origin and Destination whose items were sorted sets (TreeSet) and a Search button. And that's it. Michael Morris

Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher

George Lawniczak

Greenhorn

Posts: 27

posted 14 years ago

I'm a little bit confused. It seems that you have both the search and book functionality on your window, yet you have two submenus also. What actually happens when you select these menu items?

Michael Morris

Ranch Hand

Posts: 3451

posted 14 years ago

Hi George, There was no coupling between any of my GUI componets. I used a beans approach to dispatch pseudo property changes. Whenever a user selected Book Flight from the menu it dispatched a propery named "proxyBook" which the Booking Panel was registered to listen for. So whenver it received a "proxyBook" notification it took the same action as pressing the Book button. Michael Morris

Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher