36,99 €
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:
Veröffentlichungsjahr: 2007
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
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.
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.
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
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.
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].”
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].
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:
