Modulare und flexible Entwicklung grafischer Benutzeroberflächen

Größe: px
Ab Seite anzeigen:

Download "Modulare und flexible Entwicklung grafischer Benutzeroberflächen"

Transkript

1 Modulare und flexible Entwicklung grafischer Benutzeroberflächen Sebastian Damm Fachhochschule Aachen Fachbereich Elektrotechnik und Informationstechnik Eupener Straße 70, Aachen Abstract. Die vorliegende Ausarbeitung beschäftigt sich mit der modularen und flexiblen Entwicklung grafischer Benutzeroberflächen. Die Vielfalt an Plattformen, auf denen heutzutage Software zu finden ist, erschwert zunehmend die Softwareentwicklung. Dem soll mittels abstrakter Beschreibungssprachen Abhilfe geschaffen werden, indem die Art der Interaktion ohne Kenntnis über die spätere Implementierung und Zielplattform beschrieben wird. So sollen sich Oberflächen unabhängig von ihrer Zielplattform designen lassen. 1 Einleitung Seit es grafische Benutzeroberflächen (engl. Graphical User Interfaces, kurz: GUIs) gibt, ist deren Gestaltung ein zentraler Aspekt in der Entwicklung von Software. In den Anfängen der GUIs war es noch recht einfach, diese zu designen, da nur einzelne Plattformen (bezüglich Betriebssystemen und Hardwarebauformen) existierten. In den letzten Jahren entstand und entsteht immer noch eine stetig wachsende Zahl von Rechen- und Betriebssystemen sowie insbesondere neuer Geräteklassen. Mit der voranschreitenden Entwicklung fügten sich Mobiltelefone, persönliche digitale Assistenten (PDAs), Smartphones und Tablet PCs als Zielplattformen hinzu (siehe Abbildung 1). Auch Embedded Systeme wie PCs im Auto sind durch ihre abweichenden Displaygrößen und Eingabemöglichkeiten wie z.b. (Multi-)touch als neu anzusehen ([vgl. 2]). Dies hat dazu geführt, dass die Entwicklung von Software zu einem immer komplexeren Prozess wird. Dem Benutzer muss es möglich sein, nahtlos zwischen verschiedenen Geräten zu wechseln und dabei dennoch die gleichen Informationen und Dienste unabhängig von der gewählten Plattform konsumieren zu können (vgl. [5,6]). Die Herausforderung auf Seite der Entwickler besteht darin, ein und dieselbe Applikation in verschiedenen Versionen für unterschiedliche Geräte bereitzustellen. Soll eine Software multiplattformfähig sein, muss dafür gesorgt werden, dass Benutzerschnittstellen auf allen Zielplattformen über eine angemessene Darstellung verfügen. Es ist dabei wichtig, Bildschirmgrößen bzw. Auflösungen hinreichend zu

2 beachten, Farbschemata dem Kontext anzupassen, adäquate Eingabemethoden zu wählen und die gesamte Interaktion auf das genutzte Endgerät optimiert auszurichten. Bei Interaktion müssen nicht nur konkrete Objekte wie Steuerelemente, sondern auch abstrakte Dinge wie der Nutzungskontext betrachtet werden (vgl. [3]). Diese haben eminenten Einfluss darauf, wie eine Benutzeroberfläche zu gestalten ist. Aus der Darstellung einer Software folgen auch unmittelbar Aspekte der Benutzbarkeit (engl. Usability). So spielt zum Beispiel die Erwartungskonformität dabei eine große Rolle (vgl. [4]). Eine Applikation sollte für den Nutzer möglichst intuitiv und nah an dem sein, was er von seiner gewählten Plattform gewohnt ist, wie zum Beispiel native Apps für Apples IOS oder Googles Android, für die es Designrichtlinien und best Practices gibt, deren Einhaltung zu einer homogenen Landschaft an Apps (innerhalb der jeweilige Plattform) führt. Dem Nutzer wird ein hoher Wiedererkennungswert geboten, so dass er sich intuitiv in einer neuen App und deren Bedienkonzept zurechtfindet. Die Konzentration auf eine Zielplattform erweist sich als wenig praktikabel, da nur Teile des Marktes durchdrungen und andere außer Acht gelassen werden. Die individuelle Entwicklung diverser GUIs für die einzelnen Plattformen ist jedoch zeitaufwendig und kostspielig. Es ist von daher erstrebenswert, Oberflächen auf einer abstrakten Ebene zu beschreiben und aus einer solchen Metasprache möglichst einfach in konkrete Oberflächen zu überführen. Natürliche Sprache ist dafür wenig geeignet, da sie vielseitig interpretierbar, lang und ungenau ist. Bei der Nutzung von abstrakten Beschreibungssprachen kommt es darauf an, die Nutzerschnittstellen zu beschreiben ohne eine konkrete Implementierung vorzugeben. Um dies umzusetzen, muss der Code, der die Oberflächen beschreibt möglichst gut von der Applikationslogik getrennt werden (vgl. [1,7,5]). Bei Geräten, die keine Touchinteraktion bieten, macht eine Gestensteuerung wie zum Beispiel Pinch-to-Zoom keinen Sinn. Hingegen könnte ein dedizierter Hardwarebutton dafür existieren, der die Aktion ausführt. Was also in diesem Falle beschrieben werden muss, ist die abstrakte Aktion des Zoomens und nicht deren konkrete Umsetzung. So können auch neue, bisher noch nicht vorhandene/entwickelte Eingabemethoden abgedeckt werden, die in zukünftigen Systemen existieren könnten. Abbildung 1. Auswahl verfügbarer Rechensysteme (Quelle: [12])

3 2 Technologien In diesem Abschnitt werden Ansätze aus der Praxis vorgestellt, welche die in der Einleitung aufgezeigte Problematik angehen und zu lösen versuchen. Bei allen vorgestellten Sprachen handelt es sich um User Interface Definition Languages (UIDLs), welche im XML Format repräsentiert werden. Sie sind maschinenlesbar und dadurch besonders gut zur automatisierten Transformation geeignet. 2.1 UIML Die User Interface Markup Language (kurz: UIML) wurde 1997 in ihrer ersten Version von Abrams et al [1] propagiert. Sie befindet sich immer noch in der Entwicklung und zum Entstehungszeitpunkt dieser Arbeit liegt ihr aktuellster Entwurf in Version 4 als offener Standard der OASIS 1 vor [9]. Mit Hilfe der UIML können Designer die Benutzeroberfläche zunächst abstrakt beschreiben, um sie mittels einer so genannten Style Description auf verschiedene Betriebssysteme, Programmiersprachen und Geräte abzubilden. Dazu muss für jedes Zielsystem ein Renderer (für.net zum Beispiel [10]) existieren, der die abstrakte Beschreibung in eine konkrete transformiert. Der strukturelle Aufbau eines UIML Dokumentes ist dabei wie folgt: <?xml version="1.0"?> <!DOCTYPE uiml PUBLIC "-//OASIS//DTD UIML 4.0 Draft//EN" "http://uiml.org/dtds/uiml4_0a.dtd"> <uiml xmlns='http://uiml.org/dtds/uiml4_0a.dtd'> <head>...</head> <template>...</template> <interface> <structure> <part>...</part> </structure> <style>...</style> <layout>...</layout> <content>...</content> <behavior>...</behavior> </interface> <peers> <presentation>...</presentation> <logic>...</logic> </peers> </uiml> 1 Organization for the Advancement of Structured Information Standards

4 Nach dem XML-Prolog folgt das Root-Element, welches alle anderen Elemente einbettet. In <head> können Metainformationen zum Modell, wie z.b. Author, Erstellungsdatum etc. angegeben werden. Der Tag <template> dient der Wiederverwendung von Elementen, die bereits beschrieben wurden. Das <interface> Element beschreibt (abstrakt) die Benutzeroberfläche. Es wird gegliedert in <structure> für die Struktur der Oberfläche, welche sich wiederum aus einzelnen <part> Elementen zusammensetzt. Die <style> Tags geben den einzelnen Parts bzw. ganzen Klassen/Familien davon verschiedene Eigenschaften und Werte vor, um diese später auf einem Gerät rendern zu können. Dabei wird für jedes Gerät bzw. jede Zielplattform ein neues, spezifisches Stylesheet angelegt. Der <layout> Tag beschreibt abstrakt, wie einzelne Elemente zu einander und im Gesamtkontext positioniert werden (z.b. zentriert, links von, o.ä.) bzw. in welcher Reihenfolge sie auftreten (z.b. bei Sprachinteraktion). Im Bereich <content> können Inhalte hinterlegt werden, wie zum Beispiel strings für Mehrsprachigkeit. Für jede Sprache würde ein eigener (benannter) Content Bereich angelegt werden, in dem die jeweiligen Werte hinterlegt sind (z.b. ja/nein und yes/no ). Die letzte große Untereinheit von <interface> ist <behavior>. Hier werden Regeln festgelegt, welche Aktionen bei Eintritt eines Ereignisses ausgelöst werden sollen. Die Verbindung zur Applikationslogik und einem spezifischen Renderer wird in <peers> hergestellt. Dabei wird zwischen Präsentation und Logik unterschieden. Im <presentation> Element wird die Verbindung zwischen den einzelnen abstrakten <part> und <behavior> (bzw. genauer deren <event>) Klassen sowie ihren Namen und einem konkreten Toolkit einer Programmiersprache in einer Art Wörterbuch erstellt. Diese Vokabulare stehen Teilweise bereits vorgefertigt zur Verfügung und können wie folgt eingebunden werden (am Beispiel von Java AWT 1.3): <presentation base="javaawt_1.3_harmonia_1.0"/> In <logic> werden schließlich die Klassen/Methoden von UIML mit denen der externen Applikationslogik verbunden. Diese kann z.b. bei 3 Schichten Architekturen in einer Middleware vorliegen, in Skripten einer Skriptsprache oder direkten Aufrufen von Objektmethoden.

5 2.2 UsiXML Bei der User Interface extensible Markup Language (kurz: UsiXML [8]) handelt es sich ebenfalls um eine XML-basierte Sprache. Der Ansatz ist jedoch eher an eine modellgetriebene Architektur (englisch: Model Driven Architecture, kurz: MDA) angelehnt. Dabei werden Modelle unterschiedlichen Abstraktionsgrades genutzt und durch Transformationen abstrahiert bzw. konkretisiert. Außerdem können Artefakte auf gleicher Abstraktionsebene mittels Translation auf einen anderen Nutzungskontext abgebildet werden. Man stützt sich dabei auf das Cameleon Reference Framework [12] in einer vereinfachten Version: Abbildung 2. Cameleon Reference Framework (Quelle: [8]) Tasks und Concepts beschreiben Aufgaben die der Benutzer durchführen kann und domänenspezifische Objekte die dafür benötigt werden. Durch Reifikation wird daraus ein Abstract UI erzeugt. Eine solche abstrakte Oberfläche ist unabhängig von ihrem Nutzungskontext und gruppiert (Sub-)Tasks nach vorgegebenen Kriterien, legt den Kontrollfluss fest und wählt abstrakte Interaktionsobjekte (AOIs) aus. Durch weitere Konkretisierung erhält man aus dem Abstract UI ein Concrete UI. Diese zieht nun auch den Nutzungskontext in Betracht, ist jedoch weiterhin unabhängig von der Plattform. Es werden Steuerelemente bzw. deren Typen (Concrete Interaction Objects, kurz: COIs) festgelegt und es entsteht ein genaues Bild der finalen Oberfläche, ohne jedoch die Plattform festzulegen. Schließlich gibt es das Final UI, welches der endgültigen Oberfläche entspricht, so wie sie auf einer konkreten Plattform läuft. Es gibt dabei die Möglichkeit der Interpretation (z.b. durch einen Browser) oder der direkten Ausführung (nach Kompilierung).

6 Zwischen allen benachbarten Modellen kann statt der Reifikation auch eine Abstraktion durchgeführt werden um aus einer konkreteren Darstellung zu einer Allgemeineren zu gelangen (vgl. [8]). In Abbildung 3 sind die Transformationen zwischen den Modellen beispielhaft für den Download einer Datei dargestellt. Abbildung 3. Beispiel der Transformationen (Quelle: [8]) Wie in Abbildung 3 erkennbar, lassen sich die vier Abstraktionslevel jeweils in zwei Sublevel unterteilen. Das FUI ist auf unterster Ebene das Rendering, welches durch Code ausgedrückt wird. Im CUI werden konkrete Interface Objekte dargestellt, sowie genereller deren Typen. Abstrakte Interface Objekte lassen sich beispielsweise konkretisieren zu Soft- und Hardware AIOs. Auf höchster Ebene werden die Aufgaben und die dazugehörigen Objekte dargestellt. An obigem Beispiel lässt sich außerdem gut erkennen, dass man ein Final UI in ein anderes überführen kann, indem man zunächst z.b. vom konkreten HTML Button abstrahiert bis hin zum Control AIO um anschließend zu einem Function Key zu reifizieren, um so eine Umsetzung auf einer anderen Plattform anzugehen. 2.3 XIML Die letzte betrachtete Beschreibungssprache ist die extensible Interface Markup Language (kurz: XIML [3]). Auch sie versucht, Interaktion möglichst allgemein und abstrakt zu repräsentieren. Die erste Version nutzt dazu 5 Grundkomponenten, von denen 3 der Abstrakten Beschreibung und 2 der konkreten Implementierung dienen. Der Task beschreibt einen Business-Prozess oder einen User-Task, den Fluss zwischen diesen, sowie zugehörige Attribute. Dabei werden jedoch nur die Aufgaben betrachtet, die Benutzerinteraktionen benötigen. Beispiele für solche Aufgaben könnten zum Beispiel Karte ansehen oder Datum eingeben sein. Die Domain enthält Datenobjekte und Klassen von Objekten in hierarchischer Struktur, ähnlich einer Ontologie. Sie werden als paare von Attributen und Werten

7 definiert. Relevant sind auch hier nur solche Objekte, die vom Nutzer angesehen oder bearbeitet werden. Die User Komponente ist ebenfalls als Hierarchie strukturiert und enthält Nutzer in Form eines Baumes. Ein Nutzer kann dabei eine einzelner Benutzer oder eine Benutzergruppe sein. Paare von Attributen und Werten charakterisieren die Benutzer, allerdings wird dabei nicht auf geistige Fähigkeiten eingegangen, sondern nur auf für das Design relevante Dinge. Die Presentation enthält Interaktionselemente, also konkrete Elemente, mit denen der Nutzer interagiert, wie zum Beispiel ein Fenster, ein Button oder komplexere Steuerelemente. Allerdings sollte auch hier nach Möglichkeit eine abstrakte Form gewählt werden, um das Rendering komplett dem Zielsystem überlassen zu können. Zuletzt gibt es noch den Dialog, welcher eine Sammlung von Aktionen beschreibt, die dem Nutzer zur Verfügung stehen. Beispiele dafür sind Klick, Geste oder Sprachausgabe. Außerdem beinhaltet der Dialog den Navigationsfluss. Insgesamt ähnelt der Dialog sehr dem Task, ist allerdings im Gegensatz zu diesem nicht abstrakt sondern konkret. Neben den Komponenten existieren in XIML Relationen (Relations) zwischen diesen. Dabei können Relationen zwischen zwei oder mehr Elementen vorkommen und innerhalb einer Komponente, oder zwischen verschiedenen Komponenten vorliegen. Ein Beispiel ist: Datentyp A wird durch Präsentationselement B oder Präsentationselement C dargestellt. (vgl. [3]) Das letzte Konstrukt sind die Attribute (Attributes), welche Merkmale bzw. Eigenschaften von Elementen darstellen. Sie liegen als Key-Value Paare vor. Die Entwicklung für mehrere Zielplattformen wird durch die strikte Trennung von Definition eines Interfaces und seinem Rendering erreicht. Das Rendering ist Plattformspezifisch und wird direkt auf dieser ausgeführt. Neben der Möglichkeit, für jede Plattform einen eigenen Presentation-Abschnitt im XIML Dokument einzufügen, kann man eine Abstraktere Beschreibung wählen und über vordefinierte Relationen automatisch in passende Elemente der Zielplattform zu überführen. Beispielsweise könnte ein Element die aktuelle Position sein. In XIML würde dann Ort als Presentation-Element angelegt und mittels Relationen auf konkrete Darstellungen abgebildet, auf einem PC eine Karte, auf einem Mobiltelefon nur ein Text. (vgl. [3]) Grundsätzlich ist XIML nicht auf die oben angeführten Sprachelemente begrenzt, sondern offen und beliebig erweiterbar. Die Urheber glauben jedoch, dass die Sprache auch ohne Erweiterungen eine ausreichende Mächtigkeit besitzt, beliebige GUIs beschreiben zu können.

8 Eine weitere von XIML gebotene Möglichkeit ist, GUIs laufzeitdynamisch zu gestalten. Abbildung 4 zeigt ein Beispiel, in dem die Darstellung je nach verfügbarem Displaybereich mehr oder weniger Details angezeigt werden, indem die XIML Spezifikation gelesen und die Presentation-Komponente zur Laufzeit ausgetauscht wird: Abbildung 4. Dynamischer Wechsel der Darstellung (Quelle: [3]) Auf die gleiche Weise könnte auch eine Personalisierung vorgenommen werden, indem jedem User eine Presentation zugeordnet wird, welche seine Präferenzen widerspiegelt. 3 Bewertung und Vergleich Im Folgenden werden eine Bewertung und ein Vergleich der vorgestellten Sprachen zur Beschreibung von grafischen Benutzeroberflächen vorgenommen. Zunächst werden die Formate separat betrachtet und einander abschließend in tabellarischer Form gegenübergestellt. 3.1 UIML Die UIML ist der wohl älteste Ansatz für eine allgemeine, abstrakte Beschreibungssprache für grafische Benutzeroberflächen. Mittlerweile liegt sie in Version 4 vor, welche allerdings auf November 2008 datiert ist. Auch mit Informationen bezüglich der Weiterentwicklung ist die Oasis Gruppe sehr sparsam, was daran zweifeln lässt, ob der Ansatz überhaupt noch weiter verfolgt wird, zumal auch die Webseite uiml.org über den Zeitraum der Erstellung dieser Arbeit nicht erreichbar war. Die Softwareunterstützung für UIML existiert in Form diverser Renderer für unterschiedlichste Plattformen wie Java Swing,.NET, Android, Python, Flash, etc. Auch Toolkits zum Erstellen der UIML stehen für unterschiedliche Programmiersprachen

9 zur Verfügung, was jedoch direkt zu einem der größten Mankos an UIML führt, denn die Sprache ist plattformspezifischer, als wünschenswert wäre. 3.2 UsiXML UsiXML und der modellgetriebene Ansatz ist sehr flexibel, da von jeder konkreten oder abstrakten Ebene des Cameleon Frameworks aus in die Entwicklung eingestiegen werden kann. Vorhandene finale Oberflächen lassen sich generalisieren, abstrakte Oberflächendefinitionen können konkretisiert werden, oder eine vorhandene Oberfläche auf eine neue Plattform überführt werden. Die Arbeit an UsiXML wird bis zum jetzigen Zeitpunkt fortgeführt, und die Sprache wurde im Februar 2012 zur Standardisierung durch das W3C 2 eingereicht. Unterstützende Software gibt es auf unterschiedlichen Ebenen. So existiert ein Tool, namens ReversiXML, mit dem sich eine vorhandene Oberfläche einer HTML Webseite in ein Concrete UI oder Abstract UI in UsiXML überführen lässt. Neben der Möglichkeit, UsiXML mit einem XML Editor in Textform zu schreiben, gibt es einen Editor, mit dem sich Oberflächen zeichnen und Concrete Interface Objects platzieren und mit Eigenschaften versehen lassen können. Das Ergebnis wird automatisch in eine UsiXML Spezifikation umgesetzt. Auch Model-to-Model Transformationen sind möglich. 3.3 XIML XIML ist im Gegensatz zu den beiden anderen betrachteten Sprachen vollständig erweiterbar, was sie wiederum nahezu unbegrenzt ausdrucksstark macht. Ob die Arbeit an XIML zurzeit fortgeführt wird, ist schwer zu sagen, da die Webseite, ebenso wie die Oasis Seite zu UIML keine Informationen darüber preisgibt. Zum aktuellen Zeitpunkt existieren für XIML keine frei verfügbaren Werkzeuge zur Modellierung, es wird lediglich ein Validator für XIML Dokumente freigegeben und ansonsten auf XML-Editoren verwiesen. Renderer für verschiedene Sprachen müssen noch entwickelt werden. Die Roadmap des XIML Konsortiums sieht im späteren Verlauf vor, die Sprache standardisieren zu lassen, ob es jedoch so weit kommt, ist ob eines Mangels an aktuellen bzw. neuen Veröffentlichungen zu dem Thema fraglich. Ein weiterer Nachteil an XIML ist, dass jeder Nutzer von XIML kompatibler Software eine Lizenz benötigt. Diese ist zwar kostenlos erhältlich, jedoch muss man sich auf der Webseite des XIML Konsortiums dafür registrieren. 2 World Wide Web Consortium

10 3.4 Vergleich und Übersicht Dieser Abschnitt soll noch einmal die Betrachtungen gegenüberstellen. Dabei wird die Ausdrucksstärke der Sprache betrachtet, also wie gut sich Sachverhalte mit der Sprache modellieren lassen. Wichtig ist auch die Aktualität der Sprache, da es gerade in den letzten Jahren einen rasanten Wandel im Bereich der Geräte und auch Betriebssysteme gegeben hat. Zur Aktualität zählen Veröffentlichungen, die sich mit der jeweiligen Sprache auseinandersetzen und die Pflege der offiziellen Webseiten, da diese aufzeigt, ob der Ansatz noch weiter verfolgt wird. Eine gute Unterstützung durch Tools ist wichtig, um die Sprachen in der Praxis einsetzen zu können. Ohne Tools ist nur ein theoretischer Ansatz vorhanden, der weitere Entwicklung benötigt, um überhaupt umsetzbar zu sein. Die Erweiterbarkeit spielt in so fern eine Rolle, als das dies wichtig für zukünftig neu entwickelte Plattformen ist. Auch diese sollten idealerweise von einer Beschreibungssprache unterstützt werden können. Zuletzt ist noch interessant, ob die Sprachen vollkommen frei eingesetzt werden können, oder ob eine Lizensierung nötig ist. Folgende Tabelle stellt die betrachteten Sprachen noch ein Mal vergleichend dar: Tabelle 1. Ausdrucksstärke Aktualität Toolunterstüz Erwei- Lizenz ung terbarkeit UIML nicht benötigt UsiXML nicht benötigt XIML kostenlos erhältlich auf [11] 4 Zusammenfassung und Ausblick In der vorliegenden Arbeit wurden zunächst die sich aus der zunehmenden Gerätevielfalt ergebenden Probleme für die Softwareentwicklung dargelegt. Es wurde darauf eingegangen, dass plattformübergreifend konsistente Oberflächen für den Nutzer geschaffen werden müssen, ohne dabei jedoch teure Individualentwicklung für jedes einzelne Gerät vorzunehmen. Anschließend wurden zunächst drei ausgewählte Technologien vorgestellt, die sich mittels abstrakter XML-basierter Beschreibungssprachen der Problematik annähern und Ansätze zu deren Lösung bieten. Anschließend wurden diese Technologien Bewertet und vergleichend gegenübergestellt. Alle drei Sprachen befinden sich weiter-

