Aufgabe
|
Entwicklung einer Abstrakten Syntax und einer Klassenstruktur
für eine Datenstruktur für ein einfaches Projektverfolgungssystem
(ein Thema aus dem Software-Praktikum).
|
| |
Aufgabenbeschreibung
|
|
|
Neben den festen Größen eines Projekts wie Titel,
Teilnehmer, Zeitrahmen, ..., sollen die einzelnen
Aufgabengebiete und der Zeitaufwand und
Fertigstellungsgrad für die einzelnen
Arbeitspakete verwaltet werden.
|
| |
|
Ein Projekt wird dabei in mehrere Arbeitsgebiete, manchmal auch
ungenau Phasen, eingeteilt. Beispiele sind Einrichten
der Arbeitsumgebung, Problemanalyse, Design, Codierung,
Testen, Auswahl, Einarbeitung und Installation von
Werkzeugen,
Dokumentation.
|
| |
|
Jedes Arbeitsgebiet wird in Arbeitspakete aufgeteilt. Zum Beispiel
kann die Einrichtung der Arbeitsumgebung aufgeteilt
werden in: Einrichten des CVS-Archivs,
Makefile-Erstellung, Installation von Java-Paketen,
MySQL installieren und konfigurieren, ...
|
| |
|
Für jedes Gebiet gibt es einen eindeutigen kurzen Namen und eine Beschreibung.
Der Gesamtaufwand für ein Gebiet soll beim Anlegen eines Gebietes geschätzt werden.
Der Aufwand ist beim Anlegen des Gebietes zu planen.
|
| |
|
Ein Arbeitspaket hat einen ähnlichen Aufbau wie ein Gebiet.
Es gibt einen kurzen eindeutigen Namen und eine Beschreibung.
Zu jedem Arbeitspaket gehört ebenfalls ein geschätzter Aufwand in
Stunden. Dieser ist bei der Definition des Paketes
anzugeben. Des weiteren wird ein geschätzter Fertigstellungsgrad
in % angegeben, dieser kann jederzeit verändert
werden.
|
| |
|
Zu jedem Arbeitspaket gehört eine Liste von Arbeitsschritten. Mit
diesen Arbeitsschritten wird die eigentliche Arbeit
an dem Projet dokumentiert. Zu einem
Arbeitsschritt gehört das Datum, die
Stundenanzahl, der Bearbeiter und eine kurze
Arbeitsbeschreibung. Diese Arbeitspakete können
ausschließlich zu dem System hinzugefügt werden.
|
| |
|
Aus den Daten für die einzelnen Arbeitspakete können der tatsächliche
Aufwand und die Beziehung zum geschätzten
Aufwand für die Arbeitsgebiete und für das
Gesamtprojekt berechnet werden.
|
| |
Ziel
|
|
|
eine abstrakte Syntax in Haskell Notation
|
| |
|
ein OMT-Diagramm für ein
geeignetes Datenmodell
|
| |
|
eine DTD
|
| |