Zum Hauptinhalt springen
Background Animation

Pattern-gestützte Anforderungen: Die LEMON-Architektur für wiederverwendbare Anforderungsmuster in der Low-Code/No-Code (LCNC)-Softwareentwicklung für die digitale Gesundheit

Wissensdatenbank Organisation Strukturen & Prozesse Datenmanagement & Digitalisierung Schulung & Digitale Kompetenz C.3: Künstliche Intelligenz-basierte Software-Fabrik für MedTech-Anwendungen

Wie können Anforderungsmuster in Low-Code/No-Code-Werkzeugen wiederverwendet werden, ohne an eine bestimmte Modellierungssprache gebunden zu sein? 

Problembeschreibung, Forschungsfrage und Relevanz

LCNC-Softwareentwicklung ermöglicht es Anwender:innen, Anwendungen durch Modellierung statt durch Programmierung zu erstellen.

 

Die Kommunikation und Wiederverwendung von Softwareanforderungen stellt jedoch weiterhin eine Herausforderung dar – insbesondere wenn Anforderungen in verschiedenen Projekten wiederkehren oder regulatorischen Vorgaben genügen müssen, wie es in der digitalen Gesundheit der Fall ist.

Anforderungsmuster bieten eine wiederverwendbare Struktur für häufige funktionale Anforderungen – etwa zur Visualisierung von Testdaten oder zur Konfiguration von Zugriffskontrollen. Aktuelle Ansätze zur Musterspezifikation sind jedoch oft rein textbasiert, nicht durch Werkzeuge unterstützt oder auf bestimmte Modellierungssprachen wie BPMN oder UML beschränkt. Diese Einschränkungen sind problematisch für LCNC-Tools, bei denen visuelle Modelle stark variieren und Nicht-Programmierende eine zentrale Rolle bei der Anforderungserhebung spielen.

Daher stellen wir folgende Forschungsfrage:

  • RQ: Wie kann eine unterstützte Architektur gestaltet werden, die es ermöglicht, Anforderungsmuster werkzeugunabhängig zu spezifizieren, zu katalogisieren und wiederzuverwenden?

 

Methoden und Vorgehen im Projekt

Wir entwickelten die LEMON-Architektur (Language for spEcifiying and MOdelling patterNs) zur Beantwortung der Forschungsfrage. Sie besteht aus vier koordinierten Modulen:

  • Pattern Specification Module: Eine domänenspezifische Sprache (DSL) zur Definition von Anforderungsmustern, einschließlich Eingaben, Ausgaben und Transformationen – unabhängig von spezifischen Modellierungssprachen.

  • Catalogue Module: Ein semantisches Repository zur Speicherung und Indexierung von Mustern, angereichert mit Metadaten für intelligentes Suchen und Wiederverwenden.

  • Interaction Module: Eine geführte Benutzeroberfläche zur schrittweisen Instanziierung von Mustern – auch für nicht-technische Anwender:innen wie Kliniker:innen und Business-Analyst:innen.

  • Integration Module: Schnittstellen zur Ausführung von Mustern und Generierung von Modellen in LCNC-Tools, mit metamodel-bewusster Konfiguration.

Wir demonstrierten LEMON in Zusammenarbeit mit der Whatscount GmbH, einem Unternehmen für digitale Gesundheit. Muster wie „Testdaten visualisieren“ wurden formal spezifiziert und in mehreren Projekten wiederverwendet. Eine Online-Befragung mit Praktiker:innen bestätigte das Potenzial der Architektur und identifizierte zugleich Herausforderungen bei der Einführung.

Abbildung 1: Die LEMON-Architektur. Quelle: REFSQ24 Posters & Tools Track, CEUR [1]

Ergebnisse und Erkenntnisse

  • Die modulare LEMON-Architektur ermöglicht eine werkzeugunabhängige Wiederverwendung von Anforderungsmustern, validiert durch die Integration in ein reales LCNC-Tool im Bereich digitale Gesundheit.

  • Der Modellierungsassistent erlaubt es Stakeholdern – wie medizinischem Personal, Patient:innen und Business-Analyst:innen – Anforderungen durch geführte Wiederverwendung zu prototypisieren und so Unklarheiten zu reduzieren.

  • Praktiker:innen nannten drei zentrale Erfolgsfaktoren für die Einführung: klare Interaktionsabläufe, umfassende Musterkataloge und Integration in bestehende Unternehmenswerkzeuge.

  • Die Architektur zeigt vielversprechende Ansätze zur Verbesserung der Anforderungskommunikation und des frühen Prototypings – insbesondere in regulierten Bereichen wie der digitalen Gesundheit.

Empfehlungen für die Praxis

  • Für LCNC-Werkzeugentwickler:innen: Bieten Sie APIs und Schnittstellen zur Einbettung von Werkzeugen auf Basis der LEMON-Architektur an, um anforderungsgetriebene Entwicklung in LCNC zu unterstützen.

  • Für Requirements Engineers: Formalisieren Sie wiederkehrende Anforderungen frühzeitig und speichern Sie diese in wiederverwendbaren, DSL-basierten Mustern, die an Ihre Domäne und Ihr LCNC-Werkzeug angepasst sind – im Sinne der LEMON-Architektur.

  • Für Forschende: Untersuchen Sie die Nutzbarkeit und Weiterentwicklung von Anforderungsmustern innerhalb von DSL-Frameworks wie LEMON. Bewerten Sie Integrationsszenarien in verschiedenen LCNC-Umgebungen, um zu prüfen, ob die Branche bereit ist, Muster als Grundlage der Softwareentwicklung zu nutzen.

Literatur und andere Quellen

[1] D. Mosquera, O. Pastor, and J. Spielberger, “LEMON: A Tool for Enhancing Software Requirements Communication through Requirements Pattern-based Modelling Assistance,” Posters & Tools REFSQ2024. doi: https://ceur-ws.org/Vol-3672/PT-paper4.pdf

Zitierung des Beitrags