(13.07.04 08:30)

„Programmieren nahe an der Problemdomäne„ - das ist der grosse Vorteil einer Domänensprache. Warum sollen wir Zeit damit verschwenden, textuelle Anforderungsspezifikationen zu schreiben, wenn wir stattdessen ausführbare Spezifikationen in einer Domänensprache schreiben können? Das hat nichts mit MDA zu tun, sondern mit Vernunft, Effektivität und Effizienz. Dynamische Sprachen wie Smalltalk oder Ruby eignen sich hervorragend für die Umsetzung von Domänensprachen. Es ist zwar nicht trivial, eine gute Domänensprache zu entwickeln, der Aufwand lohnt sich aber allemal. Insbesondere wenn wir auf der Basis der Domänensprache, mit der wir unsere Anforderungen als semantisch eindeutige und syntaktisch korrekte Modelle beschreiben, den „technischen Code„ vollständig generieren können. Im Gegensatz zu einer Unspecific Modellinge Language (UML) hat eine massgeschneiderte Domänensprache den Vorteil, dass ihr ein schlüssiges Domänenmodell zu Grunde liegt, dass ausschliesslich Konzepte und Begriffe der Fachdomäne enthält. Der Versuch, die UML als Domänensprache einzusetzen, führt dagegen zu ungewollter Komplexität und ist einer der wesentlichen Gründe, warum MDA nicht funktionieren wird; einerseits ist der semantische, syntaktische und darstellerische Ballast der UML einfach zu gross, während andererseits die semantische Ausdrucksstärke zu gering ist.

Modellgetriebene Entwicklung auf der Basis von spezifischen Domänensprachen erlaubt es uns, Probleme auf einer abstrakteren und konkreteren Ebene zugleich zu lösen. Sie schafft damit die Voraussetzung, die Qualität unserer Software bezüglich Stabilität, Anforderungstreue und Änderungsfreundlichkeit entscheidend zu verbessern.

-nemo :-)

Über diesen Artikel diskutieren.

Zugriffe heute: 1 - gesamt: 4737.




Vertrauen und Vernunft Entwurfs-Binsenweisheit #1

Druckbare Version