Strive for left-to-right ordering of messages.
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.