Modulinformationssystem Informatik

 

Objektorientierte Programmierung URL PDF XML

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: Info

Kurzfassung:

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.

Lernziele:

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.

Lehrinhalte:

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.

Weitere Voraussetzungen:

Prüfungsleistung:

Erfolgreiche Teilnahme an der Übung und mündliche Prüfung am Ende der Vorlesung

Lehr- und Lernmethoden:

Verwendbarkeit:

Literatur:

  • T.Budd: An Introduction to Object-Oriented Programming. 3. Ed., Addison-Wesley, 2002
  • S. Lewis: The Art and Science of Smalltalk. Prentice Hall, 1998
  • K. Beck: Smalltalk Best Practice Patterns. Prentice Hall, 1997
  • F. Buschmann et.al.: Pattern--Oriented Software Architecture, A System of Patterns. Wiley, 1999
  • I. Sommerville: Software Engineering. 6. Aufl., Addison-Wesley, 2001
  • B. Oestereich: Objektorientierte Software Entwicklung. 4. Aufl. Oldenbourg, 1998
  • M. Fowler: UML konzentriert. 3. Aufl., Addison-Wesley, 2004
  • Ph. Kruchten: Der Rational Unified Process. Addison-Wesley, 1999
  • K. Beck: Extreme Programming Explained. Addison-Wesley, 2000

Verweise:

Kommentar: