Softwareerosion

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Qsicon Fokus2.svg Dieser Artikel wurde am 31. Oktober 2014 auf den Seiten der Qualitätssicherung eingetragen. Bitte hilf mit, ihn zu verbessern, und beteilige dich bitte an der Diskussion!
Folgendes muss noch verbessert werden: Was in Gottes Namen ist die "Entropie" einer Software? Wie ist sie definiert? Wie wird sie quantifiziert? --Reisfink (Diskussion) 20:59, 31. Okt. 2014 (CET)

Softwareerosion (englisch: software erosion, code erosion), auch bekannt als Softwarezerfall (englisch: software decay, code decay), Softwareverrottung (englisch: Software rot, Code rot), bezeichnet die zunehmende Entropie einer bestehenden Softwarelösung. Diese Entropie führt mit zunehmender Weiterentwicklung der Softwarelösung zu einer Verringerung der Performance, Erschwernissen bei der Anpassbarkeit, einer Zunahme durch die Akkumulation von Programmfehlern, sowie Inkompatibilitäten mit neuen und zukünftigen Softwareumgebungen. Die Softwarelösung bekommt mittelfristig einen „Geruch“ und wird langfristig zu einem Altsystem und damit unbrauchbar.

Refactoring[Bearbeiten]

Hauptartikel: Refactoring

Refactoring ist eine Maßnahme, um dem Problem der Softwareerosion zu begegnen. Es handelt sich hierbei um den Prozess des Umschreibens existierenden Codes, um die Struktur zu verbessern, ohne das externe Verhalten zu ändern.[1] Dies beinhaltet das Entfernen toten Codes und das Neuschreiben von Abschnitten, die stark modifiziert wurden und nicht mehr effizient arbeiten. Es muss hierbei darauf geachtet werden, dass sich das externe Verhalten des Codes nicht ändert, da dies zu Inkompatibilitäten führen kann und damit die Softwareerosion noch beschleunigt. Das Codeverhalten kann mit Modultests geprüft werden, die das Verhalten des Codes automatisch verifizieren.

Referenzen[Bearbeiten]

  1. Martin Fowler: What Is Refactoring. 11. September 2007, abgerufen am 31. Januar 2013 (englisch).