A UML diagram = Unified Modeling Language diagram.
It’s basically a visual blueprint used in software engineering (and sometimes business processes) to represent how a system is structured or behaves.
Think of it like a map of your software—instead of code, you draw boxes, arrows, and symbols to show:
- What components exist (classes, objects, services, databases, actors, etc.)
- How they relate to each other (associations, dependencies, data flow)
- How the system behaves over time (interactions, workflows, state changes)
🔑 Types of UML Diagrams
UML is big, but the main categories are:
1. Structural diagrams (static view — “what the system is”)
- Class diagram → shows classes and relationships.
- Component diagram → modules and dependencies.
- Deployment diagram → physical deployment (servers, containers).
- Object diagram → snapshot of instances.
2. Behavioral diagrams (dynamic view — “how the system works”)
- Use case diagram → actors + system interactions.
- Sequence diagram → timeline of interactions between objects/services.
- Activity diagram → workflows, like flowcharts.
- State machine diagram → object states and transitions.
📌 Example
Say you’re building your ButterMoney app (finance + Splitwise clone):
- A use case diagram could show: User → [Track Expenses], User → [Split Bills].
- A class diagram could show:
User,Expense,Group,Transaction. - A sequence diagram could show how a user adds an expense and how it updates in the database.