Software Wartung und Evolution
Software Wartung und Evolution

SS 2010 - Johannes Weidl-Rektenwald (swe10 at xion dot at), VU 2.0 (184.169)

Wichtige Informationen - Prüfungstermine - Lehrziel - Termine - Prüfung - Web Skriptum - übungsbeispiel - Ergebnisse - Literatur - Zurück zur LVA Auswahl

Wichtige Informationen

Die Vorlesung wird ab 2011 nicht mehr vom Institut für Informationssysteme angeboten.

Prüfungstermine

 

Lehrziel

Die Wartung von Softwaresystemen als letzte Phase des Software Lifecycles wurde historisch in ihrer Komplexität und der Notwendigkeit geeigneter Methoden und Werkzeuge zur angemessenen Durchführung unterschätzt. Dabei beansprucht die Wartungsphase ca. zwei Drittel des Gesamtbudgets für den Bau und Betrieb eines Softwaresystems von der Vision bis zur Stilllegung. Die Vorlesung bespricht den Software Wartungs-Lifecycle und die Gesetze der Software Evolution im Detail und setzt thematische Schwerpunkte in den Gebieten Legacy Systeme, Reverse- und Re-Engineering, Refactoring, Change Patterns und Design for Change. Im Besonderen wird auf die holistische Behandlung des Themas Software Wartung Wert gelegt, indem die nicht-technischen Aspekte wie Organisation und Management eingehend behandelt werden. Auch werden Best Practices der Software Wartung und der Aufrechterhaltung der Wartbarkeit besprochen und in der Übung anhand von Beispielen vermittelt.

© Johannes Weidl-Rektenwald 2002-2010 - use only with reference to the author.
 

Termine

  • Die Anmeldung zur VU erfolgt über die Anmeldung zu einer Übungsgruppe (max. Teilnehmerzahl pro Gruppe 5) im TUWIS.
  • Die Anwesenheit bei der Vorbesprechung im Rahmen der 1. Vorlesung ist verpflichtend, um den Gruppenplatz zu erhalten!
  • Die Lehrveranstaltung findet im EI4 Reithofer Hörsaal statt.
  • Die Lehrveranstaltung wird geblockt abgehalten.
  • Vorlesungstermine:

Datum Zeit Ort Veranstaltung Themen/Literatur Folien
Di, 09.03.2010 16:15-17:45 Seminarraum Zemanek Vorbesprechung und 1. Vorlesung Software Wartung und Evolution - Motivation und Definition
D.L. Parnas, "Software Aging", 1994  
M.M. Lehman et al., "Metrics and Laws of Software Evolution", 1997
Softwareevolution und Wartung: Situationsanalyse und Entwicklungsmöglichkeiten von Klaus P. Berg
SWE slides - chapter 1  
Di, 23.03.2010 16:30-18:00 Seminarraum Zemanek 2. Vorlesung Wartungsaspekte und Reverse Engineering
Reverse Engineering Taxonomy [Chikofsky, Cross 90]
Design Recovery [Biggerstaff89]
SWE slides - chapter 2  
Di, 13.03.2010 16:15-17:45 Seminarraum Zemanek 3. Vorlesung Restructuring, Reengineering, Organisation der Wartung
J. Weidl, H. Gall,"Binding Object Models to Source Code: An Approach to Object-Oriented Re-Architecting"
(In Proceedings of COMPSAC'98, IEEE CS, 1998)
SWE slides - chapter 3  
Di, 20.04.2010 16:15-17:45 Seminarraum Zemanek 4. Vorlesung Restructuring, Reengineering, Organisation der Wartung   -
Di, 04.05.2010 16:15-17:45 Seminarraum Zemanek 5. Vorlesung Tool-Präsentationen: Imagix 4D, Sotograph, Creole, Refactoring Demo mit IntelliJ IDEA
B.Bellay, H.Gall, "A comparison of four Reverse Engineering Tools", 1997
SWE slides - chapter 4  
Di, 11.05.2010 16:15-17:45 Seminarraum Zemanek 6. Vorlesung Software Evolution
M.M. Lehman et al., "Metrics and Laws of Software Evolution", 1997
SWE slides - chapter 5  
Di, 18.05.2010 16:15-17:45 Seminarraum Zemanek 7. Vorlesung Best Practices, MDA und Wartung, Wartung im unternehmerischen Kontext
Di, 22.06.2010 16:15-17:15 Seminarraum Zemanek Prüfung    
 

Prüfung und Beurteilung

Am Ende der Vorlesung findet eine schriftliche Prüfung über den Inhalt der Vorlesung statt. Die Gesamtnote für die VU ergibt sich aus der Vorlesungsnote und der Note für den Übungsteil, wobei jeder der der beiden Teile positiv sein muss. Für den Übungsteil ist ein Übungsbeispiel in der Gruppe auszuarbeiten.
Alle Teilnehmer der Übung sind automatisch zur Prüfung angemeldet Es sind keine Unterlagen erlaubt. Die Prüfungsdauer beträgt 60 Minuten.
 

Web Skriptum

Es gibt kein Vorlesungsskriptum. Die Powerpoint Folien werden rechtzeitig vor jeder Vorlesung als pdf-Datei zum Download bereit gestellt (siehe Tabelle oben).
 

Übungsbeispiel in der Gruppe

Das Übungsbeispiel wird in der Vorbesprechung vorgestellt. Das Übungsbeispiel ist umfangreich und wird in 5-er Gruppen absolviert. Die Anmeldung zu einer Gruppe ist im TUWIS möglich.

Angabe zum Übungsbeispiel 2010
Programm "Java Notes"

 

Ergebnisse


 

Historische Skripten

Web Skriptum 2009

SWE09 - Chapter 1
SWE09 - Chapter 2
SWE09 - Chapter 3
SWE09 - Chapter 4
SWE09 - Chapter 5
SWE09 - Chapter 6
 

Literatur

Zur Einführung - am besten für die 1. Vorlesung - empfohlen:

D.L. Parnas, "Software Aging", Proceedings of ICSE, 16, Sorento, Italy, pp. 279-287, May 1994
M.M. Lehman, J. F. Ramil, P. D. Wernick, D. E. Perry, W. M. Tursky, "Metrics and Laws of Software Evolution - The Nineties View", IEEE, 1997

Artikel aus dem ObjektSpektrum (Sigs Verlag Deutschland):

Softwareevolution und Wartung: Situationsanalyse und Entwicklungsmöglichkeiten von Klaus P. Berg

Standards:

IEEE STD 610.12: IEEE Standard Glossary of Software Engineering Terminology, 1990
IEEE STD 1219: Standard for Software Maintenance, 1998
ISO/IEC 12207: Information Technology - Software Life Cycle Processes, 1995
ISO/IEC 14764: Software Engineering - Software Maintenance, 2000

Software Evolution:

M.M. Lehman, "Programs, Life Cycles and Laws of Software Evolution", Proc. IEEE Spec. Iss. on Softw. Eng., v. 68, n. 9, Sept. 1980, pp. 1060-1076
H. Gall, M. Jazayeri, R. Klösch, G. Trausmuth, "Software Evolution Observations Based On Product Release History", Proceedings of the International Conference on Software Maintenance, 1997
M.M. Lehman, J. F. Ramil, "Software Evolution in the Age of Component-Based Software Engineering", IEE Proc.-Softw., Vol. 147, No.6, December 2000
M.M. Lehman, L.A. Belady, "Program Evolution - Processes of Software Change", Academic Press, London, 1985, 538 pps.
M.M. Lehman, "Rules and Tools for Software Evolution Planning and Management", http://www-dse.doc.ic.ac.uk/~mml/feast
M.M. Lehman, "The Future of Software - Managing Evolution, inv. contr., v. 15, n. 1, IEEE Software, Jan-Feb 1998, pp. 40-44
W.M. Turski, "Reference Model for Smooth Growth of Software Systems", IEEE Transactions on Software Engineering, Vol. 22, No. 8, pp. 599-600, August 1996
K. H. Bennet, V. T. Rajlich, "The staged model of the software life-cycle: A new perspective on software evolution"

Software Wartung:

H. van Vliet, "Software Engineering: Principles and Practice (2nd Edition)", Wiley, 1999 (Chapter 14)
S. L. Pfleeger, "Software Engineering: Theory and Practice", Prentice Hall, 1998 (Chapter 10)

Reverse Engineering, Restructuring, Reengineering:

R. Klösch, H. Gall, "Objektorientiertes Reverse Engineering", Springer Verlag, 1995, ISBN 3-540-58374-2
R S. Arnold, "Software Restructuring", Proceedings of the IEEE, Vol. 77, No. 4, April 1989
R.S. Arnold, "Software Reengineering", Proceedings, IEEE Computer Society Press, Los Alamitos, CA, 1993
Reverse Engineering Taxonomy [Chikofsky, Cross 90]
Design Recovery  [Biggerstaff89]
Program Analysis Tool [Harandi/Ning 90]
B. Bellay, H.Gall, "A comparison of four Reverse Engineering Tools", Proceedings of the 4th Working Conference on Reverse Engineering WCRE '97, Amsterdam, 6-8 October 1997
W. G. Griswold, D. Notkin, "Automated Assistance for Program Restructuring", ACM Transactions on Software Engineering and Methodology, Vol. 2, No. 3, pp. 228-269, July 1993

Program Comprehension:

V. Rajlich, J. Doran, R. T. S. Gudla, "Layered Explanations of Software: A Methodology for Program Comprehension"

Change Propagation:

V. Rajlich, "A Model for Change Propagation Based on Graph Rewriting", Proceedings of ICSM '97, September 28 - October 2, 1997, Bari, Italy

Management:

B. P. Lientz, E. B. Swanson, "Software Maintenance Management", Addison-Wesley, 1980

Allgemein:

F.P. Brooks, "The Mythical Man Month", Addison-Wesley, Reading, MA, first edition 1975, 20th Aniv. Edition 1995, 322p.
 

Links:
Vorlesung "Software Wartung und Evolution" von Prof. Harald Gall an der Universität Zürich
Lehman and Software Evolution
Literate Programming
 

Copyright by DI Dr. Johannes Weidl-Rektenwald - Do not use content without permission!
Letzte Änderung: 06.07.2010