Software Design (Sommersemester 2006)
Lecturer:
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
General Information
- Weekly Hours: 4
- Credits: 6
- Graded:
yes
- Enrolment Deadline: 10.05.2006
- Teaching Form:
- Enrolment Type: Compulsory Elective Module
Programs
- IT-Systems Engineering MA
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: Softwaredesign, objektorientierte Programmierung, Idiome, Entwurfsmuster, Architekturstile, Refactorings, Frameworks, aspektorientierte Programmierung, kontextorientierte Programmierung, Metaprogrammierung, Reflection
Requirements
Abgeschlossenes Bachelor-Studium
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
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. 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.
Dates
Vorlesungen und Übungen/Seminare:
- Montag, 17 - 18:30 Uhr (HS 2)
- Mittwoch, 9:15 - 10:45 Uhr (HS 3)
Themenstellung:
Einschreibefrist:
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