Lieferung 7.1 Plattformspezifische Generatortemplates für Code-Gerüst, Test, Konfiguration der Qualitätswerkzeuge

Größe: px
Ab Seite anzeigen:

Download "Lieferung 7.1 Plattformspezifische Generatortemplates für Code-Gerüst, Test, Konfiguration der Qualitätswerkzeuge"

Transkript

1 Lieferung 7.1 Plattformspezifische Generatortemplates für Code-Gerüst, Test, Konfiguration der Qualitätswerkzeuge für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket AP 7 Transformationen Arbeitspaketleitung arconsis Förderkennzeichen 01IS11012A-C Projektleitung andrena objects AG Jochen Winzen Partner andrena objects ag arconsis IT-Solutions GmbH FZI Forschungszentrum Informatik Autoren Martin Küster, Johannes Tysiak, Nikolas Herbst Lieferdatum M21 Letztes Änderungsdatum Version 1.0 Qualitätswerkzeuge 1

2 1 Einleitung Ein zentrales Element der ModAgile Werkzeugkette ist der Generator, der auf Basis der zuvor erstellten plattformunabhängigen Modelle Quellcode für die Anwendung sowie Testrümpfe und sonstige Artefakte (wie beispielsweise Konfigurationen) erstellt. Das vorliegende Dokument erläutert den Aufbau und die Struktur der gewählten Implementierung und diskutiert während der Erstellung getroffene Entscheidungen. Anschließend wird aus Sicht des Endanwenders die Nutzung des Generators innerhalb der Eclipse Entwicklungsumgebung anhand eines konkreten Beispiels veranschaulicht. 2 Umsetzung Im Folgenden wird die Werkzeugkette zur Generierung von Quellcode aus dem Anwendungs-, Domänenund Testmodellen beschrieben. Die Kette wird pro Zielplattform so konfiguriert, dass der entsprechende Zielcode entsteht. Zurzeit ist dies für die Plattformen android (in Java) und ios (in Objective-C) umgesetzt. Die gemeinsamen Bestandteile wurden so herausfaktorisiert, dass der gemeinsame Kern der technischen Infrastruktur für die jeweilige Plattform nur an wenigen Stellen angepasst werden muss. Dies bezieht sich insbesondere auf das Aufsetzen des Workflows, der die Generierung startet sowie selbstverständlich die unterschiedlichen Templates während der Code-Generierung. Abbildung 1 veranschaulicht die einzelnen Schritte der Generierung: Workflow- Instanziierung (ios / android) Modelltraversierung Quellcode- Generierung Kompilierung und Ausführung der Tests Abbildung 1 Übersicht der Schritte zur Code-Generierung Zunächst wird ein Workflow aufgesetzt, der die verschiedenen Stufen der Generierung aneinanderfügt und ausführt. Dazu wird die Eclipse-interne Modeling Workflow Engine (MWE2) verwendet. Während zu Beginn des Projekts diese Workflows als Textartefakte vorlagen, die von Hand angepasst werden mussten, um die richtigen Pfade und Generierungskomponenten zu enthalten, wird der Workflow in der aktuellen Version programmatisch angestoßen. Die Hauptkomponente, die den Startpunkt für die Traversierung des Anwendungsmodells und die nachfolgende Generierung von Quellcode darstellt, wird in diesem Workflow lediglich mit der jeweiligen Zielplattform parametrisiert. Dies ermöglicht eine einfache Erweiterung für weitere Plattformen, ohne den Kern anpassen zu müssen. Die Schritte Modelltraversierung und Codegenerierung sind danach plattformspezifisch. Für die jeweilige Ziel-IDE (Integrated Development Environment) werden die jeweiligen Anwendungsprojekte automatisch erzeugt und können danach editiert werden. Im Java- / android-fall wird aus dem Anwendungs- und Domänenmodell ein Eclipse-Projekt erstellt, das nach sehr geringen Anpassungen als android- Anwendung bereits lauffähig ist und direkt getestet werden kann. Im ios-fall wird ein Xcode-Projekt erstellt, das eine lauffähige ios-anwendung enthält. Qualitätswerkzeuge 2

