Model-based Continuous IT Quality Management
Partner:
- Arctis Softwaretechnologie GmbH
- Institut für Informatik, Universität Innsbruck
Qualitätsmanagement von IT-Systemen umfaßt neben dem systematischen Test von Software weitere Aspekte. Das Ziel eines IT Qualitätsmanagements ist, alle Arbeitsergebnisse der Softwareentwicklung zeitgerecht und mit den geplanten Qualitätsattributen und unter Einsatz der zur Verfügung stehenden Ressourcen zur Verfügung zu stellen. Um dieses Ziel zu erreiche ist eine enge Integration von Qualitätsmanagement mit dem Software Entwicklungsprozess notwendig. Typischerweise ist das IT Qualitätsmanagement in vielen Unternehmen Teil des Softwareentwicklungsprozesses wie z.B. dem V-Modell XT [V-Model] oder den Best Practices im Bereich der agilen Entwicklung [Ambler et al. 2002, SCRUM]. Diese Ansätze stellen bestimmte Paradigmen und Aktivitäten innerhalb des Qualitätsmanagement dar aber unterstützen kein kontinuierliches und tool-gestütztes Qualitätsmanagement von in der Softwareentwicklung anfallenden Arbeitsergebnissen.
Gerade die neue Generation von offenen und hochvernetzten IT Systemen stellt neue Herausforderungen an das kontinuierliche IT-Qualitätsmanagement. Beispiele für diese neue Generation von IT Systemen sind z.B. vernetzte Systeme in Krankenhäusern und Gesundheitseinrichtungen, Verkehrsleitsysteme oder neue Abläufe im Bereich des Energiehandels. Die IT Systeme von morgen entwickeln sich ständig weiter und erfordern die strikte Einhaltung von spezifischen Qualitätsattributen (z.B. Security und Safety). In diesem Kontext wird ein kontinuierliches und tool-gestütztes Überwachen des Qualitätszustandes eines Systems auf allen Abstraktionsebenen unabdingbar.
Das Ziel des Projektes ist die Entwicklung eines modell-basierten Verfahrens welches die kontinuierliche Überwachung der Qualität der Software zusammen mit den Arbeitsergebnissen (Anforderungen, Test, Software Architektur, …) unterstützt. Dabei stellen die folgenden Konzepte die Kernideen eines solchen Ansatzes dar:
Dokumentation der detaillierten Abhängigkeiten der Arbeitsergebnisse (z.B. Abhängigkeiten zwischen Anorderungen, Testfällen, Testdaten und Systemfeatures)
Der Qualitätsmanagement Prozeß wird durch einen Zustandsautomat, der den Lifecycle der Arbeitsergebnisse beschreibt, erfaßt.
Die Evaluierung der Qualitätsattribute der einzelnen Arbeitsergebnisse erfolgt durch operationalisierbare Key Perofrmance Indikatoren (KPIs)
Werkzeuggestützte rollen-bezogene Ansichten auf die Arbeitsergebnisse
Die Methode ist modell-basiert, da der Qualitätsstatus von sowohl Prozessen als auch die Arbeitergebnissen durch Modelle beschrieben werden. Die Modelle werden in Werkzeug interpretiert und können entsprechend konfiguriert und parametriert werden. Die derzeit praktizierten Verfahren sind aktivitäts-orientierte Prozeßmodelle und berücksichtigen die Abhängigkeiten unter den Arbeitsergebnissen kaum und sind daher nicht flexibel genug um z.B. Änderungen in den Anforderungen oder der Software Architektur zu unterstützen. Dies ist aber gerade für sich permanent entwickelnde IT Systeme unabdingbar. Bis jetzt sind zustandsbasierte Ansätze zur Qualitätssteuerung nur in spezifischen Teilbereichen des Software Engineerings wie z.B. im Requirements Engineering [Instep] und der Fehlerrückverfolgung [Bugzilla] verfügbar. Das UNICASE Werkzeug [Brügge et al. 2009] stellt die Abhängigkeiten der anfallenden Arbeitsergebnisse in den Vordergrund, ist aber nicht auf den Bereich Qualitätsmanagement von Software ausgerichtet.





