Inhalt:
Dieses Dokument gibt zusammen mit dem Dokument 'Der Anwendungsbereich: Eine Einführung' einen Überblick über das Projekt. Empfohlen wird, zuvor das Dokument 'Einstieg für Anfänger' zu lesen.
Gegenstand des Projektes ist ein Programm, das in der Physik der Humboldt-Universität an Labor-Messplätzen zur Untersuchung von Halbleiter-Strukturen genutzt wird. Der Messplatz wird durch das Programm gesteuert, Messdaten werden erfasst und ausgewertet. Als physikalisches Hilfsmittel dient Röntgenstrahlung (X Ray), die an den Kristallstrukturen von Halbleitern gestreut und zur Analyse der Kristalle und zur Steuerung (Control) der Messung benutzt wird. Daher sprechen wir vom XCTL-Programm.
Die Physik verfügt über ca. zehn Messplätze. Zu jedem Messplatz gehört ein PC. Das XCTL-Programm ist auf jedem PC installiert und läuft überall in derselben Version! Die Spezifik des Messplatzes (Topographie, Diffraktometrie, ... ) wird ausschließlich über Konfigurations- und Makrodateien (ascii-Dateien, zum Programm gehörend und vom Programm interpretiert) gesteuert. Diese bewirken bspw. das Angebot messplatzspezifischer Menüfunktionen, die Bereitstellung spezifischer Motorparameter der an diesem Messplatz angeschlossenen Motoren oder die Steuerung allgemeiner Abläufe, wie etwa dem zur Messung der Halbwertsbreite.
3.1 Ausgangssystem (Stand 1998)Plattform:
Entwicklerdokumente:
3.2 Zielsystem
Einige der nachfolgenden Punkte sind bereits erfüllt (+), einige nur teilweise (+/-) und einige noch nicht (-). Ein Bild über den Bearbeitungsstand vermittelt die Seite Aufgabenverteilung mit den bereits erledigten, in Arbeit befindlichen und noch ausstehenden Aufgaben. Dort wird auch die multimediale Erschließung des Anwendungsbereiches genannt, ein Aufgabenbereich, der im Jahre 2003 initiiert und im März 2005 vorerst abgeschlossen wurde. Informieren kann man sich darüber über die Multimedia-Web-Seite.
Plattform:
Programm:
Entwicklerdokumente:
Funktionale Verbesserungen und Erweiterungen:
3.3 Reengineering
Die Aufgaben beim vorliegenden Projekt fallen in den Bereich des Reengineering. Sie reichen von der Sichtung und der Analyse vorhandener Dokumente, insbesondere der Quelltexte, über eine Kommentierung und Strukturierung der Quelltexte, bis hin zu seiner Restrukturierung (Schichten- und Subsystemarchitektur und Anpassung an eine MS Visual C++ 6.0 - Umgebung). Darüber hinaus werden die Entwicklerdokumente für die frühen Phasen erstellt (Reverse Engineering) und hiervon ausgehend wird ein Forward Engineering betrieben. Zu diesem Forward Engineering zählen die Erweiterung der Funktionalität (z.B. Automatische Justage) und die Überarbeitung der grafischen Oberfläche. Schließlich erfolgt eine Bewertung des alten und des neuen Systems mittels Softwaremetriken.
Verwendete Tools für das Reengineering:
Ihre Dokumentation erfolgt auf der Projekt-Homepage unter "Werkzeuge".
Einen recht umfassenden Überblick über unsere Reverse Engineering-Strategie
bietet die nachfolgende Abbildung. Aktuell benutzen wir statt der drei genannten Tools SNiFF+, Borland C++ und McCabe-Toolset die Tools MS Visual C++, ObjectiF und Understand C++.
Abb.: Projektaktivitäten: Reverse Engineering
top-down
bottom-up
Das Projektmanagement umfasst sehr viele Aktivitäten und Dokumente, was Sie auch auf unserer Projekt-Homepage unter diesem Hauptpunkt finden können. Hier sollen solche Aspekte näher beschrieben werden, die Ihnen ein Bild von der Semesterabfolge, der Art der Aufgabenteilung und der Anzahl der Projektteilnehmer und ihrer Abschlussarbeiten vermitteln.
4.2 Abfolge von Einsteiger- und VertiefungsseminarenUnser Projekt läuft in einer bestimmten Abfolge von Seminaren ab. In den Einsteigerseminaren werden die Teilnehmer an das Projekt durch gemeinsame Aufgaben herangeführt, während in den Vertiefungsseminaren Einzelaufgaben bearbeitet werden. Daraus ergeben sich dann Themen für Studien- und Diplomarbeiten. Diesen Sachverhalt verdeutlicht die nachfolgende Abbildung.
Abb.: Multisemester-Projekt: Organisation
4.3 Offenes Ende, beliebige Teilnehmerzahl ...Den Ausführungen des vorangegangenen Punktes ist der offene Charakter des Projektes zu entnehmen. Nach dem gegenwärtigen Stand wird es noch einige Jahre laufen.
Die nachfolgende Abbildung gibt einen Überblick über die Teilnehmerzahlen. Die Vertiefungsseminare für Fortgeschrittene (Vertiefungs-Projekt) speisen sich aus dem vorangegangenen Vertiefungsseminar und dem Zugang aus dem vorangegangenen Einsteigerseminar. Quereinsteiger sind bisher insgesamt nur zwei Studenten. Die Angabe 'Diplomarbeiten' nennt die Anzahl der Studenten mit dem Abschluss einer Diplomarbeit in diesem Jahr. In Vorbereitung auf die Diplomarbeiten sind zahlreiche Studienarbeiten entstanden.
Abb.: Studentische Teilnehmerzahlen und Diplomarbeiten
Summen:
- Einsteiger: 144
- Fortgeschrittene: 31 (unterschiedliche Studenten (Teilnahme über mehrere Semester))
- Diplomarbeiten: 21
4.4 Rollenorientierte vs. problembezogene Aufgabendekomposition
Projekte, die dem rollenorientierten Ansatz folgen, zerlegen die Aufgaben der Teilnehmer vorrangig nach Phasen bzw. Rollen: Es gibt Anforderungsingenieure, SW-Designer, Codierer und Tester. Demgegenüber werden Projekte, die problembezogen dekomponiert sind, so organisiert, dass eine Gruppe von Entwicklern eine Teilaufgabe in allen Phasen abdeckt.
Wir folgen vorrangig der problembezogenen Aufgabendekomposition (nachfolgende Abbildung): Hier lernen die Teilnehmer Dokumente mehrerer Phasen kennen, und die Aufgabe wird so vielfältiger. Außerdem sind Multisemester-Projekte über diesen Ansatz besser in den Griff zu bekommen. In einigen Fällen (Qualitätsmanagement: Test, Metriken) wurden die Aufgaben jedoch rollenorientiert vergeben.
Abb.: Dekomposition in Aufgaben: phasen-/rollen- vs. problem-orientiert
Projektteam:
Sollten Sie Probleme haben, so wenden Sie sich an das Projektteam. Dies können
Sie während unserer regelmäßigen Projekttreffen, per
E-Mail, per Telefon oder durch persönliche Gespräche machen.
Ständige Teammitglieder sind Klaus Bothe und Uli Sacklowski,
'vorübergehende' alle Studenten aus dem Team.
Wo finde ich welche Dokumente:
Alle unsere Dokumente liegen aufgeteilt an drei Stellen: der Web Site, dem CVS-System und in Ihrem persönlichen projektbezogenen E-Mail-Briefkasten :-).
Aufbau der Web-Site:
Die Web-Site bildet in seiner Grundstruktur einen Baum. An seinen Blättern befinden sich die Basisdokumente (z.B. dieses Dokument oder ein Protokoll von einem Projektgruppen-Treffen). Darüber liegen die Verzeichnisdokumente, über die Sie normalerweise navigieren (abgesehen von Links in den Basisdokumenten).
Jedes Verzeichnisdokument hat einen standardmäßig vorgegebenen Kopf und Fuß. Im Kopf ist zuoberst eine Navigationsleiste, die der Orientierung und den Rücksprüngen dient.
Kontrovers wurde der Aufbau der Projekt-Homepage diskutiert. Diese ist jetzt recht komplex und daher für Anfänger etwas unübersichtlich. Anfänger wünschten sich hier nur die Hauptpunkte (Übersicht, Entwicklerdokumentation, ...) ohne Unterpunkte. Dagegen spricht einmal, dass mit dieser Web-Site normalerweise 'Experten' arbeiten, also Studenten, die Studien- und Diplomarbeiten schreiben, und zum anderen, dass mit der vorliegenden Form auf der obersten Ebene eine recht weitreichende Übersicht geboten wird, die ein 'relativ' schnelles Finden eines gewünschten Dokumentes ermöglicht (Effizienz in Web-Sites).
Anfängern sei der Rat gegeben, zu Beginn die Hauptpunkte zu verinnerlichen. Wir denken, dass diese gut und praxisüblich gewählt sind und die Gesamtmenge der Dokumente überdeckungsfrei gliedern.
Schließlich möchten wir darauf hinweisen, dass ihre Zahl sieben ist und damit die von den Gedächtnispsychologen empfohlene Chunk-Zahl nicht überschreitet :-) .