Navigation auf uzh.ch
Die Wartung und Pflege von Software-Systemen stellt eine wesentliche Phase des Software Lifecycles dar. Diese wurde historisch in ihrer Komplexität und der Notwendigkeit geeigneter Methoden und Werkzeuge zur angemessenen Durchführung unterschätzt. Dabei beansprucht die Wartungsphase circa zwei Drittel des Gesamtbudgets für den Bau und Betrieb eines Software-Systems von der Idee (Vision) bis zur Stilllegung.
Die Vorlesung stellt den Software Wartungs-Lifecycle und die Gesetze der Software Evolution im Detail vor und setzt thematische Schwerpunkte in den Gebieten Legacy Systeme, Reverse- und Re-Engineering, Refactoring, Change Patterns und Design for Change. Dabei wird auch auf die holistische Behandlung des Themas Software Wartung Wert gelegt, indem die nicht-technischen Aspekte wie Organisation und Management ebenfalls behandelt werden. Auch werden so genannte Best Practices der Software Wartung und der Evolution besprochen und anhand von Beispielen vermittelt.
Erlernen von Techniken und Prozessen für die Wartung und Evolution von Software.
Kategorie: | Vorlesung mit integrierter Übung |
Dozierender: | Prof. Dr. Harald Gall, Dr. Emanuel Giger |
Zeit und Ort: | Fr, 13:00 - 14:45 Uhr |
Sprache: | Vorlesung Deutsch, Unterlagen Englisch |
ECTS: | 3.0 |
Voraussetzungen: | BSc Informatik: Assessmentstufe, Module Software Engineering und Software-Praktikum |
Zielgruppe: | Für Studierende im BSc Studiengang (ab 4. Semester) sowie im MSc Informatik |
Link: | weitere organisatorische Infos siehe VVZ |
Die Unterlagen zur LVA beruhen auf jüngsten Ergebnisse aus Forschung und Entwicklung. Durch Fallstudien wird der jeweilige Praxisbezug zu den theoretisch aufbereiteten Vertiefungen beispielhaft hergestellt.
Hier finden Sie vor der Vorlesung jeweils die Handouts und entsprechende Literatur (Artikel aus Konferenzen und Journalen, in englischer Sprache) zur Aufbereitung der Vorlesungsinhalte. Die Unterlagen werden wochenweise aktualisiert.
Datum | Themen/Literatur | Folien & Artikel |
---|---|---|
22.02.2013 | Was ist Software-Wartung und Evolution? (H. Gall) Wartungsaspekte und Reverse Engineering (H. Gall) Die folgenden Referenzen sind zwar schon etwas älter, sind aber absolute Klassiker in Bezug auf die Evolution von Software über die Zeit. V.a. die ersten beiden Referenzen lohnen sich zu lesen und zeigen auf, weshalb Software genau wie Menschen altern kann. Die Erkenntnisse gelten auch heute noch! |
|
01.03.2013 |
Reengineering I (E. Giger) | |
08.03.2013 |
Reengineering II (E. Giger) The following website about Refactoring provides an in-depth overview of several refactoring patterns. Furthermore, the author of the website discusses pros and cons, pitfalls, relations between individual patterns, and other aspects of refactoring. The discussion of each pattern is illustrated with an exmaple. |
|
15.03.2013 |
As announced, the lecture tomorrow will be canceled because of conference attendence. Instead students are required to read Chapters 9 (Redistribute Responsibilities) and 10 (Transform Conditionals to Polymorphism) from the In a second step, you should download this small The exmaple provides some opportunities for refactoring. You are required to look at the code, find those opportunities, and then propose a potential solution to imporve the code structure. Hand in a UML-Diagram of the refactored solution. Furthermore, the solution shall contain a *few* sentences explaining your refactoring(s) (Why was the old design bad? Why is your new design better? Was is the name of the refactoring pattern? etc.). Send a signle PDF to Emanuel Giger until 26.04. (If you have another code example that you would like to refactor, for instance, your SOPRA code, you are very welcome to do so.) |
|
22.3.2013 |
Software Analysis Visualization (E. Giger) |
|
12.04.2013 |
Empirical Software Engineering (E. Giger) |
|
19.04.2013 | SOFAS Platform and Facets (G. Ghezzi) | |
26.04.2013 | Change Type Analysis with ChangeDistiller (H. Gall) | |
03.05.2013 | HisMo - Modeling History of Software (H. Gall) |
|
10.05.2013 | Code Clones (E. Giger) | |
17.05.2013 | Defect Prediction (E. Giger) | |
24.05.2013 | Lecture canceled due to conference attendance. Plase read the two reading assignments: | |
31.05.2013 | Exam Preparation: This lecture will be used to prepare for the exam next week. We discuss an example exam from previous years. FAQ: (1) As always, it is *not* mandatory to attend the lecture. (2) It will take ~1h, depending on how many questions are asked during the discussion. | |
07.06.2013 | The will be a *written* exam. The exam takes place in the same room as the lecture during the same time slot. |
Am Ende der Vorlesung findet eine schriftliche Prüfung (Klausurarbeit) über den Inhalt der Vorlesung statt.
Die Vorlesung basiert auf folgendem Buch: