Anzeige

Entwicklungsprozesse als Basis moderner Softwareentwicklung

Im professionellen Software Engineering sind die Entwicklungs- und Prozessschritte vor der Softwareimplementierung essenziell. Begriffe wie Softwareanalyse und Softwaredesign bzw. Software-Grobdesign und Software-Feindesign aus den Entwicklungsprozessen (z.B. dem V-Modell XT oder dem branchenspezifischen V-Modell Automotive) stehen genau dafür.

 (Bild: MicroConsult GmbH)

ild: Kit8/stock.adobe.com)

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 Anwender in der Softwareentwicklung durchführen.

Requirements Engineering steht am Projektbeginn

Als Grundlage für die Softwareentwicklung werden in der Rolle des Software-Anforderungsanalysten zu Beginn die Anforderungen erfasst. Im Rahmen des Requirements Engineering (Anforderungsentwicklung, Anforderungsanalyse) werden die Anforderungen der Stakeholder gesammelt. Hierbei wird unterschieden zwischen funktionalen und nicht-funktionalen Anforderungen (unter anderem Softwarequalitätsmerkmale), um qualitativ hochwertige Anforderungen zu formulieren. Im Rahmen des Anforderungsmanagements werden dann die Anforderungen mit geeigneten Requirements Management Tools verwaltet und gepflegt.

Der Softwarearchitekt definiert die Softwarearchitektur

Softwarearchitekten verfügen über viel Erfahrung in der Softwareentwicklung und beherrschen das Thema Softwarearchitektur in der Praxis. Unter den Aspekten der Wiederverwendbarkeit, Austauschbarkeit, Erweiterbarkeit und Portierbarkeit entwickeln sie idealerweise eine nicht monolithische Softwarearchitektur, die die identifizierten Softwarearchitektur-Anforderungen und Einflussfaktoren bestmöglich erfüllt. Die 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. Zur Architekturentwicklung werden Architekturrichtlinien, Architekturprinzipien, Architekturmuster (Patterns) und Softwarearchitektur-Beispiele genutzt. Softwarearchitekten treffen wichtige Entscheidungen. Beispielsweise legen sie fest, ob eine synchrone Architektur, eine asynchrone Architektur oder eine Mischform aus beidem entwickelt wird. 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 oder das Flash-Filesystem. Diese Komponenten sind als Free Software, Open Source Software und kommerzielle Software erhältlich. Für die Laufzeitarchitektur wählen Softwarearchitekten basierend auf Auswahlkriterien ein geeignetes Echtzeit-/Embedded-Betriebssystem aus. Bei Multicore- und Multiprozessorsystemen verteilen sie die Software auf verschiedenen Rechenknoten und führen bei Bedarf Virtualisierung und Hypervisor ein. Jeder Schritt wird dabei übersichtlich vom Softwarearchitekten dokumentiert.

Das könnte Sie auch interessieren

Die kostenfreie Nachrichtenapp für die Industrie.Mit der App Industrial News Arena erfahren Sie wichtige Nachrichten aus Ihrer Branche sofort.

Hy-Line Communication präsentiert mit dem WGM160P ein sicheres, vollständig zertifiziertes Wi-Fi-Modul mit geringem Stromverbrauch, das speziell für IoT-Anwendungen entwickelt wurde. Das Modul enthält einen 2,4GHz-802.11- b/g/n-WLAN-Funkchip und eine 72MHz-Cortex-M4 MCU. Moderne Peripherie, wie ein Ethernet-MAC und ein Captouch, ermöglicht es ohne großen Hardwareaufwand zusätzliche Funktionalitäten hinzuzufügen.

Das Unternehmen hat seine RTOS Awareness erweitert und unterstützt nun auch Safertos von Wittenstein auf allen ARM-Prozessoren. Safertos ist ein pre-emptives, Safety Critical RTOS, das vorzertifiziert verfügbar ist für IEC61508 SIL3 und ISO26262 ASIL D. Das neue Softwarepaket enthält eine fertige Konfiguration für den Real Time Kernel.

Mit dem passiv gekühlten Spo-Book Rugged Ryzen bringt der Hardwarehersteller aus Nürnberg einen Mini-PC auf den Markt, der nicht nur eine performante Grafikleistung hat sondern zudem Outdoor- und Vehicle-tauglich ist. Das Herzstück bildet der AMD Ryzen V1807B Embedded-Prozessor mit 4×3,35GHz. Dieser vereint AMDs Zen-CPU- und Vega-GPU-Architekturen zu einer sogenannten APU (Accelerated Processing Unit).

Mit der Einführung von Hyperstones neuem X1 Low-Power-SSD-Controller erscheint die neueste Technologie von des Unternehmens -FlashXE Extended Endurance. FlashXE ist ein Featureset, das weitreichende Kalibrierungs-, Error Correction-, Fehlervermeidungs- und Refresh Mechanismen umfasst, um die maximale Zuverlässigkeit von NAND-Flash-basierten Speichersystemen zu gewährleisten.

Die Installation einer Festplatte oder SSD in einem herkömmlichen Wechselrahmen mit Tray oder Caddy kann lange dauern, besonders wenn Techniker erst die nötigen Schrauben und einen passenden Schraubenzieher finden müssen.

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige