Unter der Wartungsfreundlichkeit eines Programmsystems verstehen wir seine Eignung für die Lokalisierung von Fehlerursachen, für die Durchführung von Fehlerkorrekturen und die Eignung zur Veränderung oder Erweiterung der Programmfunktionen. Diese Definition deutet an, dass die Wartungsfreundlichkeit von der Lesbarkeit, der Erweiterbarkeit und der Testbarkeit eines Programmsystems abhängt.
Die Lesbarkeit eines Programmsystems hängt von der Darstellungsform, vom Programmierstil und seiner Konsistenz, von der Lesbarkeit der Implementierungssprache, der Strukturiertheit des Systems, der Qualität der Dokumentation, aber auch von den Werkzeugen zur Inspektion eines Programmsystems ab.
Unter Erweiterbarkeit verstehen wir die Möglichkeit, gewünschte Änderungen an den passenden Stellen ohne unerwünschte Nebenwirkungen einzufügen. Dies ist ganz besonders abhängig von der Strukturiertheit (Modularität) des Programmsystems und von den Möglichkeiten, die die Implementierungssprache dafür zur Verfügung stellt, aber natürlich auch von der Lesbarkeit (zum Auffinden der passenden Stellen), der Verfügbarkeit einer verständlichen Programmdokumentation und von den zur Verfügung stehenden Werkzeugen.
Unter Testbarkeit eines Programmsystems verstehen wir seine Eignung für die Verfolgung des Programmablaufs (Laufzeitverhalten unter vorgegebenen Bedingungen) und für die Lokalisierung von Fehlern. Die Testbarkeit hängt im wesentlichen von der Modularität und der Strukturiertheit des Programmsystems ab. Modulare, gut strukturierte Programme eignen sich besser zum systematischen, stufenweisen Testen als monolithische, unstrukturierte Programme. Testwerkzeuge und die Möglichkeit der Formulierung von Konsistenzbedingungen (Assertionen) im Quellcode reduzieren den Testaufwand und bilden wichtige Voraussetzungen für einen umfangreichen, systematischen Test aller Systemkomponenten.
|