Entwicklung interaktiver Systeme mit Hilfe von Model Based User Interface Development und HCI Patterns

Ähnliche Dokumente
Model Driven Architecture

Model Driven Development im Überblick

MDA auf der Grundlage der OMG Konzepte

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

Model Based User Interface Design: Model Driven Architecture TM und HCI Patterns

Software-Engineering im Sommersemester 2014

Integration Software und Usability Engineering. Arash Faroughi Roozbeh Faroughi FH-Köln Campus Gummersbach

Einführung in das Eclipse Modeling Framework (EMF)

Komponentenorientierter Entwurf von PIMs und CIMs mit der KobrA-Methode

MDA-Praktikum, Einführung

Ein Ansatz zum modellgetriebenen Integrationstest von EJB-basierten Informationssystemen

Model Driven Architecture Praxisbeispiel

Eclipse Modeling Framework

Model Driven Architecture

Themen. Software Design and Quality Group Institute for Program Structures and Data Organization

Model Driven Architecture (MDA)

Einführung in das Eclipse Modeling Framework (EMF)

Einführung in die Modellgetriebene Software-Entwicklung (Stichworte)

Model Driven Architecture

Einführung in das Eclipse Modeling Framework (EMF)

Vortrag von: Ilias Agorakis & Robert Roginer

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

Usability-Test für mobile Java-Anwendungen

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

Grundlagen von MOF. Alexander Gepting 1

2.1 Motivation modellgetriebener Ansätze Die Geschichte der Softwareentwicklung ein historischer

Die Unified Modeling Language UML

Software Factories SS Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

MDSD Einführung und Überblick

Modellbasiertes Testen mit UTP

Ausarbeitung Referat zur MDA

Potentiale modellgetriebener Softwareentwicklung

Aktuelle Fortschritte von MDAbasierten Entwicklungsansätzen im Bereich Fahrerassistenzsysteme

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Michael Piechotta - CASE Tools. openarchitecture Ware

Von der Prozessanalyse zur Prozessautomatisierung

Modellgetriebene Softwareentwicklung

Requirements Engineering I

STORYBOARDING ZUR ABLEITUNG VON KONTEXTBASIERTEN INTERACTION-CASES FÜR UBIQUITÄRE SYSTEME

Inhalt. Motivation Techniken des MDE. Fallbeispiele

Beispielhaft MDSD in der Praxis. Dr. Shota Okujava

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung Reisebeschreibung Zielpublikum Fallbeispiel...

Modellgetriebene Entwicklung von grafischen Benutzerschnittstellen

Vorlesung Software Engineering

Eclipse User Interface Guidelines

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Model-Driven Software Engineering (HS 2011)

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Seminar: Software Engineering verteilter Systeme

Spezifikation von Fachkomponenten mit UML 2.0

Software Factories WS 2017/18. Prof. Dr. Dirk Müller. 3 Modellgetriebene Softwareentwicklung

Systemdenken und Gestaltungsmethodik System-Modellierung

Oracle JDeveloper 10 g

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Requirements Engineering I

Modellgetriebene Entwicklung eingebetteter Systeme mit Eclipse

10. Modellgetriebene Entwicklung Softwaretechnik (CNAM) Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Der agile Software Architekt

Modellinteroperabilität zwischen Microsoft Visio und Eclipse EMF als Mittel zur modellgetriebenen Integration

Volker Max Meyer Selected works. Image: Design Report Cover Authors: Jonas Loh, Christian Lange, Astrid Höffling and Volker Max Meyer

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

Situation-Adaptive Multimodal Dialogue Platform. Übersicht

Vorlesung Programmieren

MDSD in der Praxis. Dr. Shota Okujava.

Monika Walter Stefan Nieland / Werner Oertmann (Hrsg.)

Eclipse Modeling Framework Modellgetriebene Softwareentwicklung Prof. Andreas Schmidt

Seminar: Software Engineering verteilter Systeme

Thema 5 Domain Specific Languages

Modellgetriebene Softwareentwicklung: Zusammenfassung und Ausblick. 11. Februar 2015

Objektorientierte Systementwicklung

SEA. Modellgetriebene Softwareentwicklung in der BA

47. Werkzeuge für die modellgetriebene Architektur (Model- Driven Architecture, MDA)

Modelling in the Wild Domains and Abstraction in Model-Driven Software Development

Holistische Ansatzentwicklung und Agile Lehre Agile Lehre als Baustein einer Forschungswerkstatt

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Use Cases vs. Funktionale Spezifikation

Game Interfaces Gestaltung und Funktionalität von Stefan Vollrath

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

Herkömmliche Softwareentwicklungsmodelle vs. Agile Methoden

Notationen zur Prozessmodellierung

Zurich Open Repository and Archive. Anatomie von Kommunikationsrollen. Methoden zur Identifizierung von Akteursrollen in gerichteten Netzwerken

Generischer Modellvergleich mit EMF Compare

Scenario Building Workshop - Interplay of problem framings

Modellgetriebene Architektur - Grundlagen, Vor- und Nachteile, Erfahrungen - Uwe Kuehn Freie Universität Berlin

IT S ALL ABOUT THE DOMAIN, HONEY!

Model Driven Architecture

Modellgetriebene Softwareentwicklung

Usecase Meta Model Comparison and Model Migration. Dawid Kostrzycki Entwicklung verteilter eingebetteter Systeme

Technische Universität Kaiserslautern Lehrstuhl für Virtuelle Produktentwicklung

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

Requirements Engineering I

Einfach generieren. Susanne Klar, Michael Klar. Generative Programmierung verständlich und praxisnah ISBN Inhaltsverzeichnis

Transkript:

Entwicklung interaktiver Systeme mit Hilfe von Model Based User Interface Development und HCI Patterns Roland Petrasch Fachbereich VI, Forschungsschwerpunkt Software-Engineering Abstract deutsch Der modellgetriebene Entwicklungsansatz trennt die Fachlichkeit von der Technologie und kann bei interaktiven Systemen vorteilhaft genutzt werden. Allerdings sind beim Thema modellbasierte Entwicklung von Benutzeroberflächen noch viele Fragen offen, von denen einige hier beleuchtet werden. Vieles spricht dafür, dass erst in Verbindung mit HCI-Patterns eine intensivere Nutzung von modellbasiertem Ansätzen im HCI-Bereich stattfindet. Auch der Entwicklungsprozess spielt dabei eine wichtige Rolle. Abstract englisch Model based or model driven development separates domain aspects from technological details and can be applied to interactive systems. However, there are still open issues concerning model based user interface design. This contribution discusses some of these issues. There are signs indicating that model based approaches for interactive systems can only be successful in practice when combined with HCI or usability patterns. Also the development process is important. 1. Einleitung Die Medieninformatik fokussiert die Entwicklung interaktiver Systeme, die u.a. durch die Verbreitung mobiler Geräte (z.b. Appls für das Apple IPhone) immens an Bedeutung gewonnen haben. Durch modellgetriebene oder modellbasierte Entwicklungsansätze lässt sich nicht nur die Entwicklungsproduktivität erhöhen, sondern (zumindest potentiell) auch die Usability (Software-Ergonomie). Benutzeroberflächen werden im Rahmen des User Interface Developmenst (UID) oftmals noch manuell erstellt (klassische Programmierung), obwohl sich der Großteil des Programm-Codes automatisch generieren ließe, wenn modellgetriebene Verfahren zum Einsatz kommen. An interaktive Systeme werden u.a. software-ergonomische Anforderungen (z.b. gem. [ISO9241]) gestellt, die es auch beim Einsatz modellgetriebener Verfahren zu erfüllen gilt. Im Folgenden sei beispielhaft aufgezeigt, wie dies in der Verbindung mit HCI-Patterns erfolgen kann. 2. Modell- und patternbasierte Entwicklung interaktiver Systeme Modellgetriebene oder modellbasierte Software-Entwicklung ist in der Praxis weit verbreitet und bedarf keiner grundlegenden Erläuterung mehr, so dass an dieser Stelle der Fokus auf die Benutzeroberfläche gelegt sei: Model Based User Interface Development (MBUID) ist gem. der MDA [MDA] die Erstellung (plattformunabhängiger bzw. abstrakter) UI-Modelle des interaktiven Systems (Computation bzw. Platform Independent Model, CIM / PIM) und die Transformation zu plattformspezifischen bzw. konkreten UI-Modellen (Plattform Specific Model, PSM) [Petr06]. Der UI- Code, d.h. das lauffähige interaktive System (Platform Specific Implementation, PSI) lässt sich dann teilweise oder komplett generieren (s. Bild 1). Bild 1: MBUID für interaktive Systeme mit Modelltransformationen gem. der MDA Für die abstrakte Beschreibung des User Interface gilbt es u.a. zwei Sprachansätze: Die Nutzung eines oder mehrerer UML-Profie, z.b. GUILayout [Blan04], Wisdom [Nune01], oder Verfahren mit eigenen Metamodellen, z.b. UMLi [Silv03].

Entsprechende XML-basierte Sprachen wie UsiXML [UsiXML] sind verfügbar. Um die Idee von MBUID zu veranschaulichen sei als Beispiel ein einfaches UML-Profil für MBUID vorgestellt (s. Bild 2), welches drei Stereotypen für die Modellierung interaktiver Systeme einführt: <<Dialog>>, <<Interaction>>, <<Interactionelement>>. Zu beachten ist, dass sich die Stereotypen sowohl für UML-Klassendiagramme als auch für Zustandsmaschinen einsetzen lassen, was die Flexibilität bei der Erstellung von UI-Modellen erhöht.. Bild 2: Einfaches UML-Profil für das MBUID Mit Hilfe dieses Profils lassen sich abstrakte UI-Modelle erstellen und relativ leicht entsprechender Code generieren. Wie aber können bewährte software-ergonomische Mechanismen oder projekt- bzw. kundenspezfische Vorgaben (Style Guide) in die Modellierung eingebracht werden? Immerhin stellen UI-Modelle per se noch nicht die ergonomische Qualität sicher. Die Antwort heißt: HCI-Patterns. HCI- oder Usability-Patterns sowie Beschreibungssprachen sind seit geraumer Zeit verfügbar, z.b. [HCIP], [Grah03], [Welie03]. Sie tragen wie auch Design-Patterns zu einem Wissenstransfer bei und sind in der Praxis durchaus verbreitet [Borc00]. Auch für HCI-Patterns sei an dieser Stelle ein einfaches UML-Profil vorgestellt: Mit dem Stereotypen <<HCI_Pattern>> wird das Package markiert, in dem sich das Muster befindet. Parameter für das Pattern tragen dazu bei, dass es sich in verschiedenen Kontexten einsetzen lässt und Bedingungen definieren die statische Semantik (s. Bild 3). Bild 3: Das UML-Profil für HCI-Patterns (Ausschnitt) MBUID- und HCI-Pattern-Profil lassen sich nun für die Erstellung der UI-Modell nutzen. Bild 4 zeigt als Beispiel das Feedback-Pattern (auch Yes/No/Cancel-Pattern genannt), das die Navigationsalternativen beim Verlassen von Dialogen modelliert und eine Benutzerentscheidung berücksichtigt, z.b. bzgl. des Speicherns im Falle eines datenverändernden Formulardialogs.

Bild 4: Feedback-Pattern als UML-Klassenmodell Als Beispiel sei ein UI-Modell (PIM) mit zwei Dialogen aufgeführt: Eine Liste (StudentList). Von einem Editierdialog (StudentEditor) kann der User durch eine Interaktion (OK-Button ) wieder zur Übersicht zurück navigieren (s. Bild 5). Im UI- Modell wird nun eine Referenz auf das HCI-Pattern (z.b. das Feedback-Pattern), eingefügt und mit den anderen UI- Elementen verbunden (gem. der Parameterspezifikation): Yes- und No-Button führen den User wieder zur Übersichtsliste und mit dem Cancel-Button gelangt der User wieder zum Editierdialog zurück. Mit der Referenz auf das HCI-Pattern verwendet das abstrakte UI-Modell nun dessen Interaktionskonzept. Bild 5: Die Anwendung des Feedback-/YNC-Pattern auf das UI-Modell (PIM) Vorteilhaft ist z.b. die Erfüllung der ergonomischen Anforderung Erwartungskonformität [ISO9241], da der Feedback- Mechanismus durchgängig in der gesamten Anwendung gleichartig funktioniert, wenn das Pattern konsequent zum Einsatz kommt. Das Ergebnis sind generierte Benutzeroberflächen, die nur wenig manuelle Nacharbeit erfordern. Bild 6 zeigt das aus dem UI-Modell generierte User Interface mit Feedback-Dialog.

Bild 6: Die Anwendung des Feedback-/YNC-Pattern auf ein UI-Modell (PIM) Für MBUID ist allerdings auch ein geeigneter Prozess (Vorgehensmodell) notwendig, der zwischen der MBUI-Plattform (MDA-Infrastruktur) und dem Kundenprojekt unterscheidet (s. Bild 7). Während in der Systemanalyse das CIM/PIM, d.h. die abstrakten UI-Modelle entstehen, sorgt die MBUI-Plattform dafür, dass diese Modelle im Rahmen von M2M- oder M2T/C- Transformationen zum interaktiven System überführt werden. Bild 7: Vorgehensmodell für MBUID 3. Zusammenfassung HCI-Patterns lassen sich mit modellbasierter Software-Entwicklung für interaktive Systeme verbinden: Die Nutzung von Modellen führt zu einem hohen Automatisierungsgrad im Sinne der Code-Generierung. Die Vorteile von Patterns als bewährte (allgemeine) Lösungen für spezielle Probleme, wirken bei HCI-Patterns in Hinblick auf die software-ergonomische Qualität. Die MDA-Standards der OMG und die Eclipse-basierte Tool-Infrastruktur konnten für eine erste Anwendung des Ansatzes erfolgreich eingesetzt werden: Das Eclipse Modeling Project umfasst u.a. die UML [UML] für die Modellierung sowie die Transformationssprachen QVT [QVT] und MTL. Es sind allerdings noch einige offene Punkte zu klären, um eine breite praktische Nutzung zu ermöglichen. So sind z.b, die Metamodelle bzw. MBUIB- und HCI-Pattern-Profile näher zu untersuchen. Auch der hier vorgestellte MBUID- Entwicklungsprozess [Petr09] muss noch mit agilen Verfahren wie Scrum kombiniert werden und sich anschließend in der Praxis bewähren. Literatur [Blan04] [Borc00] [Grah03] [HCIP] [ISO9241] [MDA] [Nune01] K. Blankenhorn (2004): A UML Profile for GUI Layout, University of Applied Sciences, Furtwangen, Diplomarbeit J. Borchers (2000): Interaction Design Patterns: Twelve Theses, Position Paper. In: Workshop:Pattern Languages for Interaction Design. Proceedings CHI 2000. 2-3 April, The Hague, Netherlands I. Graham (2003): A pattern language for web usability. Addison-Wesley HCI Patterns website: http://www.hcipatterns.org ISO 9241-110:2006: Ergonomics of human-system interaction -- Part 110: Dialogue principles Object Management Group (2003): MDA Guide. Version 1.0.1, omg/2003-06-01 N. J. Nunes (2001): Object Modeling for User-Centered Development and User Interface Design: The Wisdom

Approach, Universidade da Madeira, Diss. [Petr06] R. Petrasch, O. Meimberg (2006): Model Driven Architecture. Eine praxisorientierte Einführung in die MDA. dpunkt Verlag [Petr09] R. Petrasch, M. Bureck (2009): HCI Pattern in the Context of Model Driven Development for interactive Systems. In: R. Petrasch et al.: Model Driven Software Engineering Transformations and Tools. Logos Verlag, S. 61-76 [QVT] Object Management Group (2009): MOF Ouery/Views/Transformation (QVT). Vers. 1.1 Beta 2 Spec. [Silv03] P. Pinheiro da Silva, N. W. Paton (2003): User Interface Modeling in UMLi. IEEE Software, S. 62-69 [UML] Object Management Group (2009): UML 2.2 Unified Modeling Language (UML) Superstructure. Version 2.2. Final Adopted Specification [Welie03] M. Van Welie, G. C. Van Der Veer (2003): Pattern Languages. In: M. Rauterberg, M Menozzi, J Wesson (Hrsg.): Interaction Design: Structure and Organization, INTERACT 2003,. IOS Press, Zürich, Switzerland [UsiXML] Webseite der http://www.usixml.org/ Kontakt: Prof. Dr. Roland Petrasch Tel. (030) 4504 2858 Mobil (01577) 3110103 E-Mail petrasch@beuth-hochschule.de