System Design

UML

UML is a standardized modeling language used to visualize, specify, construct, and document the structure and behavior of software systems. It helps developers and stakeholders understand, design, and communicate about software architecture clearly and efficiently. UML consists of 14 standard diagram types, grouped into two main categories:

Structure Diagrams, show what the system contains

  • Component Diagram (Visualizes high-level components and interfaces)
  • Class Diagram (Shows classes and their relationships)
  • Package Diagram (Organizes classes/components into packages)
  • Object Diagram (Snapshot of objects at a point in time)
  • Deployment Diagram (Describes hardware nodes and deployments)

Behavior Diagrams, show how the system deals with state

  • Use Case Diagram (Describes system functionality from a user’s perspective)
  • Sequence Diagram (Shows interactions over time between components)
  • Activity Diagram (Models workflows or business processes)
  • State Machine Diagram (Depicts state changes of an object)

Usages

For the pedal board project, we won’t dive too deeply, but you should be familiar with Component, Class, and State Machine diagrams — they’re among the most commonly used tools in software development, especially for hardware-near or embedded projects.

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy