Modulcode: | MS0307 |
Englische Bezeichnung: | Object-oriented Programming |
Modulverantwortliche(r): | Dr. Friedemann Simon |
Turnus: | unregelmäßig (WS08/09) |
Präsenzzeiten: | 2V 2Ü |
ECTS: | 6 |
Workload: | 180 Std. |
Dauer: | ein Semester |
Modulkategorien: | IS (Sonstige) |
Lehrsprache: | Deutsch |
Voraussetzungen: |
Die Studierenden erlernen Techniken und Methoden für die Entwicklung umfangreicher, komplexer Anwendungen.
Anhand der rein objektorientierten Programiersprache Smalltalk80 zusammen mit der zugehörigen interaktiven Programmierumgebung VisualWorks wird der objektorientierte Programmmierstil vertieft, speziell unter Nutzung von Systemklassen und Paketen von VisualWorks. Verschiedene Techniken zur Wiederverwendung von Code werden vorgestellt. Entwurfsmuster (Design Patterns) bieten bewährte, allgemein verwendbare Lösungsansätze für viele wiederkehrende Aufgaben bei der Programmierung. Die Architektur einer Anwendung ist unfassender zu verstehen. Ihre Festlegung erfolgt bereits im Rahmen der objektorientierten Modellierung.
Gerade umfangreiche, komplexe Anwendungen erfordern grundsätzlich einen Prozess, nach dem entwickelt wird. Dieser kann je nach den Vorgaben und Randbedingungen des Projekts sehr unterschiedlich ausfallen. Im Rahmen der Vorlesung wird ein Einblick in das Thema "`Software Engineering Prozesse"' vermittelt.
Die Studierenden erlernen Techniken und Methoden für die Entwicklung umfangreicher, komplexer Anwendungen auf der Basis von Objektorientiertheit (datenzentrierte Modellierung und Programmierung). Dazu gehört der Umgang mit einer interaktiven Programmierumgebung für die rein objektorientierte Programmiersprache Smalltalk80, der Einsatz von Entwurfsmustern bei der Programmentwicklung, die Auswahl einer geeigneten Architektur im Rahmen der Modellierung und Grundkenntnisse über die industrielle Produktion von Software.
Einführung in Smalltalk80 (VisualWorks) als Prototyp einer objektorientierten Programmiersprache: Kapselung, Polymorphie, Vererbung, Abstrakte Klassen, Metaklassen, Hierarchie der Systemklassen, Methodisches zur Vererbung. Wiederverwendung von Code durch Pluggability und Adaptors für Objekte. Ausgesuchte Beispiele für Entwurfsmuster (Design Patterns). Software Architektur: zur Begriffsbildung. Objektorientierte Modellierung mit UML. Software Engineering Prozesse: Rational Unified Process, Extreme Programming.
Erfolgreiche Teilnahme an der Übung und mündliche Prüfung am Ende der Vorlesung