Ausarbeitung AndroMDA

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Ausarbeitung AndroMDA"

Transkript

1 Westfälische Wilhelms-Universität Münster Ausarbeitung AndroMDA im Rahmen des Seminars Ausgewählte Themen des Software Engineering Irina Thome Themensteller: Prof. Dr. Herbert Kuchen Betreuer: Christian Arndt Institut für Wirtschaftsinformatik Praktische Informatik in der Wirtschaft

2 Inhaltsverzeichnis 1 Einleitung Model Driven Architecture AndroMDA Architektur von AndroMDA Die Funktionsweise von AndroMDA AndroMDA Cartridges Arbeiten mit AndroMDA Entwicklungsumgebung Implementierung eines Shop-Systems als Beispielanwendung Kritische Würdigung des Entwicklungsprozesses mit AndroMDA Zusammenfassung und Ausblick Literaturverzeichnis II

3 Kapitel 1: Einleitung 1 Einleitung Model Driven Architecture (MDA) verändert die Sichtweise auf die Entwicklung von Software grundlegend. Modelle werden in den Mittelpunkt des Entwicklungsprozesses gestellt und dienen nicht länger nur als Dokumentation, sondern als wesentliche Grundlage für den erstellten Quellcode. Software-Entwickler sollen durch Tools dabei unterstützt werden, Code aus den Modellen zu generieren. Ferner wird eine Unabhängigkeit von und Portabilität zwischen verschiedenen Plattformen angestrebt. AndroMDA ist ein weit verbreitetes Open-Source-Tool, das dem MDA-Paradigma entspricht. Die vorliegende Arbeit soll einen Einblick darin geben, wie MDA- Anforderungen durch AndroMDA umgesetzt werden. Dazu wird nach einer kurzen Klärung der Begriffe rund um MDA die Architektur von AndroMDA beschrieben. Im Anschluss wird der Prozess der Codegenerierung dargestellt. Wegen der zentralen Rolle von Cartridges für AndroMDA werden diese herausgegriffen und eingehend betrachtet. Dieser theoretische Teil wird im dritten Abschnitt an Hand eines praktischen Beispiels näher erläutert und demonstriert. Dabei sollen die Grundprinzipien von MDA veranschaulicht werden. Den Abschluss bildet ein Fazit, das die Möglichkeiten von AndroMDA bezüglich der automatisierten Codegenerierung zusammenfasst. 3

4 Kapitel 2: Model Driven Architecture 2 Model Driven Architecture Model Driven Architecture (MDA) stellt ein Framework für die Entwicklung von Software dar. MDA wurde von der Object Management Group (OMG) entwickelt und in [OMG03] spezifiziert. Bei der OMG handelt es sich um ein internationales Konsortium, das sich mit der Entwicklung von herstellerunabhängigen Standards für die objektorientierte Programmierung beschäftigt. Die traditionelle Methode zur Software-Entwicklung folgt nach [KWB03, Kapitel 1] in der Regel einem ähnlichen Ablauf wie dem in Abb. 1 dargestellten. Besonders in den frühen Phasen werden neben textuellen Beschreibungen auch Modelle generiert, die im späteren Entwicklungsprozess jedoch lediglich zur Dokumentation dienen. Da in der Praxis Iterationen des Prozesses aus Zeit- und Kostengründen hauptsächlich die späteren Entwicklungsphasen umfassen, entfernt sich die tatsächliche Implementierung zunehmend von den Modellen, die so ihre Bedeutung verlieren. Das führt zu Problemen bei der Wartung und Weiterentwicklung der Systeme, wenn außer den initialen Beschreibungen und Modellen keine aktuelle Dokumentation vorhanden ist. Weitere Schwierigkeiten ergeben sich aus der schnellen technologischen Entwicklung im Bereich der Software-Industrie und der damit entstehenden Notwendigkeit, Systeme portabel und interoperabel zu gestalten. MDA stellt im Gegensatz zum traditionellen Ansatz Modelle in den Mittelpunkt des Software-Entwicklungs-Prozesses. Obwohl die Phasen des Entwicklungsprozesses gleich bleiben (vgl. Abb. 1), werden nunmehr als Hauptartefakte formale Modelle generiert, die von einem Computer verarbeitet werden können. Es existieren die folgenden Modelltypen (vgl. [OMG03]): Computer Independent Model (CIM): Das CIM beschreibt die fachlichen Anforderungen an das spätere System und beinhaltet Geschäftsabläufe, Mitarbeiter, Schnittstellen usw. Platform Independent Model (PIM): Ein Model mit hohem Abstraktionsniveau, welches die Struktur des Systems unabhängig von der späteren Implementierung beschreibt. Das PIM enthält die zu verwendenden Komponenten sowie deren Funktionalitäten und Interaktionen [TBH04, S. 349]. 4

5 Kapitel 2: Model Driven Architecture Platform Specific Model (PSM): Ein PIM wird in ein oder mehrere PSM transformiert, die aus Entwicklersicht auf Details der Implementierung eingehen. In der Regel wird für jede Plattform ein eigenes PSM erstellt, das typischerweise Konstrukte und Begriffe der jeweiligen Technologie enthält. Code: Abschließend werden die PSM in Code umgewandelt. Diese Umwandlung wird durch die große Nähe eines PSM zu der entsprechenden Technologie vereinfacht. Traditioneller Ablauf der Software Entwicklung Anforderungen Hauptsächlich Text Ablauf der Software Entwicklung mit MDA Anforderungen CIM Analyse Diagramme und Text Analyse PIM Systemnahes Design Diagramme und Text Systemnahes Design PSM Code Code Code Code Testen Testen Code Code Deployen Deployen Abbildung 1: Ablauf der Software-Entwicklung mit und ohne MDA (vgl. [KWB03], S. 3, S. 7) Die Umwandlung von PIM zu PSM und von PSM zu Code wird im MDA-Prozess durch entsprechende Werkzeuge unterstützt. Eine vollständige Generierung von Anwendungen aus einem PIM ist zur Zeit zwar nicht möglich, jedoch können lauffähige Anwendungen mit Basisfunktionalitäten bereits automatisiert erstellt werden. Das Augenmerk der Entwickler verlagert sich im MDA-Prozess auf die Entwicklung des PIM. [KWB03] beschreibt die Vorteile durch den Einsatz von MDA wie folgt: Die Produktivität kann deutlich gesteigert werden, wenn ein Großteil des Codes automatisch erstellt wird. Ferner wird die Portabilität erhöht, da verschiedene plattformspezifische Modelle aus demselben PIM generiert werden können. Zur Verbesserung der 5

6 Kapitel 2: Model Driven Architecture Interoperabilität bietet MDA die Möglichkeit, sog. Bridges zu generieren, die eine Übersetzung zwischen Modellen für verschiedene Plattformen auf PSM- oder Code- Ebene ermöglichen. Schließlich wird die Dokumentation und Wartung der Systeme erleichtert, da die Modelle konsistent und aktuell gehalten werden. [TBH04] nennt die durch MDA gesteigerte Qualität der Software als weiteren Vorteil. 6

7 Kapitel 3: AndroMDA 3 AndroMDA 3.1 Architektur von AndroMDA Bei AndroMDA (gesprochen: Andromeda) handelt es sich um einen Open Source MDA-Generator, der über das Webportal SourceForge.net verwaltet wird. Die offizielle Homepage unter [And07a] beinhaltet die Dokumentation und ein Forum für den Support. Die aktuelle stabile Version ist AndroMDA 3.2. Kurz vor Fertigstellung der vorliegenden Arbeit wurde AndroMDA 4.0-M1-SNAPSHOT veröffentlicht, jedoch konnten die Eigenschaften dieser Version hier nicht weiter berücksichtigt werden. Das Ziel von AndroMDA ist es, die Arbeit der Entwickler zu erleichtern und die Transformation von PIM in PSM zu übernehmen. Es kann zwar keine vollständige Anwendung aus einem PIM direkt erstellt werden, der Entwickler kann sich jedoch auf die Implementierung der Geschäftslogik konzentrieren. Langwierige, redundante Aufgaben werden von AndroMDA automatisiert erledigt. Abbildung 2: Architektur von AndroMDA (in Anlehnung an [Dew06] und [Kar06]) AndroMDA weist eine modulare Struktur auf (vgl. Abb. 2). Die Kernkomponente stellt ein template-basierter Generator dar. Dieser erhält Modelle im XMI-Format (XML Metadata Exchange) als Input und generiert aus diesen Komponenten der Anwendung, entweder als vollständigen Code oder als vom Entwickler anzupassende 7

8 Kapitel 3: AndroMDA Codefragmente. Mit Hilfe von Plugins (sog. Cartridges und Translation Libraries) können Komponenten für verschiedene Programmiersprachen oder Technologien erstellt werden. Durch das Auswechseln der Plugins kann aus einem Modell der Quellcode für jede beliebige Plattform generiert werden. Das MetaData Repository dient zum Einlesen einer XMI-Datei und der internen Abbildung der Daten. Es ist auch möglich, Repositories für andere Formate zu erstellen. Cartridges stellen JAR-Archive mit Templates und Metafacades dar. Mit Hilfe von Metafacades kann auf die von MetaData Repository geladenen Modell-Objekte zugegriffen werden. Die Templates ihrerseits ermöglichen den Zugriff auf die Methoden der Metafacade-Klassen. Eine Reihe verschiedener Cartridges liegt bereits vor, z. B. für EJB, Spring, Struts oder Hibernate. Den Anwendern ist es jedoch jederzeit möglich, eigene Cartridges für ihre speziellen Bedürfnisse zu programmieren. Die Template Engine verarbeitet die Templates. AndroMDA verwendet standardmäßig Velocity 1.4, eine auf Java basierende Open-Source Template Engine (nähere Informationen hierzu unter [Vel07]). Translation Libraries werden verwendet, um auf Modellebene Ausdrücke zu verarbeiten, die in OCL (Object Constraint Language) geschrieben sind. Solche Ausdrücke können dazu dienen, die Modelle zu validieren oder Datenbankabfragen unabhängig von einer Plattform zu formulieren. 3.2 Die Funktionsweise von AndroMDA Grundlage der Codegenerierung mit AndroMDA bilden i. d. R. UML-Modelle. Dabei kann es sich sowohl um Struktur- als auch um Verhaltensdiagramme handeln. Die Modelle müssen ins XMI-Format exportiert werden, damit sie von der Repository- Komponente von AndroMDA gelesen werden können. Aus dem eingelesenen Modell wird im Speicher ein instanziiertes UML-Metamodell in Form von Java-Objekten erzeugt. Um die Erstellung des Metamodells zu ermöglichen werden UML-Stereotypen und Eigenschaftswerte, sog. tagged values bei der Modellierung verwendet. Mit Hilfe von Stereotypen ist es möglich, Modellelemente zu klassifizieren und den passenden Quellcode zu dieser Klasse durch entsprechende Templates einer Cartridge zu generieren. Wird z. B. der Stereotyp <<Entity>> einer Klasse zugeordnet, dann wird 8

9 Kapitel 3: AndroMDA für die Codegenerierung eine Persistenz-Cartridge mit geeigneten Templates verwendet. Ferner können Detailinformationen zu einer Klasse über die Eigenschaftswerte ihrer Attribute oder Operationen festgelegt werden. Zulässige Stereotype und Eigenschaftswerte der jeweiligen Cartridges werden in UML-Profilen zusammengefasst, die als XMI-Dateien importiert werden können. Für die Formulierung von Datenbankabfragen wird OCL unterstützt. OCL-Ausdrücke können in Abfragen für unterschiedliche Plattformen übersetzt werden. Mit Hilfe von AndroMDA-Cartridges können zwei verschiedene Arten von Quellcode generiert werden: vollständig generierten Code, der nicht manuell verändert werden sollte; dieser Code wird bei einer erneuten Generierung neu erstellt, wodurch Änderungen überschrieben und verloren gehen würden, sowie Rahmen für vom Entwickler zu schreibenden Code, der bei einer erneuten Generierung nicht überschrieben wird. Dabei handelt es sich in der Regel um die Geschäftslogik der Anwendung. Aus diesen Bestandteilen entsteht die fertige Anwendung. 3.3 AndroMDA Cartridges Cartridges stellen die zentrale Komponente zur Steuerung der Codegenerierung mit AndroMDA dar. Mit ihrer Hilfe können Modellelemente, die mit Stereotypen gekennzeichnet sind, oder Elemente, deren Abhängigkeit sich aus bestimmten Konditionen ergibt, verarbeitet werden (vgl. [And06]). Über Templates wird der zu generierende Code vorgegeben. Jede Cartridge enthält einen Cartridge Descriptor und einen Metafacade Descriptor. Der Cartridge Descriptor enthält Informationen in XML-Form über die Templates, die in der Cartridge zur Verfügung stehen. Der Metafacade Descriptor definiert und steuert die Metafacade-Klassen. Unter [And07a] wird eine Reihe von fertigen Cartridges für folgende Technologien zur Verfügung gestellt: 9

