Anzeige

Entwicklungsprozesse als Basis moderner Softwareentwicklung

Im professionellen Software Engineering sind die Entwicklungs- und Prozessschritte  vor der Softwareimplementierung 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.

 (Bild: MicroConsult GmbH)

(Bild: MicroConsult GmbH)

Mittlerweile hat es sich herumgesprochen, dass die VHIT-Methode (vom Hirn ins Terminal) mit der heutigen und künftig noch weiter steigenden Komplexität von Embedded- und Echtzeitsoftware/ Echtzeitsystemen nicht mehr vereinbar ist. Im Folgenden sind wichtige Aktivitäten in der Embedded-Software-Analyse, im Embedded-Software-Design bzw. im SW-Engineering kurz beschrieben, die Sie in der Softwareentwicklung durchführen.

Embedded-Software-Architektur Beispiel – Software-Schichtendarstellung (Bild: MicroConsult GmbH)

Embedded-Software-Architektur Beispiel – Software-Schichtendarstellung (Bild: MicroConsult GmbH)

Requirements Engineering steht am Projektbeginn

Als Grundlage für die Softwareentwicklung erfassen Sie in der Rolle des Software-Anforderungsanalysten zu Beginn die Anforderungen. Im Rahmen des Requirements Engineering (Anforderungsentwicklung, Anforderungsanalyse) sammeln Sie die Anforderungen der Stakeholder. Sie unterscheiden zwischen funktionalen und nicht-funktionalen Anforderungen (unter anderem Softwarequalitätsmerkmale) und formulieren qualitativ hochwertige Anforderungen. Im Rahmen des Anforderungsmanagements verwalten und pflegen Sie die Anforderungen mit geeigneten Requirements Management Tools.

Der Softwarearchitekt definiert die Softwarearchitektur

In der Rolle des Software-Architekten verfügen Sie über viel Erfahrung in der Software-Entwicklung und beherrschen das Thema Software-Architektur in der Praxis. Unter den Aspekten der Wiederverwendbarkeit, Austauschbarkeit, Erweiterbarkeit und Portierbarkeit entwickeln Sie idealerweise eine nicht monolithische Software-Architektur, die die identifizierten Softwarearchitektur-Anforderungen und Einflussfaktoren bestmöglich erfüllt. Die SW-Architektur beschreibt die grobe Struktur und auch das darauf basierende interaktive Verhalten (Kommunikation). Softwarekomponenten, Softwareschichten, Softwaresubsysteme, Schnittstellen und deren Funktionen (Operationen/Methoden) und optional die wichtigsten Module/Klassen repräsentieren typische Architekturbausteine. Sie nutzen zur Architekturentwicklung Architekturrichtlinien, Architekturprinzipien, Architekturmuster (Patterns) und Softwarearchitektur-Beispiele. Sie als Softwarearchitekt treffen wichtige Entscheidungen. Beispielsweise legen Sie fest, ob Sie eine synchrone Architektur, eine asynchrone Architektur oder eine Mischform aus beidem entwickeln. Sie entscheiden, ob es sich um ein Echtzeit- oder „nur“ um ein eingebettetes System handelt. Sie bestimmen über die verwendeten Middleware-Komponenten, wie Feldbus- und Kommunikationsstacks, Flash-Filesysteme und Grafikbibliotheken). Diese Softwarekomponenten sind als Free Software, Open Source Software und kommerzielle Software erhältlich. Für die Laufzeitarchitektur wählen Sie basierend auf Auswahlkriterien ein geeignetes Echtzeit-/Embedded-Betriebssystem (Real-Time Operating System) aus. Bei Multicore- und Multiprozessor-Systemen verteilen Sie die Software auf verschiedenen Rechenknoten und führen bei Bedarf Virtualisierung und Hypervisor ein. Der Software-Architekt erzeugt die Embedded-Softwarearchitektur-Dokumentation.

Das könnte Sie auch interessieren

Die IAR Systems Group plant mit einem Investmentfond und weiteren Leistungen Startup-Unternehmen zu fördern, die im Bereich IoT-Sicherheit innovative Lösungen entwickeln.

Anzeige

Das auf klassisches CAN und modernes CAN FD spezialisierte Unternehmen Peak-System wird auf der Embedded World 2019 seine neuesten Produkte vorstellen. Messebesucher können einen Blick auf das PCAN-MiniDiag FD und die neue PCAN-MicroMod FD Produktserie werfen.

Das auf KNX spezialisierte Unternehmen aus Darmstadt, Peaknx, stellt hochwertig verarbeitete Touch-PCs zur System-Visualisierung her. Es handelt sich um vollwertige Rechner mit kapazitivem HD (18,5″-Variante) und Full HD (11,6″-Variante)-Touchscreen. Als Standardsoftware wird Windows 10 IoT Enterprise eingesetzt. Der Panel-PC verfügt über direkte Anschlüsse an KNX, USB und Ethernet.

Anzeige

Peak-System hat das Handheld PCAN-MiniDiag FD zur grundlegenden Diagnose und Überprüfung von CAN- und CAN-FD-Bussen veröffentlicht. Das batteriebetriebene Gerät verfügt über Funktionen, welche beispielsweise die Terminierung, Buslast, Nachrichten- und Fehlerzähler sowie die am CAN-Anschluss anliegenden Pegel anzeigen.

DigiCert, Utimaco, und Microsoft Research haben den Picnic-Algorithmus in einem ersten Testlauf erfolgreich im Bereich des Internet der Dinge implementiert.

Im Vorfeld der Embedded World ist das 50-seitige inVISION Sonderheft ´Embedded Vision & Deep Learning´ erschienen, in dem zahlreiche interessante Produkte und Applikationen zu beiden Vision Technologiebereichen vorgestellt werden.

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige