Hauptseminar Objektorientierter Entwurf
Dienstags, 16:45 - 18:15 Uhr, Raum 1.034
Themen
Entwurfsprinzipien [Betreuer Jörg Czeranski]
Welchen generellen Prinzipien soll der Entwurf genügen?
Wie kommt man zu einem guten Entwurf?
Welche Eigenschaften hat ein guter Entwurf?
Unified Modeling Language (UML) [Betreuer Rainer Koschke]
Welche Möglichkeiten für den objektorientierten
Entwurf bietet UML?
Wo liegen die Grenzen von UML?
Objektorientierte Entwurfsmethodik [Betreuer Jörg Czeranski]
Welche Entwurfsmethoden speziell objektorientierter
Systeme gibt es?
Was sind deren Besonderheiten gegenüber Methoden
zum Entwurf prozeduraler Systeme?
Real-Time Object-Oriented Modeling (ROOM) [Betreuer Rainer Koschke]
Was sind die besonderen Anforderungen von Real-Time
Anwendungen?
In welcher Weise unterstützt die ROOM-Notation
diese Anforderungen?
Objektorientierte Architekturen, Frameworks und Architekturmuster [Betreuer
Jörg Czeranski]
Was ist Software-Architektur?
Was sind objektorientierte Architekturen?
Was sind Frameworks?
Was sind Architekturmuster?
Was sind die Zusammenhänge von objektorientierten Architekturen,
Frameworks und Architekturmuster?
Was ist die Abgrenzung von Architekturmustern zu Entwurfsmustern?
Entwurfsmuster (Design Patterns) [Betreuer Rainer Koschke]
Was sind Entwurfsmuster?
Welche Vor- und Nachteile haben Entwurfsmuster?
Beispiele objektorientierter Entwurfsmuster.
Antipatterns [Betreuer Jörg Czeranski]
Was sind Antipatterns?
Wozu dienen Antipattern?
Beispiele von Antipattern?
Formale Spezifikation objektorientierter Software [Betreuer Rainer Koschke]
Was sind die besonderen Probleme bei der formalen Spezifikation
objektorientierter Software?
Welche Notationen und Methoden gibt es zur formalen
Spezifikation objektorientierter Software?
In welcher Weise genügen diese Notationen und Methoden
den besonderen Anforderungen?
Konzepte objektorientierter Programmiersprachen (Smalltalk, Java, C++,
Eiffel, Ada95, Objective Caml) [Betreuer Jörg Czeranski]
Was ist der Zusammenhang objektorienierter Entwürfe
und Programmiersprachen?
Übersicht über die objektorientierten Konzepte
von Programmiersprachen am Beispiel von Smalltalk, C++, Java, Eiffel, Ada95
und Objective Caml.
Aspekt- und subjektorientierte Programmierung [Betreuer Rainer Koschke]
Was ist aspektorientierte Programmierung?
Was ist subjektorientierte Programmierung?
Was sind die Vorzüge und Probleme aspekt- und subjektorientierter
Programmierung?
Test objektorientierter Systeme [Betreuer Jörg Czeranski]
Welche besonderen Schwierigkeiten hat der Test objektorientierter
Systeme?
Welche Testmethoden für objektorientierte Systeme
existieren?
Inwieweit genügen diese Methoden den besonderen
Anforderungen?
Refactoring [Betreuer Rainer Koschke]
Was ist Refactoring?
Wozu wird Refactoring benötigt?
Beispiele von Refactorings.
Wartung und Reengineering objektorientierter Software [Betreuer Jörg
Czeranski]
Was sind die Besonderheiten bei der Wartung und beim
Reengineering speziell objektorientierter Systeme?
Welche Methoden, Techniken und Werkzeuge werden für
die Wartung und das Reengineering objektorientierter Systeme vorgeschlagen?
Inwieweit genügen diese Methoden, Techniken und
Werkzeuge den besonderen Anforderungen?
Ausarbeitungen
Die Ausarbeiten werden hier verfügbar gemacht, sobald sie abgegeben
werden. Die Abgabe einer vorläufigen Ausarbeitung ist eine Woche vor
dem Vortrag notwendig.
Die endgültige Ausarbeitung muss uns zwei Wochen nach dem Vortrag
vorliegen, sowohl in ausgedruckter als auch elektronischer Form
(Orginaldokument, Postscript oder PDF).
Die Ausarbeitung sollte bitte unbedingt von einem Kommilitonen vor
Abgabe auf Rechtschreibfehler etc. geprüft werden.
Die Ausarbeitungen müssen dem zweispaltigen IEEE-Format
für
Konferenzbeiträge genügen und dürfen nicht länger als
10 Seiten sein. Unter den folgenden Links gibt es entsprechende Vorlagen
(allerdings bis auf Hans Malte Kerns Vorlage für Letter statt DIN A4).
Generelle Hinweise zu Vorträgen und Ausarbeitungen
Generelle Hinweise zu Vorträgen und Ausarbeitungen
findet man hier.
Literatursuche