11 hin in der Entwicklung und Evaluation durch Anwender beziehungsweise auf dem Weg zu einer Standardisierung. Die Relevanz des vorgestellten Themas lässt sich auch dadurch erahnen, dass neben der vorgestellten Auswahl eine stetig wachsende Anzahl weiterer Beschreibungssprachen existiert, von denen sich in der Praxis bisher jedoch noch keine wirklich durchsetzen konnte. Aus der Vielzahl an Entwicklungen die bisher existieren, lässt sich jedoch schließen, dass ein hoher Bedarf besteht, die Softwareentwicklung bzw. Methoden im Bereich Multiplattform weiter voranzutreiben. Es stellt sich die Frage, ob es Grundsätzlich möglich ist, eine solche abstrakte und plattformunabhängige Sprache überhaupt so zu entwickeln, dass sie in der Praxis so einsetzbar ist, von automatischen Transformationen profitieren zu können. Unabhängig davon, ob eine solche Transformation möglich ist, wird die Entwicklung von Interaktionspattern und abstrakten Beschreibungssprachen für diese Pattern auch weiter ein wichtiges Forschungsziel in der Informatik bleiben dem es nachzugehen gilt. Literatur 1. Abrams M, Phanouriou C, Batongbacal AL et al. (1999) UIML: an applianceindependent XML user interface language. Computer Networks 31(11-16): Geisler S, Heers R, Wolter S (2012) Analyse von Modellierungssprachen für Infotainmentsysteme. In: Reiterer H, Deussen O (eds) Mensch & Computer 2012 Workshopband. Oldenbourg Verlag, München, pp Hammond K, Gil Y, Leake D et al. (2002) XIML. In: Proceedings of the 7th international conference on Intelligent user interfaces - IUI '02. ACM Press, p Marucci L, Paternò F (2002) Supporting Adaptivity to Heterogeneous Platforms through User Models. In: Paternò F (ed) Human Computer Interaction with Mobile Devices, vol Springer Berlin / Heidelberg, pp Paternò F, Santoro C (1999) One Model, Many Interfaces. In: Proc. ACM 4th International Conference on Intelligent User Interfaces. ACM Press, pp Seffah A, Forbrig P, Javahery H (2004) Multi-devices Multiple user interfaces: development models and research opportunities. Journal of Systems and Software 73(2): Souchon N, Vanderdonckt J (2003) A review of XML-compliant user interface description languages. Lecture notes in computer science 2844:

12 8. Vanderdonckt J, Limbourg Q, Michotte B et al. (2004) UsiXML: a User Interface Description Language for Specifying Multimodal User Interfaces. In: Proceedings of W3C Workshop on Multimodal Interaction WMI 2004, Sophia Antipolis, pp OASIS https://www.oasis-open.org/committees/download.php/28457/uiml-4.0- cd01.pdf 10. Luyten K, Coninx K (2005) UIML.Net: an Open UIML Renderer for the.net Framework. In: Jacob RJ, Limbourg Q, Vanderdonckt J (eds) Computer-Aided Design of User Interfaces IV. Springer-Verlag, Berlin/Heidelberg, pp XIML 12. Calvary G, Coutaz J, Thevenin D et al. (2003) A Unifying Reference Framework for multi-target user interfaces. Interacting with Computers 15(3):

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

User Interface Design und Icon Library

User Interface Design und Icon Library Clemens Grossmann - TouchingCode GmbH User Interface Design und Icon Library www.apmato.com Auftraggeber TouchingCode GmbH Wir sind spezialisiert auf die Entwicklung von Smartphone Apps und die dazugehörigen

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

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

Christian Kurz SWT Projekt WS 07/08

Christian Kurz SWT Projekt WS 07/08 Christian Kurz SWT Projekt WS 07/08 1. Allgemeine Aspekte der generativen GUI- Entwicklung 2. Entwicklung mit Hilfe von GUI-Designern 3. Entwicklung mit Hilfe deklarativer GUI- Sprachen 4. Modellgetriebene

Mehr

Java Applet Alternativen

Java Applet Alternativen White Paper Java Applet Alternativen Version 1.0, 21.01.2014 Tobias Kellner tobias.kellner@egiz.gv.at Zusammenfassung: Aufgrund diverser Meldungen über Sicherheitslücken in Java haben in letzter Zeit Browser-Hersteller

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

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

Embedded Computing Conference 2014 Embedded UI Qt5

