Institut für Informatik III
Universität Bonn
Datenbanken * Informationssysteme * Softwaretechnologie
* Computergrafik * Mustererkennung * Bildverarbeitung * Künstliche
Intelligenz * Robotik

"Objekt-orientierte Programmierung - in Java - für Java"
Praktikum im WS 1997
Prof. A. B. Cremers, G. Kniesel
Stand:
27.11.1997
Bitte
jedes mal mit gedrückter "shift"-Taste ein "reload"
durchführen
wenn ihr diese und jede der von hier aus referenzierten Seiten
besucht,
damit ihr nicht veraltete Inhalte lest weil das 'caching' des
Browsers euch einen Streich spielt!
Das gilt besonders für das Datum der letzten Änderung...
Neu
- 27.11.1997:
BSCW@javalab -Link (neu)
- 13.11.1997: BSCW@gmd-Link (neu)
- 30.10.1997:
Aufgaben-Übersicht (neu)
- 20.10.1997:
Cetus-Links
to OO (als Startpunkt für eure Suche nach Shareware-Tools
zur Erstellung von UML-Diagrammen)
- 14.10.1997: Literatur
(Design Patterns Links aktualisiert und erweitert)
- 30.09.1997:
Kurzübersicht: siehe
KVV.
Ziele
Das Praktikum wendet sich an Leute, die nicht nur ihre
Java-Kenntnisse vertiefen möchten, sondern auch Interesse haben
- an Techniken und Prinzipien objekt-orientierter
Programmierung, die den Einsatz von Java und ähnlicher Sprachen
erst effektiv machen,
- an Zusammenarbeit im Team und zwischen Teams und,
- an Organisation, Planung und Management von Teamarbeit.
Aufgabenstellung
Wie die meisten objekt-orientierten Sprachen bietet auch Java
keinen sicheren Schutz gegen die Manipulation des Zustands eines
Objektes durch andere Objekte. Sichtbarkeitsbeschränkungen wie
z.B. 'protected' und 'private' verhindern zwar den direkten externen
Zugriff auf Variablen eines Objektes, jedoch nicht die
Manipulation von Werten geschützter Variablen, die von
dem Objekt selbst an andere Objekte übergeben werden (als
Ergebnisse oder Parameter von Nachrichten). Ein kommentiertes
Beispiel befindet sich hier.
Im Praktikum soll eine Erweiterung der Sprache Java implementiert
werden, die einen weiterreichenden Zugriffsschutz für private
Objekte gewährleistet und somit einen stärkeren
Kapselungsbegriff unterstützt als alle gängigen
objekt-orientierten Sprachen.
Die Implementierung wird selbst in Java erfolgen, durch Anpassung des
vorhandenen Quellcodes des (komplett in Java geschriebenen)
Java-Compilers.
Wie gesagt: 'Objekt-orientierte Programmierung in Java -
für Java!'
Organisation des
Praktikums
Phasen
Das Projekt teilt sich zeitlich grob in folgende Phasen, die
jedoch nicht als strikt sequentiell zu sehen sind:
- Einarbeitung in den Ferien (in
Basisliteratur,
Tools
und Implementierung des Java-Compilers - letzteres wird durch eine
Einführung in die Interna des Java-Compiler erleichtert, die
im August stattfindet. Der genaue Termin wird per e-mail und in
dem Terminkalender bekannt
gegeben.),
- Einarbeitung im Semester (Techniken für Teamarbeit - z.B.
Gespraechsleitung, Zeitplanung, Absprachen - und Organisation des
Softareentwicklungsprozesses),
- Planung (Arbeitspakete, Zeitplan, Aufgabenverteilung)
- Entwurf (Umsetzung des
vorhandenen Konzepts
in ein erweitertes Compiler-Design),
- Implementierung,
- Evaluation (Funktionalität, Laufzeitverhalten, Ðberdenken
des Designs, Abschlussbericht)
Teamarbeit
Die Arbeit wird in mehreren Teams stattfinden. Alle Mitglieder
eines Teams arbeiten gemeinsam an bestimmten Arbeitspaketen des
Gesamtprojektes. Dabei hat jede(r) auch organisatorische Aufgaben,
für die er/sie innerhalb der Gruppe verantwortlich ist. Dazu
gehören z.B.
- die Leitung des Teams (Besprechungen, Planung interner
Teilaufgaben und Zeitpläne, Kontrolle der Einhaltung von
Entscheidungen und Terminen),
-
- die Pflege wichtiger Dokumente (Spezifikationen,
Entwürfe, Dokumentation, Zeitpläne, Protokolle mit
wichtigen technischen / organisatorischen Entscheidungen),
- die Pflege der verschiedenen Software-Releases mittels eines
Tools wie z.B.
CVS.
Projektverzeichnis
Ansprechpartner
[Uni-Bonn]
[Informatik]
[III]
[Java-Praktikum]
[Seitenanfang]