After a long fight with SUN i final got my scores. Grade: P Score: 145 Comment: This report shows the total points that could have been awarded in each section and the actual number of points you were awarded. This is provided to give you per-section feedback on your strengths. The maximum possible # of points is 155; the minimum to pass is 124. General Considerations(maximum = 58): 52 Documentation(maximum = 20): 20 GUI(maximum = 24): 20 Server(maximum = 53): 53
Well it's about time Congrats Reshma, well done. Can you explain the parts of your server that allowed you to get 53/53 points. I think that section is split into three parts. locking (30) error handling (8) search algorithm: clarity and efficiency (15) and maybe some comments on why you think your general considerations might have been marked lower, especially since your other marks were all perfect. What did you have in your GUI? This can help us all out, in our considerations in design. Thanks Mark
Congratulations Reshma! I'm with Mark. I would also like to know more about your server design. It's always good to learn from folks who score highly, and you can't get better than perfect. Would you mind posting whatever you send to Mark here as well? Please? Thanks in advance, Burk
SCJP, SCJD, SCEA 5 "Any sufficiently analyzed magic is indistinguishable from science!" Agatha Heterodyne (Girl Genius)
Joined: Jan 29, 2002
Server: i gave a small GUI for starting/ stopping server. Once start button is presses it contacts a RemoteServerManager which creates an instance of RemoteServerImpl. This Impl class will in turn create an instance of RemoteDataExtension. RemoteDataExtension extends DataExtension which in turn extends Data. DataExtension will provide implementation of searchcriteria and other methods needed in both modes. lock, unlock will be placed in RemoteDataExtension. I wont lock records for local client. locking was done in server. When server shuts down it will issue a lock(-1).
Client: My client will call a helper class which depending on modes(local/remote) which decides the class (DataExtension->local or RemoteServerImpl ->remote) to be contected with. I will display the mode in status bar. My search critiria can hold any no of combinations. I can add any no. of criteria without affecting my search criteria code. it will simply work. My gui was once screen GUI. i had 3 panels panel 1 i had drop downs for search criteria. panel 2 jtable panel 3 ticket reservation components. I think what ever flow i did was good. I had extra generic class for Error handling(Logger.java). Then Util.java for displaying alert and other generic stuff. i had a properites file for setting properties and logging mode. A class to read data from properties file. [ i guess these was too much for a small project like fbn . i might have lost points for these extra stuff. i explained why i did that ] My directory structure was under scjd\starting i had build, docs, etc, lib, suncertify[ client, db, interfaces, server,util]. My documentation was good i briefed everything i did including the reason for using import a.b.c; instead of a.b.*; I gave simple class diagram. locking : i used in-memory array for storing data.(might have lost points for this too) when clients updates any record it gets updated in 2 places. so that when a new client comes we can serve him quickly. moreover i will lock the records only after ensuring i have enough seats to be booked avoiding expensing synch operations. i guess i didnt miss anything. pls feel free to tell me the mistakes i made. - Reshma
Joined: Jan 29, 2002
i guess mine was very simple. i just completed the project in 1 full month.