Herausforderungen an das Softwaredesign moderner Embedded-Systeme

In den heute eingesetzten Embedded-Systemen spielt die Software eine zunehmend zentrale Rolle. Systeme basierend auf komplexen Mikrocontroller- und Prozessorarchitekturen müssen mehr Funktionalitäten bieten – und das in kürzerer Entwicklungszeit als je zuvor. Dies stellt Entwickler vor die Herausforderung, qualitativ hochwertige Software zu entwerfen, die sowohl effizient als auch zuverlässig ist.

Herausforderungen an das Softwaredesign moderner Embedded-Systeme weiterlesen

Test-Ende gut, alles gut

Blackbox-Tests mit Whitebox-Metriken ergeben keine Graybox-Tests. Doch jeder der drei erfüllt eine wichtige Aufgabe, um das Test-Ende zu definieren und die Anzahl an notwendigen Softwaretests zu minimieren.

Test-Ende gut, alles gut weiterlesen

Design for Test und Design for Safety – Software-Architektur nach Maß

Unser Alltag ist heute wie selbstverständlich von miteinander vernetzten Geräten und Systemen geprägt. Ob man mit dem Smartphone unterwegs den schnellsten Weg zum Ziel findet, auf dem Sofa mit dem Tablet die Zeitung liest oder die smarte Heizung über eine App auf dem Smartphone steuert, diese Systeme machen unser Leben komfortabler. Der Gewinn an Komfort erfordert jedoch auch strengere Security- und Safety-Anforderungen, mit denen die Entwickler solcher Systeme Schritt halten müssen. Dies gilt besonders für das autonome Fahren – hier haben schlüssige Safety-Konzepte oberste Priorität. 

Design for Test und Design for Safety – Software-Architektur nach Maß 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

“In unseren Kursen sitzen die Entwickler, die dazulernen wollen.”

MicroConsult-Trainer und Projektcoach Frank Listing über Clean Code und wie er sich den idealen Ablauf eines Embedded-Projektes vorstellt

Womit hat man als Trainer im Bereich Embedded-Software täglich zu tun?  

Frank Listing: Man bekommt sehr schnell mit, dass Software in deutschen Unternehmen des Maschinenbaus und der Automobilindustrie nach wie vor einen niedrigen Stellenwert hat. Die Software ist das, was am Ende dazukommt; das funktioniert auch nebenbei, kann man ja immer noch ändern. Aber so einfach ist es leider nicht.

“In unseren Kursen sitzen die Entwickler, die dazulernen wollen.” weiterlesen

Embedded-Software-Design: Anforderungen entwickeln und Architekturen verfeinern

“Predictive Maintenance” wird laut Experten in den nächsten fünf bis zehn Jahren bei so gut wie allen rotierenden Maschinen die Norm sein. Die rasante Entwicklung der Sensortechnologie und der künstlichen Intelligenz beschleunigt dieses Tempo zusätzlich. Die hierzu mit dem Internet of Things (IoT) verbundenen Embedded-Systeme stellen immer komplexere Anforderungen an das Design. Wer im Vorfeld durchdachte Anforderungen entwickelt und die Architektur konsequent mit Software-Design verfeinert, sichert Software- und Produktqualität.

Embedded-Software-Design: Anforderungen entwickeln und Architekturen verfeinern weiterlesen

Sichere Hinweise auf drohende Software-Erosion und was Sie dagegen tun können

Erfolgreiche Embedded-Software wird meist über einen langen Zeitraum hinweg entwickelt. Dabei kann es passieren, dass hin und wieder Beziehungen in den Code eingebaut werden, die dort nichts zu suchen haben. Mit der Zeit weicht die Software immer stärker von der geplanten Architektur ab – die Software-Erosion befindet sich in vollem Gange.

Sichere Hinweise auf drohende Software-Erosion und was Sie dagegen tun können weiterlesen

Objektorientiertes Testen von Embedded-Software

Die Einführung von C++ in ein Embedded-Projekt ist für die meisten Teams eine große Herausforderung. Unterschätzt man den Aufwand, verzögert sich dadurch unter Umständen die ganze Entwicklung. Und jetzt soll die C++ Software mit zusätzlichen komplexen Tests noch auf Sicherheit hin geprüft werden?

Lässt sich denn Qualität überhaupt in eine C++ Software hineintesten?

Objektorientiertes Testen von Embedded-Software weiterlesen