10 Kapitel 3: AndroMDA Name BPM4Struts jbpm JSF EJB Hibernate Java Meta Spring WebService XmlSchema Beschreibung Business Process Modelling for Struts: generiert Struts-Webseiten aus UML-Modellen, in denen Abläufe der Anwendung modelliert sind JBOSS BPM: generiert Prozesssdefinitionen und Handler für die jbpm- Workflow-Engine aus UML-Aktivitätsdiagrammen und Use-Case- Diagrammen Basiert auf dem JavaServer Faces Framework, einem serverseitigen UI Komponenten-Framework für Java-basierte Web-Anwendungen Enterprise JavaBeans: generiert CMP (Container Managed Persistence) EJBs und Session Beans Generiert das gesamte objektrelationale Mapping von AndroMDA Generiert Java-Code Generiert AndroMDA MetaFacades Generiert Code basierend auf dem Spring Framework Generiert WSDD- (Web Service Deployment Description) und WSDL- (Web Service Definition Language) Files für Apache AXIS Generiert XML-Schemata aus Klassendiagrammen Tabelle 1: AndroMDA Cartridges (vgl. [Kar06]) Darüber hinaus können Anwender Cartridges für ihre eigenen Zwecke programmieren oder bestehende Cartridges anpassen. Unter [And07a] wird eine 10-Schritt-Anleitung zur Erstellung einer Cartridge angeboten. Demnach beinhaltet der Entwicklungsprozess für eine Cartridge die folgenden Schritte: Vorgehensschritt Ergebnis 1 Zieltechnologie (PSM) Kernkonzepte und Dateiformate der analysieren verwendeten Technologie 2 PSM Metaklassen identifizieren, Ergebnis ist ein UML-Klassendiagramm der entwickeln und generieren Metaklassen 3 Regeln zur Transformation von PIM- Transformationsregeln Elementen in PSM-Elemente, die als identifizieren Metafacade-Operationen implementiert sind 4 Metafacades modellieren, Die benötigten Metafacade-Klassen, in denen generieren und schreiben Transformationsregeln enthalten sind 5 Templates schreiben Templates zum Transformieren der Inhalte 10

11 Kapitel 3: AndroMDA eines Project-Objekts in eine XML-Datei (oder ein anderes Austauschformat) 6 Deployment-Deskriptoren Die Deskriptoren des Cartridges als XMLschreiben Dateien 7 Ein UML-Profil erstellen Ein UML-Profil, das als Modellierungsanleitung für Anwender dient 8 Test-Modell für die Cartridge Mit Hilfe des UML-Profils wird ein erstellen Testmodell erstellt 9 Cartridge testen Möglichst fehlerfreie Cartridge 10 Cartridge deployen Fertige Cartridge Tabelle 2: Vorgehensmodell zur Erstellung einer Cartridge Die eigenhändige Erstellung einer Cartridge erfordert eine intensive Einarbeitung in die jeweilige Zieltechnologie und ist für unerfahrene Anwender nicht zu empfehlen. Erfahrende Entwickler, die eine Unterstützung der von ihnen bevorzugten Technologie vermissen, sollten jedoch in der Lage sein, eine eigene Cartridge zu schreiben oder eine bestehende Cartridge entsprechend anzupassen. Diese sollte dann auf der Projekthomepage von AndroMDA anderen Anwendern zur Verfügung gestellt werden. Bei der Entwicklung eigener Cartridges sollte berücksichtigt werden, dass die Online- Tutorials unter [And07a] unvollständig sind. Das erschwert die Einarbeitung und erfordert u. U. intensive Recherche im Supportforum der AndroMDA- Projekthomepage, in anderen Internet-Foren oder weiteren Quellen. Auch aus diesem Grund ist die Entwicklung eigener Cartridges nur für erfahrene Entwickler zu empfehlen. 11

12 Kapitel 4: Arbeiten mit AndroMDA 4 Arbeiten mit AndroMDA 4.1 Entwicklungsumgebung AndroMDA wird i. d. R. über Maven gesteuert, ein Build-Tool der Apache Software Foundation. Maven wird über ein spezielles Plugin an AndroMDA angebunden und ermöglicht dem Anwender die Steuerung der Codegenerierung über Kommandos, die Goals genannt werden. Die dazu benötigten Informationen werden in XML- Dokumenten abgelegt. Maven bietet Goals für den Generierungsprozess, das Kompilieren, Testen, das Deployen im Applikationsserver und das Erzeugen von Datenbankschemata. Maven kann unter [Mav07] kostenlos bezogen werden und liegt in der Version vor; aus Kompatibilitätsgründen wurde für das hier beschriebene Beispiel jedoch auf Maven zurückgegriffen. Neben Maven beinhaltet die Entwicklungsumgebung eine Reihe weiterer Werkzeuge. So werden z. B. ein UML-Modellierungswerkzeug und eine Datenbank benötigt. Für die Wahl eines Modellierungswerkzeugs ist entscheidend, ob die Modelle in ein von AndroMDA unterstütztes Format exportiert werden können. Momentan unterstützt AndroMDA UML 1.4/XMI sowie UML 2/EMF. Somit kommt eine Reihe von Modellierungstools in Frage; die Projekthomepage von AndroMDA beinhaltet Tutorien für folgende Tools: ArgoUML, MagicDraw 9.x, MagicDraw 11.5 und Rational Software Modeller / Architect 6. Die Entscheidung für ein bestimmtes Produkt liegt beim Entwickler. Im Rahmen dieser Arbeit wurden die unter [And07a] für die Entwicklung empfohlenen Werkzeuge gewählt. So bestand die Entwicklungsumgebung aus dem Java Development Kit (JDK 1.0.5, zu beziehen unter [Sun07]), einem JBoss Application Server (Homepage unter [JBo07], einem MySQL Server 5.0 samt dazugehörigen Tools (weitere Informationen unter [SQL07], sowie Eclipse (unter [Ecl07]. Das vom AndroMDA entwickelte Eclipse-Plugin Android erleichtert die Integration von Eclipse und AndroMDA Für das Erstellen der UML-Modelle wurde MagicDraw Community Edition 9.5 (herunterladbar unter [Mag07]) verwendet; auf die Verwendung von MagicDraw 11.5 wurde aus Kompatibilitätsgründen verzichtet. 12

13 Kapitel 4: Arbeiten mit AndroMDA 4.2 Implementierung eines Shop-Systems als Beispielanwendung Die Beispielanwendung beschreibt eine simple Version eines Online-Shops. Es gibt Kunden, die über eine Webseite Produkte bestellen können. Ein Kunde kann beliebig viele Bestellungen aufgeben, die ihrerseits aus beliebig vielen Bestellpositionen bestehen können. Bestellpositionen setzen sich aus Produkten des Online-Shops zusammen. Die Produkte sind in einer hierarchischen Struktur kategorisiert. Abb. 3 zeigt das entsprechende Klassendiagramm. Abbildung 3: Klassendiagramm 13

14 Kapitel 4: Arbeiten mit AndroMDA Ein Kunde hat auf der Webseite die Möglichkeit, eine Bestellung anzulegen und Bestellpositionen hinzuzufügen. Dazu wählt er aus der Produktliste ein Produkt aus, gibt die gewünschte Menge an und fügt die Bestellposition seinem Warenkorb hinzu. Das kann beliebig oft wiederholt werden. Ist die Bestellung vollständig, übermittelt der Kunde seine Auswahl an den Anbieter und erhält eine Bestätigung. Beim Anlegen einer neuen Bestellung sowie bei der Durchführung einer Bestellung muss sich der Kunde gegenüber dem System identifizieren. Abb. 4 verdeutlicht dies in einem Anwendungsfalldiagramm. Abbildung 4: Anwendungsfalldiagramm Um die Beispielanwendung zu implementieren, ist eine Reihe von weiteren UML- Diagrammen und Klassen erforderlich, die aus Platzgründen nicht präsentiert werden können. Bei der Modellierung sind verschiedene Regeln zu beachten. Zum einen sollten alle Klassen mit UML-Stereotypen verknüpft werden, weil der Prozess der Codegenerierung auf Basis dieser Stereotype abläuft. Jedem Stereotyp entsprechen bestimmte Templates in der jeweiligen Cartridge, aus denen Code erzeugt wird. Ferner existiert eine Reihe von Standardregeln, um die syntaktische und semantische Korrektheit der Modelle sicherzustellen (vgl. [And07b]). Diese entsprechen weitgehend den allgemeinen Regeln für die Erstellung von UML-Modellen. AndroMDA-spezifisch sind u. a. folgende Forderungen: Es sollten keine getter- und setter-methoden für Attribute benutzt werden. Alle benötigten Methoden werden während der Codegenerierung von der Cartridge erzeugt. 14

15 Kapitel 4: Arbeiten mit AndroMDA Aus dem selben Grund sollten keine getter- und setter-methoden für Assoziationsenden benutzt werden. Für einfache Datentypen wie String oder Collection sollten allgemeine UML Datentypen anstelle von technologie-spezifischen Typen benutzt werden. Auf diese Weise bleiben die Modelle so weit wie möglich plattformunabhängig. Cartridges finden mit Hilfe von Mapping-Tabellen die technologie-spezifischen Datentypen zur Generierungszeit. Für Java beispielsweise würde die Transformation wie folgt aussehen: String --> java.lang.string oder Collection --> java.util.collection. Nach erfolgter Modellierung wurde mit Hilfe von AndroMDA automatisch Code für die Anwendung generiert. Die dabei erzeugten Dokumente kann man grob in zwei Gruppen gliedern: fertigen Code und Codefragmente. Codefragmente stellen dabei konkrete Erweiterungen der automatisch erstellen Klassen dar und sollen als Container für jeglichen zusätzlichen Code dienen, der von den Entwicklern hinzugefügt wird. Codefragmente kann man an dem Kürzel Impl im Namen erkennen, so ist z. B. KundeImpl.java die Erweiterung für Kunde.java. 4.3 Kritische Würdigung des Entwicklungsprozesses mit AndroMDA Nach der Implementierung der Beispielanwendung lässt der Entwicklungsprozess mit AndroMDA sich wie folgt bewerten: Bereits das Einrichten der Entwicklungsumgebung gestaltete sich problematisch. Eine Vielzahl von unterschiedlichen Werkzeugen musste einzeln herunter geladen und installiert werden. Dabei ergaben sich an mehreren Stellen Kompatibilitätsprobleme zwischen den einzelnen Tools. So traten z. B. mehrmals Schwierigkeiten bei der Benutzung von MagicDraw 11.5 auf, weswegen zu MagicDraw 9.5 gewechselt werden musste. Gerade für unerfahrene Benutzer nicht trivial ist auch das notwendige manuelle Setzen von Umgebungsvariablen und die stellenweise erforderliche Manipulation von XML-Dokumenten. Gerade bei auftretenden Problemen wurden die Schwächen des AndroMDA-Supports deutlich, die durch den Open-Source-Charakter des Projekts begünstigt werden. Negativ aufgefallen sind die stark schwankende Qualität der Dokumentation, die wenig hilfreiche FAQ-Liste, sowie eine Reihe von toten Links auf der Webseite. Die 15

16 Kapitel 4: Arbeiten mit AndroMDA vorhandenen Online-Tutorials enthalten z. T. Fehler oder sind unvollständig. So bricht die Einleitung zur Erstellung einer Cartridge nach der Hälfte der notwendigen Schritte ab; die entsprechenden Webseiten enthalten seit März 2006 lediglich den Hinweis auf den geplanten Inhalt. Positiv sticht das Online-Forum hervor, in dem schnell und kompetent auf Fragen und Probleme eingegangen wird. Der Entwicklungsprozess erfordert eine intensive Einarbeitung in die verwendeten Werkzeuge. Gerade weil wenig Unterstützung bei auftretenden Schwierigkeiten zu erwarten ist, sollten Werkzeuge gewählt werden, die entweder dem Entwickler gut bekannt oder ausführlich dokumentiert sind. Nach Bewältigung der Anfangsschwierigkeiten funktionierte die Code-Generierung mit AndroMDA gut. Ein Großteil des Code kann automatisch aus den Modellen generiert werden. Gerade die langwierigen, lästigen Aufgaben werden dem Entwickler abgenommen; manuell zu implementieren ist lediglich die Geschäftslogik. Das verringert die Entwicklungskosten und enthebt den Entwickler von der Notwendigkeit, einen Großteil der Zeit mit eher langweiligen Standardaufgaben zu verbringen. 16

17 Kapitel 5: Zusammenfassung und Ausblick 5 Zusammenfassung und Ausblick Diese Arbeit hatte das Ziel, den Entwicklungsprozess mit AndroMDA zu untersuchen. Nach einer kurzen Darstellung von MDA wurden der Aufbau und die Funktionsweise von AndroMDA beleuchtet; speziell hervorgehoben wurde die Rolle der Cartridges im AndroMDA-Framework. Im zweiten Teil der Arbeit wurde ein Ausblick auf das Arbeiten unter AndroMDA gegeben und die Implementierung einer Beispielanwendung vorgestellt. Zusammenfassend lässt sich sagen, dass es sich bei AndroMDA um ein mächtiges und flexibles Werkzeug zum Einsatz von MDA in der Software-Entwicklung handelt. Eine Vielzahl von Technologien und Plattformen wird bereits unterstützt. Wo das nicht der Fall ist, steht es dem Anwender frei, die von ihm präferierte Technologie in das Framework einzubinden. Jedoch lässt die Benutzerfreundlichkeit von AndroMDA zu wünschen übrig. Die aufwändige Installation, die mangelhafte Dokumentation und die nicht mehr zeitgemäße Bedienung über die Kommandozeile erschweren gerade ungeübten Benutzern den Einstieg. Bevor über den Einsatz von AndroMDA fundiert entschieden werden kann, ist jedoch der Vergleich mit anderen MDA-Werkzeugen angebracht. Die Flexibilität und Anpassbarkeit von AndroMDA könnte gegenüber kommerziellen Produkten einen großen Vorteil darstellen. Eine Verbesserung der Benutzerfreundlichkeit bleibt abzuwarten. 17

18 6 Literaturverzeichnis [And07a] [And07b] [Dew06] [Ecl07] [JBo07] [Kar06] [KWB03] [Mag07] [Mav07] [MSUW04] [OMG03] [SQL07] [Sun07] [TBH04] AndroMDA: Homepage. URL: Abrufdatum: 12. Mai 2007 AndroMDA: Modeling for AndroMDA. URL: Abrufdatum: 12. Mai Blasius Lofi Dewanto: The Enterprise Java Open Source Architecture Template, URL: id,147.html, Abrufdatum: 12. Mai 2007 Eclipse: Homepage, URL: Abrufdatum: 12. Mai JBoss Application Server: Homepage, URL: Abrufdatum: 12. Mai Arnold Karner: Model Driven Architecture Vollständige Codegenerierung mittels AndroMDA, TU Wien, URL: df, Abrufdatum: 12. Mai 2007 Anneke Kleppe, Jos Warmer, Wim Bast: MDA Explained, The Model Driven Architecture: Practice and Promise, Addison-Wesley, MagicDraw: Homepage. URL: Abrufdatum: 12. Mai 2007 Apache Maven Project: Homepage. URL: Abrufdatum: 12. Mai Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise: MDA Distilled, Principles of Model-Driven Architecture, Addison-Wesley, Object Management Group: Technical Guide to Model Driven Architecture: The MDA Guide Version 1.0.1, 2003 MySQL Developer Zone: Homepage, URL: Abrufdatum: 12. Mai Sun Developer Network: JAVA SE Downloads, URL: Abrufdatum: 12. Mai Rainer Thome, Martin Böhn, Alexander Hagn: Model Driven Architecture, WISU 3/04, S , Lange Verlag, 2004.

19 [Vel07] Apache Velocity Project: Homepage. URL: Abrufdatum: 12. Mai 2007.

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Model Driven Architecture (MDA)

Model Driven Architecture (MDA) Model Driven Architecture (MDA) Vortrag im Fach Software Engineering II BA Mannheim / Fachrichtung Angewandte Informatik Torsten Hopp Gliederung Einleitung Motivation Grundzüge der MDA Ziele & Potenziale

Mehr

Model Driven Architecture

Model Driven Architecture Model Driven Architecture Wilhelm Stephan Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Seminar Softwareentwicklung in der Wissenschaft Betreuer: Julian Kunkel SommerSemester

Mehr

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool

Mehr

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme

MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme MDA MDA mit mit Open-Source-Software Eine Eine Bestandsaufnahme Gerhard Wanner (wanner@hft-stuttgart.de) Stefan Stefan Siegl Siegl (s.siegl@novatec-gmbh.de) Agenda Model Driven Architecture (MDA) Einführung/Übersicht/Motivation

Mehr

SEA. Modellgetriebene Softwareentwicklung in der BA

SEA. Modellgetriebene Softwareentwicklung in der BA SEA Modellgetriebene Softwareentwicklung in der BA MDA bei der BA Ziele/Vorteile: für die Fachabteilung für die Systementwicklung für den Betrieb Wie wird MDA in der BA umgesetzt? Seite 2 MDA bei der BA

Mehr

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012

Einführung in modellgetriebene Softwareentwicklung. 24. Oktober 2012 Einführung in modellgetriebene Softwareentwicklung 24. Oktober 2012 Überblick Was sind die Grundprinzipien der modellgetriebenen Softwareentwicklung? Entwicklung einer MDD-Infrastruktur Modellgetriebene

Mehr

Model Driven Architecture

Model Driven Architecture { AKTUELLES SCHLAGWORT* / MODEL DRIVEN ARCHITECTURE Model Driven Architecture Martin Kempa Zoltán Ádám Mann Bei der Model Driven Architecture (MDA) bilden Modelle die zentralen Elemente des Softwareentwicklungsprozesses.

Mehr

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München, 26.01.2011 Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen OOP München, 26.01.2011 I N H A L T 1. SOA das erste Projekt 2. Prozesse Ergebnisse aus dem Fachbereich 3. Der Business Analyst und BPMN

Mehr

Referenzarchitekturen und MDA 1

Referenzarchitekturen und MDA 1 Referenzarchitekturen und MDA 1 Gerd Beneken *, Tilman Seifert *, Niko Baehr +, Inge Hanschke +, Olaf Rauch + *) TU München Lehrstuhl für Software & Systems Engineering Boltzmannstr. 3; 85748 Garching

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Liste V Enterprise JavaBeans

Liste V Enterprise JavaBeans Liste V Enterprise JavaBeans Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengang Allgemeine Informatik Vorlesung zur Vertiefungslehrveranstaltung Spezielle Methoden der Softwaretechnik SS

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Michael Piechotta - CASE Tools. openarchitecture Ware

Michael Piechotta - CASE Tools. openarchitecture Ware Model Driven Development Michael Piechotta - CASE Tools openarchitecture Ware Gliederung 1.Einleitung - Was ist MDD? - Wozu MDD? 2.Model Driven Development - OMG Konzepte: Modelle,Transformationen Meta-Modellierung

Mehr

objectif / SOA /.NET Inhalt Technologien ObjectiF Beispiel Vergleich: ObjectiF Rational Rose Quellenverzeichnis 20.01.2008 Christian Reichardt 2 Technologien 20.01.2008 Christian Reichardt 3 Methodenaufruf

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind

Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung. R. Gitzel, M. Schwind Ein hierarchischer, modellgetriebener Ansatz zur Codegenerierung R. Gitzel, M. Schwind Agenda! Überblick/Motivation! Hintergrund! Technische Umsetzung! Zentrale Ergebnisse 2 Überblick Ziele! Know-how-Aufbau/Stand

Mehr

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

Mehr

MDA-Frameworks: AndroMDA

MDA-Frameworks: AndroMDA Westfälische Wilhelms-Universität Münster Ausarbeitung MDA-Frameworks: AndroMDA im Rahmen des Seminars Ausgewählte Kapitel des Software Engineering Daniel Schulz Themensteller: Prof. Dr. Herbert Kuchen

Mehr

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes

VL2: Softwareprojekt - Anforderungsanalyse. Inhalt. 1. Struktur eines Softwareprojektes Dozent: G.Döben-Henisch (Version vom 16.April 2005) PPmP VL2 VL2: Softwareprojekt - Anforderungsanalyse Inhalt 1. Struktur eines Softwareprojektes 2. Anforderungsanalyse 1. Struktur eines Softwareprojektes

Mehr

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture

Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture Vom Geschäftsmodell zum Code Komponentenbasierte Entwicklung auf Basis der Model Driven Architecture U. Sommer, G. Rackl, K. Beschorner, H. Kößler, A. Bien Zentrale IT, Kompetenzzentrum IT-Architekturen

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Inhalt. Motivation Techniken des MDE. Fallbeispiele ISE-Seminar 2012 Inhalt Motivation Techniken des MDE Computer Aided Software Engineering (CASE) Domain-Specific-Languages (DSL) Model Driven Architecture (MDA) Fallbeispiele Motivation Automatische Codegenerierung

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

OpenCms jbpm Workflow Engine. OpenCms und jbpm Workflow Engine

OpenCms jbpm Workflow Engine. OpenCms und jbpm Workflow Engine OpenCms und jbpm Workflow Engine Geschäftliche Abläufe in einem Unternehmen folgen zu einem großen Prozentsatz beschreibbaren Prozessen, den so genannten Geschäftsprozessen. Diese Erkenntnis führte zum

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 4578954569774981234656895856512457895456977498 3465689585651245789545697749812346568958561245 9545697749812346568958565124578954569774981234 6895856512457895456977498123465689585612457895 6977498123465689585651245789545697749812346568

Mehr

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann

Model Driven SOA. < J Springer. Anwendungsorientierte Methodik und Vorgehen in der Praxis. Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Gerhard Rempp Mark Akermann Martin Löffler Jens Lehmann Model Driven SOA Anwendungsorientierte Methodik und Vorgehen in der Praxis Mit Illustrationen von Martin Starzmann < J Springer Inhaltsverzeichnis

Mehr

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übung 3b Entwicklung eigener Service-Angebote 01.03.2015 Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Möglichkeiten zur Serviceimplementierung (ggf. auch Cloud) Umgang mit

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

Systemdenken und Gestaltungsmethodik System-Modellierung

Systemdenken und Gestaltungsmethodik System-Modellierung Systemdenken und Gestaltungsmethodik System-Modellierung Prof. Dr.-Ing. Stefan Brunthaler TFH Wildau 2008ff Master Telematik Ausgangsbasis Es liegt ein kosten-nutzen-optimales Lösungskonzept vor. Die Architektur

Mehr

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014

Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Modellgetriebene Softwareentwicklung (Model Driven Software Development - MDSD) SS 2014 Wahlpflichtfach (2 SWS) für Bachelor Andreas Schmidt Einführung/Organisation 1/19 Ziele der Vorlesung Vorstellung

Mehr

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009

Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien. Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009 Die MID ModellierungsMethodik M³ ein Baukasten für Produktlinien Andreas Ditze, MDD & PL 2009, Leipzig, 23.03.2009 I N H A L T 1. Vorstellung 2. Was macht einen guten Baukasten aus? 3. Ziele der MID ModellierungsMethodik

Mehr

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de Innovator 11 classix Enterprise JavaBeans (EJB) für JBuilder Alexander Borschet Connect www.mid.de Modellieren und Generieren von Enterprise JavaBeans (EJB) für JBuilder Wozu dient die Anbindung an JBuilder?

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme Fakultät Informatik Institut f ür Angewandte Inf ormatik, Prof essur TIS Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme Hauptseminar Technische Informationssysteme

Mehr

Forschungsprojekt SS 2009

Forschungsprojekt SS 2009 Forschungsprojekt SS 2009 Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org Gliederung n Ziel

Mehr

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System

Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Evaluation of Database Design and Reverse Engineering Tools for a Large Software System Anne Thomas TU Dresden Dr. B. Demuth Pre Press GmbH (Dresden) T. Reuter Gliederung Einleitung Vorgehensweise Kontext

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education

Java Server Faces. Andy Bosch. Das Standard-Framework zum Aufbau webbasierter Anwendungen. An imprint of Pearson Education Andy Bosch Java Server Faces Das Standard-Framework zum Aufbau webbasierter Anwendungen An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City

Mehr

INNOVATOR im Entwicklungsprozess

INNOVATOR im Entwicklungsprozess Erfahrungsbericht INNOVATOR im Entwicklungsprozess Basis für Host- und Java-Anwendungen Dr. Carl-Werner Oehlrich, Principal Consultant MID GmbH Das Modellierungswerkzeug INNOVATOR Geschäftsprozess-Modellierung

Mehr

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA)

UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA) UML Modellierung und Model Driven Architecture (MDA) für Java mittels Rational Software Architect (RSA) IBM Software Group, Rational Austria 2011 IBM Corporation Agenda Was ist MDA und welche Probleme

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Dokumentation Projekt Virtuelles Tagebuch

Dokumentation Projekt Virtuelles Tagebuch Priv.Doz. Dr. Michael Hahsler Institut für Informationswirtschaft Dokumentation Projekt (Matr. Nr. 9806106) - 1 - 1 Problembeschreibung Das Ziel dieses Projektes ist es, ein Tagebuch in elektronischer

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr. Multimedia im Netz Wintersemester 2011/12 Übung 10 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 2 Gesundes neues Jahr 3 Blatt 08 Videoformate im

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de

ANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten

Mehr

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo)

Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Gert Bikker, Kevin Barwich, Arne Noyer Domänenspezifisch entwickeln mit UML (Vortrag mit Demo) Die Modellierung mit UML bietet auch für eingebettete Systeme viele Vorteile. Um die Vorteile effizient nutzen

Mehr

Modellgetriebene Softwareentwicklung

Modellgetriebene Softwareentwicklung Modellgetriebene Softwareentwicklung 30.10.2008 Dr. Georg Pietrek, itemis AG Inhalt Wer ist itemis? Modellgetriebene Entwicklung Ein Praxis-Beispiel Fazit 2 Vorstellung IT-Dienstleister Software-Entwicklung

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 45789545697749812346568958565124578954569774981 46568958565124578954569774981234656895856124578 45697749812346568958565124578954569774981234656 58565124578954569774981234656895856124578954569 49812346568958565124578954569774981234656895856

Mehr

Magisterarbeit zur Erlangung des akademischen Grades eines Magisters der Sozial- und Wirtschaftswissenschaften

Magisterarbeit zur Erlangung des akademischen Grades eines Magisters der Sozial- und Wirtschaftswissenschaften TU Wien Business Informatics Group Institut für Softwaretechnik und Interaktive Systeme Model Driven Architecture - Vollständige Codegenerierung mittels AndroMDA Magisterarbeit zur Erlangung des akademischen

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Anforderungsmanagement

Anforderungsmanagement Gerhard Versteegen (Hrsg.) Alexander Heßeier Colin Hood Christian Missling Renate Stücka Anforderungsmanagement Formale Prozesse, Praxiserfahrungen, Einführungsstrategien und Toolauswahl Springer Inhaltsverzeichnis

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

Mehr

Herausforderung: Entwicklungsmethodik und technisches Umfeld

Herausforderung: Entwicklungsmethodik und technisches Umfeld Model Driven Software Development Herausforderung: Entwicklungsmethodik und technisches Umfeld Referent: Christoph Schmidt-Casdorff Seite 2 / 42 Inhaltsverzeichnis 1. Werkzeuglandschaft 1.1 Language Workbench

Mehr

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I) Historisch Kulturelle Informationsverarbeitung Hauptseminar: KLIPS 2.0 Dozent: Prof. Dr. Thaller Referent:

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Grundlagen von MOF. Alexander Gepting 1

Grundlagen von MOF. Alexander Gepting 1 Grundlagen von MOF Alexander Gepting 1 Kurzfassung Meta-Object Facility (MOF) ist ein Standard der OMG der im Rahmen der Standardisierung von Modellierungstechniken für verteilte Architekturen und Softwaresysteme

Mehr

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung Was für ein Tempo! Das Rad dreht sich rasant schnell: Die heutigen Anforderungen an Softwareentwicklung sind hoch und werden

Mehr

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder

Best Practices für RM/RE in einem Prozess Framework Thomas Schröder Best Practices für RM/RE in einem Prozess Framework Thomas Schröder 1 Die Herausforderung bewährte Praktiken effektiv zu nutzen Unterschiedliche Quellen in unterschiedlichen Formaten Schwierig anzupassen

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Was versteht man unter Softwaredokumentation?

Was versteht man unter Softwaredokumentation? Was versteht man unter? Mit bezeichnet man die Dokumentation von Computer-Software. Sie erklärt für Anwender, Benutzer und Entwickler in unterschiedlichen Rollen, wie die Software funktioniert, was sie

Mehr

Eclipse Modeling Framework

Eclipse Modeling Framework 1 / 14 Eclipse Modeling Framework Stefan Berlik Fachgruppe Praktische Informatik FB 12, Elektrotechnik und Informatik Universität Siegen 14. November 2007 Was ist das Eclipse Modeling Framework (EMF)?

Mehr

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava shota.okujava@isento.de www.isento.de Beispielhaft MDSD in der Praxis Dr. Shota Okujava shota.okujava@isento.de www.isento.de Agenda Einführung Softwareentwicklungsprozess und MDSD Technologien und Werkzeuge Demo Entwicklung der Metamodelle

Mehr

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1. CARSTEN EMRATH Abschluss Diplom (FH) Fach Angewandte Informatik Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4 (SCJP) Geburtsjahr 1971 Profil-Stand Januar 2016 Triona Information

Mehr

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de

Programmieren ohne Programmierer Das GeneSEZ Generator Framework. Gerrit Beine gerrit.beine@sapat.de Programmieren ohne Programmierer Das GeneSEZ Generator Framework Gerrit Beine gerrit.beine@sapat.de Vogelperspektive Theorie: Model driven software development Praxis: Konzepte von GeneSEZ Lösungen für

