Studienprojekt 2003/04 - Institut für Softwaretechnologie

Werbung
16.09.2003
Studienprojekt 2003/04:
Datenbankbasierte Anforderungsdokumentation
Allgemeines zum Studienprojekt
Studienprojekte sind für Studenten des Studiengangs Softwaretechnik der Universität Stuttgart Lehrveranstaltungen, die auf berufstypische Arbeitsweisen vorbereiten sollen. Ein Studienprojekt dauert zwei Semester, die Projektgruppen umfassen ca. 10 Teilnehmer. Die Gruppe leistet in dieser Zeit etwas über ein Entwicklerjahr reine Softwareentwicklung. Zum Zeitpunkt des Studienprojekts befinden sich die Studenten im Hauptdiplom und verfügen über
eine entsprechend fundierte Informatik-Ausbildung. Ziel des Studienprojekts ist es in einer
Gruppe ein komplexes Software-Produkt zu entwickeln und am Ende in angemessener Form
zu präsentieren.
Zeitraum
Oktober 03 bis August 04
Veranstalter
Universität Stuttgart, Institut für Softwaretechnologie, Abteilung Software-Engineering (Prof.
Ludewig)
Hintergrund der Aufgabenstellung
Die Erfassung und Fortschreibung der Anforderungsdokumentation ist eine der zentralen
Aufgaben innerhalb eines Software-Projekts. Dies gilt nicht nur für die Entwicklung der
Software sondern auch für die Wartungsphase, innerhalb der Änderungen und Erweiterungen
an den ursprünglich spezifizierten Anforderungen vorgenommen werden. Große Softwareprojekte realisieren tausende einzelner Anforderungen, die auch untereinander in Beziehungen
stehen können. Diese Anforderungen werden nicht nur in der Anforderungsdokumentation
erfasst, sondern stehen in Beziehung zu den folgenden Dokumenten:
•
der Anwenderdokumentation, die die wissenswerten Anforderungen aus Sicht eines
Anwenders beschreibt.
•
den Testfällen, die die Prüfung der Anforderungen durch einen Vergleich von Soll und
Ist-Resultaten vornimmt. Das Sollresultat des Testfalls kann aus der Anforderungsdokumentation abgeleitet werden.
•
dem Programmcode, der die Anforderung realisiert. Der Programmcode wird durch die
Testfälle geprüft.
Im Idealfall sind alle vier Dokumente konsistent.
Moderne Vorgehensweisen des Software-Engineering verfolgen zudem nicht immer den klassischen Weg Anforderungen über die Anforderungsspezifikation zu erfassen. So spielen Beispielsweise im Extreme Programming die Testfälle eine zentrale Rolle; bei der Entwicklung
von Konsumenten-Software wie z.B. für Mobilfunkgeräte, erfolgt die Spezifikation über das
Benutzerhandbuch.
Der Einsatz einer Datenbanklösung hat auf Grund der beschriebenen Verflechtungen offensichtliche Vorteile gegenüber den klassischen Dokumenten. Es sind einige wenige kommerzielle Produkte am Markt erhältlich, die aber alle gewisse Schwächen in der Methodik aufweisen.
16.09.2003
Aufgabenbeschreibung
Es soll ein System entwickelt werden, das in einer zentralen Datenbank Anforderungen verwaltet. Anforderungen sollen dort drei Sichten bekommen: die AnforderungsdokumentationSicht, die Anwenderdokumentation-Sicht und die Testfall-Sicht. Es soll möglich sein eine
Anforderung in einer oder allen Sichten zu beschreiben. Ein Verknüpfen zu den Programmcode-Stellen, die die Anforderung realisieren, soll ebenso möglich sein. Hierzu sind geeignete
Schlüsselworte zu definieren, die sich beispielsweise an der JavaDoc Syntax orientieren. Es
soll aber explizit nicht nur Java als Programmiersprache unterstützt werden sondern durchaus
auch ältere Programmiersprachen wie C oder COBOL. Das System soll Inkonsistenten zwischen den einzelnen Sichten der Anforderungen aufzeigen können. Zudem soll eine Lösung
für das laufende Fortschreiben und Ändern von Anforderungen gefunden werden. Es soll somit erkennbar sein, wann und durch wen Änderungen vorgenommen wurden. Folgende weitere Funktionalitäten sollen realisiert werden:
•
Abhängigkeitsanalyse: Es sollen die Abhängigkeiten zwischen den Anforderungen angezeigt werden
•
Dokument Generierung
•
Anforderungen sollen durch Text und Bilder beschreibbar sein. Hierfür ist ein geeignetes Format zu definieren.
In einer Erweiterung soll noch eine Use Case Visualisierung implementiert werden.
Das System soll nach halber Projektlaufzeit in einer ersten Version einsetzbar sein. Es soll
dann bereits ein erster praktischer Einsatz in einem Industrieprojekt erfolgen.
Die technischen Rahmenbedingungen sind
•
J2EE Umfeld
•
Jakarta Struts Einsatz
•
Relationale Datenbank (vermutlich MySQL, Oracle und/oder UDB)
•
Objektmodellierung mit Rational Rose
•
OO/RDB-Mapping Framework (vermutlich TOPLink oder JPOM)
•
Alternativ EJB Verwendung
Produktumfeld
Im Rahmen des Studienprojekts soll eine Produktentwicklung durchgeführt werden. Das zu
entwickelnde System soll grundlegende Bedürfnisse verschiedener potentieller Kunden erfüllen. Um diese Bedürfnisse besser einschätzen zu können, werden Pilotkunden in den Entwicklungsprozess integriert. Diese bringen ihre Anforderungen und Wünsche mit ein, auf deren
Grundlage die Anforderungen an das Produkt formuliert werden.
Herunterladen