Zum Inhalt springen
Informatik · Klasse 13 · Software-Engineering und Abschlussprojekt · 2. Halbjahr

Software-Wartung und Evolution

Die Schülerinnen und Schüler verstehen die Herausforderungen und Strategien der Software-Wartung.

KMK BildungsstandardsKMK: Sekundarstufe II - Modellieren und ImplementierenKMK: Sekundarstufe II - Strukturieren und Vernetzen

Über dieses Thema

Die Software-Wartung und Evolution behandelt die Pflege und Weiterentwicklung von Software über ihren gesamten Lebenszyklus. Ihre Schülerinnen und Schüler lernen die zentralen Arten kennen: korrektive Wartung behebt Fehler in der bestehenden Codebasis, adaptive Wartung passt die Software an veränderte Hardware, Betriebssysteme oder gesetzliche Anforderungen an, perfektionierende Wartung optimiert Leistung, Benutzeroberflächen oder Funktionalitäten. Diese Prozesse machen typischerweise 60 bis 80 Prozent der Gesamtkosten aus und erfordern sorgfältige Planung, um Risiken wie neue Fehler oder Ausfälle zu minimieren.

Im Rahmen der KMK-Standards zu Modellieren und Implementieren sowie Strukturieren und Vernetzen analysieren Lernende Kosten- und Risikokurven über den Lebenszyklus. Sie erkunden Strategien zur Steigerung der Wartbarkeit, etwa durch modulare Architekturen, umfassende Dokumentation, automatisierte Tests und Refactoring-Techniken. Solche Ansätze verbinden theoretische Grundlagen mit praxisnahen Anwendungen in Projekten.

Aktives Lernen ist hier besonders wirksam, weil Schülerinnen und Schüler reale Code-Repositories bearbeiten, Wartungsszenarien simulieren und eigene Strategien entwickeln können. Dadurch werden abstrakte Konzepte konkret, Teamfähigkeiten gestärkt und das Verständnis für langfristige Software-Qualität vertieft.

Leitfragen

  1. Erklären Sie die verschiedenen Arten der Software-Wartung (korrektive, adaptive, perfektionierende).
  2. Analysieren Sie die Kosten und Risiken der Software-Wartung über den Lebenszyklus.
  3. Designen Sie Strategien zur Verbesserung der Wartbarkeit von Software.

Lernziele

  • Klassifizieren Sie die drei Hauptarten der Software-Wartung (korrektive, adaptive, perfektionierende) anhand von gegebenen Szenarien.
  • Analysieren Sie die finanziellen Auswirkungen und potenziellen Risiken verschiedener Wartungsstrategien über den gesamten Software-Lebenszyklus.
  • Entwerfen Sie eine Strategie zur Verbesserung der Wartbarkeit eines gegebenen Software-Code-Beispiels unter Berücksichtigung von Modularität und Dokumentation.
  • Bewerten Sie die Effektivität von automatisierten Testsuiten zur Reduzierung von Fehlern während der Software-Evolution.

Bevor es losgeht

Grundlagen der Softwareentwicklung

Warum: Schüler müssen grundlegende Konzepte wie Code, Funktionen und Programme verstehen, um über deren Wartung sprechen zu können.

Software-Lebenszyklus

Warum: Ein Verständnis der verschiedenen Phasen eines Softwareprojekts ist notwendig, um die zeitlichen und finanziellen Aspekte der Wartung einordnen zu können.

Fehlersuche und Debugging

Warum: Grundlegende Kenntnisse im Auffinden und Beheben von Fehlern sind eine Voraussetzung für das Verständnis der korrektiven Wartung.

Schlüsselvokabular

Korrektive WartungBehebt Fehler und Defekte, die nach der Auslieferung der Software entdeckt werden. Ziel ist die Wiederherstellung der korrekten Funktionalität.
Adaptive WartungPasst die Software an veränderte Umgebungen an, wie z.B. neue Betriebssysteme, Hardware oder gesetzliche Vorschriften. Die Funktionalität bleibt dabei oft erhalten.
Perfektionierende WartungVerbessert die Leistung, Wartbarkeit oder Benutzerfreundlichkeit der Software, ohne neue Fehler einzuführen oder die Funktionalität grundlegend zu ändern. Dies beinhaltet Optimierungen.
RefactoringDie Umstrukturierung von bestehendem Computercode, ohne das externe Verhalten zu ändern. Ziel ist die Verbesserung der Lesbarkeit, Reduzierung der Komplexität und Erhöhung der Wartbarkeit.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungSoftware-Wartung beschränkt sich nur auf Fehlerbehebung.

