Mittwoch, 08.09.2010

Teilvorhaben IV: Qualitätsvorhersage und -sicherung

Ausgangslage

Qualitätsvorhersage und -sicherung sind Begleitmaßnahmen, die die Qualität spezifischer Unternehmenssoftware über den gesamten Entwicklungsprozess und vor allem bereits in frühen Phasen sicherstellen sollen, so dass durch Nachbesserungen anfallende Kosten reduziert werden können. Sie sind zugleich Bestandteil des Lebenszyklus mit seinem fortwährenden Entwicklungsprozess. Qualitätsvorhersage in frühen Phasen der Entwicklung ermöglicht das Treffen von Architekturentscheidungen, die Auswirkungen auf die Qualität des gesamten Produktes haben.

In global verteilten Softwareprozessen entstehen erhöhte Kommunikations- und Koordinationsaufwände, was in der Qualitätssicherung noch nicht genügend berücksichtigt wurde.

Kleine und mittlere Unternehmen können von der Globalisierung profitieren, indem sie die Teile ihrer Entwicklung, die kein spezifisches Prozesswissen beinhalten, ins Ausland auslagern. Durch Methoden der Software-Zertifizierung können Dienstleister nachweisen, dass die Teile der Software, mit deren Entwicklung sie beauftragt wurden, den Qualitätsanforderungen genügen.

Ziele

Im Rahmen dieses Teilvorhabens soll eine Methode entwickelt werden, die die Bewertung der Architekturqualität im gesamten Entwicklungsprozess ermöglicht. Dies soll durch ein Werkzeug unterstützt werden, das die integrierte Modellierung und Bewertung von Änderungen sowohl im Bereich der Geschäftsprozesse als auch im Bereich der sie unterstützenden Softwarearchitektur ermöglicht. Zusätzlich soll eine Methode zur Auflösung von Zielkonflikten beim Entwurf von Architekturen entwickelt werden. Dabei soll der Einfluss der Priorisierung von extra-funktionalen Eigenschaften auf die Struktur der am besten geeigneten Architektur nachvollziehbar gemacht werden. Ein weiteres Ziel ist die Entwicklung formaler Methoden für die Software-Zertifizierung, die es erlauben, die Einhaltung von Qualitätsanforderungen von Software-Komponenten nachzuweisen.

Schließlich soll der gesamte Prozess durch ein Wissensmanagement unterstützt werden, mithilfe dessen Entscheidungen im Entwicklungsprozess nachvollziehbar gemacht werden. Dadurch soll die Kollaboration in verteilten Prozessen verbessert werden.

Arbeitspakete

4.1 Architekturentwurf: Entwicklung einer Methode zur Bewertung der Architekturqualität
4.2 Architekturentwurf: Entwicklung eines Werkzeugs zur automatischen Vorhersage und Bewertung der Architekturqualität
4.3 Entwicklung von Methoden zur Sensitivitäts- und Zielkonfliktanalyse bei Architekturentscheidungen
4.4 SW-Entwicklung: Methode für Qualitätssicherung und verteiltes Testen
4.5 Entwicklung wissensbasierter Werkzeuge zur Unterstützung der Qualitätssicherung im gesamten Lebenszyklus

Vorarbeiten

Das Palladio Component Model (PCM)

Der Palladio-Ansatz bietet Eclipse-basierte Werkzeuge und eine systematische Vorgehensweise, mit denen der ingenieurmäßige Entwurf von Software-Systemen mit vorhersagbaren Eigenschaften ermöglicht wird. Damit lassen sich beispielsweise Aussagen über die zu erwartende Ausführungsgeschwindigkeit von Software-Systemen bereits zur Entwurfszeit (vor der Implementierung) treffen.

Modellgetriebenes Vorgehen und Werkzeugunterstützung

Die Palladio-Modellinstanzen werden mit grafischen, Eclipse-basierten Editoren von Hand entworfen oder für Altsysteme durch automatisches Re-Engineering aus Quellcode / Bytecode erstellt. Diese Entwurfsmodelle dienen als Grundlage für automatisierte Performance-Vorhersagen, deren Wirkungsweise wissenschaftlich validiert worden ist. Da die Modelle automatisch in Code-Gerüste übersetzt werden, ist Palladio als Einstieg in modellgetriebene Entwicklung (MDA / MDSD) geeignet.

Bewertung von Entwurfsentscheidungen

Im Palladio-Ansatz wird zuerst an Modellen untersucht, ob die Anforderungen vom Entwurf erfüllt werden, bevor mit dem eigentlichen Bau begonnen wird. Die Vorhersage-Ergebnisse des Palladio-Ansatzes erlauben eine frühzeitige und qualifizierte Bewertung von Entwurfsentscheidungen im Hinblick auf Performance. Dies spart Entwicklerzeit und Kosten, die sonst für aufwändige Korrekturen der Performance der Endimplementierung benötigt werden. Die Vorhersageergebnisse (beispielsweise Antwortzeiten und Ressourcen-Auslastung) erlauben das direkte Ableiten der Service-Qualität (QoS / SLA).

Instanz des Palladio Komponentenmodells, generierte Vorhersageergebnisse