Design and Development of a Traceability Framework for Small Software Development Teams – a Message-Oriented Approach
Total Page:16
File Type:pdf, Size:1020Kb
Die approbierte Originalversion dieser Diplom-/Masterarbeit ist an der Hauptbibliothek der Technischen Universität Wien aufgestellt (http://www.ub.tuwien.ac.at). The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology (http://www.ub.tuwien.ac.at/englweb/). Design and Development of a Traceability Framework for Small Software Development Teams – A Message-Oriented Approach DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Informatik eingereicht von Martin Schwarzbauer Matrikelnummer 9725707 an der Fakultät für Informatik der Technischen Universität Wien Betreuung: Betreuer/Betreuerin: Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Thomas Grechenig Wien, 4.11.2008 _______________________ ______________________ (Unterschrift Verfasser/in) (Unterschrift Betreuer/in) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43/(0)1/58801-0 http://www.tuwien.ac.at Design and Development of a Traceability Framework for Small Software Development Teams – A Message-Oriented Approach DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Informatik eingereicht von Martin Schwarzbauer 9725707 ausgeführt am Institut für Rechnergestützte Automation Forschungsgruppe Industrial Software der Fakultät für Informatik der Technischen Universität Wien Betreuung: Betreuer: Univ.-Prof. Dipl.-Ing. Dr. techn. Thomas Grechenig Mitwirkung: Mario Bernhart Eidesstattliche Erklärung Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen nicht benützt und die den benutzten Quellen wörtlich oder inhaltlich entnommenen Stellen als solche kenntlich gemacht habe. Wien, am 4.11.2008 ---------------------------------------------- Martin Schwarzbauer Danksagung Ich möchte Professor Grechenig danken, vor allem dafür dass er mich in der Anfangsphase meiner Diplomarbeit ermutigt hat, an meiner Idee einer Traceability-Lösung für kleine Softwareentwicklungsteams zu arbeiten, sie zu detaillieren und zu erweitern. Mein Dank gilt auch Mario Bernhart, der mir in den entscheidenden Phasen geholfen hat, meine Anstrengungen auf ein erreichbares Ziel zu konzentrieren und mich dadurch davor bewahrt hat, mich mit mehr Problemen zu beschäftigen, als ich im Rahmen meiner Arbeit lösen hätte können. Ich bin Brigitte Brem sehr dankbar für Ihre Anmerkungen und Anleitung während der abschließenden Arbeiten an dieser Diplomarbeit, ohne die ich nicht imstande gewesen wäre, den letzten Einreichtermin für meinen Studienzweig zu halten. Meiner Lebensgefährtin Yvonne danke ich für ihren Hinweis, dass es allein meine eigene Schuld war, dass mein Abschluss aufgrund des Termindrucks fraglich war, und vor allem dafür, dass sie mich mich trotz dieser Tatsache in Liebe unterstützt hat. Zum Abschluss möchte ich auch meinen Eltern danken, die mir immer ein Rückhalt waren und mich auch dann unterstützt haben, als meine Studienfortschritte aufgrund mangelnder Konsequenz und Anstrengung meinerseits seltener wurden. Acknowledgements I want to thank professor Grechenig, especially for encouraging me in the inception phase of the thesis to work on, detail and expand my idea of a traceability solution for small development teams. My thanks also go to Mario Bernhart, who helped me focus my efforts on an achievable goal at the decisive stages of my thesis and thus preserved me from trying to solve more problems than I could have handled in this thesis. I am very grateful to Brigitte Brem for her feedback and guidance during the finalisation of my thesis, without which I would not have been able to hand in my work in time for the last chance to graduate in my branch of study. To my significant other Yvonne, I owe thanks for kindly pointing out to me that getting into a situation where my graduation was in peril was entirely my own fault, and even more gratitude for showing unwavering love and support in spite of that fact. Finally, I want to thank my parents, who have always backed me up and strongly supported me throughout my entire studies, even when there were few results due to little effort on my part. Kurzfassung In der Softwareentwicklung werden Verfolgbarkeit des Informationsflusses und Nachvollziehbarkeit von Entscheidungen (Traceability) oft eher als bürokratisches Hemmnis denn als Möglichkeit zur Effizienzsteigerung gesehen. Dadurch sind gerade kleinere Softwareentwicklungsteams kaum motiviert, die genannten Konzepte anzunehmen und einzuführen. Diese Arbeit hat das Ziel, eine akzeptable Lösung für das Verknüpfen von Projektzwischenergebnissen (Artefakten) zu präsentieren – eine Methode, um Applikationen in der Softwareentwicklung zu integrieren – um es auch kleinen Softwareentwicklungsprojekten zu ermöglichen, Traceability mit einem vertretbaren Aufwand zu erreichen und daraus Vorteile zu ziehen. Das Hauptproblem ist die Tatsache, dass verschiedenste Applikationen zur Unterstützung der Softwareentwicklung im Einsatz sind, sodass ein gemeinsamer Kommunikationsstandard etabliert werden muss, um den Informationsaustausch zwischen beliebigen Zusammenstellungen dieser Applikationen zu ermöglichen. Der hier präsentierte Vorschlag ist ein XML-basiertes Nachrichtenformat: Nachrichten mit Informationen zur Identifikation von Artefakten sowie Nachrichten, die Beziehungen zwischen jeweils zwei Artefakten definieren. Der Einsatz von Nachrichten anstelle von Schnittstellen erlaubt eine lose Kopplung der Applikationen, sodass diese integriert werden können, ohne die applikationsinternen Konzepte anzutasten. Dadurch werden schnelle Resultate erzielt, etwa durch Erweiterung einer Anwendung, die somit Nachrichten an eine zweite Anwendung verschickt, die diese verarbeitet und optisch für Benutzer aufbereitet. Dadurch ist der erste Schritt Richtung Traceability umgesetzt, unter verhältnismäßig geringem Aufwand. Die Verwendung von XML als Basis ermöglicht das automatische Validieren von Nachrichten sowie das Erweitern um zusätzliche Informationen, um eine engere Zusammenarbeit zwischen einzelnen Applikationen zu ermöglichen. Als Machbarkeitsstudie wurden zwei Applikationsprototypen entwickelt – eine für Anforderungsmanagement und eine für Testverwaltung – und diese so erweitert, dass sie durch das präsentierte Nachrichtenformat kommunizieren. Das System zeigt, dass damit Verknüpfungen über Anwendungsgrenzen hinweg erstellt werden können und dass dadurch ein Mehrwert gegeben ist. Aufgrund der ausgetauschten Informationen könnten zum Beispiel Berichte über Testabdeckung oder Testergebnisse zu einzelnen Anforderungen erstellt werden. Keywords: Verfolgbarkeit, Softwareentwicklung, Tool-Integration, XML-Nachrichten, dezentrale Verknüpfungen Abstract Traceability in software development is often seen as bureaucratic burden rather than an opportunity for efficiency improvements. Consequently, small development teams are hardly motivated to embrace the concept and make information flow and decision making in their projects traceable. This thesis aims to present a viable solution for linking intermediate products (artefacts) of the project – a method of integrating tools used in the development process – so that small development teams can reap the benefits of traceability with a reasonable amount of effort. The primary issue is the fact that there are various tools available and in use – a common standard of communication is needed to enable information exchange between any pair or set of tools. The proposal of this thesis an XML-based message format – messages containing information to identify artefacts, and messages defining relationships between pairs of artefacts. Using messages instead of interfaces allows for looser coupling, enabling integration of a tool without adapting its underlying concepts. It is therefore possible to achieve quick results by extending one tool to send messages about its artefacts, and another tool to process these messages and offer its users the information obtained from them – the first step towards traceability. Using XML as base format allows easy message validation against an XML schema and also offers extensibility to incorporate additional information for tighter tool integration where this is desired. As proof of concept, two standalone tool prototypes have been developed and then extended to communicate via the suggested message format: a requirements management and a test tracking tool. The set-up shows that traceability links can be established across tool borders and that this provides benefits to the users. With the shared information, for example reports on test coverage or test results of specific requirements are possible. Keywords: traceability, software engineering, tool integration, XML messages, decentralized links Table of Contents 1 Introduction...............................................................................................................1 2 The Traceability Concept............................................................................................3 2.1 History and Development.....................................................................................4 2.1.1 Origins.........................................................................................................4 2.1.2 Tracing to Design, Code and Test Artefacts....................................................5 2.1.3 Tracing Sources of Specifications...................................................................6 2.1.4 Process Traceability......................................................................................6