Hi everyone,
Today I saw that I passed the B&S
SCJD exam with 391 points.
A big "Thank you" to everyone in this forum; even though I did not ask an awful lot of questions here, simply by following some of the threads I think I got many valuable insights (and warnings of possible traps).
The results in the different categories were:
General Considerations (maximum = 100): 100
Documentation (maximum = 70): 70
O-O Design (maximum = 30): 30
GUI (maximum = 40): 31
Locking (maximum = 80): 80
Data store (maximum = 40): 40
Network server (maximum = 40): 40
I honestly don't know what the assessors didn't like about my GUI; I think it was clear, intuitive and very user-friendly (I provided keyboard shortcuts for everything, so the whole system could be operated entirely without the mouse); perhaps the fact that I used a GUI based on tabs (via JTabbedPane) as opposed to a menu was what they didn't like (even though I documented this choice in my choices.txt file and argued why I considered it the better alternative).
Other than that, my implementation was quite straight-forward; I used a couple of design
patterns: Strategy (for the three different modes of execution), Facade (for the Data class), Singleton (for file access manager and lock manager classes), MVC (in the GUI).
For the network protocol I used Sockets; mostly because of personal taste, I could just as well have done RMI.
I did allow myself quite some time for the exam; I started off coding in April and spent about 3 to 4 hours per week - with that speed, I was more or less finished implementing in August. After that I completed the Javadoc and produced the online help system and then gave the application to some colleagues who found two small bugs and suggested a few improvements, so I went into a second implementation phase and then submitted my solution about four weeks ago (and took the exam another two weeks later).
Again, thanks to everyone for smart questions and smart answers and to Andrew for writing up all the essentials in his very good book!
Best regards,
Jens