Anforderungen entwickeln und Architekturen verfeinern

Betriebssystem verpflichtend

Mit komplexerer Software ergibt sich häufig auch die Möglichkeit des sinnvollen (quasi-) parallelen Abarbeitens von Aufgaben innerhalb der Software. Dazu setzen Sie im Design Mechanismen wie Multithreading, Synchronisation und Kommunikation aus einem (Embedded-/Echtzeit-) Betriebssystem mit ein. Bei der Entwicklung einer IoT- (Internet of Things) Applikation sind Sie meist durch die eingebundenen Kommunikationsstacks dazu gezwungen, ein Betriebssystem zu verwenden.

Callback-Strukturen als Mittel der Wahl

Um zwischen Softwarearchitektur-Elementen wie beispielsweise Softwareschichten entkoppelt zu kommunizieren, sind Callback-Strukturen häufig das Mittel der Wahl. Hierbei gibt es verschiedene Design- und Implementierungsansätze, ob mit oder ohne Betriebssystem, objektorientiert oder prozedural und mit oder ohne Polymorphie (statisch oder dynamisch).

Hardware-Treiberkonzepte und –Interrupts

Falls Sie die durch den Siliziumhersteller gelieferten oder durch Tools generierten Treiber nicht verwenden (wollen oder dürfen) und auch Ihr Betriebssystem kein I/O-Management bereitstellt, haben Sie auch die Möglichkeit, ein Treiber- und Interrupt-Service-Konzept zu entwickeln, welches Ihre Software-Anforderungen bestens erfüllt.

Refactoring

Nicht jeder Entwickler hat die Möglichkeit, ‚auf der grünen Wiese‘ mit einer komplett neuen Embedded-Softwareentwicklung zu starten. Oft geht es darum, bestehende Software zu warten und zu erweitern, die mitunter teilweise länger als zehn Jahre gereift und gewachsen ist. Das macht gravierende Veränderungen schwierig, da dabei immer wieder Nebeneffekte auftreten. Entscheiden Sie sich dann gegen den Neubeginn, muss die Software schrittweise umstrukturiert werden, damit die Nebeneffekte wieder verschwinden oder erst gar nicht auftauchen. Umstrukturieren bedeutet, dass Sie in geplanten Projekten im Kleinen (bei Daten, Funktionen, Klassen und Objekten) optimieren und unter Umständen auch im Großen die Softwarearchitektur anpassen.

Fazit

Jeder Embedded-Softwareentwickler muss sich der hohen Relevanz des Themas Software-Design bewusst sein. Das Wissen darüber führt zur unmittelbaren Verbesserung der Software- und damit der Produktqualität. Das Know-how qualifiziert Sie als Embedded-Software-Entwickler für den nächsten Schritt in Ihrer beruflichen Karriere.

Nutzen Sie Ihre Möglichkeit dazu und holen Sie sich das erforderliche Fachwissen im MicroConsult-Seminar ‚Embedded-Software-Design und Patterns mit C‚.

Weitere Informationen finden Sie unter den folgenden Links:

Autor: Thomas Batt,
zertifizierter Trainer und Coach
für die Themenbereiche Systems/ Software Engineering
für Embedded-/Realtime-Systeme
sowie Entwicklungsprozess-Beratung,
MicroConsult GmbH
www.microconsult.de

Seiten: 1 2Auf einer Seite lesen

Thematik: Allgemein
|
Ausgabe:
www.microconsult.de

Das könnte Sie auch Interessieren