Die drei Hauptaktivitäten des Systemdesigns sind:
1. Architektures Design: Dies beinhaltet die Definition der Gesamtstruktur des Systems, die Identifizierung seiner Hauptkomponenten und deren Interaktionen sowie die Auswahl der verwendeten Technologien und Plattformen. Es schafft den hohen Blaupause.
2. Detailliertes Design: Dies konzentriert sich auf die Einzelheiten jeder im architektonischen Design identifizierten Komponente. Es umfasst die Angabe von Datenstrukturen, Algorithmen, Schnittstellen und anderen für die Implementierung erforderlichen Details auf niedriger Ebene. Es ist das "Wie", um die Architektur zu erreichen.
3.. Schnittstellendesign: Dies beinhaltet das Entwerfen der Interaktionen zwischen verschiedenen Komponenten des Systems sowie gegebenenfalls der Benutzeroberfläche (UI). Es gewährleistet eine nahtlose Kommunikation und Benutzerfreundlichkeit sowohl für interne Systemkomponenten als auch für externe Benutzer. Dies deckt sowohl interne APIs als auch externe benutzergerichtete Aspekte ab.