3 Im letzten Schritt wird die Anwendung automatisch von der Entwicklungsumgebung übersetzt und getestet. Dies wird von der jeweiligen Entwicklungsumgebung übernommen. Die Java-Klassen im android-fall werden also genau wie der Objective-C-Code im ios-fall automatisch übersetzt und gebündelt. de.modagile.generator.ios.modeltraverser de.modagile.generator.ios org.eclipse.xtext.generator.igenerator de.modagile.generator.common de.modagile.generator.android.modeltraverser de.modagile.generator.android Injected at runtime via Google Guice Abbildung 2 Plugins, die bei der Generierung involviert sind Technisch musste die Herausforderung gelöst werden, dass das Plugin, das die allgemeinen, plattformunabhängigen Dienste erbringt (de.modagile.generator.common) nicht von den jeweiligen plattformspezifischen Generierungsplugins wissen sollte. Daher wurde die Schnittstelle, die den Code generiert (org.eclipse.xtext.generator.igenerator) von verschiedenen Klassen implementiert wird, aber die Entscheidung, welche Implementierung genutzt wird, von sogenannter dynamischer Bindung Gebrauch macht. Über das Google-Guice-Modul wird der Generator erst zur Laufzeit der Plugins injiziert. Damit haben wir erreicht, dass die Plugins unabhängig und flexibel erweiterbar sind. 2.1 Modelltraversierung und Quellcode-Generierung Die gesamte Generierungsworkflow setzt auf der Modelltraversierung auf. Modelltraversierung bedeutet, dass das vom App-Entwickler erstellte konkrete App-Modell vollständig durchlaufen wird. Bei diesem Durchgang gelangt der Modelltraverser zu allen im Modell vorhandenen Elementen. Er stößt jeweils die Generierung der Artefakte an, welche für die Plattform spezifische Realisierung benötigt werden. Das für die Generierung benötigte plattformspezifische Wissen ist in Templates, also wiederverwendbaren Codeschablonen, gekapselt. Diese Templates werden bei der Generierung durch Informationen aus dem Modell konfiguriert und verknüpft. Wie dieser Schritt unter Verwendung von Xtend2 im Detail vonstattengeht, ist in Abschnitt 2.2 beschrieben. Ein zentraler Punkt bei der Generierung aus dem App-Modell heraus ist die Organisation der generierten Artefakte. Es ist nötig, ein strukturiertes Projekt in der entsprechenden Entwicklungsumgebung für die Zielplattform neu anzulegen oder bei Neugenerierung zielgerichtet zu modifizieren und manuelle Erweiterungen zu schützen. Hierzu implementiert die JavaFileSystemAccess-Klasse des entsprechenden Generators die IFileSystemAcces-Schnittstelle mit 2 Erweiterungen, welche in Abbildung 3 dargestellt sind. Die Interfaces werden um die Funktionen generatefile(), addoutputconfiguration() und setproject() erweitert. Mit dieser Funktionalität werden die generierten Artefakte zuerst ins Dateisystem geschrieben. Hierbei wird ebenfalls Qualitätswerkzeuge 3

4 eine Ordnerstruktur angelegt, welche zum einen das App-Modell widerspiegelt, sich aber auch nach plattformspezifischen Anforderungen richtet. Anschließend wird eine Projektdatei für die entsprechende Entwicklungsumgebung entweder erzeugt, sofern noch keine vorhanden war, oder eine vorhandene modifiziert. Als Ergebnis sind in der Projektdatei alle generierten Artefakte registriert, so dass sie ohne weiteren Konfigurationsaufwand bei der Kompilierung des Projekts für die entsprechende Zielplattform mit berücksichtigt werden. Die saubere Trennung der generierten Artefakte in Projektstruktur und auf Dateisystemebene von weiteren manuellen Erweiterungen, ist ein weiterer Punkt, der bei der automatisierten Projekt-Erstellung bzw. Anpassung zu beachten ist. Auf diese Weise wird es ermöglicht, erneute Code-Generierungen und damit auch spätere Modellanpassungen in bereits existierende Projekte mit einfließen zu lassen. Damit eine Entkopplung von generierten und manuell erstellten Codeartefakten gewährleistet ist ohne die Freiheit für Erweiterungen einzuschränken, werden dem App-Entwickler gekennzeichnete Erweiterungspunkte, sog. Hooks, angeboten. «interface» IFileSystemAccess + String DEFAULT_OUTPUT = DEFAULT_OUTPUT +generatefile(string filename, CharSequence contents): void +generatefile(string filename, String outputconfiguration, CharSequence contents): void +deletefile(string filename): void «interface» IFileSystemAccessExtension +deletefile(string filename, String outputconfiguration): void «interface» IFileSystemAccessExtension2 +geturi(string filename, String outputconfiguration): URI +geturi(string filename): URI AbstractFileSystemAccess - outputs: Map<String, OutputConfiguration> - postprocessor: IFilePostProcessor + generatefile(string filename, CharSequence contents): void + deletefile(string filename): void + deletefile(string filename, String outputconfigurationname): void + geturi(string filename): URI + getoutputconfigurations() : Map<String, OutputConfiguration> + setoutputconfigurations(map<string, OutputConfiguration> outputs): void + setoutputpath(string path): void + setoutputpath(string outputname, String path): void JavaFileSystemAccess - encodingprovider: IEncodingProvider - registry: IResourceServiceProvider.Registry + generatefile(string filename, String outputconfigname, CharSequence contents): void + geturi(string filename, String outputconfiguration): URI + deletefile(string filename, String outputconfigurationname): void de.modagile.generator.common - project: IProject - monitor: IProgressMonitor JavaFileSystemAccess2 + generatefile(string filename, String outputconfigname, CharSequence contents): void + addoutputconfiguration(outputconfiguration newoutputconf): void + setproject(iproject project): void Abbildung 3 Schnittstellen zum Speichern von generierten Dateien Qualitätswerkzeuge 4

