Ein Datensatz handgezeichneter UML-Klassendiagramme für maschinelle Lernverfahren

Aus SDQ-Institutsseminar
Version vom 14. Januar 2022, 12:07 Uhr von Erik Burger (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Vortragende(r) Philipp Schumacher
Vortragstyp Bachelorarbeit
Betreuer(in) Dominik Fuchß
Termin Fr 14. Januar 2022
Vortragsmodus online
Kurzfassung Klassendiagramme ermöglichen die grafische Modellierung eines Softwaresystems.

Insbesondere zu Beginn von Softwareprojekten entstehen diese als handgezeichnete Skizzen auf nicht-digitalen Eingabegeräten wie Papier oder Whiteboards. Das Festhalten von Skizzen dieser Art ist folglich auf eine fotografische Lösung beschränkt. Eine digitale Weiterverarbeitung einer auf einem Bild gesicherten Klassendiagrammskizze ist ohne manuelle Rekonstruktion in ein maschinell verarbeitbares Diagramm nicht möglich.

Maschinelle Lernverfahren können durch eine Skizzenerkennung eine automatisierte Transformation in ein digitales Modell gewährleisten. Voraussetzung für diese Verfahren sind annotierte Trainingsdaten. Für UML-Klassendiagramme sind solche bislang nicht veröffentlicht.

Diese Arbeit beschäftigt sich mit der Erstellung eines Datensatzes annotierter UML-Klassendiagrammskizzen für maschinelle Lernverfahren. Hierfür wird eine Datenerhebung, ein Werkzeug für das Annotieren von UML-Klassendiagrammen und eine Konvertierung der Daten in ein Eingabeformat für das maschinelle Lernen präsentiert. Der annotierte Datensatz wird im Anschluss anhand seiner Vielfältigkeit, Detailtiefe und Größe bewertet. Zur weiteren Evaluation wird der Einsatz des Datensatzes an einem maschinellen Lernverfahren validiert. Das Lernverfahren ist nach dem Training der Daten in der Lage, Knoten mit einem F1-Maß von über 99%, Textpositionen mit einem F1-Maß von über 87% und Kanten mit einem F1-Maß von über 71% zu erkennen. Die Evaluation zeigt folglich, dass sich der Datensatz für den Einsatz maschineller Lernverfahren eignet.