I received the following excellent feedback during class today:

[Is it possible to create a] template that has an example for each of the diagrams and the syntax that should be included. Maybe have a basic scenario and each diagram references that one scenario with a reasonable level of depth that would be accepted for a test with notes at the bottom explaining what each symbol means if applicable.

I think we would all really benefit from something like this where all the information is compiled in one place.

This idea is excellent, and although the slides cover many of the elements (e.g., properties, generalization, and composition for class diagrams), they don’t provide a holistic view of a complete system.

I’m going to point everyone to two resources that I use when I need to look up something about UML. First, uml-diagrams.org provides an overview of many of the diagrams that we’ve discussed, including class, use case, activity, state machine, and sequence diagrams. There’s also a number of examples for different types of applications and for each type of diagram. Second, my personal reference manual is UML Distilled (Fowler, 2004), which is where I turn whenever I need to check a point of syntax. Fortunately, this book is available courtesy of Safari Books Online. I’ll admit that it wasn’t my favorite book to read while in school, but it provides a fairly comprehensive reference, including a step-by-step overview of the various diagrams.

One word of caution: We’ve only scratched the surface of UML, and both uml-diagrams.org and UML Distilled go into much greater detail than what we’ve covered in class. Looks at the lesson notes and objectives for the aspects of each diagram that I’ll expect you to know as part of this course. If you have questions or find yourself confused by some point of syntax, please come talk to me.

Finally, if you do use either of these resources, then I’d appreciate hearing your feedback. If it’s a valuable resource, then perhaps I will include it as supplemental (or required) reading for future course offerings.