Embedded Computing Conference 2014 Embedded UI Qt5 Embedded Computing Conference 2014 Embedded UI Qt5 2 Embedded User Interfaces in the Smartphone Age The Power of Qt5 and the QNX OS Qt Vorstellung 3 Qt ( cute ) Hat eine lange Geschichte (Beginn der Entwicklung:

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

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

TechCommToGo (DE) conbody section title TechCommToGo - so einfach wie Kaffee machen. / title / section. section p image / p

TechCommToGo (DE) conbody section title TechCommToGo - so einfach wie Kaffee machen. / title / section. section p image / p (DE) (DE) fm-ditafile concept title (DE) / title title / title conbody section title - so einfach wie Kaffee machen / title / section section p image / p p Immer mehr Unternehmen sind bestrebt Technische

Mehr

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Wir automatisieren und optimieren Ihre Geschäftsprozesse DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages Thomas Brandstätter 06.03.2012 www.dccs.at Agenda Theorie Was sind XPages

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

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

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Progwerkstatt Philipp Güttler, Christoph Schied, Nicolai Waniek 01.12.2008 Seite 2 Drucken Drucken ist eigentlich ganz einfach...

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de

Webdesign Grundlagen. Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de Webdesign Grundlagen Michael Kraft, M.A. WS 2012/2013 hawk@herrkraft.de Bürokratie Termine & Kursliste & http://hawk.herrkraft.de Wer bin ich? michael kraft ba ma 2006 2012 hawk tutor interaction digital

Mehr

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU

Firefox Add-ons. Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Firefox Add-ons Präsentation in WAP WS09/10 von Christoph ASCHBERGER, Andreas BERTOLIN, Robert MUTTER und Yunzhou XU Agenda Technisches Überblick XUL JavaScript CSS XPI-Pakete Einreichen bei Mozilla Sicherheitsüberlegungen

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

@inproceedings{w2005kml, author = {Thomas Weise}, title = {Entwicklung eines WYSIWYG Editors f{\"{u}}r das Erstellen von Lehrmaterial im XML Format},

@inproceedings{w2005kml, author = {Thomas Weise}, title = {Entwicklung eines WYSIWYG Editors f{\{u}}r das Erstellen von Lehrmaterial im XML Format}, @inproceedings{w2005kml, author = {Thomas Weise}, title = {Entwicklung eines WYSIWYG Editors f{\"{u}}r das Erstellen von Lehrmaterial im XML Format}, booktitle = {Proceedings of Informatiktage 2005}, series

Mehr

Grundlagen. Migration von Benutzeroberflächen

Grundlagen. Migration von Benutzeroberflächen Von Anne Schlitter Grundlagen Dynamic content delivery nach DITA Migration von Benutzeroberflächen Aktueller Stand/Forschungsberichte h mobile Geräte Anwendung, Video, Player PC Bilder, Fernseher Beachtung

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 4578954569774981234656895856512457895456977498 3465689585651245789545697749812346568958561245 9545697749812346568958565124578954569774981234 6895856512457895456977498123465689585612457895 6977498123465689585651245789545697749812346568

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

Mehr

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten,

Glossar. SVG-Grafiken in Bitmap-Grafikformate. Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Glossar Anweisung Eine Anweisung ist eine Folge aus Schlüsselwörtern, Variablen, Objekten, Methoden und/oder Eigenschaften, die eine bestimmte Berechnung ausführt, eine Eigenschaft ändert oder eine Methode

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar? Sind Prozessmanagement-Systeme auch eingebettete Systeme einsetzbar? 12. Symposium Maritime Elektrotechnik, Elektronik und Informationstechnik, 8.-12. Oktober 2007 Rostock, Deutschland Rostock, Deutschland

Mehr

Barrierefreies Webdesign

Barrierefreies Webdesign Fachbereich: Wirtschaftsingenieurwesen Autor: Oliver Strecke / 807064 Barrierefreies Webdesign Datum: 16.12.2005 Inhaltsverzeichnis II Inhaltsverzeichnis 1. Was bedeutet Barrierefreiheit?... 3 1.1. Zugänglichkeit

Mehr

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG

Think Mobile Effiziente Entwicklungsstrategien im GIS. Kai Hoffmann, BTC AG Think Mobile Effiziente Entwicklungsstrategien im GIS Kai Hoffmann, BTC AG Mobile Endgeräte Was ist zu beachten? In dieser Betrachtung Smartphone Tablet Unterschiedliche Hardwareausstattung Bildschirmgröße

Mehr

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

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

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011 Workshop I Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation 7. Juni 2011 Übersicht è Native Apps è Web-Apps è Mobile Websites è Responsive Design Mobile Kommunikation

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

GRAFISCHE BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

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

Mehr

Mobile Webapps in kürzester Zeit: APEX mobile!

Mobile Webapps in kürzester Zeit: APEX mobile! Mobile Webapps in kürzester Zeit: APEX mobile! Carsten Czarski ORACLE Deutschland B.V. & Co KG Riesstr. 25, 80992 München Schlüsselworte APEX, Mobile Anwendungen, jquery Mobile Einleitung Anwendungen für

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

Benutzeroberflächen. Java Teil 4

Benutzeroberflächen. Java Teil 4 Benutzeroberflächen Java Teil 4 Einleitung Eine grafische Benutzeroberfläche (Graphical User Interface) ermöglicht dem Benutzer die Interaktion mit dem Computer über grafische Symbole. Die GUI haben in

Mehr

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs

Java TV. Seminar Medientechnik. Kristin Doppler 23.06.2003. Übersicht. Einleitung Umgebungen Java TV API - Kategorien. Service- und Selektions-APIs Java TV Seminar Medientechnik 23.06.2003 Übersicht Einleitung Umgebungen Java TV API - Kategorien Service- und Selektions-APIs Definitionen Packages Service Selection API Application Lifecycle APIs (Xlets)

Mehr

Web Dynpro / FloorPlanManager / NWBC

Web Dynpro / FloorPlanManager / NWBC Web Dynpro / FloorPlanManager / NWBC Bernd Zehentner TECHNISCHE SAP BERATUNG bze@snapconsult.com snapconsult.com Norbert Prager TECHNISCHE SAP BERATUNG npr@snapconsult.com snapconsult.com 16.06.2014 SNAP

Mehr

Whitepaper Industrie 4.0 - Interaktion und Kommunikation mit Webstandards und OPC UA

Whitepaper Industrie 4.0 - Interaktion und Kommunikation mit Webstandards und OPC UA Whitepaper Industrie 4.0 - Interaktion und Kommunikation mit Webstandards und OPC UA March, 2014 2 Einleitung Der Erfolg von Industrie 4.0 wird maßgeblich dadurch bestimmt werden, auf welche gemeinsame

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

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

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Bei Truecrypt handelt es sich um ein Open-Source Verschlüsselungs-Programm, das unter folgendem Link für verschiedene Plattformen verfügbar ist:

Bei Truecrypt handelt es sich um ein Open-Source Verschlüsselungs-Programm, das unter folgendem Link für verschiedene Plattformen verfügbar ist: Selbstdatenschutz Dropbox & Co. sicher nutzen "MEO - My Eyes Only" Um Unbefugten (inklusive dem Betreiber des Dienstes) die Einsicht in Dateien in Clouddiensten zu verwehren, sollte man diese verschlüsseln.

Mehr

J.6 Programmierung eingebetteter Systeme

J.6 Programmierung eingebetteter Systeme Vorteile von C in eingebetteten Systemen: leichter Zugriff auf die Hardware gute Kontrolle über die verwendeten Ressourcen (Speicher, CPU) Probleme mit C: stark eingeschränkte Laufzeitüberprüfungen ISO

Mehr

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München

Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Sind Ihre Landing Pages schon fit für die Multi-Screen-Welt? digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München Landing Pages sind Ihre Kampagnenheimat 1 Kampagne Fokus Aktion, Produkt oder Dienstleistung

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

Mehr

Technische Dokumentation

Technische Dokumentation Technische Dokumentation der Ontologie Wärmedämmung des Projekts EcoNavi Erstellt für: Bremer Umweltberatung Hamburg, Juli 2005-1 - Inhaltsverzeichnis Einleitung... 2 Aufbau einer Ontologie... 3 Ontologieeditor

Mehr

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7

CARL HANSER VERLAG. Erika Horn, Thomas Reinke. Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7 CARL HANSER VERLAG Erika Horn, Thomas Reinke Softwarearchitektur und Softwarebauelemente Eine Einführung für Softwarearchitekten 3-446-21300-7 www.hanser.de Inhalt Vorwort...IX 1 Einleitung... 1 1.1 Software

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

Das Open Source Content Management System

Das Open Source Content Management System Das Open Source Content Management System Erweiterbarkeit und Individualisierung visions-marketing Unternehmensberatung Alexander Winkler Postfach 950180 81517 München Tel.+Fax: 089 / 38 90 06 53 Mobil.:

Mehr

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Responsive Webdesign vertraut. Es wird

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

Immer mehr lebt mobil

Immer mehr lebt mobil Immer mehr lebt mobil mehr als 4.600.000.000 Mobilgeräte breite Verfügbarkeit neuer always-on und Apps Lifestyle 2 Trittsicher auf allen mobilen Pfaden mit HTML5 und jquery Mobile Mike Baird http://flickr.com/photos/mikebaird/482031103/

Mehr

Windows Presentation Foundation

Windows Presentation Foundation Windows Presentation Foundation WS 2013/14 Gliederung Literatur Einführung Inhalt Architektur von Windows Presentation Foundation und das Programmiermodell XAML Steuerelemente und Layout Ressourcen Data

Mehr

Mobile Usability. Mobile Usablity Dr. Eric Fehse 25. September 2014 Folie 1

Mobile Usability. Mobile Usablity Dr. Eric Fehse 25. September 2014 Folie 1 Mobile Usability Mobile Usablity Dr. Eric Fehse 25. September 2014 Folie 1 Eric Fehse Lead Consultant Usability Engineering Studium der (kognitiven) Psychologie mit Nebenfach Informatik Denken, Lernen,

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung Architekturübungen Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem

Mehr

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres UI Design Patterns 19 Entwurfsmuster (Design Patterns) Konzept geht zurück auf den Architekten Christopher Alexander (Notes on the synthesis of form, 1964) Systematische Sammlung wiederkehrende Muster

Mehr

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

Mehr

Testen von graphischen Benutzeroberflächen. 24. Juni 2015

Testen von graphischen Benutzeroberflächen. 24. Juni 2015 Testen von graphischen Benutzeroberflächen 24. Juni 2015 Überblick Motivation für das automatische Testen von graphischen Benutzeroberflächen Entwicklungsprinzipien für GUIs Capture / Replay Testmethode

Mehr

Dokumentation von Software

Dokumentation von Software Dokumentation von Software Darwin Information Typing Architecture DITA InfoPoint 12.12.2007 1 Inhalt DITA Namensgebung Geschichte DITA Open Toolkit Zielsetzung Architektur, Elemente Vor- und Nachteile

Mehr

Hochschul-App Uni Hohhenheim Case Study

Hochschul-App Uni Hohhenheim Case Study Hochschul-App Uni Hohhenheim Case Study Als Premium Partner von ILIAS unterstützen wir die Weiterentwicklung des Open Source Produktes und stellen so eine langfristig hohe Qualität des Systems sicher.

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

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

Wieviel Usability Engineering braucht das Software Engineering?

Wieviel Usability Engineering braucht das Software Engineering? Wieviel Usability Engineering braucht das Software Engineering? Prof. Dr. Institut für Informatik Neuenheimer Feld 348 69120 Heidelberg http://www-swe.uni-heidelberg.de paech@informatik.uni-heidelberg.de

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone

Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone 1 Cross-Platform Mobile Development mit Xamarin Mark Allibone, @mallibone Partner: 2 Vorstellung Referent Mark Allibone Noser Engineering AG Passionierter Mobile Entwickler: Xamarin Certified Mobile Developer

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

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

CONTEXT IS KING AND DEVICE IS QUEEN! IN DER MOBILEN MARKENKOMMUNIKATION. 21TORR Interactive GmbH

CONTEXT IS KING AND DEVICE IS QUEEN! IN DER MOBILEN MARKENKOMMUNIKATION. 21TORR Interactive GmbH CONTEXT IS KING AND DEVICE IS QUEEN! IN DER MOBILEN MARKENKOMMUNIKATION Oliver Zils, Consultant Digital Branding Timo Günthner, Technical Consultant Mobile 21TORR Interactive GmbH Mobile Markenkommunikation

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

CAS Mobile Application Development

CAS Mobile Application Development CAS Mobile Application Development Inhaltsverzeichnis 1 Abstract 3 2 Umfeld und Motivation 3 3 Zielgruppe 3 4 Ausbildungsziele 3 5 Voraussetzungen 3 6 Kursübersicht 4 7 Kompetenzprofil 5 8 en 6 8.1 Mobile

Mehr

UA03 Interaktive Entscheidungsbäume

UA03 Interaktive Entscheidungsbäume UA03 Interaktive Entscheidungsbäume Stuttgart, tekom Jahresstagung 2015 Christian Mäder, Empolis Information Management GmbH Karsten Schrempp, PANTOPIX GmbH & Co. KG Workshop Ziele Wir zeigen, was interaktive

Mehr

Visual Web Developer Express Jam Sessions

Visual Web Developer Express Jam Sessions Visual Web Developer Express Jam Sessions Teil 1 Die Visual Web Developer Express Jam Sessions sind eine Reihe von Videotutorials, die Ihnen einen grundlegenden Überblick über Visual Web Developer Express,

Mehr

Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen

Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen Erstinstallation und Verwendung der Software Citrix GoToMeeting für Organisatoren/-innen von virtuellen Besprechungen 1 Inhaltsverzeichnis 3 1. Voraussetzungen für die Durchführung von virtuellen Besprechungen

Mehr

Webseiten werden mobil Planung geht vor

Webseiten werden mobil Planung geht vor Webseiten werden mobil Planung geht vor Mobiles Web Aspekte der Planung 20. April 2012 Inhaltliche Schwerpunkte Einordnung mobiler Technologien Besonderheiten mobiler Touchscreen-Geräte Best Practices

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

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

3 Anwendungsarchitektur und Entwicklungsumgebung

3 Anwendungsarchitektur und Entwicklungsumgebung 21 3 Anwendungsarchitektur und Bei den Entwicklern von Web-basierten Dialogsystemen hat sich im Laufe der Zeit eine Vorgehensweise im Design von Anwendungen entwickelt, dies es ermöglicht, flexible Web-Dialoge

Mehr

InfoPoint vom 9. November 2011

InfoPoint vom 9. November 2011 InfoPoint vom 9. November 2011 Was ist Joomla? Theorie Installation Extensions Administration Demo Joomla ist ein modulares content management system (CMS) Es ermöglicht eine Website zu erstellen und online

Mehr

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Access und OpenOffice.org

Access und OpenOffice.org Access-Datenbanken in OpenOffice.org 1.1 einbinden Herausgegeben durch das OpenOffice.org Germanophone-Projekt Autoren Autoren vorhergehender Versionen Timo Kozlowski Alle in diesem Dokument erwähnten

Mehr

ARCHIBUS IWMS Lösung vom Weltmarktführer

ARCHIBUS IWMS Lösung vom Weltmarktführer ARCHIBUS IWMS Lösung vom Weltmarktführer ARCHIBUS User Meeting 12.+13.5.2015 in München 2009 ARCHIBUS, Inc. All rights reserved. Was machen mobile App s so Interessant? Vorteil Mobile Platform & Apps 3

Mehr

Spezielle Excel Eigenschaften mit ODS erstellen. 1 Übersicht der 'tagsets' und der Alternativen

Spezielle Excel Eigenschaften mit ODS erstellen. 1 Übersicht der 'tagsets' und der Alternativen Spezielle Excel Eigenschaften mit ODS erstellen Tipps & Tricks Frank Biedermann Grünenthal GmbH Zieglerstr. 6 52078 Aachen Frank.Biedermann@grunenthal.com Zusammenfassung Dieser Beitrag stellt Möglichkeiten

Mehr

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?! MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?! Oliver Steinhauer Sascha Köhler.mobile PROFI Mobile Business Agenda MACHEN SIE IHRE ANWENDUNGEN MOBIL?! HERAUSFORDERUNG Prozesse und Anwendungen A B

Mehr

PFlow-Editor Entwicklung und Implementierung eines Modellierungswerkzeugs für ein Peer-to-Peer Production Workflow Management System

PFlow-Editor Entwicklung und Implementierung eines Modellierungswerkzeugs für ein Peer-to-Peer Production Workflow Management System PFlow-Editor Entwicklung und Implementierung eines Modellierungswerkzeugs für ein Peer-to-Peer Production Workflow Management System Fortgeschrittenenpraktikum bei Prof. Dr. Martin Wirsing vorgelegt von:

Mehr

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Besprechung der Aufgaben 1) Legen Sie das Android-Projekt HelloWorldApp an so wie es in den vorherigen Folien beschrieben

Mehr

XAML Extensible Application Markup Language. Manuel Naujoks (IB3)

XAML Extensible Application Markup Language. Manuel Naujoks (IB3) Extensible Application Markup Language Manuel Naujoks (IB3) Einführung Beschreibungssprachen Vorteile Nachteile Agenda technisch Aufbau Kompilierung Verarbeitung zur Laufzeit Routed Events Zusammenfassung

Mehr

Responsive Design & ecommerce

Responsive Design & ecommerce Responsive Design & ecommerce Kassel, 15.02.2014 web n sale GmbH Jan Philipp Peter Was bisher geschah Was bisher geschah oder: Die mobile Evolution früher : - Lokale Nutzung - Zuhause oder im Büro - Wenige

Mehr

CloudMatic V1.0. Inhalt

CloudMatic V1.0. Inhalt CloudMatic V1.0 Inhalt Einleitung... 2 CCUs hinzufügen... 3 meine-homematic.de... 4 Eigenes VPN... 4 View Editor... 5 Übersicht... 5 Allgemeine Einstellungen... 6 Kanäle hinzufügen... 6 Spezielle Kanäle...

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

CARM-Server. Users Guide. Version 4.65. APIS Informationstechnologien GmbH

CARM-Server. Users Guide. Version 4.65. APIS Informationstechnologien GmbH CARM-Server Version 4.65 Users Guide APIS Informationstechnologien GmbH Einleitung... 1 Zugriff mit APIS IQ-Software... 1 Zugang konfigurieren... 1 Das CARM-Server-Menü... 1 Administration... 1 Remote-Konfiguration...

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster

Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster Kap. 35 Swing: Grundlagen Kap. 36.1 Swing: Hauptfenster by Ali Bastan Gliederung Grundlagen von Swing 1. Kurze Einleitung 2. Warum Swing, wenn es das AWT gibt? 3. Was ist Swing? 4. Merkmale von Swing 5.

Mehr

Cross Platform Development mit SharePoint

Cross Platform Development mit SharePoint Cross Platform Development mit SharePoint Agenda Wir entwickeln eine App um Businesstrips in SharePoint zu erfassen Businesstraveller 0.1 http://ppedv.de/msts Folien Demo Projekt Link Sammlung Und meine

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr