Lean Modeling: mit natürlicher Sprache zum Modell

Lean Modeling: mit natürlicher Sprache zum Modell


Modellierungswerkzeuge und domänenspezifische Sprachen sind in den letzten Jahren in der Softwareentwicklung zunehmend populär geworden. Für die meisten Java-Entwicklungsumgebungen existiert heute eine Vielzahl von ausgereiften Werkzeugen, um Modelle oder Modellierungssprachen zu nutzen oder selbst zu erstellen. Leider werden diese mächtigen Technologien noch viel zu selten genutzt. Eine leichtgewichtige Alternative zu klassischen Modellierungswerkzeugen und DSL-Tools ist Lean Modeling. Dieser Ansatz verwendet die Ideen von Acceptance Test-driven Development, um natürlichsprachliche Spezifikationen in der Anwendungsentwicklung zu nutzen.

Ausgangspunkt ist die Grundidee, natürlichsprachliche Texte als Spezifikation zu nutzen. Diese entstand ursprünglich im Kontext von Acceptance Test-driven Development, mit dem Ziel, lesbare, wartbare und ausführbare Akzeptanztests mit natürlicher Sprache zu beschreiben. Anhand von verschiedenen Beispielen wird gezeigt, wie einfach Texte als Modelle interpretiert und verarbeitet werden können. Wir bezeichnen dieses Vorgehen als „Lean Modeling“.

Die Hauptaufgabe jedes Softwareentwicklers besteht darin, die Wünsche bzw. Anforderungen eines Kunden in eine lauffähige Software zu verwandeln. Dazu müssen diese Anforderungen zunächst möglichst genau erfasst werden, um sicherzustellen, dass man ein einheitliches Verständnis davon hat, was am Ende des Entwicklungsprozesses entstehen soll. Die Mittel, um ein solches gemeinsames Verständnis zu erreichen, sind vielfältig. Beispielsweise können Workshops genutzt werden, um Anforderungen zu erfassen oder das Verhalten der Anwendung kann in Fachspezifikationen beschrieben werden. Genauso gut kann man in regelmäßigen Abständen dem Kunden die Software vorlegen, um die gemeinsamen Vorstellungen abzugleichen.

Unabhängig davon, welchen Weg man bevorzugt: Die Anforderungen an die Anwendung werden fast immer aus einer fachlichen Perspektive und meist in natürlicher Sprache erfasst. Dadurch ergeben sich bereits die ersten beiden zentralen Herausforderungen. Zum einen muss die fachliche Perspektive mit einer technischen in Einklang gebracht werden, zum anderen müssen die natürlichsprachlichen Beschreibungen in formale Spezifikationen (z. B. Programmcode) übersetzt werden. Diesen beiden Aufgaben widmet sich jeder Softwareentwickler täglich.

Um die Kommunikation zwischen Kunden, Fachexperten und Entwicklern zu vereinfachen, wurden in der Vergangenheit verschiedenste Ansätze ausprobiert und mit unt...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang