I finally received my results (after emailing prometeric to inquire about the delay...)! I am fairly happy with all of my scores... I received 65/80 on locking, although I believe that may be due to a last minute change I made to prevent dirty reads (I specified an additional readLock method). My guess is I either made a minr mistake in the readLock functionality or I was docked for making the application overly complex. So the moral of the story is: don't add additional functionality that is not specified in the instructions!.
I will post some information from my choices.txt in this thread shortly.
Grade: P Score: 378 Comment: This reports shows the total number of points awarded for each section. The maximum number of points is 400, to pass you need a score of 320. Section Summary: Section Max Actual Points Points General Con: 100 96 Documentation: 70 70 OOD: 30 30 GUI: 40 40 Locking: 80 65 Data Store: 40 40 Network Server: 40 37
Total: 400 378
“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” - Rich Cook
Joined: May 24, 2004
Here is the table of contents (and some added excerpts) from my choices.txt. If you have any questions as to my decisions (those included in the TOC or not), please ask.
Additional stuff: I did not implement a cache. I did not use NIO (Even though I am still convinced that you can! ) Searching was done using an exact match only (no option for partial matches) [ April 22, 2005: Message edited by: Paul Bourdeaux ]
I am nearing completion of my assignment with only a few items left on my list of things that I might want to do. I am curious most about the gui since that is what I have the least amount of experience with.
Did you use SwingWorker such that any task that is sent to the gui controller does not make the gui appear busy?
I have a JMenuBar but with only a quit action, did you implement more than that?
Any idea how many total hours you've spent on your assignment? I am at about 160 hours - does not include a bunch of time I spent reading about swing.
Joined: May 24, 2004
Did you use SwingWorker such that any task that is sent to the gui controller does not make the gui appear busy? Nope. Using SwingWorker can be a good idea in a real world project (sometimes), but I didn't see the need to in this assignment.
I have a JMenuBar but with only a quit action, did you implement more than that? My Menus were as follows: File -> Change Data Path -> Exit Actions -> Search -> Book -> Refresh -> Show All Records Help -> Help -> About
I am a firm believer in making every function available from the toolbar, even if it is already avaiable as a button or some other widget. Remember, not every system uses a mouse... Also, your toolbar should include the menus one typically expects if they are appropriate (i.e. File, Edit, view, Help...). This improves the functionality of the application because users can easily find the functions they are looking for. In my application, I used the File and Help, but choose to also have a more customized Actions menu.
Any idea how many total hours you've spent on your assignment? I am at about 160 hours - does not include a bunch of time I spent reading about swing. Wow. I started the project in July, but with 2 young kids at home and a demanding full time job, I only pitter pattered around with it for the first six months or so. I was always active here at the Ranch though, so when the time came to really dig in, I was ready!. I started seriously working on in in january, and I finished it in March. My best 'guestimate" would be about 200 hours total.
But keep in mind that the number of hours spent does not coorelate well with the overall score. I have seen ranchers who spent < 100 hours on the project do well, while some that have spent much, much more did not fare as well. [ April 22, 2005: Message edited by: Paul Bourdeaux ]
How did you package file suncertify.properties? Was it in the same executable jar as your class files? If so, how did you reference its path in your code? I didn't package the suncertify.properties file with my assignment. When the application is run, it first checks for the existance of a suncertify.properites file in the current working directory (the directory that the jar was executed from). If one exists, the application loads preference information, such as server IP, from the file. If one doesn't exist, the application prompts the user for the needed information, and then creates a suncertify.properties based on that information.
The important thing to note here is that the suncertify.properties file is not required for the applicatin to run! Others have failed in the past for requiring the existance of the file. Hope that helped! [ April 23, 2005: Message edited by: Paul Bourdeaux ]
author and jackaroo