Sebastian Kuzniarz:
Optimierung des Konfigurationsprozesses von Retail-Geräten durch Entwicklung einer domänenspezifischen Sprache
Kurzbeschreibung
Die vielschichtige Komplexität in der Entwicklung, Pflege und Konfiguration von Software verlangt eine kontinuierliche Prozessoptimierung zur Effizienzsteigerung und Fehlerminimierung. Aus diesem Grund wird innerhalb dieser Arbeit eine domänenspezifische Konfigurationssprache für die Bibliothekssoftware ProBase Store des Unternehmens Diebold Nixdorf entwickelt, um den aktuellen Konfigurationsprozess von Retail-Geräten zu optimieren.
Im theoretischen Teil dieser Arbeit wird ein fundiertes Verständnis für formale Sprachen, Grammatiken und Compilerbau geschaffen, welches als Basis für die Entwicklung einer domänenspezifischen Sprache dient. Anschließend werden domänenspezifische Sprachen (DSLs) als Schnittstellen zwischen Mensch und Maschine definiert, was eine Bewertung hinsichtlich Usability ermöglicht. Diese Definition dient der Entwicklung einer dem Entwicklungsprozess folgenden Nutzerstudie zur Evaluation der Konfigurations-DSL hinsichtlich Effektivität, Effizienz sowie Benutzerzufriedenheit.
Auf Basis der theoretischen Grundlagen wird eine DSL unter Verwendung des Xtext-Frameworks entwickelt. Die Entwicklung beruht auf einer umfassenden Analyse der Konfigurationsdomäne und der dem vorherigen Konfigurationsprozess zugrundeliegenden Sprache, welche es ermöglicht, eine die DSL beschreibende kontextfreie Grammatik zu definieren. Darauf aufbauend werden sämtliche Bestandteile der DSL, einschließlich Validierungs- und Scoping-Mechanismen sowie die Abbildung auf die ursprüngliche Sprache, implementiert und in einen für den Konfigurationsprozess optimierte Web-basierten Editor integriert.
In einer Nutzerstudie mit 12 Teilnehmer:innen wird die entwickelte domänenspezifische Sprache (DSL) mit dem bisherigen Prozess verglichen. Die Ergebnisse der Studie zeigen, dass Teilnehmer:innen im Vergleich zum alten Prozess bei der Bearbeitung von Testaufgaben durchschnittlich 46,88 % weniger Zeit benötigen sowie 16,66 % weniger Fehler mit der DSL-basierten Lösung machen. Dies sorgt für eine signifikante Verbesserung in Bezug auf Effektivität (von 80,13 % auf 96,79 %) und Effizienz (von 76,91 % auf 93,59 %). Hinsichtlich Usability wird mit Hilfe der System-Usability-Scale (SUS) für den DSL-basierten Prozess ein durchschnittlicher Score von 87,71 ermittelt, was eine deutliche Steigerung im Vergleich zum alten Prozess (SUS-Score: 30,21) darstellt. Im Allgemeinen gelten Systeme mit einem SUS-Score von über 68 als überdurchschnittlich gut. Die Ergebnisse verdeutlichen das Potenzial von DSLs, um Entwicklungs- und Konfigurationsprozesse in Softwareprojekten zu optimieren, insbesondere wenn diese mit Toolunterstützung für Nutzer:innen zur Verfügung stehen.