5 2.2 Struktur der Templates und M2T-Transformationen mit Xtend2 Abbildung 4 und Abbildung 5 geben einen Überblick über die plattformspezifische Struktur der Templates in den jeweiligen Codegeneratoren. So werden in beiden Fällen zum Beispiel Templates für die Synchronisierungsfunktionalität und für Konstanten angeboten. In der Struktur der Templates beider Generatoren ist auch das MVC (modell/view/control) Architekturpattern erkennbar. Im Gegensatz dazu sind die Templates unter modagile.appdelegate zum Beispiel plattformspezifisch. Diese werden lediglich in ios-anwendungen als Programmeinstiegspunkt benötigt. Abbildung 4: Templatestruktur ios Generator Abbildung 5: Templatestruktur Android Generator Die Templates sind in der Xtend Sprache realisiert. Xtend2 ist eine statisch getypte Programmiersprache, welche sich zu Java Quellcode übersetzen lässt und auf Xtext aufbaut. Xtext selbst bietet Unterstützung beim Erstellen von domänenspezifischen Sprachen. Mit Xtend2 als Werkzeug ist es also möglich, auf einer hohen Abstraktionsebene die einzelnen Modellelemente mit den plattformspezifischen Artefakten zu verweben und die Erzeugung von lauffähigem Quellcode anzustoßen. Qualitätswerkzeuge 5

6 3 Erstellung einer Beispiel-App Die im Rahmen des Projekts ModAgile Mobile entwickelte Werkzeugkette integriert sich nahtlos in die Eclipse Entwicklungsumgebung. Die Installation kann über den Eclipse-spezifischen Update- Mechanismus P2 erfolgen. Hierzu steht eine Eclipse Update Site zur Verfügung. Die Installation der ModAgile Mobile Werkzeugkette wird auf den Webseiten des Projektes unter folgendem Link erklärt: Neben den ModAgile Mobile Werkzeugen müssen zudem noch die herkömmlichen Werkzeuge für plattformspezifische Entwicklung von mobilen Anwendungen (u.a. Android SDK für Android und Xcode für ios) installiert werden. 3.1 Modellbearbeitung Als erster Schritt muss ein neues Eclipse-Projekt erstellt werden, dass die Modelle für die zu entwickelnde Anwendung enthält. In diesem neuen Projekt können über den New-Wizard nun leere Modelle für die weitere Arbeit angelegt werden. Als erstes Modell sollte das App-Model angelegt werden (über File -> New -> Other -> Example EMF Model Creation Wizards -> App Model). Zunächst muss nun der Dateiname für die Modelldatei angegeben werden. Anschließend wird das Mobile App Element als Model Object ausgewählt. Das App Model ist nun initial angelegt. Eine grafische Repräsentation des Screenflow-Modells kann in ähnlicher Form über einen Wizard initialisiert werden (File -> New -> Other -> Examples -> modagil Diagram). Abbildung 6: App Model Wizard Qualitätswerkzeuge 6

7 Neben den App- und Screenflow-Modellen ist ein Domänenmodell erforderlich, das die Entitäten und Relationen aus der Anwendungsdomäne beschreibt. Für die ModAgile Werkzeugkette wurde hierzu kein eigenes Metamodell erzeugt. Anstatt dessen wird das Ecore Metamodell aus dem Eclipse Modeling Project wiederverwendet, das sich in vielen Bereichen als de facto Industriestandard etabliert hat und für das bereits eine Reihe von geeigneten Editoren existiert. Für eine detaillierte Beschreibung der verwendeten Metamodelle sei an dieser Stelle lediglich auf die Dokumentation der jeweiligen Metamodelle verwiesen. Im Folgenden wird ein kurzer Überblick über die zuvor genannten Modelle gegeben. Die dabei verwendeten Screenshots zeigen das Simple App Modell, das für den schnellen Einstieg als fertiges Beispielprojekt im Download-Bereich der Projektwebsite heruntergeladen werden kann. Abbildung 7: App Model Das App-Modell (siehe Abbildung 7) repräsentiert unter anderem die UI-Elemente der zu generierenden Applikation. Das Storyboard definiert einzelne Screens der Anwendung und den dazugehörigen Screenflow. Im Binding Repository werden Display-Elemente an Attribute von Domänenentitäten gebunden. Im Complex Display Element Type Repository können komplexere Displayelemente vordefiniert werden, die später innerhalb von Screens instanziiert werden können. Qualitätswerkzeuge 7

8 Abbildung 8: Graphischer Screenflow Editor Neben der Darstellung im Baum-Editor kann der Screenflow des App-Modells auch in einem graphischen Editor angezeigt und bearbeitet werden. Im gezeigten Beispiel ist ein Screen mit einer dynamischen Liste zu sehen. Abbildung 9: Ecore Domänenmodell Abbildung 9 zeigt das Domänenmodell der Anwendung als Ecore-Repräsentation. Es kann sowohl im baumbasierten Editor als auch in einem graphischen Ecore-Editor dargestellt werden. Qualitätswerkzeuge 8

9 3.2 Anwendungsgenerierung Um aus den zuvor beschriebenen Modelldateien den Rumpf einer mobilen Anwendung zu genieren, muss das App-Modell geöffnet werden. Im Baumeditor muss nun der oberste Knoten geöffnet werden, so dass das Modellelement Mobile App sichtbar ist. Mit einem Rechtsklick auf das Mobile App Element können die Funktionen Generate App (für Android) und Generate App ios (für ios) ausgeführt werden Android-Generierung Der Generator für Android produziert zunächst zwei neue Eclipse-Projekte. Das Projekt mit dem im App- Modell konfigurierten Namen ist das eigentliche Anwendungsprojekt. Das Projekt com.actionbarsherlock beinhaltet Kompatibilitätsbibliotheken, die die Funktionalitäten der ActionBar aus Android 3.0 (und größer) auch für vorhergehende Android-Versionen zur Verfügung stellt. Dieses Projekt muss in der Regel nicht mehr editiert werden. Das Anwendungsprojekt enthält einen Ordner src-gen, in dem sich die generierten Klassen befinden. Inhalte dieses Ordners werden bei jedem Generierungsvorgang vollständig überschrieben. Aus diesem Grund dürfen innerhalb dieses Ordners keine manuellen Anpassungen erfolgen. Im Verzeichnis src-man befindet sich manuell geschriebener Code. Daneben werden einmalig in dieses Verzeichnis Hooks generiert, die es ermöglichen, manuell geschriebenen Code im Framework-Code zu verankern. Hier lassen sich unter anderem die Lifecycle-Methoden überschreiben. Qualitätswerkzeuge 9

10 Abbildung 10: Generierte Android-Projekte in Eclipse Das so generierte Projekt lässt sich bereits in diesem initialen Zustand als Android-Anwendung ausführen und auf Geräten installieren ios-generierung Der Generator für ios-projekte ist zum Zeitpunkt der Erstellung dieses Dokuments noch nicht so weit entwickelt wie der Android-Generator. Bei der Generierung für ios wird ein ios-projekt erstellt, das gleichzeitig auch als Eclipse-Projekt geladen werden kann. Die eigentliche Entwicklung für ios muss jedoch in der Apple Xcode-Entwicklungsumgebung fortgesetzt werden, da zum momentanen Zeitpunkt für Eclipse kein Compiler und/oder Simulator für ios-projekte existiert. Das generierte Projekt lässt sich direkt als Projekt in XCode importieren. Wie beim Android-Projekt werden auch für ios die generierten Klassen in ein eigenes Verzeichnis abgelegt, das bei jedem Generierungsvorgang vollständig überschrieben wird. Im Gegensatz zu Android- Projekten gibt es bei Xcode-Projekten keinen direkten Zusammenhang zwischen der Struktur im Dateisystem und der logischen Projektstruktur in der Entwicklungsumgebung. Um dennoch generierten Code von manuell erstelltem Code unterscheiden zu können, werden generierte Klassen in eine eigene logische Projektgruppe ( Group ) abgelegt, so für den Entwickler die Art des Codes (generiert vs. nicht Qualitätswerkzeuge 10

11 generiert) zu jedem Zeitpunkt klar ersichtlich ist. Auch das generierte ios-projekt ist nach der initialen Generierung bereits ausführbar. 4 Fazit Im Rahmen von Arbeitspaket 7 ist ein Generatorwerkzeug für die Generierung von Android- und ios- Projekten, -Quellcode, -Testrümpfen und weiteren Artefakten entstanden. Ein Fokus der gewählten Implementierung liegt auf der Erweiterbarkeit der Generatoren für weitere Plattformen. So ist zukünftig (nach Abschluss des Projektes) eine Anbindung anderer mobiler Plattformen, wie beispielsweise Windows Phone oder Blackberry, vorstellbar. Durch die Integration des Generators in die Eclipse Entwicklungsumgebung, für die auch die Modelleditoren erstellt wurden, ist eine durchgängige Werkzeugkette für das Erstellen und Bearbeiten von Modellen, sowie für die Code-Generierung entstanden. Die Bedienung des Generators ist möglichst intuitiv gehalten, so dass eine hohe Entwicklungseffizienz für die plattformübergreifende Softwareentwicklung für mobile Plattformen geschaffen wurde. Qualitätswerkzeuge 11

Lieferung 4.2 Entwicklungsumgebung für die Integration von der modellgetriebenen Entwicklung in den Entwicklungszyklus

Lieferung 4.2 Entwicklungsumgebung für die Integration von der modellgetriebenen Entwicklung in den Entwicklungszyklus Lieferung 4.2 Entwicklungsumgebung für die Integration von der modellgetriebenen Entwicklung in den Entwicklungszyklus für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile

Mehr

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen

Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen Lieferung 7.2 Werkzeugintegration/- kette mit Konfiguration für automatisiertes Build und Testen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket

Mehr

Lieferung 8.1 DSL und Generator für automatisierte Unit- und Akzeptanz-Tests

Lieferung 8.1 DSL und Generator für automatisierte Unit- und Akzeptanz-Tests Lieferung 8.1 DSL und Generator für automatisierte Unit- und Akzeptanz-Tests für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket AP 8 Test- und

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

Lieferung 8.2 Erweiterung von ISIS um Metriken auf der Modell-Ebene

Lieferung 8.2 Erweiterung von ISIS um Metriken auf der Modell-Ebene Lieferung 8.2 Erweiterung von ISIS um Metriken auf der Modell-Ebene für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket AP 8 Test- und Qualitätssicherungsumgebung

Mehr

Lieferung 4.3 Entwicklungsprozess für mobile Anwendungen

Lieferung 4.3 Entwicklungsprozess für mobile Anwendungen Lieferung 4.3 Entwicklungsprozess für mobile Anwendungen für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket Arbeitspaketleitung Förderkennzeichen

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

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode

Mehr

Lieferung 8.3 Erweiterung von USUS um Metriken auf der Modell-Ebene

Lieferung 8.3 Erweiterung von USUS um Metriken auf der Modell-Ebene Lieferung 8.3 Erweiterung von USUS um Metriken auf der Modell-Ebene für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile) Arbeitspaket AP 8 Test- und Qualitätssicherungsumgebung

Mehr

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Datenhaltung für Android Model First 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Agenda Datenhaltung in Android Motivation / Projektziele Projekt Umsetzung Stand der Entwicklung Fazit 2 Datenhaltung

Mehr

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de

Innovator 2007. Anbindung an openarchitectureware. Connect. Klaus Weber. www.mid.de Innovator 2007 Anbindung an openarchitectureware Klaus Weber Connect www.mid.de Anbindung an openarchitectureware (oaw) Wozu dient die Anbindung an openarchitectureware? Für Innovator Object excellence

Mehr

Anleitung zur Webservice Entwicklung unter Eclipse

Anleitung zur Webservice Entwicklung unter Eclipse Entwicklungsumgebung installieren Sofern Sie nicht an einem Praktikumsrechner arbeiten, müssen Sie ihre Eclipse-Umgebung Webservice-fähig machen. Dazu benötigen Sie die Entwicklungsumgebung Eclipse for

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

Software Engineering II

Software Engineering II Software Engineering II Wintersemester 12/13 Fachgebiet Software Engineering Installation der MWE Plugins Von der Juno Update Site installieren (falls noch nicht vorhanden): MWE SDK Xpand SDK 2 TFD Projekt

Mehr

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold

Codegeneratoren mit Xtend2. 11.04.2012, A. Arnold Codegeneratoren mit Xtend2 11.04.2012, A. Arnold Copyright 2012 anderscore GmbH Inhalt 1. Was ist Xtend2? 2. Xtend2 Konzepte 3. Hands On! 3 4 8 20 2 Was ist Xtend2? Funktionale, objektorientierte Sprache

Mehr

Graphischer Editor für die technologieunabhängige User Interface Modellierung

