Model-Driven Architecture - Johannes Vetter - E-Book

Model-Driven Architecture E-Book

Johannes Vetter

0,0
36,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Diplomarbeit aus dem Jahr 2007 im Fachbereich Informatik - Wirtschaftsinformatik, Note: 1,3, Ludwig-Maximilians-Universität München (Institut für Wirtschaftsinformatik und Neue Medien), Sprache: Deutsch, Abstract: Die Model-Driven Architecture (MDA) ist ein Standard der Object Management Group (OMG), der in den vergangenen Jahren stark vorangetrieben wurde. Die OMG verspricht sich, und vor allem den Anwendern der MDA eine Effizienzsteigerung im Softwareentwicklungsprozess. Erreicht werden soll diese Positiventwicklung durch unterschiedliche Ansätze, die von der MDA verfolgt werden. Zum einen wird die Anhebung des Abstraktionsniveaus als Treiber für eine schnellere Entwicklung propagiert. Das Abstraktionsniveau soll von der momentan etablierten Codeebene auf die Ebene eines formalen Modells angehoben werden. Für die Modellierung schlägt die OMG eigene Standards vor, die schon länger Einsatz in der Softwareentwicklung finden. Hierzu zählen beispielsweise die Unified Markup Language (UML) und die Object Constraint Language (OCL). Des Weiteren verspricht die OMG eine weitgehende Automatisierung der Codegenerierung aus den Modellen, die während des Entwicklungsprozesses erstellt werden. Dies soll den Prozess auf der einen Seite beschleunigen und auf der anderen Seite standardisieren, um leichter anpassbaren Code zu bekommen. Zu guter Letzt ist ein gestecktes Ziel der MDA die parallele Entwicklung eines Systems für unterschiedliche Plattformen, wie .NET, J2EE oder CORBA. Dies soll durch die technologie-, und plattformunabhängige Modellierung ermöglicht werden. Diesen Zielen und Versprechen der OMG stehen die Realitäten der Informatik sowie der Wirtschaft gegenüber. Daraus ergeben sich Forschungsbereiche, die bisher unzureichend bedient wurden. Da die OMG nur das theoretische Framework für die MDA, sowie die zu verwendenden Standards vorgibt, ist die praktische Implementierung den Softwareunternehmen überlassen. Nun stellt sich auf der einen Seite die Frage, ob die Beschreibungssprachen der Informatik schon mächtig genug sind, um die Modellierung von Systemen auf derart abstraktem Niveau durchzuführen und auf der anderen Seite, ob die Unternehmen dazu bereit und in der Lage sind, MDA-Werkzeuge effektiv und effizient in ihren Softwareentwicklungsprozess zu integrieren, um die gewünschten Erfolge zu erzielen. Die Problematik der Informatik wird in der folgenden Arbeit nur vereinzelt mit einbezogen. Das Hauptaugenmerk liegt vor allem auf der wirtschaftlichen Fragestellung.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Veröffentlichungsjahr: 2007

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
1 Einleitung
1.1 Themenmotivation.
1.2 Aufbau und Ziel der Arbeit
2 Grundlagen der Model-Driven Architecture
2.1 Definitionen
2.2 Technischer Reifegrad der Model-Driven Architecture
2.2.1 Konzepte
2.2.2 Umsetzung
2.2.3 Standards.
2.3 Einordnung und Einsatz der Model-Driven Architecture
2.3.1 Einordnung der Model-Driven Architecture in die Historie der
2.3.2 Einsatz der Model-Driven Architecture
2.4.1 Lösungsansätze für Probleme im Softwareentwicklungsprozess.
2.4.2 Potenzial der Model-Driven Architecture
3 Wirtschaftlichkeitsaussagen zur Model-Driven Architecture
3.1 Analyserahmen - Messung der Wirtschaftlichkeit in der Softwareentwicklung
3.2 Untersuchungsansatz.
3.2.2 Wirtschaftlichkeitsbetrachtungen des Computer-Aided Software
3.3 Thesenbildung zur Model-Driven Architecture.
3.3.1 These - Verhältnis des Computer-Aided Software Engineerings zur
3.3.2 These - Kostenstruktur, Kostenarten und Personalstruktur.
3.3.4 These - Projektkommunikation und Entwicklungsgeschwindigkeit.
3.3.5 These - Plattformportabilität und Wartungsintensität
3.3.6 These - Lernkurve und Projektnähe.
3.3.7 These - Offshoringpotenzial
4 Untersuchung der Thesen zur Model-Driven Architecture
4.1 Untersuchungsdesign.
4.2 Untersuchungsergebnisse
4.3 Fazit und kritische Würdigung.
5 Zusammenfassung und Ausblick.
5.1 Zusammenfassung.
5.2 Ausblick
Anhang 1: Interviewleitfaden (Wirtschaft)
Anhang 2: Interviewleitfaden (Wissenschaft)

Page 1

Konzeption, Einordnung und Wirtschaftlichkeit

Johannes Vetter

Bearbeitungszeitraum: 01.02.2007 bis 01.08.2007

Page 4

Page 5

TabellenverzeichnisV

Tabellenverzeichnis

Tab. 3.2.2/1 Übersicht der Studien zur Wirtschaftlichkeit des Computer-Aided

Software Engineerings ............................................................ 58 Tab. 3.2.3/1 Übersicht der Studien zur Wirtschaftlichkeit der Model-Driven

Architecture ............................................................................. 61 Tab. 3.3.2/1 Aufwandsverschiebung im Lebenszyklus des Computer-Aided

Software Engineerings ............................................................ 63 Tab. 4.2/1 Auswertung der Experteninterviews............................................ 76

Page 6

AbkürzungsverzeichnisVI

Abkürzungsverzeichnis

CASE Computer-Aided/Assisted Software/System Engineering

CIM Computation Independent Model

CIV Computation Independent Viewpoint

CoCoMo Constructive Cost Model

CORBA Common Object Request Broker Architecture

CWM Common Warehouse Metamodel

EAI Enterprise Application Integration

FPA Function Point Analysis

I-CASE Integrated CASE

IDE Integrated Development Environment

LOC Lines of Code

MDA Model-Driven Architecture

MDD Model-Driven Development

MDO Model-Driven Offshoring

MDSD Model-Driven Software Development

MOF Meta Object Facility

OCL Object Constraint Language

OMG Object Management Group

PIM Platform Independent Model

PIV Platform Independent Viewpoint

PM Platform Model

Page 7

AbkürzungsverzeichnisVII

PSM Platform Specific Model

PSV Platform Specific Viewpoint

QVT Query/Views/Transformation

SLOC Source-Lines of Code

SOA Service Oriented Architecture

UML Unified Modeling Language

XMI XML Metadata Interchange

XML eXtensible Markup Language

xUML Executable UML

Page 8

1 Einleitung

In Kapitel 1.1 wird das Thema motiviert und in die Forschungslandschaft eingebettet, bevor Kapitel 1.2 den Aufbau der Arbeit, sowie die Ziele, die mit dieser Arbeit verfolgt werden aufzeigt.

1.1 Themenmotivation

Die Model-Driven Architecture (MDA) ist ein Standard der Object Management Group (OMG), der in den vergangenen Jahren stark vorangetrieben wurde. Die OMG verspricht sich, und vor allem den Anwendern der MDA eine Effizienzsteigerung im Softwareentwicklungsprozess. Erreicht werden soll diese Positiventwicklung durch unterschiedliche Ansätze, die von der MDA verfolgt werden. Zum einen wird die Anhebung des Abstraktionsniveaus als Treiber für eine schnellere Entwicklung propagiert. Das Abstraktionsniveau soll von der momentan etablierten Codeebene auf die Ebene eines formalen Modells angehoben werden. Für die Modellierung schlägt die OMG eigene Standards vor, die schon länger Einsatz in der Softwareentwicklung finden. Hierzu zählen beispielsweise die Unified Markup Language (UML) und die Object Constraint Language (OCL). Des Weiteren verspricht die OMG eine weitgehende Automatisierung der Codegenerierung aus den Modellen, die während des Entwicklungsprozesses erstellt werden. Dies soll den Prozess auf der einen Seite beschleunigen und auf der anderen Seite standardisieren, um leichter anpassbaren Code zu bekommen. Zu guter Letzt ist ein gestecktes Ziel der MDA die parallele Entwicklung eines Systems für unterschiedliche Plattformen, wie .NET, J2EE oder CORBA. Dies soll durch die technologie-, und plattformunabhängige Modellierung ermöglicht werden. Diesen Zielen und Versprechen der OMG stehen die Realitäten der Informatik sowie der Wirtschaft gegenüber. Daraus ergeben sich Forschungsbereiche, die bisher unzureichend bedient wurden. Da die OMG nur das theoretische Framework für die MDA, sowie die zu verwendenden Standards vorgibt, ist die praktische Implementierung den Softwareunternehmen überlassen. Nun stellt sich auf der einen Seite die Frage, ob die Beschreibungssprachen der Informatik schon mächtig genug sind, um die Modellierung von Systemen auf derart abstraktem Niveau durchzuführen und auf der anderen Seite, ob die Unternehmen dazu bereit und in der Lage sind, MDA-Werkzeuge effektiv

Page 9

und effizient in ihren Softwareentwicklungsprozess zu integrieren, um die gewünschten Erfolge zu erzielen. Die Problematik der Informatik wird in der folgenden Arbeit nur vereinzelt mit einbezogen. Das Hauptaugenmerk liegt vor allem auf der wirtschaftlichen Fragestellung, das wird jedoch in Kapitel 1.2 detaillierter erläutert.

Interessant ist, dass einerseits durch die OMG bereits eine Reihe von Erfolgsgeschichten abgeschlossener MDA-Projekte veröffentlicht wurde, auf der anderen Seite im Rahmen dieser Arbeit aber kein Unternehmen gefunden werden konnte, das bereit war an einer Wirtschaftlichkeitsbetrachtung eines speziellen MDA-Projektes teilzunehmen. Für diese Herangehensweise scheint es also noch etwas zu früh zu sein. Aus diesem Grund erschien es für diese Arbeit sinnvoller auf theoretischer Basis Thesen zur MDA herzuleiten und deren Stoßrichtung in einer ersten Befragungsrunde mit Experten zu beurteilen. Der genaue Aufbau der Arbeit und die verfolgten Ziele werden im folgenden Kapitel dargestellt.

1.2 Aufbau und Ziel der Arbeit

Neben dem einleitenden Teil in Kapitel 1 und der Schlussbetrachtung in Kapitel 5 ist der Hauptteil der Arbeit in drei Bereiche gegliedert: Theoretische Grundlagen der MDA, Wirtschaftlichkeitsbetrachtung zur MDA im Vergleich zu CASE, sowie die Herleitung von Thesen zur MDA und Auswertung der Befragungsergebnisse.

Die Theoretischen Grundlagen werden in Kapitel 2 und den darin enthaltenen Unterkapiteln geschaffen. Ziel ist es zuerst eine Arbeitsdefinition der MDA herzuleiten, das geschieht in Kapitel 2.1. Danach wird der technische Reifegrad der Konzepte und Standards beschrieben, die der MDA zugrunde liegen. Besonderes Augenmerk wird dabei auf die verwendeten Modelle und Transformationen der MDA gelegt. Im Anschluss daran erfolgt in Kapitel 2.3 zuerst eine Einordnung der MDA in die Historie der Softwareentwicklung. Das verdeutlicht die Treiber, die zur Entwicklung der Model-Driven Architecture geführt haben. Im Anschluss zeigen erste Anwendungsbeispiele, dass die MDA in manchen Bereichen durchaus schon Anwendung gefunden hat. Kapitel 2.4 beschäftigt sich im Detail mit den propagierten Zielen und Ver- sprechen der MDA im Sinne der OMG. Ziel hierbei ist es zu zeigen, wo im

Page 10

herkömmlichen Softwareentwicklungsprozess Probleme liegen und wie die MDA dazu beitragen soll diese zu beseitigen oder zumindest zu mindern. Kapitel 3 und dessen Unterkapitel stehen ganz im Zeichen der Wirtschaftlichkeitsbetrachtungen in der Softwareentwicklung sowie der Entwicklung von Thesen die den Einfluss der MDA auf die Softwareentwicklung beschreiben. Neben Grundlagen der Wirtschaftlichkeitsmessung in der Softwareentwicklung, die vor allem in Kapitel 3.1 gelegt werden, steht die Gegenüberstellung von MDA und dem Computer-Aided Software Engineering (CASE) im Mittelpunkt dieses Kapitels. Der Vergleich dieser beiden Ansätze ist Grundlage für einige der Thesen, die in den Kapiteln 3.3.1 bis 3.3.7 hergeleitet werden. Diese sind entweder rein MDA-Literatur basiert erarbeitet, oder entstehen aus Analogien, die zwischen CASE und MDA gezogen werden. Der dritte Bereich des Hauptteils, also Kapitel 4 und dessen Unterkapitel, stellt den praktischen Teil der Arbeit dar. Ziel dieses Segments ist es, die theoretisch abgeleiteten Thesen aus Kapitel 3.3 in einer ersten wissenschaftlichen Studie zu überprüfen. Dazu wird in Kapitel 4.1 ein Untersuchungsdesign erarbeitet, welches für die Durchführung verwendet wurde. In Kapitel 4.2 werden die Untersuchungsergebnisse schließlich ausgewertet um die Forschungsrichtung der Thesen beurteilen zu können. Abschließend stellt Kapi- tel 4.3 ein Fazit, sowie kritische Würdigung des MDA-Ansatzes dar.

Page 11

2 Grundlagen der Model-Driven Architecture

In folgenden Kapiteln werden die Grundlagen der modellgetriebenen Architektur diskutiert. Die Begriffe MDA und modellgetriebene Architektur werden in dieser Arbeit synonym zueinander verwendet. Zuerst greift Kapitel 2.1 verschiedene Definitionsansätze der modellgetriebenen Architektur auf. Daraus wird eine Arbeitsdefinition abgeleitet. Kapitel 2.2 stellt darauf folgend den Stand der Forschung und der technischen Entwicklung der modellgetriebenen Architektur dar. Dazu werden die Sichtweise der OMG und die kritischere Betrachtung unabhängiger Experten gegenübergestellt. Nachdem Unterkapitel 2.2.1 die Kernkomponenten beschreibt, aus denen die modellgetriebene Architektur besteht, vergleicht Unterkapitel 2.2.2 zwei grundlegende Ansätze der MDA-Implementierung. Abschließend zeigt Unterkapitel 2.2.3 die Standards auf denen das MDA-Framework aufbaut.

2.1 Definitionen

Bevor die modellgetriebene Architektur an sich definiert werden kann, macht es Sinn an dieser Stelle eine Einordnung der MDA in die Begriffswelt der modernen Softwareentwicklung vorzunehmen. An erster Stelle ist hier die generative Softwareentwicklung zu nennen. Diese beschreibt das Streben nach automatisierter Generierung von Teilen eines Softwaresystems. Ein Ansatz der dem Gendanken der generativen Entwicklung Folge leistet ist das sogenannte Model-Driven Development (MDD) oder auch Model-Driven Software Development (MDSD). Dabei wird versucht, ein Softwaresystem möglichst vollständig durch Modelle abzubilden und am Ende den nötigen Programmcode so weit wie möglich aus diesen Modellen zu generieren [Czar05].

Bei der MDA handelt es sich um ein Framework, das die Ideen des Model-Driven Development aufgreift, dabei jedoch verstärkt auf Standards der Object Management Group aufsetzt. Es wird daher auch von einer OMG Implementierung des Model-Driven Development gesprochen. In der Fachliteratur wird die modellgetriebene Architektur aus verschiedenen Perspektiven definiert. Auf der einen Seite gibt es technisch basierte Definitionen wie die von Petrasch und Meimberg [PeMe06]: „MDAermöglicht die Trennung von Arte- fakten der Software-Entwicklung in zwei Teile: Die wiederkehrenden Berei-

Page 12

che wie z. B. die Definition von Plattformen (Java Enterprise, CORBA etc.) können von den projektspezifischen (fachlichen) Teilen separiert werden, so dass die Essenz des Systems, z. B. die fachlichen Klassen, nicht mit technischen Details »verunreinigt« werden [PeMe06].“Auf der anderen Seite wird in Definitionen oft Bezug auf Prozessoptimierung und wirtschaftliche Effizienz genommen. So zum Beispiel in der Definition der Gesellschaft für Informatik e.V.: „Beider Model-Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses. Ziel ist es, plattformspezifische Modelle möglichst automatisiert aus plattformunabhängigen Modellen abzuleiten. Dadurch soll der Aufwand der Softwareentwicklung verringert und die Adaptierung an neue Technologien erleichtert werden [KeMa05].“Die dieser Arbeit zugrunde liegende Forschung beschäftigt sich sowohl mit der technischen Ausprägung der modellgetrieben Architektur als auch mit der Wirtschaftlichkeit dieses Frameworks und dessen Auswirkungen auf den Softwareentwicklungsprozess. Um all diesen Aspekten gerecht zu werden, wird als Arbeitsdefinition die der OMG selbst verwendet, da diese sowohl die technische als auch die betriebswirtschaftliche Ausrichtung der modellgetriebenen Architektur beleuchtet: „OMG’sModel-Driven Architecture ® (MDA ®) provides an open, vendor-neutral approach to the challenge of business and technology change. Based on OMG’s established standards, the MDA separates business and application logic from underlying platform technology. Platform-independent models of an application or integrated system’s business functionality and behavior […] can be realized through the MDA on virtually any platform […].These platform-independent models document the business functionality […] separate from the technology-specific code […]. No longer tied to each other, the business and technical aspects of an application […] can each evolve at its own pace - business logic responding to business need, technology taking advantage of new developments - as the business requires [OMG07f].”

2.2 Technischer Reifegrad der Model-Driven Architecture

Von der OMG [OMG07d] selber wird MDA als Allheilmittel für die Problematiken in der Softwareentwicklung angepriesen. Auf der Webseite der OMG und den in den dort zu findenden Dokumenten zum MDA-Standard [OMG07a; OMG07b; OMG07d; OMG07g] wird dargestellt, dass die modellgetriebene

Page 13

Architektur den kompletten Softwareentwicklungszyklus unterstützt. Auf Basis etablierter Standards werden Probleme auf allen Ebenen der Softwareentwicklung gelöst und damit ein signifikanter Schritt nach vorne gemacht. Die OMG verspricht deutliche Verbesserungen in den Punkten Übertragbarkeit, Interoperabilität, Plattformunabhängigkeit und Produktivität. Beim Einsatz der modellgetrieben Architektur soll es zu Einsparungen von Entwicklungskosten und -zeit bei gleichzeitiger Erhöhung der Qualität und des Return on Investment kommen. MDA wird mit Sätzen wie „TheCIO Problem Solver [OMG07d]“und „TheArchitecture of Choice for a Changing World [OMG07d]“beworben.

Die Fachwelt betrachtet die modellgetriebene Architektur kritischer. Neben Werken die sich mit der MDA im Allgemeinen beschäftigen, hier sind Petrasch und Meimberg [PeMe06], Frankel [Fran03], sowie Kleppe, Warmer und Bast [KlWa03] zu nennen, wird MDA in vielen Artikeln und Büchern im Zusammenhang mit speziellen Standards erläutert. Dazu zählt zum Beispiel Raistrick, Francis und Wright [RaFr04], die MDA unter Verwendung von ausführbarem UML untersuchen.

Petrasch und Meimberg [PeMe06] formulieren kritisch, dass die Idee der MDA zwar sofort verständlich ist, die konzeptionelle Substanz sich aber nicht auf den ersten Blick erschließt. Das liegt an fehlender Standardisierung von MDA-Werkzeugen, der Vielzahl an relevanten Dokumenten und dem umfassenden Anspruch der MDA selbst.

Mehr Einigkeit herrscht darüber, dass die modellgetriebene Architektur zwar noch in den Kinderschuhen steckt, das Potential zur Weiterentwicklung jedoch vorhanden ist. Petrasch und Meimberg [PeMe06] schließen dies aus der schon jetzt großen Anzahl an umfangreichen MDA-Werkzeugen von kommerziellen Anbietern, sowie aus der Open Source Community. Auch Kleppe, Warmer und Bast [KlWa03] sehen, dass MDA-Werkzeuge schon jetzt signifikanten Einfluss auf den Entwicklungsprozess nehmen und bei einer weiteren Etablierung der zugrundeliegenden Standards die Möglichkeit für einen Paradigmenwechsel in der Softwareentwicklung besteht, wodurch „derWeg zur grafischen Programmierung wieder ein wenig kürzer geworden [PiRö06]“wäre und Flexibilität, Wartbarkeit sowie Technologieunabhängig- keit verbessert würden [BoSt03].

Page 14

Eine 100%ige Automatisierung sehen die Experten jedoch noch nicht, da hierfür die Standardisierung noch nicht weit genug fortgeschritten ist. Auch kann der Mensch, in einigen Bereichen des Softwareentwicklungszyklus nicht ersetzt werden. Viele Experten glauben aber, dass es ihm möglich sein wird sich mehr auf die korrekte Modellierung zu konzentrieren, als sich in technischen Details zu verlieren [KlWa03; PeMe06].

In weiteren Schritten ist es nun nötig die Wiederverwendbarkeit von Artefakten in der MDA nachzuweisen. Außerdem muss untersucht werden ob und vor allem wie sich die modellgetriebene Architektur auf die Softwareentwicklung auswirkt. Nachweisbarer und nachhaltiger Einfluss auf die Wirtschaftlichkeit der Softwareentwicklung ist für MDA essenziell um auf Dauer am Markt bestehen zu können [PeMe06].

2.2.1 Konzepte

Die modellgetriebene Architektur wurde von der OMG nicht gänzlich neu entwickelt. Es handelt sich vielmehr um bereits etablierte Standards die zu einem Framework kombiniert wurden [PeMe06]. Zum Grundverständnis der modellgetriebenen Architektur liegt den folgenden Kapiteln die Definition von Petrasch und Meimberg [PeMe06] zugrunde: