Modulinformationssystem Informatik

 

Fortgeschrittenenpraktikum (Programming in the many) URL PDF XML

Modulcode: A5.3.2
Englische Bezeichnung:
Modulverantwortliche(r): Prof. Dr. Willem-Paul de Roever
Turnus: unregelmäßig (SS08)
Präsenzzeiten: 4PÜ
ECTS: 8
Workload: 240 Std.
Dauer: ein Semester
Modulkategorien: A5 (Sonstige)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Dieses Projekt befasst sich mit der Erstellung einer komplexen, verteilten Anwendung im Bereich der Dokumentenbearbeitung und -verwaltung. Die Studenten diskutieren die von den Betreuern informell gestellten Anforderungen und skizzieren eine Aufteilung des Projektes in Teilaufgaben. Die Betreuer teilen das Projekt mit Blick auf diesen Entwurf in mehrere Module auf. Diese Module werden dann auf die einzelnen Teams verteilt und von diesen realisiert. Dabei erlernen / vertiefen die Studenten Fähigkeiten sowohl im Rahmen der Koordination zwischen den Teams alsauch innerhalb der Teams. Aufgabe der Teams ist neben der Implementierung der jeweiligen Module auch eine ausführliche Dokumentation der Module sowie die Schaffung von Test-Cases für die einzelnen Module. Die Arbeiten werden selbstständig durchgeführt und an Hand von mehreren Präsentationen evaluiert.

Lernziele:

Die Studenten erlernen die Fähigkeiten zur Erstellung einer verteilten, modularisierten Anwendung. Die Studenten vertiefen Fähigkeiten in der Organisation der Teamarbeit sowohl Team-intern alsauch zwischen den Teams. Die Studenten lernen fortgeschrittene Techniken und Technologien zur Lösung komplexer Probleme mittels verteilter Programme und zur Erstellung dieser Programme einzusetzen. Die Studenten vertiefen die Fähigkeit, den von ihnen programmierten Code auch für Dritte zugänglich zu machen - mittels Dokumentation und Testing-Möglichkeiten. Die Studenten vertiefen ihre Fähigkeit mit anderen über ihren Code bzw. ihre Anforderungen an Fremdcode zu kommunizieren und erlernen neue Techniken hierzu. Die Studenten setzen sich mit verschiedenen Aspekten der verteilten Programmierung auseinander wie Sicherheit, Leistungsfähigkeit, Erweiterbarkeit, usw.

Lehrinhalte:

Den Studenten wird zunächst ein Überblick über die zur Verfügung stehenden Technologien (Java Enterprise Edition) und die verwendete Entwicklungsplattform (Eclipse) gegeben. Dann werden die Anforderungen an die zu erstellende Software als informelle Wunschliste von den Betreueren präsentiert. Die Studenten nehmen Einfluß auf die Verteilung des Projektes. Die Implementierung der aus der Entwurfsphase abgeleiteten Module umfasst Aufgaben aus dem Bereich der verteilten Programmierung wie Server-, Client-Programmierung, Synchronisationsprobleme, Aspekte der Datenkonsistens usw. Die Studenten wählen verschiedene Technologien (Web Services, Java Server Pages, Swing, AWT, SWT, MySQL, JavaDB,...) und Formate (XML, PDF, PS,...) aus und setzen diese ein. Die Studenten durchlaufen hierbei alle Phasen der Softwareentwicklung.

Weitere Voraussetzungen:

Prüfungsleistung:

begleitende Präsentationen, ggf. auch mündliche Prüfung am Semesterende

Lehr- und Lernmethoden:

Verwendbarkeit:

Literatur:

nach konkreter Themenstellung

Verweise:

Kommentar: