Modellierung & Anwendungsentwicklung mit Domain Specific Languages

Oft leiden Softwareentwicklungsprojekte unter folgenden Problemen:

  • Die Domänenexperten der Fachbereiche und die Anwendungsentwicklung sind entkopppelt über eine fachliche Spezifikation. Das "Wording" im IT-Bereich für die angeforderten "Dinge" wie Daten-Entitäten und GUI-Formulare sind unterschiedlich.
    Dies führt dazu, dass die Kommunikation zwischen Fachbereich und Anwendungsentwicklung nachhaltig erschwert wird und mit viel Aufwand immer Transformationsleistung von Anforderungen, Änderungen und Fehlern in die jeweilige andere Namens- und Bedeutungsebene durchgeführt werden müssen.

     
  • Qualitätssicherung von Anwendungscode ist bei grossen Teams, v.a. wenn es sich dabei auch noch um verteilte Teams (Offshore) handelt, eine komplexe und aufwändige Angelegenheit. Es müssen Vorgaben erarbeitet werden, diese im Team übergreifend motiviert und geschult werden. Es muss die Einhaltung der Vorgaben mit Code-Reviews überprüft werden. Bei Abweichungen muss der Entwickler aufwändig seinen Code in die geforderte Form bringen. Und das Ganze immer und immer wieder.
     
  • Nichts ändert sich schneller als moderne Technologien. Was gestern noch "State of the Art" war, ist heute schon veraltet und morgen ein Hemmschuh bei der effizienten Weiterentwicklung des Systems.

 

 

Mit Domain-Specific Languages (DSL) ist es möglich, eine passgenaue Modellierungssprache für den jeweiligen Anwendungszweck anzubieten, die von Domänenexperten und Anwendungsentwicklung gemeinsam verstanden und verwendet werden kann - egal ob für das fachliche Datenmodell, die GUI-Definition oder Arbeitsabläufe. Die so entstandenen gemeinsamen Sichten auf die einzelnen Aspekte des Systems können dann in der Folge durch weitere technisch orientierte DSLs erweitert werden um bspw. detailierte Vorgaben für die Persistenz, die Serialisierung oder die GUI-Technolgie zu definieren.

Die Referenz zur gemeinsamen Sicht geht dabei nie verloren und bei Änderungen lassen sich durch Crossreferenz-Validierungen sofort technische Korrekturen nahtlos anschliessen.

Das so entstandene Modell des Anwendungssystems kann dann dazu benutzt werden um Artefakte zu erzeugen, welche dann durch Programmierung gegen eine definierte API einfach erweitert werden kann.

 

Durch die formale DSL in Verbindung mit dem Einsatz von Validierungen lässt sich hier ein hohes Maß an Konformität zu definierten Vorgaben als Selbstläufer erreichen, v.a. wird der Analyst oder der Entwickler von Problemen oder Konformitätsverletzungen beim Entwickeln selbst informiert, so dass diese sofort behoben werden können und nicht aufwändig durch Reviews ermittelt werden müssen.

 

Durch den Einsatz einer DSL in Verbindung mit einem Interpretations- oder Genierungsansatz lassen sich technologisch stark veränderliche Aspekte eines Systems (bspw. die GUI) kapseln, so dass diese einfach austauschbar bleiben - denn nichts ist so beständig wie der Wandel.

 

Wir setzen seit vielen Jahren in unseren Projekten auf DSLs.

Wenn wir Ihr Interesse geweckt haben, dann sprechen Sie uns an.

 

YAPOWARE
Curiestr. 2
70563 Stuttgart
Telefon: +49 711 2525 000+49 711 2525 000
Fax: +49 711 2525 002
E-Mail-Adresse:
Druckversion | Sitemap

© YAPOWARE Business Solutions GmbH 2023

Anrufen

E-Mail

Anfahrt