Hasso-Plattner-InstitutSDG am HPI
Hasso-Plattner-InstitutDSG am HPI

Software Adaption (Sommersemester 2011)

Dozent: Prof. Dr. Holger Giese (Systemanalyse und Modellierung) , Thomas Vogel (Systemanalyse und Modellierung)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 1.4.2011 - 30.9.2011
  • Lehrform: Vorlesung
  • Belegungsart: Wahlpflichtmodul

Studiengänge & Module

IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
IT-Systems Engineering BA


While software is an immaterial object that does not decay with time, it is in fact “aging“ - as Parnas puts it – as we usually fail to adapt the software such that it meets our changing needs and make the software less valuable by doing the changes not careful enough. One of Lehman's laws of software evolution accordingly states that a system that is being used undergoes continuing adaption or degrades in effectiveness. Consequently, we can observe that the ability to cost-effectively adapt software has become one of the most important critical success factors for software development today.


In this lecture we want review how software adaption is addressed at several levels and how far these approaches are able to cope with the need for cost-effective software adaption. We will at first review the need for adaption and study which different forms of adaption are relevant. We will then look into the classical software maintenance lifecycle phase and how required adaption due to changes in the environment is handled there. Then, we will look into approaches that contribute to better adaptable software where the costs for later adaption steps are reduced by taking the need for adaption into account upfront. Both directions are highly relevant, but cannot prevent that still major costs result due to the required adaption. Even worth, it seems that we can only limit the effects of the changes but cannot prevent aging in general. Therefore, also the idea to automate software adaption in form of self-adaptive software has been raised and we will look into such self-adaptive software. As it has the capability to adjust itself in response to changes in the environment, it promises to considerably reduce the costs for required adaption and to avoid a decline in quality. We will discuss existing proposals and solutions as well as its current limitations.

Lern- und Lehrformen

Es finden zu Beginn der Veranstaltung zwei 90-minütige Veranstaltungen pro Woche statt. Danach wird der Projektblock stattfinden. Unregelmäßig wird es im Rahmen des Projektblockes Veranstaltungen geben, in denen die Lösungen der Teilnehmer für einen Teil der gestellten Projektaufgabe im Plenum vorgestellt und diskutiert werden.


Die Leistungserfassung erfolgt durch ein Projekt, das während des Semesters zu bearbeiten ist, sowie eine mündliche Prüfung am Ende des Semesters. Die Endnote ergibt sich aus dem gewichteten Durchschnitt beider Teile. Die Projektnote wird mit 25%, die Prüfungsnote mit 75% gewichtet.

In dem Projekt ist Adaption in den verschiedenen in der Vorlesung diskutierten Formen anhand einer gegebenen Software zu erproben. Die notwendigen praktischen Kenntnisse werden im Übungsbetrieb vermittelt. Die Projekte werden in Gruppen von 3 bis 4 Studierenden bearbeitet.





  • Dienstag um 17:00 Uhr in HS 3 (12.07. abweichend H-E.52)
  • Mittwoch um 11:00 Uhr in HS 3

An folgenden vorläufigen Terminen finden Vorlesungen statt:

  • April: 12, 13, 19, 20, 26, 27
  • Mai: 03, 04, 10, 11, 18
  • Juni: 07, 08, 14, 15, 21


Das Projekt besteht aus drei Aufgaben, die alle in Gruppenarbeit zu bearbeiten sind. Die vorläufigen Termine für die Besprechnungen der Aufgabenstellungen und für die Abgaben und Präsentationen der Lösungen sind folgende:

  1. Adaption during Software Maintenance
    Besprechung der Aufgabenstellung: 03.05.2011 (als Teil der Vorlesung)
    Abgabe und Präsentation der Lösung: 17.05.2011
  2. Adaptable Software
    Besprechung der Aufgabenstellung: 18.05.2011 (als Teil der Vorlesung)
    Abgabe und Präsentation der Lösung: 01.06.2011
  3. Self-Adaptive Software
    Besprechung der Aufgabenstellung: 15.06.2011 (als Teil der Vorlesung)
    Abgabe der Lösung: 12.07.2011
    Präsentation der Lösung: 12.07.2011 und 13.07.2011


werden noch bekannt gegeben.