Computergestützte Datenverarbeitung findet mittlerweile in vielen Unternehmen seinen Einsatz. Selten gehört die Entwicklung von komplexen Computersystemen und Programmen jedoch zu den Kernkompetenzen einer Unternehmung. Das bedeutet, dass viele Geschäftsmodelle und Prozesse zwar auf Programmabläufe basieren, die Kommunikation von Anforderung an die Entwickler, Manager oder externe Dienstleister jedoch selten systematisch formuliert werden.
Selbst wenn diese Anforderungen während der Realisierung noch korrekt dokumentiert werden, so ergeben sich hinsichtlich der Kosten für Wartung und Betrieb eines Systems über dessen gesamten SDLC (Software Development Lifetime Cycle) einen guten Ansatzpunkt zur systematischen Reduktion. Grundlage bietet dafür eine Methodik und Analyse, wie sie in den Ingenieurswissenschaften beschrieben wird. Welche Vorteile Requirements Engineering biete und welche Techniken in der Entwicklung genutzt werden können, sind in folgender Arbeit beschrieben.
Inhaltsverzeichnis
1 Einleitung
1.1 Einführung
1.2 Zielsetzung der Arbeit
1.3 Methodischer Aufbau der Arbeit
2 Grundlagen
2.1 Definition von Traceability
2.2 Requirements Engineering
2.3 Vorteile von Requirements traceability
2.4 Requirements Traceability Techniken
2.4.1 value-based Traceability
2.4.2 goal-based traceability
3 Lösungsmöglichkeiten
3.1 Test Driven Development
3.2 Traceability-Matrix
3.3 Traceability und Kostenschätzung
3.4 Visualisierung der Anforderungen
3.4.1 Textverweise
3.4.2 Traceability Matrix
3.4.3 Gerichtete Graphen
4 Schlussbetrachtung
4.1 Fazit
Zielsetzung & Themen
Die vorliegende Arbeit untersucht die Bedeutung und praktische Umsetzung von Requirements Traceability in der Softwareentwicklung, um systematische Wege zur Anforderungsverfolgung über den gesamten Lebenszyklus eines Systems aufzuzeigen und deren Mehrwert für die Qualitätssicherung und Kosteneffizienz zu begründen.
- Grundlagen und Definitionen der Rückverfolgbarkeit (Traceability)
- Methoden des wertebasierten und zielbasierten Anforderungsmanagements
- Einsatzmöglichkeiten von Traceability-Matrizen und Test Driven Development
- Visualisierungstechniken wie gerichtete Graphen und Textverweise
- Bedeutung der Traceability für das Requirements Engineering und die Projektsteuerung
Auszug aus dem Buch
3.3 Traceability und Kostenschätzung
Bei der Erstellung einer Kostenschätzung gibt es typische Charakteristika, welche den Prozess auszeichnen:
- Mögliche Probleme bei der Definition von Anforderungen sind die Ungewissheiten über die genauen Anforderungen bei der Erstellung, sodass dafür keine historischen Daten zur Schätzung herangezogen werden können.
- Soweit die Problematik der fehlenden Anforderungen bekannt ist, fehlt des Weiteren eine systematische Methode für die Verknüpfung/Kombinierung der Beziehungen für die gegebenen Anforderungen.
- Außerdem werden die Anforderungen bzw. deren Einschätzungen häufig von Experten abgegeben, welche sich bei späterer Betrachtung als zu zuversichtlich herausstellen.
- Updates der aktuellen Kosten für Abweichungen sollten regelmäßig in die vorhandene Schätzung einbezogen werden.
Kostenschätzungen werden häufig als bewusst eindimensional abgeliefert, sodass nicht mehrere Szenarien betrachtet werden und selbst wenn es mehrere gibt, so werden diese selten systematisch miteinander zur Betrachtung verknüpft.
Zusammenfassung der Kapitel
1 Einleitung: Dieses Kapitel erläutert die Relevanz der systematischen Anforderungsverfolgung in der Softwareentwicklung und definiert die Zielsetzung sowie das methodische Vorgehen der Arbeit.
2 Grundlagen: Hier werden zentrale Begriffe definiert und die theoretischen sowie methodischen Konzepte der Requirements Traceability, wie etwa horizontale und vertikale Rückverfolgbarkeit, erläutert.
3 Lösungsmöglichkeiten: Dieses Kapitel stellt praktische Ansätze wie Test Driven Development, Traceability-Matrizen und verschiedene Visualisierungstechniken vor, um Anforderungen effektiv zu verwalten.
4 Schlussbetrachtung: Das Fazit fasst die Bedeutung der Traceability als Teil professioneller Softwareentwicklung zusammen und betont den Nutzen trotz des anfänglichen Implementierungsaufwands.
Schlüsselwörter
Requirements Traceability, Softwareentwicklung, Requirements Engineering, Rückverfolgbarkeit, Test Driven Development, Traceability-Matrix, Anforderungsmanagement, Kostenschätzung, Projektfortschritt, Systemwartung, Software Lifecycle, Stakeholder, Qualitätssicherung, Visualisierung, CMMI
Häufig gestellte Fragen
Worum geht es in dieser wissenschaftlichen Arbeit grundsätzlich?
Die Arbeit befasst sich mit der systematischen Rückverfolgbarkeit von Anforderungen (Requirements Traceability) im Rahmen des Software-Engineerings.
Welche zentralen Themenfelder werden bearbeitet?
Die zentralen Themen umfassen die Definition und Klassifizierung von Traceability, Methoden zur Implementierung in Projekten, die visuelle Darstellung von Anforderungen sowie deren Auswirkungen auf Kostenschätzungen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Vermittlung von Grundlagen der Traceability und die Darstellung praxisrelevanter Lösungsmöglichkeiten, um eine systematische Anforderungsverfolgung im SDLC zu etablieren.
Welche wissenschaftliche Methode wird primär verwendet?
Die Arbeit basiert auf der Auswertung spezifischer Fachliteratur, technischer Standards und Fallstudien, um interdisziplinäre Zusammenhänge aufzuzeigen.
Was wird im Hauptteil der Arbeit behandelt?
Im Hauptteil werden Techniken wie value-based und goal-based Traceability, der Einsatz von Traceability-Matrizen sowie Visualisierungsmethoden für komplexe Anforderungssysteme diskutiert.
Welche Schlüsselwörter charakterisieren die Publikation?
Die Kernbegriffe sind Requirements Traceability, Anforderungsmanagement, Software Lifecycle, Kostenschätzung und CMMI-Referenzmodelle.
Wie unterscheidet die Arbeit zwischen horizontaler und vertikaler Rückverfolgbarkeit?
Horizontale Traceability bezieht sich auf die Verbindung von Anforderungen über Teststufen hinweg, während vertikale Traceability die Rückverfolgung von Anforderungen durch die Entwicklungsdokumentation bis hin zu den Komponenten beschreibt.
Warum ist das "Goal-based Traceability" Konzept für nicht-funktionale Anforderungen relevant?
Es hilft dabei, Zielkonflikte bei nicht-funktionalen Anforderungen (wie Sicherheit oder Usability) mittels "Soft-goal Interdependency Graphs" (SIG) zu visualisieren und operationalisierbar zu machen.
Welche Rolle spielt die Traceability-Matrix bei der Projektsteuerung?
Sie dient als Instrument, um viele-zu-viele Beziehungen zwischen Anforderungen und Testfällen darzustellen, wodurch der Implementierungsfortschritt transparent gemessen werden kann.
- Quote paper
- Pascal Steets (Author), 2017, Requirements Traceability in der Softwareentwicklung, Munich, GRIN Verlag, https://www.grin.com/document/374061