Wenn die Diskussionen zu einem neuen Projekt beginnen, einigt man sich in der Regel zunächst auf die wichtigen strukturellen Elemente und klärt Fragen zum Wesen des beabsichtigten Produkts: handelt es sich um einen Toaster, einen Blade Server, ein Handheld-Navigationssystem oder ein Mobiltelefon? Aus dieser Produktdefinition entsteht eine Systemdefinition, in der bereits die wichtigsten Features ausgearbeitet werden und mit der die eigentliche Entwicklung einsetzt, indem das Produkt in kleinere Teilsysteme zerlegt wird. An dieser Stelle wird das strukturelle Design der Subsysteme definiert und festgeschrieben. Die Produkt-Features auf der höheren Ebene beeinflussen die Vermarktbarkeit eines Produkts zwar ebenso wie die detaillierten Eigenschaften. Diese Systemdefinition und die Aufteilung in Subsysteme haben jedoch keinen großen Einfluss darauf, wie der Kunde das spätere Produkt wahrnimmt. Dementsprechend unwahrscheinlich ist es, dass diese Partitionierung noch einmal grundlegend geändert wird.
Was wird in diese Strukturdefinition aufgenommen? Man wählt hier auf jeden Fall die Host‑ und Peripheriebausteine aus oder entscheidet zumindest über die Bausteinklasse. Man legt somit die übergeordneten Hardwareanforderungen fest und definiert damit auch die erste Aufteilung auf Hardware und Software. Anschließend gilt es, die Strukturen der einzelnen Subsysteme zu definieren und auszuarbeiten. Während diese Struktur das Gerüst für die gesamte Applikation bildet, bleiben die Features selbst in diesem Stadium noch offen. Sie werden aber später in dieses Gerüst eingefügt.
Als Praxisbeispiel soll nachfolgend ein moderner Heißluftofen beschrieben werden. Bild 1 zeigt ein Standgerät der Oberklasse mit digitalen Bedienelementen und LED-Display.
Die übergeordnete Struktur dieses Produkts verlangt nach einem Heizsystem (elektrische Heizelemente samt Bedienelementen), einem Lüftersystem (zum Umwälzen der Heißluft), einem Netzteil und einer Benutzeroberfläche mit Berührungstasten und LED-Display. Das Embedded-System gliedert sich in das Stromversorgungs-System (für die Sicherheit und möglicherweise das Registrieren von Stromausfällen), das eigentliche Ofensystem mit Subsystemen zum Steuern der Heizelemente und des Lüfters aufgrund der Ist-Temperatur sowie die Benutzeroberfläche für Eingaben des Anwenders und das Display (zusätzlich möglicherweise mit gespeicherten Menüs bzw. Rezepten und Voreinstellungen). Diese Strukturdefinition kann als recht stabil angesehen werden. Änderungen sind hier eher unwahrscheinlich. Groß ist die Wahrscheinlichkeit für Änderungen an dieser Stelle dagegen bei anderen Fragen. Wird beispielsweise ein Super-Mikrocontroller für alle Aufgaben mit der gesamten möglichen Hardware im Gerät verwendet (was eine Fantasievorstellung ist) oder besteht das Design aus mehreren MCUs und Standard-Peripheriebausteinen (dies ist wahrscheinlicher, und die Einzelheiten unterliegen einer hohen Änderungswahrscheinlichkeit). Die Struktur muss über die Wahl der spezifischen Hardware-Elemente hinausgehen und sich stattdessen auf die Applikation konzentrieren. Unabhängig davon, ob einer oder mehrere Mikrocontroller zum Einsatz kommen, wird es stets eine Haupt-MCU geben, der das Hauptaugenmerk beim Festlegen der Struktur gilt. Schließlich ist die Strukturdefinition auf die Endanwendung fokussiert (Bild 2).
In Bild 2 sind links die blauen Blöcke des Eingabeteils dargestellt: Temperaturwerte, Anwender-Interaktion und gespeicherte Rezepte. Rechts befinden sich die roten Blöcke des Ausgabeteils: Heizelement, Lüfter und Anwender-Display. Verknüpft werden alle Elemente mit der in der Mitte dargestellten Steuerungslogik, die als zentrale Entscheidungsinstanz fungiert. Dieses abstrakte Design muss noch den verschiedenen Subsystemen und Bausteinen zugewiesen werden, sodass es an dieser Stelle nicht erforderlich ist, über die Implementierung der in der Grafik dargestellten Pfeile Bescheid zu wissen oder zu entscheiden. Dies muss erst im Anschluss an Schritt 4 geschehen, doch selbst wenn es schon an diesem Punkt bekannt und festgeschrieben ist, wird es in den Schritten 2 bis 4 nicht verändert.