Studienprojekt Visualisierungskomponente für Bauhaus im WS00/01 und SS01
Inhaltliche Aspekte
Titel
Visualisierungskomponente für Bauhaus: Entwicklung einer neuen graphischen Benutzerschnittstelle für die Reengineering Tool-Suite Bauhaus.
Hintergrund
In der Abteilung Programmiersprachen wird im Bauhaus-Projekt eine
Infrastruktur für Reengineering-Anwendungen entwickelt. Diese
umfaßt derzeit ein Frontend zur Sprache C, eine
Zwischendarstellung und eine Resource-Flow-Graph-Bibliothek (RFG). Auf
der Zwischendarstellung setzen Datenflussanalysen auf, die auf
Bedürfnisse des Reengineerings zugeschnitten sind. Auf dem RFG
setzen halb-automatische Analysen zur Architekturerkennung auf.
Bislang wird als Visualisierungskomponente für die
Architekturerkennung der Grapheneditor Rigi benutzt, der an der
University of Victoria erstellt wurde. Er wurde von uns selbst um die
für uns notwendigen Fähigkeiten erweitert. Da dem
Rigi-Editor einige Kernkonzepte (wie z.B. Views auf Graphen) fehlen,
wurden diese durch komplexe Operationen auf Rigi-Konzepte
abgebildet. Ausserdem ist Rigi in C++ und Tcl/Tk geschrieben, unsere
Bauhaus Tool-Suite jedoch komplett in Ada. Es ergibt sich somit ein
Integrationsproblem, das in diesem Projekt gelöst werden
soll.
Aufgabenstellung
Im Rahmen dieses Studienprojekts soll für die Bauhaus Tool-Suite
eine vollständig neue Visualisierungskomponente mittels Ada und
dem GTK+ Tool-Kit mit Glade als GUI-Builder erstellt werden. Es soll
die Kern-Konzepte unserer Bauhaus Tool-Suite direkt umsetzen und eine
geeignete Interaktion mit den Benutzer anbieten. Da unsere
Drittmittel-"Kunden" verschiedene Plattformen einsetzen, ist
das Frontend für Solaris, Linux und Windows zu entwickeln; dies
wird durch das GTK+ Tool-Kit unterstützt, die Bauhaus Tool-Suite
selber lässt sich auf jedem dieser Systeme benutzen.
Zielsetzung bezogen auf die Teilnehmer
Probleme während der Einarbeitung in komplexe
Software-Systeme kennenlernen (Bauhaus-Bibliothek RFG, GtkAda,
Glade).
Kenntnisse im Aufbau einer benutzerfreundlichen grafischen
Oberfläche, speziell für Grapheneditoren,
erwerben.
Der Aspekt der Multi-Plattform-Entwicklung ein wesentlicher
Faktor in diesem Projekt.
Beherrschen eines komplexen Arbeitsumfeldes mit mehreren Tools
und Bibliotheken.
Konsequentes Durchführen eines Entwicklungsprojektes
innerhalb enger zeitlicher und finanzieller Rahmenbedingungen
insbesondere bei realistischen Kundenwünschen.
Erwerb bzw. Vertiefung kritischer Beurteilungsfähigkeit
hinsichtlich unrealistischer Kundenwünsche.
Festigen sozialer Kompetenzen.
Teilnehmerzahl
6-8 Studenten
Evtl. kann die Abteilung zwei parallele Projekte durchführen,
wodurch insgesamt 16 Studenten betreut werden könnten.
Personen und Lehre
Zulassungs- voraussetzungen
Voraussetzung für die Teilnahme ist, dass die wesentlichen
Prüfungen des Vordiploms bestanden worden sind.
Kunde
Abteilung PS, evtl. realistischer Kunde aus unseren eigenen Drittmittelprojekten.
(Zunächst oberflächliche) Einarbeitung in
die Grundkonzepte der Bauhaus-Toolsuite (RFG) und das GTK+ Tool-Kit
sowie Glade, Analyse der Fähigkeiten des Rigi-Editors.
Schritt 2:
Grobanalyse und Angebotserstellung für das
Graphische Frontend (evtl. parallel in zwei bis drei Gruppen, wobei
eine den Zuschlag für das Projekt erhält; die Gruppen werden
dann zu einer einzigen ausführenden Gruppe zusammengefasst).
Schritt 3:
Nach dem Projektzuschlag ist zuerst die
Arbeitsumgebung einzurichten (Compiler, Werkzeuge, Tool-Kits
usw.). Die Teilnehmer bestimmen ihre Rollen (Projektleiter,
QA-Ingenieur usw.) und planen des Projekt.
Schritt 4:
Durchführen des Projektes nach eigener Planung
durch die Teilnehmer, wobei auf die Phasen Spezifikation und Test
besonderer Wert gelegt wird. Da die entstandene Benutzerschnittstelle
nach der Ablieferung in der Abteilung PS gewartet werden soll, ist die
interne Qualität des Ergebnisses und der Dokumentation
(Wartbarkeit, Verständlichkeit usw.) von hohem Interesse.
Schritt 5:
Abnahme durch den Kunden (die Abteilung PS),
evtl. Nachbesserung (dafür ist ein geeigneter Zeitrahmen von den
Teilnehmern einzuplanen).
Während der einzelnen Schritte findet gegenseitige
Qualitätssicherung untereinander über Reviews statt. Die
einzelnen Arbeitsergebnisse sind zu dokumentieren. Die
ursprüngliche Planung ist im Laufe des Projekts ständig
anzupassen. Jeder Teilnehmer führt Buch über seine Arbeit
und erfaßt die angefallene Zeit für jede von ihm
durchgeführte Aktivität. Für das grundlegende
Configuration Management wird CVS vorgegeben.
Der Betreuer tritt als Berater auf und unterstützt die Gruppe in
ihrer Arbeit. Für jede Form des Supports durch den Betreuer oder
andere Mitarbeiter unserer Abteilung (mit Ausnahme des Kunden) werden
Kosten fällig, die aus einem virtuellen Projektbudget bezahlt
werden müssen.
Implemen- tierungswerk- zeuge
Implementiert wird in Ada95 (Gnat) auf den Plattformen Solaris
2.5/2.7, Linux und Windows. Benutzt werden ferner das GTK+ Tool-Kit,
der GUI-Builder Glade und das CVS-System. Die Dokumentation ist
durchgängig in SGML zu organisieren.
Bewertung
Sollten zum Zeitpunkt des Projektbeginns bereits andere Regelungen
gelten, erhalten diese anstelle der hier angegebenen Regelung
Gültigkeit.
Vorlesung
Prüfung über den Stoff der Vorlesung.
Seminar
Vortrag 50%
Ausarbeitung 40%
Mitarbeit 10%
Die Bewertung findet auf der Basis des Berichtshefts, der
Zeiterfassung, der Treffen und einer Abschlußdiskussion mit dem
einzelnen Teilnehmer über das Projekt statt.