Quality Assurance of Software Models - A Structured Quality Assurance Process Supported by a Flexible Tool Environment in the Eclipse Modeling Project

The paradigm of model-based software development (MBSD) has become more and more popular since it promises an increase in the efficiency and quality of software development. In this paradigm, software models play an increasingly important role and software quality and quality assurance consequently...

Full description

Saved in:
Bibliographic Details
Main Author: Arendt, Thorsten
Contributors: Taentzer, Gabriele (Prof. Dr.) (Thesis advisor)
Format: Dissertation
Language:English
Published: Philipps-Universität Marburg 2014
Softwaretechnik
Subjects:
Online Access:PDF Full Text
Tags: Add Tag
No Tags, Be the first to tag this record!
Table of Contents: Das Paradigma der modellbasierten Softwareentwicklung (MBSD) erfreut sich immer zunehmender Beliebtheit, da es eine Steigerung von Effizienz und Qualität in der Softwareentwicklung verspricht. Folgedessen spielen Softwaremodelle eine immer wichtigere Rolle und die Themen Qualität und Qualitätssicherung von Software werden somit zurückgeführt auf die Themen Qualität und Qualitätssicherung der beteiligten Modelle. Der grundlegende Inhalt dieser Arbeit ist die Definition eines strukturierten, syntaxorientierten und an projektspezifische bzw. domänenspezifische Bedürfnisse anpassbaren Prozesses für die Qualitätssicherung von Softwaremodellen. Dieser Prozess besteht aus zwei Teilprozessen. Im ersten Prozess werden projektspezifische Techniken für die Qualitätssicherung spezifiziert, die anschließend mit Hilfe des zweiten Prozesses an konkreten Softwaremodellen während eines MBSD Projektes angewendet werden können. Der Ansatz konzentriert sich dabei auf diejenigen Qualitätsaspekte, die auf der abstrakten Syntax des Modells überprüft werden können und benutzt die aus der Forschungsliteratur bekannten Qualitätssicherungstechniken Modellmetriken, Smells und Refactorings, die bis dato jedoch nur se-parat betrachtet wurden. Der vorgeschlagene Prozess integriert jetzt diese Techniken auf strukturierte Weise und ermöglicht so eine systematische Qualitätssicherung von Softwaremodellen. Drei ausgesuchte Beispiele mit unterschiedlichen Modellierungssprachen dienen als Proof-of-Concept Implementierungen des Prozesses und zeigen die Eignung, die Flexibilität und somit die Zweckmäßigkeit des Ansatzes. Im Zusammenhang mit der Thematik Qualitätssicherung von Softwaremodellen beinhaltet die Arbeit zudem die folgenden zusätzlichen Beiträge: (1) die Definition eines Qualitätsmodells für Modellqualität, (2) Übersichten über Metriken, Smells und Refactorings für UML-Klassenmodelle inklusive strukturierter Beschreibungen dieser Techniken sowie (3) einen konzeptionellen Ansatz für die Spezifikation von komponierten Modell-Refactorings. Der hohe Zeitaufwand und die potentielle Fehleranfälligkeit von manuell durchgeführten Modellanalysen erfordern eine weitgehende Automatisierung verschiedener Aktivitäten des vorgeschlagenen Qualitätssicherungsprozesses. Ein weiterer Hauptbeitrag dieser Arbeit ist die Entwicklung einer flexiblen Werkzeugumgebung für die Qualitätssicherung von Modellen, die auf dem Eclipse Modeling Framework (EMF), einer weit verbreiteten open-source Technologie im Bereich der modellbasierten Softwareentwicklung, basieren. Die Werkzeuge sind Teil des Eclipse Modeling Project (EMP) und gehören zum offiziellen Inkubations-Projekt EMF Refactor, das unter der Eclipse Public License (EPL) zur Verfügung gestellt wird. Das Framework unterstützt Modellierer und Analysten bei der Erstellung von Metrikenberichten, dem Auffinden sogenannter Model Smells sowie der systematischen Restrukturierung der Modelle durch Refactorings. Die Funktionalität von EMF Refactor ist dabei in die baumbasierten EMF Instanzeditoren, in die auf GMF basierenden grafischen Editoren und in die von Xtext bereitgestellten textuellen Modelleditoren integriert. Verschiedene Experimente und Studien zeigen die Zweckmäßigkeit und die Eignung der Werkzeuge für die Unterstützung der Techniken in dem zuvor beschriebenen syntaxorientierten Qualitätssicherungsprozess für Softwaremodelle.