| Softwareleitstand Prototypische Entwicklung eines neuartigen Werkzeugs zur Qualitätsabsicherung bei der Softwareentwicklung.
Moderne Softwaresysteme werden sowohl fachlich, technisch als auch organisatorisch zunehmend komplexer: So steigt 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 vielerlei Erzeugnissen eines Softwareentwicklungsprojekts als auch deren 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 und aus Mitteln des BMWi gefördert. Die Projektlaufzeit ist November 2009 bis Mai 2012.
Die Umsetzung des Softwareleitstands erfolgt 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 wird durch den Projektpartner QAware GmbH entwickelt. Dabei wurde im bisherigen Projektverlauf 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 wird durch den Lehrstuhl entwickelt. Im Berichtszeitraum wurde das Konzept für die Umsetzung des Analysekerns erstellt und dessen Implementierung begonnen. Der Analysekern ist für die Untersuchung der als Objektgraph vorliegenden Traceability-Daten verantwortlich und greift auf graphentheoretische Aspekte zurück. Die Formulierung von Analysen und zu prüfenden Regeln soll dabei mittels einer geeigneten Abfragesprache möglich sein. Hierzu wurde aufbauend auf dem Konzept des Analysekerns eine Studie bzgl. der Verwendbarkeit bereits existierender Sprachen vorgenommen. Im Ergebnis wurde die objekt-orientierte und funktionale Multiparadigmensprache Scala als Grundlage für die Umsetzung der Abfragesprache in Form einer Domain Specific Language beschlossen. Die DSL ist bzgl. der Realisierung in ihrer ersten Ausbaustufe funktionsfähig und ermöglicht beispielsweise das Erstellen von sog. Reflexion Modellen. Diese bilden Übereinstimmungen und Differenzen zwischen einem Komponenten- und einem Code-Modell mittels neuer Beziehungen im Komponentenmodell ab. Weiterhin ist das Verdichten von Metriken aus dem Code-Modell in das Komponentenmodell möglich.
| Projektleitung: Prof. Dr. Michael Philippsen
Beteiligte: Dipl.-Inf. (FH) Josef Adersberger, M. Eng. Norbert Tausch, Dipl.-Ing. (FH)
Beginn: 1.11.2009
Förderer: Bundesministerium für Wirtschaft und Technologie
Kontakt: Philippsen, Michael Telefon +49 9131 85-27625, Fax +49 9131 85-28809, E-Mail: philippsen@informatik.uni-erlangen.de
|