Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
  • de
 

Softwarearchitektur (Wintersemester 2008/2009)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Dr.-Ing. Michael Haupt (Software-Architekturen)

Beschreibung

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

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: Softwarearchitektur, Softwaredesign, objektorientierte Programmierung, Idiome, Entwurfsmuster, Architekturstile, Refactoring, Frameworks, aspektorientierte und kontextorientierte Programmierung

Voraussetzungen

Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache

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
  • Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.

Weitere Literatur wird jeweils gesondert bekannt gegeben.

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. Die Arbeit wird in einem Vortrag von 30 Minuten Dauer präsentiert, an den sich eine Diskussion anschließt. Der Vortrag soll technische Aspekte der durchgeführten Arbeit als Demonstration beinhalten. Beim Vortrag besteht für alle Mitglieder der vortragenden Gruppe Anwesenheitspflicht.

Ferner ist eine schriftliche Ausarbeitung auf Deutsch oder Englisch im Umfang von ca. zwölf Seiten im LNCS-Format abzuliefern, welche mindestens die folgenden Aspekte des Projekts dokumentiert:

 

  • Architektur des Gesamtsystems,
  • Entwurfsentscheidungen,
  • Konsequenzen der getroffenen Entwurfsentscheidungen, und
  • zusammenfassende Bewertung des Projekts.

Die Ausarbeitung muss eine Kurzzusammenfassung ("abstract") sowie ein Literaturverzeichnis enthalten. Auf die korrekte Angabe aller verwendeten Quellen sowie sprachliche Korrektheit ist besondere Sorgfalt zu legen. Eine Eigenleistung muss erkennbar sein. Die Entdeckung von Plagiaten führt zu jedem Zeitpunkt zum sofortigen Nichtbestehen der jeweiligen Leistung.

Bis spätestens zwei Wochen vor dem jeweiligen Vortragstermin bespricht jede Gruppe eine Vorversion ihrer Vortragsunterlagen mit einem der Betreuer. Die Vortragsunterlagen sind spätestens 24 Stunden vor dem Vortrag über das elektronische Abgabesystem einzureichen. Sie bestehen aus:

  • den Dokumentquellen der im Vortrag verwendeten Folien,
  • einer PDF-Version derselben,
  • dem vollständigen in der Demonstration verwendeten Quellcode einschließlich der benötigten Ressourcen,
  • einer Installationsbeschreibung,
  • einem Demo-Script, und
  • einem Demo-Videoclip (screen cast).

Die schriftliche Ausarbeitung ist zum Ende der Vorlesungszeit (13.2.2009) über das elektronische Abgabesystem einzureichen. Sie soll Elemente der sich an den Vortrag anschließenden Diskussion aufgreifen. Einzureichen sind

  • die Dokumentquellen der Ausarbeitung und
  • eine PDF-Version derselben.

Alle im Rahmen der Veranstaltung erstellten Dokumente und Quelltexte sollen unter der MIT-Lizenz oder, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.

Termine

Vorlesungen und Übungen/Seminare:

  • Dienstags, 13:30-15:00, HPI HS 1
  • Donnerstags, 13:30-15:00, HPI HS 3

Themenstellung:

  • 23. Oktober 2008

Einschreibefrist:

  • 7. November 2008

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist : 07.11.2008
  • Programm : IT-Systems Engineering BA
  • Lehrform :
  • Belegungsart : Pflicht

Zurück