Design Patterns for Software Diagramming

This post lists and explains the entities used when designing diagrams for different audiences and purposes, focusing on how audience, detail, visual elements, and relationship types shape diagram choices.


Design Patterns for Software Diagramming

Modeling based on the Author's Perspective


EntityDescription
NeedsPrimary goals or requirements the diagram must satisfy.
Level of DetailAmount of information and granularity shown in the diagram.
AudienceTarget viewers whose background and goals shape the diagram.
Technical AudienceViewers with engineering or domain expertise requiring precision.
Business AudienceViewers focused on outcomes, decisions, and high-level context.
WantDesired outcome the diagram is intended to produce.
AgreementOutcome where the diagram helps stakeholders reach consensus.
DecisionOutcome where the diagram supports choosing a course of action.
Technical UnderstandingDepth of technical knowledge the diagram assumes or conveys.
Level of AbstractionDegree to which details are generalized or simplified.
DiagramThe visual artifact that represents structure, behavior, or flow.
Class DiagramDiagram type that models entities, attributes, and relationships.
Domain Story DiagramDiagram type that captures domain events and interactions.
C4 ModelDiagram type that shows system context, containers, components, and code.
Color PaletteChosen colors used to encode meaning and improve readability.
NotationSet of symbols and conventions used to represent concepts visually.
BoxRectangular element used to represent an entity, component, or concept.
LegendKey that explains symbols, colors, and notation used in the diagram.
Line (Relationship)Visual connector that indicates relationships between boxes or elements.
HierarchicalRelationship type that shows parent/child or containment structure.
SequentialRelationship type that shows ordered steps or flows over time.
CausalRelationship type that indicates cause-and-effect links.
ProportionalRelationship type that conveys relative size, weight, or importance.
SpatialRelationship type that represents physical or layout-based relationships.

Comments