Directly to content
  1. Publishing |
  2. Search |
  3. Browse |
  4. Recent items rss |
  5. Open Access |
  6. Jur. Issues |
  7. DeutschClear Cookie - decide language by browser settings

Tracing Requirements and Source Code During Software Development

Delater, Alexander

German Title: Erstellung von Verbindungen zwischen Anforderungen und Quellcode während der Software-Entwicklung

[img]
Preview
PDF, English Print-on-Demand-Kopie (epubli)
Download (5MB) | Lizenz: Print on Demand

Citation of documents: Please do not cite the URL that is displayed in your browser location input, instead use the persistent URL or the URN below, as we can guarantee their long-time accessibility.

Abstract

Traceability supports the software development process in various ways, amongst others, change management, software maintenance and prevention of misunderstandings. Traceability links between requirements and code are vital to support these development activities, e.g., navigating from a requirement to its realization in the code, and vice versa. However, in practice, traceability links between requirements and code are often not created during development because this would require increased development effort. This reduces the possibilities for developers to use these links during development.

To address this weakness, this thesis presents an approach that (semi-) automatically captures traceability links between requirements and code during development. We do this by using work items from project management that are typically stored in issue trackers. The presented approach consists of three parts. The first part comprises a TIM consisting of artifacts from three different areas, namely requirements engineering, project management, and code. The TIM also includes the traceability links between them. The second part presents three processes for capturing traceability links between requirements, work items, and code during development. The third part defines an algorithm that automatically infers traceability links between requirements and code based on the interlinked work items. The traceability approach is implemented as an extension to the model-based CASE tool UNICASE, which is called UNICASE Trace Client.

Practitioners and researchers have discussed the practice of using work items to capture links between requirements and code, but there has been no systematic study of this practice. This thesis provides a first empirical study based on the application of the presented approach. The approach and its tool support are applied in three different software development projects conducted with undergraduate students. The feasibility and practicability of the presented approach and its tool support are evaluated. The feasibility results indicate that the approach creates correct traceability links between all artifacts with high precision and recall during development. At the same time the practicability results indicate that the subjects found the approach and its tool support easy to use. In a second empirical study we compare the presented approach with an existing technique for the automatic creation of traceability links between requirements and code. The results indicate the presented approach outperforms the existing technique in terms of the quality of the created traceability links.

Translation of abstract (German)

Nachverfolgbarkeit unterstützt den Softwareentwicklungsprozess auf verschiedene Weise, u.a. beim Veränderungsmanagement, in der Wartung von Software und der Vermeidung von Missverständnissen. Verbindungen zwischen Anforderungen und Quellcode sind von entscheidender Bedeutung zur Unterstützung dieser Entwicklungsaktivitäten, z.B. für das Navigieren von einer Anforderung bis zu ihrer Umsetzung im Quellcode, und umgekehrt. Jedoch werden diese Verbindungen häufig in der Praxis nicht während der Entwicklung erstellt, da dies erhöhten Entwicklungsaufwand erfordern würde. Somit können Entwickler die Verbindungen nicht während der Entwicklung nutzen.

Um dieses Problem anzugehen, stellt diese Arbeit einen Ansatz zur (semi-) automatischen Erfassung von Verbindungen zwischen Anforderungen und Quellcode während der Entwicklung vor. Dies wird durch die Verwendung von Arbeitsaufträgen aus dem Projektmanagement erreicht, die typischerweise in Fehlerverfolgungswerkzeugen gespeichert sind. Der vorgestellte Ansatz besteht aus drei Teilen. Der erste Teil umfasst ein Traceability Information Model (TIM), bestehend aus Artefakten aus drei Bereichen, nämlich Requirements Engineering, Projektmanagement und Quellcode. Das TIM beinhaltet auch die Verbindungen zwischen den Artefakten. Der zweite Teil präsentiert drei Prozesse für die Erfassung von Verbindungen zwischen Anforderungen, Arbeitsaufträgen und Quellcode während der Entwicklung. Der dritte Teil stellt einen Algorithmus für die automatische Ableitung von Verbindungen zwischen Anforderungen und Quellcode vor basierend auf den damit verbundenen Arbeitsaufträgen. Der Ansatz ist als Erweiterung für das modellbasierte CASE-Tool UNICASE implementiert und heißt UNICASE Trace Client.

Praktiker und Forscher haben die Verwendung von Arbeitsaufträgen zur Erfassung von Verbindungen zwischen Anforderungen und Quellcode bereits diskutiert, aber es existiert dafür noch keine systematische Studie. Diese Dissertation präsentiert eine erste solche empirische Studie basierend auf dem vorgestellten Ansatz. Der vorgestellte Ansatz mit seiner Tool-Unterstützung wird in drei verschiedenen Softwareentwicklungsprojekten mit Studierenden angewendet. Die Machbarkeit und Praktikabilität des vorgestellten Ansatzes und seiner Tool-Unterstützung werden evaluiert. Die Ergebnisse zur Machbarkeit zeigen, dass der Ansatz richtige Verbindungen zwischen allen Artefakten mit hoher Präzision während der Entwicklung erstellt. Gleichzeitig zeigen die Ergebnisse zur Praktikabilität, dass die Studierenden den Ansatz und seine Tool-Unterstützung einfach zu bedienen fanden. Eine zweite empirische Studie vergleicht den vorgestellten Ansatz mit einer bestehenden Technik zur automatischen Erstellung von Verbindungen zwischen Anforderungen und Quellcode. Die Ergebnisse zeigen, dass der vorgestellte Ansatz die bestehende Technik in Bezug auf die Qualität der erstellten Verbindungen übertrifft.

Item Type: Dissertation
Supervisor: Paech, Prof. Dr. Barbara
Date of thesis defense: 18 December 2013
Date Deposited: 13 Jan 2014 10:24
Date: 2013
Faculties / Institutes: The Faculty of Mathematics and Computer Science > Department of Computer Science
Subjects: 004 Data processing Computer science
Uncontrolled Keywords: Traceability, Anforderungen, Projektmanagement, Quellcode, Softwareentwicklung
About | FAQ | Contact | Imprint |
OA-LogoDINI certificate 2013Logo der Open-Archives-Initiative