Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Software Design (Sommersemester 2006)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 10.05.2006
  • Lehrform:
  • Belegungsart: Wahlpflichtmodul

Studiengänge

  • IT-Systems Engineering MA

Beschreibung

Softwareentwicklung ist ein kreativer Prozess, in dem Ideen und Entscheidungen zwischen Entwicklern klar kommuniziert und über die Zeit dokumentiert werden müssen. Im Rahmen von Programmiersprachen und darüber hinweg haben sich Idiome, Entwurfsmuster, Frameworks und Architekturstile als hilfreich erwiesen. Einschränkungen im Sprachbereich werden oft durch neue Sprachkonstrukte und Programmierparadigmen adressiert.

Im Rahmen dieser Veranstaltung werden maßgebliche Vertreter dieser Kategorien für die objektorientierte Softwareentwicklung besprochen sowie zugehörige und weitergehende Konzepte und Ansätze vorgestellt.

Stichworte: Softwaredesign, objektorientierte Programmierung, Idiome, Entwurfsmuster, Architekturstile, Refactorings, Frameworks, aspektorientierte Programmierung, kontextorientierte Programmierung, Metaprogrammierung, Reflection

Voraussetzungen

Abgeschlossenes Bachelor-Studium

Literatur

  • Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley 1997
  • Martin Fowler: Refactoring - Improving the Design of Existing Code. Addison-Wesley 1999
  • Joshua Kerievsky: Refactoring to Patterns. Addison-Wesley 2004
  • Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad: Pattern-Oriented Software Architecture - A System of Patterns. John Wiley and Sons 1996

Lern- und Lehrformen

Vorlesung mit Übungen/Seminaren

Leistungserfassung

Vortrag, Diskussion und schriftliche Ausarbeitung werden mit sechs benoteten Leistungspunkten angerechnet.

Im Rahmen einer Projektarbeit sollen Teilnehmer in kleinen Gruppen eine Anwendung entwerfen, implementieren und dokumentieren. Die Themen hierfür werden gestellt. Es soll mindestens Folgendes demonstriert werden:

  • Verwendung von verschiedenen Frameworks
  • Dokumentation von Entwurfsentscheidungen mit Hilfe von Mustern

Von den Teilnehmern wird in der zweiten Semesterhälfte ein ca. 30 minütiger Vortrag mit Präsentation der Anwendung, anschließender Diskussion und Auswertung (ca. 15 Minuten) erwartet. Zwei Wochen vor dem Vortragstermin sollten in einer Vorbesprechung die Vortragsunterlagen (Vorversion der Präsentation) bei einem Betreuer vorgestellt werden.

Am Ende des Semesters ist eine Projektausarbeitung in schriftlicher Form abzugeben (ca. sechs Seiten pro Person im LNCS Format). Die Dokumentation sollte minimal folgende Punkte diskutieren:

  • Details zu Entwurf, Implementierung und Test
  • Framework-Auswahl
  • Identifizierung und Anwendung von Entwurfsmustern
  • Stärken und Schwächen der verwendeten Frameworks und der präsentierten Lösung
  • Entwurfsalternativen
  • Verwandte Arbeiten
  • Erweiterungsmöglichkeiten und Ausblick

Abgegeben werden sollen:

  • Gedruckte Version der Projektausarbeitung
  • Elektronische Version der Projektausarbeitung auf beigelegter CD oder per Email
  • Elektronische Version des Vortrags auf beigelegter CD oder per E-Mail
  • Quelltext in elektronischer Form auf beigelegter CD oder per E-Mail

Die elektronischen Versionen von Projektausarbeitung und Vortrag umfassen sowohl das jeweilige Quell- als auch PDF-Format.

Termine

Vorlesungen und Übungen/Seminare:

  • Montag, 17 - 18:30 Uhr (HS 2)
  • Mittwoch, 9:15 - 10:45 Uhr (HS 3)

Themenstellung:

  • 26. April 2006

Einschreibefrist:

  • 10. Mai 2006

Lehrveranstaltungsterminänderung:

  • für den 3.Juli findet die LV am 13.Juni von 13:30Uhr bis 15:00Uhr im HS 2 statt
  • für den 5.Juli findet die LV am 20.Juni von 13:30Uhr bis 15:00Uhr im HS 2 statt

Zurück