Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 1
5. Soll und Haben
5.1 Wo stehen wir im Software Engineering?
5.2 Was ist zu tun?
Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 2
5.1 Wo stehen wir im Software Engineering?
Was wir können... ... und wie wir es tun
gar ad hoc systema- professio-
nicht tisch nell
❍ Codieren •• ••••• •••
❍ Entwerfen im Kleinen • ••• •••• ••
❍ Testen •• •••• •• •
❍ Inspizieren •••• ••• •• •
❍ Integrieren ••• ••••• ••
❍ Dokumentieren ••• •••• •• •
❍ Projektmanagement • •••• ••• •
❍ Qualitätsmanagement ••• •• •••• •
❍ Konfigurationsmanagement ••• ••• ••• •
❍ Wiederverwenden ••• ••• •••• •
Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 3
Was wir einigermaßen können... ... und wie wir es tun
gar ad hoc systema- professio-
nicht tisch nell
❍ Anforderungen spezifizieren •• •••• ••• •
❍ Architekturen entwerfen •• ••• •••• •
❍ Software pflegen • •••• •••• •
❍ Aufwendungen schätzen •••• ••• •• •
❍ Kenngrößen messen •••• ••• •• •
❍ Kundenbeteiligung, Prototyping ••• •••• •• •
❍ Manuelles Reengineering ••• •••• •• •
Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 4
Was wir nicht können
❍ Externe Qualitätsmerkmale zuverlässig prognostizieren und in systematisch gelenkten Prozessen erreichen
❍ Automatisches Finden und Verwenden wiederverwendbarer Software
❍ Pflege vernetzter Dokumente
❍ Automatische Programmierung (mit Ausnahme von Spezialgebieten)
❍ Automatisches Reengineering oder wenigstens relevante Automatisierungshilfen
Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 5
Ursachen?
✩ Essentielle Probleme vs. Routineprobleme ("No silver bullet" (Brooks 1987, vgl. Kap. 1))
✩ Die meisten gelösten Probleme sind Routineprobleme
✩ Die Kernprobleme des Software Engineerings sind hart und bleiben es
✩ Das menschliche Können begrenzt den Fortschritt
(nach Ludewig)
Software Engineering II 5. Soll und Haben Martin Glinz Sommersemester 1999 5 - 6
5.2 Was ist zu tun?
Im wesentlichen das, was wir können, aber nicht tun:
❍ Präziser und mehr spezifizieren, entwerfen, inspizieren und testen
❍ Sorgfältig dokumentieren
❍ Projektführung systematisieren
❍ Qualität messen und lenken
❍ Konfigurationsmanagement betreiben
❍ Mehrfachverwendung fördern
❍ Mitarbeiter ausbilden
❍