Modulcode: | MS0509 |
Englische Bezeichnung: | |
Modulverantwortliche(r): | Prof. Dr. Bernhard Thalheim |
Turnus: | unregelmäßig (WS08/09 WS09/10) |
Präsenzzeiten: | 4V 2Ü 2PÜ |
ECTS: | 8 |
Workload: | 240 Std. |
Dauer: | ein Semester |
Modulkategorien: | IG (MSc Inf) |
Lehrsprache: | Deutsch |
Voraussetzungen: |
Durch die Entwicklung von model-driven architectures/design und der Entwicklung von Modellabstraktionen kann das Neuaufsetzen und das Weiterentwickeln von Informationssystemen effizienter, einfacher und vor allem auch konsistent erfolgen. Patternbasierte Systeme sind ausserdem leichter zu erweitern und leichter zu integrieren. Im Bereich der Informationssysteme haben sich bereits eine Reihe von Patterntypen herausgeschält, die einen Grossteil der Anwendungen überstreichen. Diese Entwicklungen sind jedoch auf Informationssysteme beschränkt. Der gleiche Entwicklungsansatz kann jedoch auch für andere Applikationssysteme wie z.B. Workflow-Systeme, Präsentationssysteme und kollaborative Systeme verallgemeinert werden. Mit dieser Lehrveranstaltung soll interaktiv eine Verallgemeinerung der Patternansätze aus dem Bereich der Datenbanksysteme für allgemeine Informationssysteme über die bisherigen Ansätze aus dem Bereich des Software-Engineerings enstehen. Derzeit beschreibt jedes Software-Pattern nur ein einziges Entwurfsproblem und ist isoliert von anderen Entwurfsproblemen und ohne Beachtung möglicher Beziehungen dazwischen. Damit musste eine patternbasierte Entwicklung rudimentär bleiben, wenn nicht auf einer integrierenden Gesamtsicht aufegbaut wird.
Erlernen von Prinzipien der Programmierung im Grossen für Informationssystemanwendungen: Die Progrmamierung im Grossen unterscheidet sich grundlegend von der Programmierung im Kleinen. Ausgehend von einer Architektur des Systemes und unterschiedlichen Sichtweisen auf diese Architektur kann die grundlegende Funktionalität und Strukturierung von Anwendungen entwickelt werden. Es werden grundlegende Pattern zur Strukturierung flexibler, objektorientierter, komponentenbasierter/service-orientierter und verteilter Software-Systeme vorgestellt.
Kennenlernen von Abstraktionsparadigmen für Pattern: Pattern sind Abstraktionen für eine Klasse von Lösungen zu gleichartigen Problemstellungen. Pattern können als generische Anwendungskonzepte mit eienr Instantiierung und einer Kontextadaptation in model-driven Konzepten auf spezielle Lösungen abgebildet werden.
Ableiten von Abbildungsmechanismen für die Implementation von Pattern: Die Instantiierung, Orchestrierung, Integration und Adaption von Pattern kann mit Verfeinerungszugängen der theoretischen Informatik erfolgen. Diese Abbildungsmechanismen erlauben einen flexiblen Einsatz von Pattern in der Entwicklungsphase von Informationssystemen und unterstützt eine Weiterentwicklung von bereits existierenden Informationssystemen.
Komponententechnologien für die Komposition von Pattern: Der Teilnehmer lernt die grundlegenden Techniken einer koomponentenbasierten Entwicklung und kann diese Techniken für die Komposition von Systemen, die auf Pattern basieren, anwenden.
Informatik III, Datenbanksysteme I
Optional: Datenbanksysteme II
Mündliche Prüfung auf der Grundlage der Semesterarbeit
M. Fowler: Analysis Patterns, Addison-Wesley 1998.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 2005
F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal: A system of patterns - Pattern-oriented software architecture, Wiley 1996.
T. Lewis: Object-oriented application frameworks. Prentice-Hall 1995.
W. Pree: Komponentenbasierte Softwareentwicklung mit Frameworks. dpunkt 1997.
W.J. Brown, R.C. Malveau, H.W. McCormick III, T.J. Mowbray: AntiPatterns. John Wiley 1998.