Projekte

Methoden und Werkzeuge zur Sicherung der inneren Qualität bei der Evolution objektorientierter Softwaresysteme (QBench)

BMBF (2003-2006)

Die Idee von QBench ( www.qbench.de) ist die Schaffung eines ganzheitlichen, konstruktions- und evolutionsbegleitenden Ansatzes zur Analyse und Sicherung der inneren Qualität von objektorientierter Software. Dazu werden ganzheitliche Qualitätsaspekte und -anforderungen für innere Softwarequalität definiert, die alle im Laufe des Softwarelebenszyklus entstehenden Artefakte (Quelltexte und darauf abbildbare Abstraktionen wie Modelle, Konfigurationen etc.) sowie die verschiedenen Abstraktionsebenen (Geschäftsobjektsicht, Architektursicht, Subsystemsicht, Quelltextsicht) berücksichtigen. Diese Qualitätsaspekte und -anforderungen werden werkzeugunterstützt durch den Einsatz von Analyseverfahren und die Kombination von Metriken, Heuristiken und Visualisierungstechniken überprüft.

Bisher gibt es keine methodische Unterstützung für die Steuerung der inneren Qualität eines Systems. Die zentrale Innovation von QBench ist daher das Schließen dieser Lücke: Es wird nicht nur ein mehrstufiges Modell für innere Qualität für die im Softwareevolutionsprozess relevanten Artefakte und Abstraktionsstufen aufgestellt, sondern es werden auch Methoden und Werkzeuge entwickelt, diese innere Qualität ganzheitlich zu bestimmen und werkzeugunterstützt zu verbessern. Damit werden erstmals die bislang weitgehend getrennten Forschungsgebiete der Softwareanalyse und Softwaretransformation zum Zwecke der Softwarequalitätssicherung zusammen­geführt.

Forschungspartner sind das FZI Forschungszentrum Informatik in Karlsruhe (Projektinitiator und -koordinator) und das Fraunhofer FIRST Softwarequalitätslabor an der BTU Cottbus. Sie werden durch das Beratungs­unternehmen SQS Software Quality Systems AG in Köln unterstützt.

Die Projektergebnisse werden kontinuierlich in Fallstudien der Industriepartner CAS Software AG (Karlsruhe), LogControl GmbH (Pforzheim) und PTV AG (Karlsruhe) erprobt und transferiert, wo die entwickelten Methoden und Werk­zeuge direkt in die Softwareentwicklungsprozesse integriert werden.

Der Beitrag der BTU liegt vor allem im Bereich der Mess- und Diagnosemethodik und der Visualisierung von Softwarestrukturen im Zusammenhang mit dem Erkennen von Problem- und Lösungsstrukturen für Entwurfsprobleme in großen objektorientierten Programmen. Außerdem wurde von der BTU-Arbeitsgruppe ein Teil der Werkzeuginfrastruktur für die Visualisierung entwickelt.