Zum Inhalt springen

Wartbarkeit

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. Juli 2005 um 12:33 Uhr durch 80.143.197.23 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Wartbarkeit von Software ist ein äußerst wichtiges Kriterium in der Softwareentwicklung und gibt an, mit welchem Aufwand und welcher Qualität Änderungen in einem Softwaresystem durchgeführt werden können.

Wartbarkeit ist um so wichtiger

  • je größer die geplante Verwendungsdauer der Software ist
  • je mehr Personen an ihrer Entwicklung beteiligt sind
  • je geringer die Verfügbarkeit von Experten für das Sachgebiet ist
  • je größer die Wahrscheinlichkeit ist, dass nicht die Entwickler der Software selbst die späteren und erfahrungsgemäß unvermeidbaren Änderungen durchführen werden.

Wichtige Kriterien für die Wartbarkeit von Software sind:

  • die Dokumentation, insbesondere die exakte Spezifikation von Schnittstellen (Interfaces)
  • ein modularer, stark gegliederter Aufbau (Zerlegung in elementare, einzeln testbare Einheiten)
  • die lokale Verständlichkeit von Anweisungen resp. von Kommentar im Code
  • das Vermeiden nicht ersichtlicher Wirkungen von Anweisungen
  • das Vermeiden globaler Variablen
  • die Parametrisierbarkeit von Funktionen bzw. Methoden
  • in das Programm eingebaute Prüfungen der Annahmen, die der Programmierer über Programmzustände hat (Assertions)
  • ein möglichst großer Umfang von automatisch ausführbaren Tests für das System

Der Grad der Wartbarkeit von Software wird durch die zugrundeliegende Programmiersprache stark beeinflusst. Sprachen, in denen viel mit Sprunganweisungen gearbeitet werden muss (z.B. BASIC, insbesondere die frühen Dialekte), sind unter Umständen schwerer wartbar, wenn die Sprünge nicht strukturiert erfolgen. Den Quelltext von Programmen, die kreuz und quer im Code hin- und herspringen, nennt man im Programmiererjargon "Spagetticode".

Die Wartbarkeit ist eins der wesentlichsten Kriterien, die die Weiterentwicklung der Programmiersprachen bestimmt.

Siehe auch: Modifizierbarkeit