SoftwareleitstandPrototypische Entwicklung eines neuartigen Werkzeugs zur
Qualitätsabsicherung bei der Softwareentwicklung.
Moderne Softwaresysteme werden sowohl fachlich, technisch als auch
organisatorisch zunehmend komplexer: So steigen die Anzahl und der
Vernetzungsgrad der zu realisierenden Anforderungen pro System stetig,
die technischen Vorgaben z.B. an den Verteilungsgrad und die
Zuverlässigkeit der Systeme werden komplexer und die
Softwareentwicklung selbst findet zunehmend in global verteilten Teams
und mit wachsendem Zeitdruck statt. Aus diesen Gründen wird es auch
zunehmend schwieriger, Softwareentwicklungsprojekte fachlich,
technisch und organisatorisch zu steuern.
Als Softwareleitstand bezeichnen wir ein Werkzeug, das leitenden
Projektrollen wie dem Projektleiter, dem Softwarearchitekten, dem
Anforderungsarchitekten und dem Entwicklungsleiter eine hohe
Transparenz und damit verbesserte Steuerbarkeit von
Softwareentwicklungsprojekten ermöglicht.
Transparenz herrscht dann, wenn sowohl Zusammenhänge zwischen den
vielfältigen Erzeugnissen eines Softwareentwicklungsprojekts als auchderen Eigenschaften schnell und gesamtheitlich zugänglich sind und
entsprechend dem individuellen Informationsbedarf eines
Projektbeteiligten aufbereitet sind.
Der Softwareleitstand ist ein Werkzeug, das den Zugang zu den
Zusammenhängen (Traceability) und den Eigenschaften (Metriken) der
Erzeugnisse von Softwareentwicklungsprojekten vereinheitlicht. Damit
kann die Effizienz von Softwareentwicklungsprojekten maßgeblich
gesteigert werden. Es sollen Erzeugnisse des
Softwareentwicklungsprojekts (Artefakte) und ihre Zusammenhänge
(Relationen), sowie zu den Artefakten zuordenbare Metriken zentral
erfasst, integriert und analysiert werden können. Die entsprechenden
Analysen werden in Form von Visualisierungen des Artefaktgraphen
mitsamt den zugeordneten Metriken und Regelprüfungen durchgeführt.
Das Projekt Softwareleitstand wird in Kooperation des Lehrstuhls mit
der QAware GmbH München durchgeführt. Die ersten 30 Projektmonate
wurden aus Mitteln des BMWi gefördert.
Die Umsetzung des Softwareleitstands erfolgte dabei in zwei
Arbeitssträngen, die auch den beiden Subsystemen des Werkzeugs
entsprechen: Der Integration Pipeline, die Traceability Informationen
und Metriken aus verschiedensten Werkzeugen der Softwareentwicklung
zusammen sammelt, sowie dem Analysis Core (Analysekern), der eine
gesamtheitliche Auswertung der integrierten Daten ermöglicht.
Die Integration Pipeline wurde durch den Projektpartner QAware GmbH
entwickelt. Dabei wurde zunächst eine
Modellierungssprache für Traceability Informationen in Kombination mit
Metriken (TraceML) definiert. Die Sprache besteht dabei aus einem
Meta-Modell sowie einer Modellbibliothek zur einfachen Definition von
angepassten Traceability Modellen. Aufbauend auf der TraceML wurde das
Integration Pipeline Framework auf Basis des Eclipse Modeling Projekts
entwickelt. Dabei wird sowohl das Eclipse Modeling Framework zur
Abbildung der Modelle und Metamodelle, als auch die Modeling Workflow
Engine zur Modelltransformation und Eclipse CDO als Modell-Repository
verwendet. Auf Basis des Integration Pipeline Frameworks wurden dann
eine Reihe von gängigen Werkzeugen der Softwareentwicklung wie z.B.
Subversion, Eclipse, JIRA, Enterprise Architect und Maven angebunden.
Der Analysekern wurde durch den Lehrstuhl entwickelt. Zentrales Thema
waren dabei die Konzeption und Realisierung einer domänenspezifischen
Sprache für die graph-basierte Traceability-Analyse. Die
Traceability Query Language (TracQL) reduziert den Aufwand zur Umsetzung
von Traceability-Analysen zu reduzieren. TracQL erleichtert dabei sowohl die Extraktion als
auch die Transformation der Traceability-Daten, so dass diese dann
mittels kurzer funktional formulierter Graph-Traversierungen
analysiert werden können. Die Sprache baut auf der multi-paradigmen
Sprache Scala auf und wurde bereits mehrfach in realen
Industrieprojekten zur Analyse erfolgreich eingesetzt.
Der Schwerpunkt des Jahres 2015 lag auf der Evaluation und
Dokumentation des Ansatzes. Ziel war dabei, die zentralen
Eigenschaften des Ansatzes hervorzuheben und deren Wirksamkeit
nachzuweisen. Im Wesentlichen handelt es sich dabei um folgende drei
Eigenschaften:
Repräsentationsunabhängigkeit: TracQL ist an eine Vielzahl an Datenquellen anbindbar und macht deren Datentypen statisch typisiert verfügbar.
Modularität: Der Ansatz ist sowohl strukturell als auch operational anpassbar und erweiterbar.
Anwendbarkeit: Die Sprache besticht durch Ausdrucksstärke und Performanz im Vergleich zu anderen Ansätzen.
| Projektleitung: Prof. Dr. Michael Philippsen
Beteiligte: Dr.-Ing. Josef Adersberger, Dr.-Ing. Norbert Tausch
Laufzeit: 1.11.2009 - 31.12.2015
Förderer: Bundesministerium für Wirtschaft und Technologie
Kontakt: Philippsen, Michael Telefon +49-9131-85-27625, Fax +49-9131-85-28809, E-Mail: michael.philippsen@fau.de
|