Software-Entwicklung neu gedacht – Teil 3: Software-Architektur

Welche Ziele in einem Software-Projekt werden maßgeblich davon beeinflusst, ob es sich um ein Multicore-Design mit Safety- und Security-Aspekten handelt?

Software-Entwicklung neu gedacht – Teil 3: Software-Architektur weiterlesen

Port-Designs und ihre Implementierung

In seinem Vortrag auf dem ESE Kongress digital 2021 stellt MicroConsult-Trainer Thomas Batt Interface-Konzepte vor und zeigt Implementierungsansätze in C und C++. Jetzt anmelden und Early-Bird-Ticket sichern!

Port-Designs und ihre Implementierung weiterlesen

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten der Architekt beim Interface-Design kennen sollte und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag in seinem zweiten Teil – er zeigt Implementierungsansätze durch Assoziation, Komposition, Fassade, virtuelle Interfaces, nicht-virtuelle Interfaces, C++ Templates und CRTP-Pattern auf.

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff weiterlesen

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten Sie beim Interface-Design kennen sollten und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag. Der erste Teil stellt Interface-Konzepte und unterschiedliche Interface-Typen vor.

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition weiterlesen

Interface-Designs und ihre Implementierung

In seinem Vortrag auf dem in diesem Jahr virtuellem ESE Kongress 2020 stellt MicroConsult-Trainer Thomas Batt Interface-Konzepte vor und zeigt Implementierungsansätze in C und C++. Jetzt anmelden und Early-Bird-Ticket sichern!

Interface-Designs und ihre Implementierung weiterlesen

Embedded-Software-Redesign Guide Teil 3: Anforderungen und Checkliste

Manchmal ist es nicht mehr damit getan, alten Code zu erweitern: Eine Rundumerneuerung muss her. Dieser Beitrag beschreibt Vorgehen rund um das Embedded-Software-Redesign und erläutert dabei die Begriffe Reverse-Engineering, Refactoring und Reengineering.

Veranstaltungsformen wie Workshops eignen sich ideal, um mit den passenden Wissensträgern die Anforderungen zu erfassen und zu dokumentieren. Um Anforderungen aus dem Programmcode abzuleiten, existieren keine Tools am Markt. Hier ist manuelle Arbeit gefragt. Erfahrungsgemäß ist es nicht möglich, 100% aller in der Software implementierten Anforderungen zu erfassen.

Embedded-Software-Redesign Guide Teil 3: Anforderungen und Checkliste weiterlesen

Embedded-Software-Redesign Guide Teil 1: Defizite und Auslöser

Manchmal ist es nicht mehr damit getan, alten Code zu erweitern: Eine Rundumerneuerung muss her. Dieser Beitrag beschreibt Vorgehen rund um das Embedded-Software-Redesign und erläutert dabei die Begriffe Reverse-Engineering, Refactoring und Reengineering.

Embedded-Software-Redesign Guide Teil 1: Defizite und Auslöser weiterlesen

Mit Design Patterns Entwicklungszeit einsparen

Die wichtigsten Elemente für Entwurfsmuster, mit denen Sie standardisierte Software-Strukturen einfach wiederverwerten können.

Bei der objektorientierten Entwicklung von Software-Architektur und Software-Design sowie der objektorientierten Programmierung (OOP) einer strukturierten Software-Entwicklungsmethode stößt man immer wieder auf ähnliche Aufgaben und Probleme. Der Einsatz von wiederverwendbaren Entwurfsmustern (praxisbewährten Lösungsschablonen) kann dabei einen sich wiederholenden Software-Programmieraufwand verhindern.

Mit dieser Methode lassen sich Entwicklungszeit einsparen und Fehler vermeiden, die bei einer doppelten Programmierung auftreten könnten.

Mit Design Patterns Entwicklungszeit einsparen weiterlesen

Entwicklungsprozesse als Basis moderner Softwareentwicklung

Im professionellen Software Engineering sind die Entwicklungs- und Prozess-Schritte vor der Software-Implementierung essentiell. Begriffe wie Softwareanalyse und Softwaredesign bzw. Software-Grobdesign und Software-Feindesign aus den Entwicklungsprozessen (beispielsweise dem V-Modell XT oder dem branchenspezifischen V-Modell Automotive) stehen genau dafür.

Entwicklungsprozesse als Basis moderner Softwareentwicklung weiterlesen

Das Rad nicht immer neu erfinden: Architekturmuster im Embedded-Umfeld erfolgreich einsetzen

Embedded-Projekte starten meistens sehr klein. Und oft wird im Anfangsstadium kein Gedanke an die Software-Architektur verschwendet. Die Anwendung soll bald funktionieren – und die Probleme mit der neuen Hardware sind ja auch noch zu lösen.

Das Rad nicht immer neu erfinden: Architekturmuster im Embedded-Umfeld erfolgreich einsetzen weiterlesen