Totz, G. (2007). Plugin-basiertes Requirements Tracing in der Softwareentwicklung [Master Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-18614
Requirements Engineering ist eine Disziplin, die sich mit der Erhebung und Verwal-tung von Anforderungen an ein Softwareprodukt beschäftigt. Aufgrund von sich häu-fig ändernden Anforderungen ist deren Verfolgung (Requirements Tracing) ein wich-tiges Instrument um Auswirkungen dieser Änderungen effizient abschätzen zu kön-nen. Außerdem ist Requirements Tracing von verschiedenen Standards, wie zum B...
Requirements Engineering ist eine Disziplin, die sich mit der Erhebung und Verwal-tung von Anforderungen an ein Softwareprodukt beschäftigt. Aufgrund von sich häu-fig ändernden Anforderungen ist deren Verfolgung (Requirements Tracing) ein wich-tiges Instrument um Auswirkungen dieser Änderungen effizient abschätzen zu kön-nen. Außerdem ist Requirements Tracing von verschiedenen Standards, wie zum Beispiel CMMI, vorgeschrieben und stellt vor allem in sicherheitskritischen Projek-ten ein Muss dar.<br />Allerdings gibt es beim Requirements Tracing folgende Herausforderungen:<br /> *) traditionelle manuelle Ansätze (Excel Matrizen, etc.) sind sehr aufwändig vor allem bei einer hohen Anzahl von Anforderungen; *) Automatisierungsansätze liefern in hohem Maße unvollständige und teilweise falsche Verknüpfungen; *) vorhandene Ansätze unterstützen das Erstellen der Verknüpfungen über Toolgrenzen hinaus nicht.<br />Im Rahmen dieser Arbeit habe ich folgende Beiträge geleistet:<br />*) Entwicklung eines Plug-ins:<br />Ich habe ein in die Entwicklungsumgebung integriertes Tool (RT-Plugin) entwickelt, welches es dem Entwickler ermöglicht, in seiner gewohnten Ent-wicklungsumgebung Abhängigkeiten zwischen den Anforderungen und den Source-Code-Elementen (Klassen und Methoden) aufwandsschonend herzu-stellen. Durch diese Tool-Unterstützung wird das Tracing über Toolgrenzen hinaus möglich (Tracing von Anforderungen in einem Anforderungsmanage-ment Tool zu Source Code in einer Entwicklungsumgebung).<br />*) Erstevaluierung des Plug-ins:<br />Bei der Erstevaluierung wurde der plugin-basierte Tracing-Ansatz (RT-Plugin) mit traditionellen Ansätzen (Tracing mittels Excel bzw.<br />RequisitePro) hinsichtlich Aufwand des Tracings, Korrektheit und Vollständigkeit der Tra-ces verglichen. *) Grobevaluierung durch Experten der Siemens PSE und Weiterentwicklung:<br />Die Grobevaluierung wurde von Requirements Engineering Experten der Siemens PSE durchgeführt. Das Ergebnis waren einige Verbesserungsvor-schläge und zusätzliche Anforderungen an das RT-Plugin, wie zum Beispiel: Anzeigen der verknüpften Klassen bei den Anforderungen, Client Server Ar-chitektur der Schnittstelle zum Anforderungsmanagement Tool, Änderungs-benachrichtigung in der IDE wenn sich im Anforderungsmanagement Tool eine verknüpfte Anforderung geändert hat, Anzeigen der ausführlichen An-forderungsbeschreibung und deren Attribute und Historie. Das RT-Plugin wurde nach der Grobevaluierung weiterentwickelt und die neuen Anforderun-gen und Verbesserungsvorschläge umgesetzt. *) Erstellung eines Konzeptes für eine detaillierte Evaluierung von Aufwand, Vollständigkeit und Korrektheit des Tracings im Rahmen eines Fallstudien-Projekts bei Siemens PSE Durch das RT-Plugin wird der Aufwand des Requirements Tracing im Vergleich zu den beiden anderen Ansätzen auf ein Sechstel reduziert, und auch eine höhere Voll-ständigkeit und Korrektheit der Traces erreicht (muss in weiteren Fallstudien über-prüft werden). Durch die Einarbeitung von Änderungen, die von Siemens Praktikern eingebracht wurden, wurde die Praxistauglichkeit des Plug-ins erhöht.<br />
de
Requirements engineering is a discipline which deals with collecting and managing requirements for a software product. During development the requirements often change and requirements tracing is a meaningful instrument to evaluate the impact of these requirements changes effectively. Furthermore, requirements tracing is required in many standards like CMMI and is mandatory in safety critical proj...
Requirements engineering is a discipline which deals with collecting and managing requirements for a software product. During development the requirements often change and requirements tracing is a meaningful instrument to evaluate the impact of these requirements changes effectively. Furthermore, requirements tracing is required in many standards like CMMI and is mandatory in safety critical projects.<br />Despite the benefits, there are some challenges in requirements tracing:<br />*) traditional manual approaches (Excel matrices, etc.) are very expensive espe-cially in projects with a high amount of requirements.<br />*) Approaches with automated generation of traces deliver highly incomplete and partially incorrect traces.<br />*) Existing approaches do not support tracing across tool borders.<br />Within this paper I provide the following contributions:<br />*) Plugin development:<br />I have developed a plugin (RT-Plugin) which is integrated in the development environment of the developer (Eclipse). With this plugin the developer can capture traces between requirements and source code elements (Classes and Methods) within his familiar environment very cost-efficiently. Also tracing over tool borders becomes feasible (tracing of requirements which are cap-tured in a requirements management tool to source code elements within the development environment).<br />*) Preevaluation of the plugin:<br />Within this preevaluation the plugin-based approach (RT-Plugin) was com-pared to the traditional approaches (tracing in Excel and RequisitePro) con-cerning tracing effort, correctness and completeness of the captured traces.<br />*) Raw evaluation with experts of Siemens PSE and further development:<br />This evaluation was done by requirements engineering experts of Siemens PSE. As result of this evaluation, some change requests occurred, such as: displaying the traced classes for each requirement, client server architecture, and notification when a requirement has been changed in the requirements management tool, displaying the whole description of the requirement and all their attributes and history entries. The RT-Plugin was afterwards enhanced according to these new change requests.<br />*) Creation of a concept for a detailed evaluation of the RT-Plugin within a case study project at Siemens PSE concerning tracing effort, correctness and com-pleteness.<br />By the RT-Plugin comparing to other approaches the tracing effort can be reduced to a sixth part and also a higher correctness and completeness can be reached (has to be checked in further case studies). By incorporation of the change requests and en-hancements, which came from Siemens practitioners, the RT-Plugin became a practi-cable tool.<br />