Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Architekturzentrierte Modellgetriebene Softwareentwicklung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3 Vergleich mit verwandten Methodiken 25<br />
durchgeführt, danach erfolgt das Design und abschließend die Implementierung.<br />
Der erste Schritt der Domänenanalyse umfasst deren Abgrenzung. Es werden die<br />
Grenzen der Domänen definiert und festgelegt was sich innerhalb der Domäne<br />
und was außerhalb befindet. Man nennt diesen Vorgang auch Domain Scoping.<br />
Domain Scoping ist aus zwei Gründen wichtig. Zum einen ist eine konsistente<br />
Realisierung nur möglich, wenn zwischen den Familienmitgliedern genügend<br />
Synergieeffekte bestehen. Ist der Fokus zu schmal wird die Produktlinie so<br />
klein, dass nur wenige Produkte von der Wiederverwendung profitieren. Ist der<br />
Fokus zu breit, ist die Anzahl der möglichen Produkte groß, das Wiederverwen-<br />
dungspotential wird allerdings im gleichen Maße minimiert. Beide Effekt sind<br />
unwirtschaftlich und daher nicht erwünscht.<br />
Zum anderen rufen unklare Anforderungen fortlaufend Diskussionen zwischen<br />
den Beteiligten hervor. Aus genannten Gründen kann Domain Scoping auch im<br />
Sinne einer Risikominimierung verstanden werden.<br />
Eine mögliche Form der Domänenanalyse bietet das Konzept des Feature<br />
Oriented Design Analysis(FODA) mit dem so genannten Feature Modelling.<br />
Besonders geeignet ist diese Methodik, da die Notation nichts über die spätere<br />
Implementierungstechnologie aussagt. Für weitere Informationen zu FODA<br />
siehe [KCH + 90].<br />
Im zweiten und dritten Schritt, dem Domänendesign und der Domänenimple-<br />
mentierung wird damit begonnen die Softwarestruktur der Domäne festzulegen<br />
bzw. die gemeinsamen Merkmale in einer Plattform zu implementieren. Krzysztof<br />
Czarnecki definiert in [CE00] (siehe Seite 22) den Begriff des Domänendesign wie<br />
folgt:<br />
Developing a common architecture for the systems in the domain<br />
and devising a production plan<br />
Der Vorgang der Domänenimplementierung beinhaltet folgende Tätigkeiten:<br />
Implementing the reusable assets, for example, reusable com-<br />
ponents, domain-specific languages, generators, a reuse infrastructure,<br />
and a production process<br />
Betrachtet man beide Zitate zeigt sich, dass der Prozess des Domain Engineering<br />
den in Abschnitt 4.2 beschriebenen Architektur-Entwicklungsstrang abbildet und<br />
gleichzeitig ein methodisches Grundgerüst dafür liefert.