Modellierung und effiziente Ausführung von Softwareentwicklungsprozessen

Ellner R (2017)


Publication Language: German

Publication Type: Thesis

Publication year: 2017

URI: http://nbn-resolving.de/urn:nbn:de:bvb:29-opus4-82628

Abstract

Für die Bewältigung komplexer Aufgaben, wie die Entwicklung umfangreicher und qualitativ hochwertiger Software, ist eine methodische und kontrollierte Herangehensweise in der Regel der einzig erfolgversprechende Lösungsweg. Neben der wachsenden Komplexität der Softwareprodukte steigen in der Softwarebranche die Anforderungen an die Entwicklung hinsichtlich Qualität, Nachverfolgbarkeit, Entwicklungsgeschwindigkeit und Kosten zudem stetig an. Dies macht effektive Maßnahmen zur Projektsteuerung, für Qualitäts- und Risikomanagement, und zur Koordination und Synchronisation der Projektbeteiligten umso wichtiger. Um solche Maßnahmen in der Softwareentwicklung umzusetzen und gleichzeitig den Mitarbeitern im Projekt ein gemeinsames Verständnis für deren Aufgaben und den gewünschten Verlauf des Projekts zu vermitteln, hat sich der Einsatz von definierten Softwareentwicklungsprozessmodellen für die Projektdurchführung in der Software-Engineering-Praxis bewährt. Viele dieser Softwareentwicklungsprozessmodelle sind hauptsächlich in natürlicher Sprache dokumentiert, was ihren Einsatz oftmals erschwert, da auf die darin enthaltene Information nur umständlich durch manuelle Suche zugegriffen werden kann. Ein möglicher Lösungsweg, mit dem eine deutlich verbesserte Unterstützung der Prozessbeteiligten erreicht werden kann, ist die (teilweise) Formalisierung eines Softwareentwicklungsprozessmodells und dessen werkzeuggestützte Ausführung durch eine so genannte Prozessausführungsmaschine. Durch die Formalisierung wird die Information eines Softwareentwicklungsprozessmodells strukturiert und kann automatisch gefiltert, geprüft und aufbereitet werden. Durch die werkzeuggestützte Ausführung können die Prozessbeteiligten angeleitet und ihnen kontextsensitiv Informationen zu ihren momentanen Aufgaben bereitgestellt werden. Auch kann der gesamte Prozessablauf automatisch nachvollziehbar dokumentiert und auf die Einhaltung von Regeln geprüft werden. Für die Modellierung von Softwareentwicklungsprozessen wurden in den letzten Jahrzehnten bereits eine Reihe von Modellierungssprachen und auch Prozessausführungsmaschinen entwickelt. Diese Ansätze werden untersucht und hinsichtlich ihrer Eignung für die Modellierung und effiziente, werkzeugunterstützte Ausführung von Softwareentwicklungsprozessen bewertet. Dazu werden zunächst Anforderungen an eine Modellierungssprache und eine Prozessausführungsmaschine definiert. Da keiner der existierenden Ansätze eine durchgängige Lösung für die Modellierung und Ausführung von Softwareentwicklungsprozessen bietet, die allen gestellten Anforderungen gerecht werden kann, wird in dieser Arbeit die Modellierungssprache eSPEM definiert. eSPEM erweitert das SPEM (Software & Systems Process Engineering Metamodel) um Konzepte für die Verhaltensmodellierung, Modellvalidierung, Projektplanung und das organisations- und projektspezifische Zuschneiden von Prozessmodellen. Dabei wird auf bekannte und eingängige Notationen zurückgegriffen, um den Modellierungsformalismus möglichst einfach zu halten. Ergänzt wird eSPEM durch eine erweiterbare Prozessausführungsmaschine. Diese ist in der Lage ein Prozessmodell zu interpretieren und mit den Prozessbeteiligten in einem realistischen, verteilten Projektumfeld zu interagieren, sie anzuleiten, und zu unterstützen. Dabei kann sie auch Abweichungen vom modellierten Prozessablauf tolerieren, und kann somit die in der Praxis vorkommenden Ausnahmen in einem Entwicklungsprozess abbilden. Durch die Prozessausführungsmaschine kann der Prozess nach definierten Regeln automatisch geprüft werden. Regelverletzungen werden den Prozessbeteiligten umgehend gemeldet und können auch proaktiv verhindert werden. Die in dieser Arbeit vorgestellten Konzepte werden prototypisch in einer integrierten Prozessmodellierungs- und -ausführungsumgebung umgesetzt, die für die Evaluierung der Arbeit, anhand von drei ausgesuchten, praxisrelevanten Softwareentwicklungsprozessmodellen, verwendet wird. Alle drei Softwareentwicklungsprozessmodelle werden mit eSPEM in der Prozessmodellierungsumgebung modelliert, wobei insbesondere die in eSPEM neu eingeführten Modellierungskonzepte Anwendung finden. Für die Evaluation der Prozessausführungsmaschine werden die drei Prozessmodelle in simulierten Entwicklungsprojekten unterschiedlicher Größe eingesetzt. Durch die Simulation wird gezeigt, dass die Prozessausführungsmaschine in der Lage ist, die erstellten Prozessmodelle zu interpretieren und eine realistische Menge von (simulierten) Benutzern durch einen Prozess zu führen, ohne dass sie spezielles Wissen über das Prozessmodell benötigen. Die gemessenen Ausführungszeiten zeigen, dass die Prozessausführungsmaschine auch bei sehr hoher Last in der Lage ist, adäquat auf Benutzereingaben zu reagieren. Das umgesetzte Konzept der verteilten Ausführung und Benutzerinteraktion skaliert auch für umfangreiche Prozessmodelle in großen, langlaufenden Projekten. Die Modellierung von real eingesetzten Entwicklungsprozessen und ihre Ausführung in simulierten Projekten zeigen, dass eSPEM und die zugehörige Prozessausführungsmaschine alle in der industriellen Praxis beobachteten und in dieser Arbeit präsentierten Anforderungen erfüllt.

Authors with CRIS profile

How to cite

APA:

Ellner, R. (2017). Modellierung und effiziente Ausführung von Softwareentwicklungsprozessen (Dissertation).

MLA:

Ellner, Ralf. Modellierung und effiziente Ausführung von Softwareentwicklungsprozessen. Dissertation, 2017.

BibTeX: Download