Graphischer Editor für die technologieunabhängige User Interface Modellierung Universität Augsburg Lehrstuhl für Softwaretechnik und Programmiersprachen Prof. Dr. Bernhard Bauer Praktikum Modellgetriebene Softwareentwicklung SS 2008 Graphischer Editor für die technologieunabhängige

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg

Modellgetriebene Softwareentwicklung von mobilen Anwendungen. Gabriele Taentzer WS 2014/15 Philipps-Universität Marburg Modellgetriebene Softwareentwicklung von mobilen Anwendungen WS 2014/15 Philipps-Universität Marburg Organisation der LV Umfang: 6 SWS, 9 ECTS Punkte Veranstalter:, Daniel Strüber, Steffen Vaupel Kontakt:

Mehr

Fork Leitfaden. BibApp Android

Fork Leitfaden. BibApp Android Fork Leitfaden BibApp Android letzte Aktualisierung: 24. April 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 2 2 Eclipse Projekt 2 3 Abhängigkeiten 2 4 Konfiguration 3 4.0.1 Paketname...............................

Mehr

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS DIPL.-WIRT.INFORM. HENNING HEITKÖTTER PRAKTISCHE INFORMATIK, UNIVERSITÄT MÜNSTER 1 GEGENÜBERSTELLUNG NATIVE VS. PLATTFORMÜBERGREIFENDE ENTWICKLUNG 2 ENTWICKLUNGSANSÄTZE

Mehr

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Individuelle Erweiterung des generierten Codes. 16. Januar 2013 Individuelle Erweiterung des generierten Codes 16. Januar 2013 Überblick Welche Möglichkeiten zur individuellen Erweiterung von generiertem Code gibt es? Innerhalb eines Moduls (Klasse) Auf Modulebene

Mehr

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren 1 32- oder 64-bit Windows feststellen In den nachfolgenden Schritten ist es nötig, dass Sie wissen, ob Sie

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

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Modellgetriebene Softwareentwicklung bei der IBYKUS AG

Modellgetriebene Softwareentwicklung bei der IBYKUS AG Modellgetriebene Softwareentwicklung bei der IBYKUS AG Theorie Teil 4: Domänenspezifische Sprachen Dr. Steffen Skatulla IBYKUS AG 1 Inhalt Teil 4: Domänenspezifische Sprachen Nutzung vorhandener Sprachen

Mehr

APPS FÜR ANDROID ENTWICKELN

APPS FÜR ANDROID ENTWICKELN jan TITTEL jochen BAUMANN ELL N H C S IEG T S N I E APPS FÜR ANDROID ENTWICKELN AM BEISPIEL EINER REALEN APP Inhalt 1 Einführung.............................................. 1 1.1 Die Android-Plattform.................................................

Mehr

Grundlagen der Informatik Übungen 1.Termin

Grundlagen der Informatik Übungen 1.Termin Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen

Mehr

Techniken der Projektentwicklung

Techniken der Projektentwicklung Tools Kalenderwoche 43 Tools für die Softwareentwicklung Shell auf bash einstellen Tools in.bashrc eintragen mit Staroffice mit L A TEX Eclipse UML Modellierung Versionsverwaltung mit CVS CVS und Eclipse

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling)

1. BlueJ installieren (nach dem Buch Java lernen mit BlueJ von David J. Barnes; Michael Kölling) 1. BlueJ installieren... 1 2. BlueJ auf die deutsche Version umstellen... 1 3. BlueJ Extensions... 2 a. Klassenkarte... 2 i. UML Extension... 2 ii. Klassenkarte zum Schulbuch... 3 b. CNU BlueJ Code Formatter...

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

Software Engineering I

Software Engineering I Software I Übungsblatt 1 + 2 Claas Pinkernell Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Welche Werkzeuge? Programmiersprache Java Integrierte Entwicklungsumgebung Eclipse

Mehr

ECLIPSE PLUG-IN. Redwood Anwendertage 2015

ECLIPSE PLUG-IN. Redwood Anwendertage 2015 ECLIPSE PLUG-IN Redwood Anwendertage 2015 Übersicht Was ist Eclipse? Welche Voraussetzungen benötige ich? Wie wird das Plug-In installiert Welche Konfigurationen sind sinnvoll? Tipps & Tricks Was ist Eclipse

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Lieferung 5.3 Integrierter agiler Prozess zur modellgetriebenen Software-Entwicklung mit Werkzeugunterstützung

Lieferung 5.3 Integrierter agiler Prozess zur modellgetriebenen Software-Entwicklung mit Werkzeugunterstützung Lieferung 5.3 Integrierter agiler Prozess zur modellgetriebenen Software-Entwicklung mit Werkzeugunterstützung für das BMBF-Projekt Modellgetriebene agile Entwicklung für mobile Anwendungen (ModAgile Mobile)

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

