QBench
Methoden und Werkzeuge zur Sicherung der inneren Qualität bei der Evolution objektorientierter Softwaresysteme
Ausgangspunkt und Bedarf
Moderne Software wird
evolutionär entwickelt: Vorhandene Software wird an neue Anforderungen angepasst oder in neue Systeme integriert. In
der Gesamtsicht verteilen sich die weitaus größten Kosten auf Softwareevolution: In den achtziger Jahren war Wartung,
Pflege und Betrieb von Software bereits doppelt so teuer wie die initiale Entwicklung. In den neunziger Jahren wuchsen
diese Kosten nochmals um 30 Prozent.
Die Kosten für Softwareevolution werden maßgeblich durch die innere Qualität der Software bestimmt. Darunter verstehen
wir die Softwarequalität, die vom Softwareingenieur wahrgenommen wird und die sich in Kriterien wie Erweiterbarkeit,
Wiederverwendbarkeit, Verständlichkeit, Modifizierbarkeit, Testbarkeit, Kompatibilität oder Anpassbarkeit an
verschiedene Umgebungen ausdrückt. Damit bestimmt innere Qualität -- oder ihr Fehlen -- direkt, wie leicht die
Software an neue Anforderungen und Systemumgebungen angepasst, wiederverwendet und weiterentwickelt werden kann.
Um die hohen Evolutionskosten zu senken, ist es also erforderlich, stets eine hohe innere Qualität eines
Softwaresystems bei der Entwicklung zu gewährleisten. Aber ("You cannot control what you cannot measure"): Um Qualität
zu sichern, muss man Aussagen über den aktuellen qualitativen Zustand machen können. Hier setzt das Projekt QBench an.
Vision
Die Idee von QBench 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 zusammengeführt.
Fallstudien
Um eine kontinuierlich praxisgerechte Ausrichtung des Projektes zu gewährleisten, werden die Projektergebnisse ständig
in Fallstudien der teilnehmenden Industriepartner erprobt und validiert.
Impressum
Sitemap
© CAS Software AG
|