Was Sie stattdessen lehren sollten

Viele Schülerinnen und Schüler unterschätzen adaptive und perfektionierende Wartung. Aktive Rollenspiele zeigen die Vielfalt, indem Gruppen Szenarien durchspielen und erkennen, dass Wartung den Großteil der Kosten ausmacht. Peer-Diskussionen klären dies nachhaltig.

Häufige FehlvorstellungWartungskosten sinken nach der Initialentwicklung.

Was Sie stattdessen lehren sollten

Tatsächlich steigen sie oft an. Simulationsübungen mit Kostenmodellen visualisieren den Lebenszyklus und helfen Lernenden, Risiken wie Legacy-Code-Probleme zu verstehen. Praktische Analysen fördern kritisches Denken.

Häufige FehlvorstellungWartbarkeit ist kein Design-Ziel.

Was Sie stattdessen lehren sollten

Gute Strukturen müssen von Anfang an geplant werden. Design-Challenges in Gruppen demonstrieren, wie Modularität zukünftige Wartung erleichtert. Hands-on-Implementierungen machen den Zusammenhang greifbar.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

  • Softwareentwickler bei großen Banken wie der Deutschen Bank investieren erhebliche Ressourcen in die adaptive Wartung, um ihre Kernbanksysteme an neue regulatorische Anforderungen (z.B. PSD2) anzupassen und die Sicherheit zu gewährleisten.
  • Betriebssystem-Updates für Smartphones (z.B. von Apple für iOS oder Google für Android) beinhalten regelmäßig perfektionierende Wartung, um die Leistung zu optimieren, die Akkulaufzeit zu verbessern und neue Benutzeroberflächenelemente einzuführen.
  • Automobilhersteller wie Volkswagen nutzen korrektive Wartung, um Fehler in der Software von Infotainmentsystemen oder Fahrerassistenzsystemen zu beheben, die nach dem Verkauf des Fahrzeugs entdeckt werden.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Geben Sie jedem Schüler ein kurzes Szenario (z.B. 'Ein Nutzer meldet, dass die Anwendung nach dem letzten Windows-Update abstürzt' oder 'Die Anwendung wird langsamer, obwohl keine neuen Funktionen hinzugefügt wurden'). Die Schüler sollen die Art der Wartung identifizieren und kurz begründen.

Diskussionsfrage

Stellen Sie die Frage: 'Welche drei Maßnahmen können Softwareentwickler bereits während der initialen Entwicklung ergreifen, um die spätere Wartung zu erleichtern?' Sammeln Sie die Antworten und diskutieren Sie die Vor- und Nachteile jeder Maßnahme im Hinblick auf Kosten und Aufwand.

Kurze Überprüfung

Präsentieren Sie eine Liste von Wartungsaufgaben. Die Schüler sollen jede Aufgabe der entsprechenden Wartungsart (korrektive, adaptive, perfektionierende) zuordnen. Überprüfen Sie die Zuordnungen im Plenum.

Häufig gestellte Fragen

Was sind die Arten der Software-Wartung?
Korrektive Wartung behebt Fehler, adaptive passt an neue Umgebungen an, perfektionierende verbessert Leistung und Features. Diese Kategorien decken 60-80% der Lebenszykluskosten ab. Praktische Beispiele aus Projekten helfen Schülerinnen und Schüler, die Unterschiede zu verinnerlichen und Strategien zu entwickeln.
Wie kann man die Wartbarkeit von Software verbessern?
Durch modulare Architekturen, klare Dokumentation, automatisierte Tests und Refactoring. Tools wie Continuous Integration unterstützen dies. In der Oberstufe modellieren Lernende solche Ansätze in Projekten, um KMK-Standards zu erfüllen und reale Herausforderungen zu meistern.
Wie fördert aktives Lernen das Verständnis von Software-Wartung?
Aktive Methoden wie Code-Analysen in Gruppen oder Lebenszyklus-Simulationen machen abstrakte Kosten und Risiken erfahrbar. Schülerinnen und Schüler entwickeln Strategien hands-on, diskutieren in Teams und präsentieren Lösungen. Das stärkt systemisches Denken, Teamarbeit und Transfer auf Abschlussprojekte nachhaltig.
Welche Risiken birgt Software-Wartung?
Risiken umfassen neue Fehler durch Änderungen, steigende Kosten und Abhängigkeiten von Legacy-Code. Analysen zeigen, dass unzureichende Tests Regressionen verursachen. Strategien wie schrittweises Refactoring und Peer-Reviews minimieren diese, wie in praxisnahen Übungen erprobt.

Planungsvorlagen für Informatik