Softwarearchitektur (Wintersemester 2006/2007)
Lecturer:
Dr.-Ing. Michael Haupt
(Software-Architekturen)
,
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
General Information
- Weekly Hours: 4
- Credits: 6
- Graded:
yes
- Enrolment Deadline: 09.11.2006
- Teaching Form:
- Enrolment Type: Compulsory Module
Programs
- IT-Systems Engineering BA
Description
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: Softwarearchitektur, Softwaredesign, objektorientierte Programmierung, Idiome, Entwurfsmuster, Architekturstile, Refactoring, Frameworks, aspektorientierte und kontextorientierte Programmierung
Requirements
Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache
Literature
- 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.
Learning
Vorlesung mit Übungen/Seminaren
Examination
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. 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 dokumentieren:
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.
Zwei Wochen vor dem jeweiligen Vortragstermin bespricht jede Gruppe eine Vorversion ihrer Vortragsunterlagen mit einem der Betreuer. Die Vortragsunterlagen sind einen Tag vor dem Vortrag per Email oder auf einer CD-ROM einzureichen. Sie bestehen aus
den Dokumentquellen der im Vortrag verwendeten Folien,
einer PDF-Version derselben,
dem in der Demo verwendeten Quellcode,
einer Installationsbeschreibung,
einem Demo-Script, und
einem Demo-Videoclip.
Eine Vorversion der schriftlichen Ausarbeitung ist eine Woche nach dem Vortrag bei einem der Betreuer als PDF-Dokument einzureichen. Sie soll Elemente der sich an den Vortrag anschließenden Diskussion aufgreifen und behandeln. Die Vorversion wird innerhalb einer Woche begutachtet und zur Endausfertigung an die Gruppe zurückgegeben. Die Kommentare des Gutachters sind bei der Anfertigung der Endfassung zu berücksichtigen. Die Endfassung ist am Ende der Vorlesungszeit per Email oder auf einer CD-ROM abzugeben. Sie besteht aus
Alle im Rahmen der Veranstaltung erstellten Quelltexte sollen unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.
Dates
Vorlesungen und Übungen/Seminare:
- Montag, 11 - 12:30 Uhr (HS 1)
- Mittwoch, 9:15 - 10:45 Uhr (HS 3)
(die LV findet nicht am Freitag (20.Okt), am Mittwoch (25.10) und am Freitag (27.10); Ersatztermine werden zu gegebener Zeit bekanntgegeben)
Themenstellung:
Einschreibefrist:
Nachholetermine:
- 11. Januar 2007, Donnerstag 9:15-10:45Uhr im HS 1
- 25. Januar 2007, Donnerstag 9:15-10:45Uhr im HS 1
Zurück