• Strive for left-to-right ordering of messages.

  • Layer classifiers.

  • Give an actor the same name as a class, if necessary.

  • Include a prose description of the logic.

  • Place proactive system actors on the left-most side of your diagram.

  • Place reactive system actors on the right-most side of your diagram.

  • Avoid modeling object destruction.

  • Don’t sweat activation boxes.

  • Name objects when you reference them in messages.

  • Name objects when several of the same type exist.

  • Apply textual stereotypes to classifiers consistently.

  • Apply visual stereotypes sparingly.

  • Focus on critical interactions.

  • Justify message names beside the arrowhead.

  • Create objects directly.

  • Apply operation signatures for software messages.

  • Apply prose for messages involving human and organization actors.

  • Prefer names over types for parameters.

  • Indicate types as parameter placeholders.

  • Apply the > stereotype for use case invocations.

  • Do not model obvious return values.

  • Model a return value only when you need to refer to it elsewhere on a diagram.

  • Justify return values beside the arrowhead.

  • Model return values as part of a method invocation.

  • Indicate types as return-value placeholders.

  • Indicate the actual value for simple return values.

  • ]]>