Mehr

(Titel des Berichts)

(Titel des Berichts) (Titel des Berichts) Praxissemesterbericht von (Vorname Name) aus (Geburtsort) Matrikelnummer Anschrift Telefon HTW Aalen Hochschule für Technik und Wirtschaft Betreuender Professor Abgabetermin Angaben

Mehr

MODELLGETRIEBENE SOFTWAREENTWICKLUNG: ALLES UML, ODER?

MODELLGETRIEBENE SOFTWAREENTWICKLUNG: ALLES UML, ODER? 1 2 MODELLGETRIEBENE SOFTWAREENTWICKLUNG: ALLES UML, ODER? Bei modellgetriebener Softwareentwicklung werden aus kompakten Modellbeschreibungen lauffähige Softwareprogramme generiert. Solche Modellbeschreibungen

Mehr

Online Banking System

Online Banking System Online Banking System Pflichtenheft im Rahmen des WI-Praktikum bei Thomas M. Lange Fachhochschule Giessen-Friedberg Fachbereich MNI Studiengang Informatik Erstellt von: Eugen Riske Yueksel Korkmaz Alper

Mehr

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur UML-Klassendiagramme als Werkzeug im Unterricht Blitzlicht? In welcher Programmiersprache(n) unterrichten Sie?? In welchem Umfang unterrichten Sie Objektorientierung??

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle

Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Konzeption und Realisierung eines logikbasierten Anfragewerkzeugs für UML-Modelle Doktoranden-, Diplomandenseminar, Institut für Informatik, TU Clausthal 23. Juni 2009 Motivation: Modelle werden in der

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Guten Tag! CampusSource. Die CSE Integration Platform. CampusSource Engine. Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund

Guten Tag! CampusSource. Die CSE Integration Platform. CampusSource Engine. Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund Engine Die CSE Integration Platform Guten Tag! Christof Pohl Softwareentwicklung Medienzentrum Universität Dortmund Integriertes Informationsmanagement mit der Engine - A2A vs. EBI Folie 2 Integration

Mehr

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.

Software-Engineering 2. Software-Engineering 2. Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03. Software-Engineering 2 Entwicklungsumgebungen (IDE) IT works. Klaus Mairon www.mairon-online.de 22.03.2009 1 Entwicklungsumgebungen, CASE-Tools, CASE-Werkzeuge unterstützen den Software-Entwicklungsprozess

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...

Mehr

Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt

Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen. Referenten: Fabian Bartelt Jens de Witt Komponenten & Hypermedia Seminar Prof. Dr. Frank Thiesing Struts Java-Framework für Web-Applikationen Referenten: Fabian Bartelt Jens de Witt - Struts 1 Inhaltsverzeichnis Was ist Struts? Vorkenntnisse

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG Über uns Developer @ akquinet AG Marek Iwaszkiewicz marek.iwaszkiewicz@akquinet.de JBoss Compentence Center Pascal Schaerf pascal.schaerf@akquinet.de

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Programmieren in natürlicher Sprache: Automatische Code-Generierung

Programmieren in natürlicher Sprache: Automatische Code-Generierung Programmieren in natürlicher Sprache: Automatische Code-Generierung Artem Titarenko Betreut von Mathias Landhäußer IPD Tichy, Fakultät für Informatik KIT Universität des Landes Baden-Württemberg und nationales

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in

Mehr

WIRTSCHAFTSINFORMATIK

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster A platform for professional model-driven software development. Präsentation im Rahmen des Seminars Software Engineering WS 08/09 Jan Schürmeier Jan.Schuermeier@gmx.de

Mehr

Weblog. Projektdokumentation. Java NDK 2004. Fallstudie. Identifikation: ID.10000001 Status: in Arbeit Version: 00.11

Weblog. Projektdokumentation. Java NDK 2004. Fallstudie. Identifikation: ID.10000001 Status: in Arbeit Version: 00.11 Projektdokumentation Java NDK 2004 Fallstudie Identifikation: ID.10000001 Version: 00.11 Auftraggeber: Studienleitung HSZ-T, Daniel Nydegger AuftragnehmerIn: Gruppe 3 Projektteam: Madeleine Wegmann erreichbar

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML)

Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung der Graph Markup Language (GraphML) HOCHSCHULE HEILBRONN Hochschule für Technik Wirtschaft Informatik Studiengang Electronic Business (EB) Diplomarbeit (280000) Graphische Modellanalyse am Beispiel von Geschäftsprozessmodellen unter Verwendung

Mehr

Das Redaktionssystem UCMS. Beschreibung Technisches Profil

Das Redaktionssystem UCMS. Beschreibung Technisches Profil 1/6 CONTENTMANAGEMENTSYSTEM UCMS 03.12.08 Das Redaktionssystem UCMS Beschreibung Technisches Profil Das vorliegende Dokument gibt einen Überblick über das System und geht auf die Ankopplung oder Integration

Mehr

IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement

IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement IT-Projekte effektiv steuern durch Integration von Modellierung und ALM bzw. Änderungsmanagement Basierend auf einem zentralen SOA-Projekt wird die Integration von Änderungsmanagement aus dem ApplicationLifeCycle

Mehr