Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems

Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems

Quality Goal Oriented Architectural Design and Traceability for Evolvable Software Systems Dissertation zur Erlangung des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) vorgelegt der Fakultät für Informatik und Automatisierung der Technischen Universität Ilmenau von Dipl.-Inf. Stephan Bode geboren am 5. Februar 1983 in Mühlhausen/Thüringen, Deutschland 1. Gutachter: PD Dr.-Ing. habil. Matthias Riebisch, TU Ilmenau 2. Gutachter: Prof. Dr.-Ing. Detlef Streitferdt (JP), TU Ilmenau 3. Gutachter: Prof. Dr. Wilhelm Hasselbring, Universität zu Kiel Datum der Einreichung: 2011/04/20 Datum der Verteidigung: 2011/09/22 urn:nbn:de:gbv:ilm1-2011000313 Zusammenfassung Softwaresysteme werden heute z. B. aufgrund sich ändernder Geschäftsprozesse oder Technologien mit häufigen Veränderungen konfrontiert. Die Software und speziell ihre Architektur muss diese Änderungen zur dauerhaften Nutzbarkeit ermöglichen. Während der Software-Evolution können Änderungen zu einer Verschlechterung der Architektur führen, der Architekturerosion. Dies erschwert oder verhindert wei- tere Änderungen wegen Inkonsistenz oder fehlendem Programmverstehen. Zur Ero- sionsvermeidung müssen Qualitätsziele wie Weiterentwickelbarkeit, Performanz oder Usability sowie die Nachvollziehbarkeit von Architekturentwurfsentscheidungen be- rücksichtigt werden. Dies wird jedoch oft vernachlässigt. Existierende Entwurfsmethoden unterstützen den Übergang von Qualitätzielen zu geeigneten Architekturlösungen nur unzureichend aufgrund einer Lücke zwischen Methoden des Requirements Engineering und des Architekturentwurfs. Insbesonde- re gilt dies für Weiterentwickelbarkeit und die Nachvollziehbarkeit von Entwurfsent- scheidungen durch explizite Modellabhängigkeiten. Diese Arbeit präsentiert ein neues Konzept, genannt Goal Solution Scheme, das Qualitätsziele über Architekturprinzipien auf Lösungsinstrumente durch explizite Abhängigkeiten abbildet. Es hilft somit, Architekturlösungen entsprechend ihrem Einfluss auf Qualitätsziele auszuwählen. Das Schema wird speziell hinsichtlich Wei- terentwickelbarkeit diskutiert und ist in ein zielorientiertes Vorgehen eingebettet, das etablierte Methoden und Konzepte des Requirements Engineering und Architektur- entwurfs verbessert und integriert. Dies wird ergänzt durch ein Traceability-Konzept, welches einen regelbasierten Ansatz mit Techniken des Information Retrieval ver- bindet. Dies ermöglicht eine (halb-) automatische Erstellung von Traceability Links mit spezifischen Linktypen und Attributen für eine reichhaltige Semantik sowie mit hoher Genauigkeit und Trefferquote. Die Realisierbarkeit des Ansatzes wird an einer Fallstudie einer Software für mo- bile Serviceroboter gezeigt. Das Werkzeug EMFTrace wurde als eine erweiterbare Plattform basierend auf Eclipse-Technologie implementiert, um die Anwendbarkeit der Konzepte zu zeigen. Es integriert Entwurfsmodelle von externen CASE-Tools mittels XML-Technologie in einem gemeinsamen Modell-Repository, wendet Regeln zur Linkerstellung an und bietet Validierungsfunktionen für Regeln und Links. Abstract Today software systems are frequently faced with demands for changes, for example, due to changing business processes or technologies. The software and especially its architecture has to cope with those frequent changes to permanently remain usable. During software evolution changes can lead to a deterioration of the structure of software architectures called architectural erosion, which hampers or even inhibits further changes because of inconsistencies or lacking program comprehension. To support changes and avoid erosion, especially quality goals, such as evolvability, per- formance, or usability, and the traceability of design decisions have to be considered during architectural design. This however often is neglected. Existing design methods do not sufficiently support the transition from the quality goals to appropriate architectural solutions because there is still a gap between requirements engineering and architectural design methods. Particularly support is lacking for the goal evolvability and for the traceability of design decisions by explicit model dependencies. This thesis presents a new concept called Goal Solution Scheme, which provides a mapping from goals via architectural principles to solution instruments by explicit dependencies. Thus it helps to select appropriate architectural solutions according to their influence on quality goals. The scheme is discussed especially regarding evolvability, and it is embedded in a goal-oriented architectural design method, which enhances and integrates established methods and concepts from requirements engineering as well as architectural design. This is supplemented by a traceability concept, which combines a rule-based approach with information retrieval techniques for a (semi-) automated establishment of links with specific link types and attributes for rich semantics and a high precision and recall. The feasibility of the design approach has been evaluated in a case study of a software platform for mobile robots. A prototype tool suite called EMFTrace was implemented as an extensible platform based on Eclipse technology to show the practicability of the thesis’ concept. It integrates design models from external CASE tools in a joint model repository by means of XML technology, applies rules for link establishment, and provides validation capabilities for rules and links. Danksagung An dieser Stelle möchte ich die Gelegenheit nutzen, um all denjenigen meinen Dank auszudrücken, die mich während meines Promotionsvorhabens begleitet haben und ohne die diese Dissertation nicht geschrieben worden wäre. Der größte Dank gebührt meinem Doktorvater, Matthias Riebisch, der mich er- mutigt und mir die Möglichkeit gegeben hat unter seiner Betreuung zu promovieren. Er hatte immer einen ergiebigen Rat auf fachliche und persönliche Fragen und hat mich die ganze Zeit aufschlussreich geleitet. Weiterer Dank geht an Professor Armin Zimmermann und Professor Wilhelm Hasselbring für ihre Kommentare und für die Begutachtung meiner Arbeit. Ich möchte auch Professor Ilka Philippow danken für die Unterstützung durch sie und ihr Fachgebiet an der Technischen Universität Ilmenau. In diesem Zusam- menhang gehört auch all meinen Kollegen für ihre Unterstützung besonderer Dank, insbesondere Heiner für seine Mühe bei all meinen technischen Wünschen und für seine aufmunternden Bemerkungen. Verschiedene Studenten haben an unterschiedlichen Aspekten in Bezug auf mein Dissertationsthema und den Prototypen gearbeitet und dazu beigetragen. Vielen Dank an Steffen Lehnert für sein außerordentliches Engagement für das EMFTrace Projekt. Ich möchte auch Matthias Rumpf, Ralf Stollberg, Philipp Wagner und Daniel Motschmann für ihre Arbeit danken. Weiterhin, bedanke ich mich bei Professor Horst-Michael Groß und seinen Mit- arbeitern für die Roboterfallstudie zur Evaluierung meiner Arbeit. Insbesondere be- danke ich mich bei Andrea Scheidig, Erik Einhorn und Jens Kessler für ihre geopferte Zeit für Diskussionen. Darüber hinaus gebührt mein aufrichtiger Danke meiner Familie für die enorme Unterstützung und Geduld während meines gesamten Studiums. Acknowledgment At this place I would like to take the opportunity to express my thanks to all the people who accompanied me during my Ph.D. project and without whom this dissertation would not have been written. The biggest thanks goes to my advisor, Matthias Riebisch, for encouraging me and giving me the opportunity to do my Ph.D. under his supervision. He always had a fruitful advice for professional and personal questions and insightfully guided me during the whole time. Further thanks go to professor Armin Zimmermann and to professor Wilhelm Hasselbring for their comments and for examining my work. I also would like to thank professor Ilka Philippow for her support through her department at the Ilmenau University of Technology. In this regard special thanks also belong to my colleagues for all their support and especially to Heiner for his effort with all my wishes regarding technology and for his encouraging remarks. Several students worked on different aspects related to my work and contributed to the approach and the prototype tool. Many thanks go to Steffen Lehnert for his extraordinary dedication to the EMFTrace project. I also would like to thank Matthias Rumpf, Ralf Stollberg, Philipp Wagner and Daniel Motschmann for their work. Furthermore, I thank professor Horst-Michael Groß and his staff for providing the case study of the robot software platform for the evaluation of my approach. In particular I thank Andrea Scheidig, Erik Einhorn and Jens Kessler for their time for discussions. Moreover, I sincerely thank my family for the tremendous support and patience during my whole studies. Contents Contents 1 Introduction1 1.1 Motivation.................................1 1.2 Goals of the Thesis............................3 1.3 Scope...................................5 1.4 Contribution................................6 1.5 Outline of the Thesis...........................7 2 Evaluation of State-of-the-Art Methods and Concepts 11 2.1 Description of Functional and Quality Requirements.......... 11 2.1.1 Goal-Oriented Approaches.................... 12 2.1.1.1 NFR Framework.................... 12 2.1.1.2 i* (i-star)........................ 14 2.1.1.3 GRL and URN..................... 15 2.1.1.4 Evaluation of the Goal-Oriented Approaches..... 16 2.1.2 Use Cases and Scenarios..................... 17 2.1.3 The EMPRESS Framework for Requirements......... 19 2.2

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    267 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us