Software Design Diagrams
UML Behavioral & Structural Diagrams
Software design diagrams are visual tools used during the analysis and design phases of the Software Development Life Cycle (SDLC) to model system structure, behavior, and interactions. These UML diagrams help teams communicate architecture decisions, document requirements, and validate designs before implementation.
Diagrams in This Section (in SDLC order)
- Use Case Diagrams — Capture functional requirements from the user's perspective. Map actors to system capabilities with include/extend relationships.
- Activity Diagrams — Model workflows and business processes with support for parallel execution, decision branches, and swimlanes.
- Sequence Diagrams — Model object interactions over time. Essential for API design, microservices communication, and debugging complex flows.
- Class Diagrams — Define the static structure of a system: classes, attributes, methods, and relationships (association, aggregation, composition, inheritance).
- New Project Design — Checklist and guidance for kicking off a new software project: scoping, design artifacts, and early architectural decisions.
When to Use Each Diagram
- Requirements gathering: Use Case Diagrams
- System architecture: Class Diagrams, Sequence Diagrams
- Business process modeling: Activity Diagrams
- API & integration design: Sequence Diagrams
- Object-oriented design: Class Diagrams