When I took System Engineering I at school last semester, all I cared about was passing the class - not necessarily learning the material. I had already designed Jaspora and most of the material covered how to design enterprise projects like it. Consequently, I skipped class a lot and didn't care much for the notes - though I passed well in the end.
I'm beginning to redesign the Comments module in Jaspora, and the plan is to have it fully documented - complete with use case, class, activity, data flow, data source, and source code - in addition to the usual software development life cycle elements. I'm exploring whether using UML tools should be something I do regularly.
Tool of choice: Sun Java Enterprise Studio 8 (obviously built on NetBeans). It has an excellent assortment of UML tools, code synchronization, and reverse engineering of projects. Tutorial focus at http://developers.sun.com/prodtech/javatools/jsenterprise/learning/tutorials/index.jsp