Thank you very much for helping me and here is my results. Special thanks goes to Andrew Monkhouse who is so kind and meticulous in helping. General Con: 100 89 Documentation: 70 70 OOD: 30 30 GUI: 40 24 Locking: 80 80 Data Store: 40 40 Network Server: 40 20 Total: 400 353 My Post Certification Analysis ------------------------------ Personally, I think my strengths in the assignment lies in the Network Server and GUI, but on the contrary, I scored very low. I believe I have over done it. I should have chosen RMI instead of Object Serialisation over Sockets and writing my own multi-threaded server. I have tested the server and it scales very well over 50 connections without "sleeping". My GUI is complex and handles extra threading for business functions. Realised that is not necessary too. Locking, the part many of you are interested. I kept it real simple and I got full marks. NotifyAll in Unlock. I did not synchronise every method in Data class, for those methods I did not synchronised, I explained it in the comments why it is not necessary. I specifically mentioned why I did not use Singleton for my Data class. So those of you who are too concerned about Singleton may "relax" a bit. Project time frame, two weeks fulltime implementation and one week on documentation. There is no end to documentation so I told myself just stop doing it when more than 80% is done. One last word, if you are considering of buying Alain Trottier's book on SCJD. Think again and read this thread. It is nice to be in Javaranch and thank you all very much! Best Regards
[ February 13, 2004: Message edited by: Frankie Cha ]
Hey Frankie, first of all Congrats for passing!! Party time!! Maybe after your party , can you please share your experience and clear the doubts. 1. Locking -- Perfect Score. That's great. In recent past, there are lots of threads in SCJD that are dealing with locking. Maybe can you share your experience in locking strategy. I understood that there is no need to call notifyAll() in the lock() method. And secondly we must call notifyAll() in the unlock() method. Am I correct? Besides these two, am I missing any important concept in locking? 2. Network Server -- Sorry that you got 50%. Do you think its because of implementing sockets and taking care on our own regarding multi-threading? 3. GUI -- As you said that you have overdone this part and also the GUI is complex. Do you think the marks are deducted because of compled GUI, though it satisfies all the business requirements? And finally you completed the assignment in two weeks. You really must be hard working and smart enough to do that fast. Once again great job, Congrats Appreciate your help. Thanks.
Originally posted by Frankie Cha: Project time frame, two weeks fulltime implementation and one week on documentation. There is no end to documentation so I told myself just stop doing it when more than 80% is done.
It's very impressive that you got the score you got with your project time frame. I admire someone who can be that productive. Your advice about stopping the documentation when it's 80% done is right on the mark; otherwise it drags on and on (trust me I know!). Also, have to agree with you on the Trottier book. Regards, George [ February 15, 2004: Message edited by: George Marinkovich ]