3 Die Zielplattformen

3 Die Zielplattformen 21 In diesem Kapitel werden Sie das Aufsetzen der Entwicklungsumgebungen der verschiedenen Smartphone-Systeme kennenlernen. Jede Smartphone-Plattform stelle ich Ihnen dabei in einem eigenen Unterkapitel

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Code generieren mit Eclipse und oaw HowTo

Code generieren mit Eclipse und oaw HowTo Innovator 11 excellence Code generieren mit Eclipse und oaw Eclipse und oaw konfigurieren und zur Code-Generierung mit xpand-schablonen nutzen Albert Scheuerer, René Beckert HowTo www.mid.de Inhaltsverzeichnis

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Einführung in Maven und GWT

Einführung in Maven und GWT Einführung in Maven und GWT Prof. Christoph Knabe Beuth-Hochschule Berlin 08.05.2014 Gliederung Motivation für Build-Werkzeug Maven-Ziele, Begriffe Maven-Benutzung in 5 min Maven-Vorteile GWT-Ziele GWT-Projekt

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b. jcreator Seite 1 JCreator (Windows) 1. Installation Die wichtigsten Installationsschritte: A) Java 2 Development Kit J2SE 5.0 RC installieren. Die aktuelle Installationsdatei (jdk-1_5_09-rc-windows-i586.exe)

Mehr

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b.

B) Klassenbibliotheken Turtle und Util (GPanel, Console) installieren Ein Unterverzeichnis classes auf der Festplatte erstellen, z.b. jcreator Seite 1 JCreator (Windows) JCreator ist eine einfache, schnelle und effiziente Java-DIE. Eine gratis Testversion sowie eine academic Lizenz für $35.- kann von der Website www.jcreator.com heruntergeladen

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

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

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

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

Master Projekt SoSe 2015. Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr.

Master Projekt SoSe 2015. Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr. Master Projekt SoSe 2015 Computergestützte Generierung und Validierung von Softwaremodellen Nazila Gol Mohammadi Prof. Dr. Maritta Heisel Universität Duisburg-Essen, Fakultät für Ingenieurwissenschaften,

Mehr

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05.

IT Engineering Continuous Delivery. Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet. Alexander Pacnik Karlsruhe, 20.05. IT Engineering Continuous Delivery Development Tool Chain Virtualisierung, Packer, Vagrant und Puppet Alexander Pacnik Karlsruhe, 20.05.2014 Einleitung... worum es in diesem Vortrag geht Ziele Continuous

Mehr

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

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7.

Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7. Experiences with Model Driven Software Development Creating the Palladio Tool Chain Eclipse Application Developer Day 7. July, 2009 WIR FORSCHEN FÜR SIE Dr.-Ing. Steffen Becker sbecker@fzi.de Abteilungsleiter

Mehr

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java

Hochschule Niederrhein Grundlagen der Prof. Dr. Nitsche Fachbereich 03 Java Programmierung Bachelor Informatik SS 2015 Übung 1. Grundlagen von Java Grundlagen von Java Aufgabe 1: Typen und Zuweisungen in Java Welche der folgenden Java-Anweisungen sind fehlerhaft? Handelt es sich um einen Compiler- oder einen Laufzeitfehler? Anmerkung: Folgefehler

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

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

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

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

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Eclipse und Java Einheit 01: Einführung in Eclipse

Eclipse und Java Einheit 01: Einführung in Eclipse Eclipse und Java Einheit 01: Einführung in Eclipse Laith Raed Ludwig-Maximilians-Universität München Institut für Informatik: Programmierung und Softwaretechnik Prof.Wirsing Inhaltsverzeichnis 1 Hintergrundwissen

Mehr

Gruppe: Swp-11-1 Projektleiter: Martin Walther Stand: 11.05.2011. Pflichtenheft. Bearbeiter: Sebastian Dorn. 1 Zielbestimmungen 2.

Gruppe: Swp-11-1 Projektleiter: Martin Walther Stand: 11.05.2011. Pflichtenheft. Bearbeiter: Sebastian Dorn. 1 Zielbestimmungen 2. Pflichtenheft Bearbeiter: Sebastian Dorn Inhaltsverzeichnis 1 Zielbestimmungen 2 2 Produktübersicht (Soll-Ist-Vergleich) 2 3 Produktfunktionen 2 3.1 Grundsätzliche Änderungen.................................

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

Magento Theming Ein Einstieg Rainer Wollthan

