I do have lots Java and OO development experiences. But I only did the Swing for the assignment.
I did spent the time on the assignment:
About 3 weeks on learning Swing, 1 week on prototype on the data file, 2 weeks on the prototype on locking, 2 weeks on prototype on Socket, 4 weeks on putting all the components together, 2 weeks on
testing, and 3 weeks on documentation.
I solve the problems when I do the prototypes.
I watch closely on this forum trying to include it to my implementation when I find anything good.
For the documentation, I write down the choices when I code and test. I do documentation, including javadoc, only after I believe I my assignment is in a good shap. My javadoc is much more detailed than my choices. I include all my observations to the javadoc. But I do try a lot to keep everything "briefly but clearly". I think all we need to do is making sure the evaluator can quickly understand the classes and the choices.
I use simple words and simple sentences. But I do spend lots time on spelling and grammar.
Hope this answers your questions.