−Choose one question first. Who references whom and who calls whom in what order need different views.
Select the types and objects that answer the question. Include constructors and helper methods when they help explain the relationship.
Check the meaning of solid lines, dashed lines, triangles, and diamonds, then add the necessary role names and multiplicities. Explain any nonstandard notation in a legend.
Compare the diagram with the code. Is a reference stored, is a type used only as a parameter, or is an interface implemented? Update explanatory diagrams when the code changes.
+Settle on one question first, because “who references whom” and “in what order are the calls made” ask for different diagrams.
Include only the types and objects that the question needs, and there is no need to list every constructor and helper method.
Check the meaning of solid lines, dashed lines, triangles, and diamonds, then add the necessary role names and multiplicities. Explain any nonstandard notation in a legend.
Compare the diagram with the code. Is a reference stored, is a type used only as a parameter, or is an interface implemented? Update explanatory diagrams when the code changes.