Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Metamodellbasierte und hierarchieorientierte ... - RosDok
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
2.2 Daten- <strong>und</strong> Metamodellierung 11<br />
Fehlern auftreten. Entweder enthält das Modell Fehler oder der Testfall. Diese Fehler kann der Entwickler<br />
mit Werkzeugen analysieren <strong>und</strong> daraufhin beseitigen.<br />
Bei den modellzentrierten bzw. -getriebene Softwareentwicklung ist der bisher übliche Ansatz Modelle<br />
in Code von objektorientierte Programmiersprachen zu transformieren, um daraus lauffähige Software<br />
weiterzuentwickeln. Es haben sich hier jedoch weitere Ansätze entwickelt, die visuellen Modelle angereichert<br />
mit textuellen Spezifikationen direkt ausführen sollen. Damit kann eine visuelle Programmierung, die eine<br />
bessere Dokumentation <strong>und</strong> Erfassbarkeit der Software für den Systementwickler verspricht, realisiert<br />
werden. Z.B. werden mit der UML-Action Language Alf [OMG10] oder SOIL [Büt11] die Modelle<br />
ausführbar.<br />
Bei der Softwareentwicklung ist bei großen Softwaresystemen darauf zu achten, dass eine verständliche<br />
Architektur entsteht. Hierfür haben sich Patterns stark verbreitet, welche bewährte Lösungen für konkrete<br />
Probleme unter Verwendung von Modellen bereitstellen. Design Pattens [GHJV02] sollen z.B. bewährte<br />
Lösungen für konkrete Probleme im objektorientierten Softwaredesign wiederverwendbar machen. Architekturmodelle<br />
<strong>und</strong> -patterns werden des Weiteren eine Abstraktionsebene höher zur Erstellung verständlicher<br />
<strong>und</strong> bewährter Softwarearchitekturen eingesetzt. Hier sind u.a. das Model-View-Controler Pattern [Ree79]<br />
bzw. das Seeheim-Modell [Tou07] zur Gestaltung von Softwaresystemen zu nennen.<br />
2.2 Daten- <strong>und</strong> Metamodellierung<br />
Datenmodellierung ist im Bereich der Datenbanken notwendig, um Datenbankentwürfe zu analysieren<br />
<strong>und</strong> zu diskutieren bevor sie implementiert werden. Die Analyse kann sich sowohl auf technische als<br />
auch fachliche Aspekte beziehen. Datenred<strong>und</strong>anzen sollen vermieden <strong>und</strong> adäquate Datenbezeichnungen<br />
gef<strong>und</strong>en werden. Hierfür werden typischerweise auch Fachexperten, die in der Regel keine IT-Experten<br />
sind, in den Datenentwurf mit einbezogen. Daher ist es wichtig, dass die Modellierungssprachen intuitiv <strong>und</strong><br />
leicht verständlich sind, damit Systementwickler <strong>und</strong> Fachexperten eine Gr<strong>und</strong>lage zur Diskussion haben.<br />
Hierfür wurde das Entity-Relationship-Modell [Che76] (ERM) entwickelt. Sind validierte Datenbankentwürfe<br />
erstellt, lassen sich daraufhin Transformationstechniken anwenden, um diese Modelle in Sprachen<br />
zu überführen, die Datenbank-Management-Systeme (DBMS) interpretieren. Analog zu ER-Modellen<br />
können auch UML-Klassendiagramme eingesetzt werden, um Daten <strong>und</strong> ihre Beziehungen visuell in einem<br />
Datenmodell zu beschreiben.<br />
Es gibt auch textuelle nicht grafische Beschreibungsarten von Daten. Vor allem hat sich hier XML durchgesetzt,<br />
wofür Dokument Type Definitions (DTDs) gültige XML-Datensätze textuell definiert können. XML<br />
selbst kann mit XML-Schemas (XSD) ebenfalls zur Beschreibung von gültigen XML-Datensätzen eingesetzt<br />
werden. Bei der sehr verbreiteten Technologie der Webservices wird die XML-basierte Datenbeschreibung<br />
WSDL genutzt, um die Schnittstelle des Webservice zu spezifizieren. Damit werden die Daten <strong>und</strong> deren Datentypen,<br />
die zum Aufruf des Webservice erwartet werden <strong>und</strong> die, die zurückgeliefert werden, beschrieben.<br />
Webservices werden von Service Orientierten Architekturen (SOA) <strong>und</strong> der Business Process Execution<br />
Language (BPEL) dazu genutzt, um die gegenseitige verteilte Kommunikation aufzubauen, die auf XML-<br />
Nachrichten besteht. Zusätzlich werden noch Informationen zur Kommunikation wie z.B. Netzadressen mit<br />
WSDL bereitgestellt. Eine weitere textuelle Beschreibung von Daten gibt es mit dem Data Dictionary in der<br />
Strukturierten Analyse (SA). Diese Datenbeschreibung wird bei der SA genutzt, um Daten über Gleichungen<br />
ähnlich zur grammatikalischen Beschreibung der Backus-Naur-Form zu spezifizieren [DeM79].<br />
In der Regel haben grafische Notationen bei der Modellierung gerade für ungeübte Nutzer Vorteile gegenüber<br />
rein textuelle Datenbeschreibungen. Hierfür ist die weite Verbreitung der ER-Diagramme oder UML-