Software → Software Design
UML
A standardized family of diagrams for describing software structure, behavior, interactions, and deployment.
Motivation
A standardized family of diagrams for describing software structure, behavior, interactions, and deployment.
Where it fits
This concept provides a shared vocabulary for designing, documenting, measuring, or operating software systems.
Mental model
Treat it as a structured tool: define the question being answered, use consistent terminology, and connect the result to decisions and follow-up work.
Subconcepts
Class Diagram
Shows classes, attributes, operations, and structural relationships.
Sequence Diagram
Shows messages exchanged between participants over time.
Component Diagram
Shows software components, interfaces, and dependencies.
Deployment Diagram
Shows software artifacts deployed onto execution nodes and environments.
Activity Diagram
Shows workflows, decisions, concurrency, and process flow.
Practical use
Choose diagrams intentionally; UML is a notation toolkit, not a requirement to model every detail.
Common mistakes
- Using ambiguous definitions or units.
- Collecting or documenting information without connecting it to a decision.
- Failing to keep the artifact or measurement current as the system changes.
Related concepts
See the linked concepts in the knowledge graph for prerequisites and adjacent practices.