Hi everyone.
First of all thanks for supporting me in getting this assignments done. I would have got a much worse score if it wasn't for you!
I had the B&S assignment.
I downloaded the assignment in August last year and worked full time on it three weeks. After that I basically didn't touch it till Christmas, when I found javaranch and after browsing the forum re-engineered the GUI about three times from my original monolithic lump
I guess I spent about 5-6 * 40 hours on the assigment. But I believe the time could have been reduced to about half had I read the articles in this forum first, created a complete design and THEN developed (I just took a RUP course
) rather than my more explorative programming approach.
This is the outline of what I implemented:
- Used a traditional client server model. Got a LOT of really useful information on this forum to back my decision.
- Performed server-side locking
- Used RMI
- Stored timestamped locks in a hashtable
- A timer task removed expired locks at a configurable interval
- The timestamps remove the recognised deadlock possibility
- Used notifyAll()
- No lock on read operations
- Used a Vector to cache records
- Data file only read on startup
- Had an (excessively?) dynamic GUI, which could absorb changes to schema etc along with abstract baseclasses for MVC etc... Went a little overboard here.
- Used JTextField for searching
- No unbook button
I am fairly certain that the lost points for general considerations are for the fact that I ignored mentioning anything about the Ascii reading of the file, and more importantly that I did not discuss the choice to use AbstractTreeModel. This is mainly because that particular stuff I did in August last year and I'd forgotten all about it
Don't really know what's next, it's a toss up between IBM's RUP Consultant and SCWCD. My boss reckons the former but I'm more interested in the latter...
Good luck to everyone who's still doing the assignment!
/Dave
[ April 12, 2005: Message edited by: David Abramowicz ]
[ April 12, 2005: Message edited by: David Abramowicz ]