Softwaretechnik 2004: Beispielanwendung
LVV - Lehrveranstaltungs-Verwaltungs-Programm
Anforderungsdefinition
Es soll ein Programm beschrieben werden, mittels dem es möglich ist, für eine Lehrveranstaltung die Praktikumsabgaben der Studenten zu benoten und zu verwalten. Dazu soll pro Student hinterlegt werden, welche Aufgaben er abgegeben hat, und welche Noten er darauf erhielt. Am Ende des Praktikums soll eine Notenliste der Veranstaltung entstehen.
Zu verarbeitetende Daten:
Die Anwendung soll aus folgenden Stammdaten bestehen:
Professoren und Lehrbeauftragte, die Lehrveranstaltungen leiten.
Allgemeine Lehrveranstaltungs-Informationen, also LV-Nummer, Name und Fachsemester (z.B. Softwaretechnik Praktikum).
Lehrveranstaltungstermine eines Semesters (z.B. Softwaretechnik Praktikum - SS 2004), und der Durchführende.
Studenten mit deren Daten wie Name, Matrikelnummer, Einstiegssemester, Mailadresse.
Bei der Durchführung einer Lehrveranstaltung müssen folgende Daten abgespeichert werden:
In jeder Lehrveranstaltung legt der Durchführende mehrere Abgaben an, die als weitere Informationen jeweils ein Abgabedatum sowie eine maximal zu erreichende Punktzahl besitzen.
Da mehrere Studenten eine Abgabe zusammen bearbeiten können, müssen Studenten zu Arbeitsgruppen zusammengefaßt werden können. Ein Student muss mehrmals pro Semester die Arbeitsgruppe wechseln können. Für jede Arbeitsgruppe wird festgelegt, welche konkreten Abgaben zu leisten sind.
In jeder der Konkreten Abgaben (d.h. Abgaben einer Arbeitsgruppe) wird erfaßt, wann die Abgabe erfolgte, welche Punktzahl es gab und welche Bemerkungen der Lehrbeauftragte dazu notierte. Außerdem soll es möglich sein, beliebig viele Dateien zur Abgabe anzuhängen (z.B. Quellcode, Word-Dateien oder Zip-Archive).
Funktionalität
Es soll folgende Benutzer für die Anwendung geben: Administratoren, Lehrbeauftragte und die Studenten selbst.
Administratoren:
Der Administrator legt Stammdaten an:
Lehrbeauftragte
Studenten
Lehrveranstaltungen
Lehrveranstaltungstermine. Bei diesen gibt er an, wer ihn durchführt und welche Studenten teilnehmen.
Lehrbeauftragte:
Ein Lehrbeauftragter kann innerhalb eines Lehrveranstaltungstermins die einzelnen zu leistenden Abgaben erfassen.
Er hat die Möglichkeit, Studenten zur Teilnehmerliste zuzufügen.
Er darf die Mailadressen der Studenten ändern, falls erforderlich, allerdings keine anderen Stammdaten.
Er teilt die Studenten (pro Abgabe) in Arbeitsgruppen auf.
Er gibt die Abgaben der einzelnen Arbeitsgruppen ein und bewertet sie. Beim Benoten einer Abgabe soll die Möglichkeit bestehen, diese Bewertung allen Studenten der Arbeitsgruppe per Mail zuzusenden. Ob, wann und an wen eine Mail versendet wurde, soll mit der Abgabe gespeichert werden.
Hat er die Veranstaltung beendet, schließt er sie ab. Danach sind endgültige Notenlisten möglich.
Er kann verschiedene Auswertungen erstellen. Dies sind einerseits Listen pro Student, in der alle Abgaben mit Bewertung und Kommentaren angezeigt werden, und zwar zu jedem Zeitpunkt, also nicht nur zum Semesterende. Außerdem kann er am Semesterende eine Liste pro Lehrveranstaltung erstellen, auf der Matrikelnummer, Einzelpunktzahlen pro Abgabe sowie die Endnote aller teilnehmenden Studenten enthalten sind.
Studenten:
Zusätzlich zum Eintragen einer Abgabe durch den Lehrbeauftragten sollen auch Studenten die Möglichkeit haben, eine Aufgabe abzugeben. Es darf dem Student nur möglich sein, an anstehende Abgaben seiner eigenen Praktikumsgruppe Dateien anzuhängen (mit Kommentaren). Dies ist nur möglich, sofern das spätestmögliche Abgabedatum nicht überschritten ist (dieses entspricht normalerweise dem Abgabedatum + 14 Tage, also der Zeitraum, ab dem es keine Punkte mehr gibt). Da es bei größeren Praktikumsgruppen mehrere Teile innerhalb einer einzigen Abgabe geben kann, soll es möglich sein, mehrere dieser Datensätze anzulegen.
Der Student soll die Möglichkeit haben, sich eine Liste mit allen Abgaben mit Bewertung und Kommentaren erstellen zu lassen.
Schlußendlich soll es ihm möglich sein, die Mailadresse zu bearbeiten, die in seinen Stammdaten hinterlegt ist.
Anmerkungen:
Da diese Beispielanwendung nicht ausprogrammiert werden soll, wird auf einige Punkte in diesem Dokument nicht weiter eingegangen. Dies sind:
Speicherung der Daten. Dies würde normalerweise in einer Datenbank erfolgen, alternativ wäre auch eine Datei im XML- oder einem proprietären Format denkbar. Im Folgenden wird immer nur vom Speichern und Laden der Daten gesprochen, ohne auf weitere Details einzugehen.
Versenden der Mails an Studenten: Wie dieses erfolgt (MAPI-Schnittstelle, direktes Ansprechen eines spezifischen Mailprogramms, direktes SMTP) wird nicht weiter beschrieben.
Zumindest die Abgabe durch den Studenten würde idealerweise durch ein Web-Interface geschehen. Dabei würde allerdings die MFC-Ebene verlassen (da die Anwendungs-GUI durch HTML-Seiten realisiert werden würde), deshalb soll hier davon ausgegangen werden, dass es sich um eine MFC-Anwendung handelt, die nur im Rechnernetz der FH bedienbar ist.
Hinweise zur
Anforderungsdefinition:
(Anmerkungen in
solche Kästen sollen Hinweise zur Form der Dokumentation
liefern, also z.B. auf Besonderheiten hinweisen) In dieser
Anwendungsanforderung wird auf einige Punkte nur sehr ungenau
eingegangen. Dies sind unter anderem: Umsetzung
und Auswirkung der Benutzerrechte (werden drei verschiedene
Programmteile für jede Benutzergruppe erstellt oder werden
verbotene Funktionen vor einem unberechtigten Benutzer verborgen ?) Über
den Aufbau der Benutzeroberfläche und über die genaue
Bedienung des Programms (z.B.: Wie wird eine Abgabe erfaßt ?)
wird ebenfalls nichts gesagt, es ist nur beschrieben, welche
Funktionalität ein Programmteil grundsätzlich bieten
muss. Die
Einteilung der Studenten in Arbeitsgruppen klingt einfach,
allerdings muss man sich hier gründliche Gedanken zum Aufbau
des Datenmodells und (in einem späteren Schritt zur Bedienung)
machen, damit das Programm intuitiv bedienbar wird und der
Klickaufwand für den Lehrbeauftragten in erträglichen
Grenzen bleibt.
Bei den
einzelnen Abgaben werden sich ebenfalls noch viele Detailfragen
ergeben, die zu klären sind.