Filtern
Dokumenttyp
- Masterarbeit (2) (entfernen)
Institut
- Fachbereich 4 (1)
- Institut für Informatik (1)
Fehler in der Anforderungsanalyse führen häufig zu Misserfolgen in der Entwicklung von Softwaresystemen. Seit einiger Zeit wird versucht, diesem Problem durch Requirements- Engineering zu begegnen. Durch die frühe Beteiligung aller Stakeholder an der Entwicklung eines Systems sowie eine strukturierte Vorgehensweise zur Ermittlung und Analyse von Anforderungen an ein zu erstellendes System hat es als erster Schritt in der Entwicklung von Softwaresystemen zunehmend an Bedeutung gewonnen. Die steigende Komplexität moderner Softwaresysteme bringt jedoch eine gewaltige Menge an Informationen mit sich, die während der Analyse erfasst und verwaltet werden müssen. Dieser Informationsflut ist ohne Unterstützung durch entsprechende Software kaum beizukommen. Vor allem in größeren, räumlich verteilten Projekten wäre ein effektives Requirements-Engineering sonst kaum möglich. Es gibt inzwischen eine Vielzahl von Tools, die das Requirements-Engineering unterstützen. Diese Tools sind bereits seit geraumer Zeit im Einsatz und setzen in ihren aktuellsten Versionen die wichtigsten Konzepte des Requirements-Engineering um. Im Rahmen dieser Arbeit werden einige dieser Tools im Hinblick auf Funktionsumfang und Verzeichnisstruktur untersucht. Besonderes Interesse galt der Verwaltung von Anforderungen und deren Abhängigkeiten untereinander. Die gewonnenen Erkenntnisse werden anschließend in ein Referenzmodell integriert.
Um Altsysteme beim sogenannten Software-Reengineering an neue Anforderungen mittels Computerunterstützung anpassen zu können, wird eine effiziente Repräsentation der vorliegenden und im Laufe des Prozesses anfallenden Daten und Informationen benötigt. Als geeignete Repräsentationsform haben sich TGraphen herausgestellt, da sowohl Knoten als auch gerichtete Kanten typisiert sind und über Attribute verfügen können. Darüber hinaus besteht eine globale Anordnung aller Elemente des Graphen sowie eine Reihenfolge der Inzidenzen jedes Knoten. In dieser Arbeit wurde die "Extractor Description Language" (EDL) entwickelt, um die Syntax der Eingabedaten zu beschreiben und mittels frei definierbarer semantischer Aktionen einen TGraphen aufzubauen. Im Gegensatz zu klassischen Parsergeneratoren wie ANTLR werden mehrdeutige Grammatiken, Modularisierung, Inselgrammatiken und Symboltabellen-Stacks von EDL unterstützt, wodurch die Erstellung der Syntaxbeschreibung vereinfacht wird. Nach der Erhebung der Anforderungen an EDL, werden zunächst die existierenden Parsergeneratoren daraufhin untersucht, welcher zur Realisierung der Anforderungen am geeignetsten ist.
Im Anschluss wird die Syntax sowie die Semantik von EDL beschrieben und unter Nutzung des geeigneten Parsergenerators implementiert. Anhand von zwei mittels EDL generierten exemplarischen Extraktoren für XML und Java wird der zeitliche Aufwand zum Verarbeiten der Eingabe gemessen.