MicroConsult Microelectronics Consulting & Training GmbH

Bild: Fotolia

Auswertungen und Analysen der Software-Qualitätskriterien Was Sie gegen eine drohende Software-Erosion tun können

22.03.2018

Wie Sie Software-Erosionen frühzeitig im laufenden Software-Entwicklungszyklus erkennen oder gar vermeiden können, erklärt Ingo Pohle, Mitgründer und Geschäftsführer von Microconsult.

Sponsored Content

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 damit in vollem Gange. Gerade bei langen Entwicklungszeiträumen ist es wichtig, die zugrundeliegenden Architekturvorgaben konsequent einzuhalten. Denn Verstöße wirken sich erst später aber dafür umso stärker aus.

Es gibt einige sichere Indikatoren für eine drohende oder bereits laufende Software-Erosion. Dazu gehören in den meisten Fällen:

  1. Wartungen, Erweiterungen und Änderungen der Software erfordern immer mehr Zeit. Es ist zunehmend schwieriger, Updates in die Software zu implementieren, da der Überblick und das Verständnis für die innere Qualität der Software verlorengegangen ist.

  2. Die Software ist immer schwieriger testbar. Wenn ich die innere Qualität meiner Software nicht mehr kenne und überblicken kann, fallen auch Test immer schwerer.

  3. Software-Ausfälle häufen sich. Eine steigende Fehlerrate und ein zunehmender Rückgang der Performance, deren Ursachen nicht gleich erkennbar ist, bringen oft Fehleinschätzungen für den Änderungs- und Anpassungsaufwand mit. Die Folge: Immer öfter werden Abgabetermine nicht eingehalten.

Der schleichende und schwer aufzuhaltende Prozess der Software-Erosion hat ihren Preis, der dazu noch sukzessive ansteigt. Die Anpassbarkeit wird immer schwieriger, die Programmfehler häufen sich und die Software zeigt zunehmend Inkompatibilitäten mit neuen und zukünftigen Softwareumgebungen. Mit der Zeit wird die Softwarelösung zu einem Altsystem und damit unbrauchbar.

Wie stoppt oder verhindert man Software-Erosion?

Kunden nehmen häufig nur die äußere Software-Qualität wahr, die im klassischen Software-Test sichergestellt wird. Zur Sicherung der inneren Qualität existiert in den meisten Projekten kein spezielles Rollenbild im Entwicklungsprozess. Kleine Verstöße gegen die Architektur in der lokalen Entwicklung bleiben häufig unbemerkt. Erst mit Hilfe von statischen Programmanalysen lassen sie sich sichtbar machen. Mit dieser erkennen Sie genau die Indikatoren für eine schleichende Software-Erosion in Architektur und Applikations-Code und sie liefert Ihnen Auswertungen und Analysen der Software-Qualitätskriterien im laufenden Software-Entwicklungszyklus.

Verwandte Artikel