Magento Theming Ein Einstieg Rainer Wollthan Magento Theming Ein Einstieg Rainer Wollthan Überblick Vorbereitung Datei Struktur Adminbereich Layout XML Block Template Magento Theming macht Spaß! Vorbereitung Produkte Marketingmaßnahmen Design Länder

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr

Java-basierten Web Service erstellen

Java-basierten Web Service erstellen Java-basierten Web Service erstellen Einleitung Dieses Tutorial zeigt, wie der Web Service AutoKauf erstellt werden kann. Dieser Web Service bildet die Grundlage für alle anderen Tutorials. Deshalb ist

Mehr

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH

Thomas Freitag achelos GmbH SmartCard-Workshop. 1 2012 achelos GmbH Thomas Freitag achelos GmbH SmartCard-Workshop 2012 1 2012 achelos GmbH Übersicht 1. 2. 3. 4. 5. 6. 7. Einführung / Motivation Historie des Testens Schnittstellen im Testbereich Eclipse Plugins Automatisierung,

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

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.

KNX BAOS Gadget. Installations- und Bedienanleitung. WEINZIERL ENGINEERING GmbH. DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl. Installations- und Bedienanleitung DE-84508 Burgkirchen E-Mail: info@weinzierl.de Web: www.weinzierl.de 2013-08-12 Seite 1/6 Inhaltsverzeichnis 1. BESCHREIBUNG... 3 2. SYSTEMVORAUSSETZUNGEN... 3 3. INSTALLATION...

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES

If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES If knowledge matters DOKUMENTENERSTELLUNG MIT SHAREPOINT LIBRARIES Das Erstellen von Dokumenten mit Sharepoint Libraries bietet eine Reihe von Vorteilen gegenüber der traditionellen Arbeitsweise und dem

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann Andreas Ditze MID GmbH Kressengartenstraße 10 90402 Nürnberg a.ditze@mid.de Abstract: Data Lineage

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung in die Cross-Plattform Entwicklung Das Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK vertraut. Es wird Schritt für Schritt die erste eigene Hybrid-App entwickelt

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme

EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme Prof. Dr.-Ing. habil. Alois Knoll (k@tum.de) Lehrstuhl für Echtzeitsysteme und Robotik Institut für Informatik Technische Universität

Mehr

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18

UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 UI-Testing mit Microsoft Test Manager (MTM) Philip Gossweiler / 2013-04-18 Software Testing Automatisiert Manuell 100% 70% 1 Überwiegender Teil der Testing Tools fokusiert auf automatisiertes Testen Microsoft

Mehr

"Modellieren geht über Codieren": Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1

Modellieren geht über Codieren: Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1 "Modellieren geht über Codieren": Willkommen zu SE-Vertiefung! (c) schmiedecke 14 SE3-1-Einführung 1 Dürfen wir uns vorstellen? Ilse Schmiedecke Diplom an der TU Berlin 1976 (!!!) Forschungsarbeiten in

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

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

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline SZM Mobile Applications INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline GmbH Forum Bonn Nord Brühler Str. 9 53119 Bonn Tel.: +49 (0) 228 / 410 29-77 Fax: +49

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina

Ajax & GWT. Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax & GWT Kurs: User Interfaces und ihre Evaluierung Dozent: Manfred Thaller WS 2012/2013 Referent: Rafael Kalina Ajax Technisches Verfahren, bei dem Browser aktualisierte Inhalte nicht mehr synchron

Mehr

Erste Schritte zum lauffähigen Java Programm

Erste Schritte zum lauffähigen Java Programm Erste Schritte zum lauffähigen Java Programm Diese kleine Einführung ist eine Hilfe für Studenten der Vorlesung SWT I zur Meisterung der sich ergebenden Hürden bei der Erstellung eines ersten kleinen Java-Programms.

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

AVR-Programmierung unter Mac OSX

AVR-Programmierung unter Mac OSX AVR-Programmierung unter Mac OSX im Studiengang BEL3 Lehrveranstaltung Embedded Systems Tutorial ausgeführt von: Jürgen Hausladen A-2460 Bruck/Leitha, Obere Neugasse 6 Wien 01.02.2011 Inhaltsverzeichnis

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark

Maven Tycho. Google Guice. Mylyn für Modelle. 7. bis 11. November 2011. www.jax.de. Eclipse meets. Plus CD! The Westin Grand München Arabellapark M Plus CD! JE TZ ER T N! 4.11 Deutschland 9,80 Österreich 10,80, Schweiz sfr 19,20 4.2011 KE Neue Serie: The Making of an Eclipse Project eclipse magazin VO R The Westin Grand München Arabellapark Anmeldung

Mehr