This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
My submission had 1 class, 1 component, 4 sequence and 1 deployment diagram.
Few things I would like to suggest to those who started working on assignment.
1)Keep things simple. I followed Lowest Common Denominator and tried to cover all requirements. There are many ways to address a requirement, choose one solution and present it right.
2)I realized where I lost the marks. My document was very detailed, but when some one looks at only the diagrams, they may not quite get what I was trying to convey. Try to depict all you can in the diagrams, you can use various means to achieve this. Evaluator may not have time/patience to delve into the details of your documentation. Remember, assignment also asks for diagrams + just assumptions.
3)I guess I had spent anywhere between 70-90 hrs. I could have finished it even in shorter time had I planned it well. I would suggest do not spend too much time on a single diagram, create all diagrams roughly and start improving them. Ofcourse, you need revise the diagrams many times over, that is when you refine and improve the design. Also, start document in parellel, that could save you a lot of time at the end.
4)I started with identifying list of assumptions, then screen flow diagrams, then the rough database schema. Then my class diagram evolved from BDOM + above. Then, I started the component diagram. Sequence diagrams are the last , and they took lot more time than I thought.
5)I have used JUDE for class+ component diags. Rational Architect for sequence diagram, it is UML2.0 based, so you can present all alternative flows in a single diagram.
I prepared my documentation in MS-WORD and saved it as HTML. I found it is easier and faster.
6)My documentation had the following sections- Definitions( I defined all the business terms), assumptions, application tiers, UML diagrams descriptions (I explained why, what, where DP I have used here), application modules, Architecture and Design choices and Service Level Requirements is the last section.