Visuelle UI Spezifikation interaktiver Systeme mit einer Modell- und XML-basierten Werkzeugkette ZuiScat Sowftware Engineering Essentials München, Juni 2007 Vortragender: Thomas Memmel Human-Computer Interaction Lab Automotive Research Team University of Konstanz
Inhalt Zur Person Kurzes Curriculum Forschungsschwerpunkte Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
Zur Person: Thomas Memmel + Bachelor- und Masterabschluss im Fach Information Engineering, Universität Konstanz + Doktorand am Lehrstuhl für Mensch-Computer Interaktion, Prof. Dr. Harald Reiterer, Universität Konstanz + Thema der Dissertation: Modell-getriebene UI Entwicklung und visuelle UI Spezifikation interaktiver Systeme (mit Fokus Automobilwirtschaft)
Arbeitsgruppe Mensch-Computer Interaktion + Design + Implementierung + Evaluation + Mobile Endgeräte + Desktop Computer + Große Displays (Powerwall) + Digitale Bibliotheken + Webseiten + Visuelle Informationssysteme + Embedded Systems + Neues User interface Paradigma: Zoomable Object- Oriented Information Landscape.
Inhalt Zur Person Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
Multimediale Bedienelemente im PKW Funktionalität? Ergänzung um Infotainment (Radio, CD, Navigation Sprachsteuerung Speedo/odometer Radio Instrumententafel Klimaautomatik Radio Telefon 1960 1970 1980 1990 2000 2010 Zeit Hinweis: Die Abbildungen sind Beispielhaft und stellen keinen Zusammenhang zu Produkten oder Marken dar
Komplexe Informationsräume im WWW Fahrzeugsuche Produktexploration Fahrzeugkonfiguration Hinweis: Die Abbildungen sind Beispielhaft und stellen keinen Zusammenhang zu Produkten oder Marken dar
Herausforderungen Hochgradig interaktive Benutzerschnittstellen Komplexe Anwendungen und heterogene Benutzergruppen Schwieriger Nutzungskontext (z.b. im Fahrzeug) Usability und Corporate Design/Indentity müssen transportiert werden In kürzerer Zeit müssen gebrauchstauglichere Benutzungsschnittstellen erzeugt werden Office Produkte reichen nicht mehr aus, um interaktive Anwendungen zu spezifizieren CASE-Tools jedoch in der Regel zu schwer zu bedienen Höherer Erfolgs- und Zeitdruck durch Markt und Mitbewerber Outsourcing und Offshoring erhöhen die Komplexität (IT Industrialisierung) Veränderung der Vorgehensweisen in Entwicklung aus Sicht der Qualitätssicherung Zur Entwicklung adäquater Software besteht eine Notwendigkeit zur interdisziplinären Kollaboration Verbreitete Methoden, Werkzeuge und Vorgehensmodelle des Usability Engineering müssen angepasst werden Der Auftraggeber kann sich nicht darauf beschränken Anforderungen abstrakt zu spezifizieren
Inhalt Zur Person Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
extreme Programming + Usability Engineering Usability Engineering Lifecycle (D. Mayhew) Usage- Centered Design (Constantine & Lockwood) extreme Programming (Kent Beck) Agile Modeling (Scott Ambler) User Stories, Usage Scenarios Low-/Hi-Fi Prototyping Usability Goals & Test Scenarios UI Spike UI Specification Enhance Prototype Minimal UI Spec Code Spikes & Estimates Release Planning Iteration Acceptance & Usability Tests Small Release Architectural Spike Initial Requirements & Usability Up-Front Architecture Specification (Usability) Bugs extreme Evaluations Literatur: Integration von Usability Engineering in Extreme Programming (Memmel et al. 2007)
Modellgetriebene Entwicklung und AM Agiles Prinzip Model With A Purpose Rapid Feedback Embrace Change Kompatibilität zu modellgetr. Entwicklung Die Modelle, dier erzeugt werden dienen einem gemeinschaftlichen Verständnis der Problemdomäne und begleiten der Entwicklungsprozess durch die Erzeugung von Simulationen und Code. Sobald die (domänenspezifische) Modellierungssprache konfiguriert ist, können auf Knopfdruck zu jeder Zeit Prototypen zru Evaluation erzeugt werden. Änderungen an den Modellen haben Auswirkungen auf die visuelle Repräsentation.
Modellgetriebene Entwicklung und AM Agile Praktik Active Stakeholder Participation Apply The Right Artifacts Model To Communicate Model To Understand Kompatibilität zu modellgetr. Entwicklung Durch eine problem- und prozessadäquate Auswahl an Modellierungssprachen und Werkzeugen, können alle Stakeholder in den Entwicklungsprozess eingebunden werden Modellierungssprachen, die für manche Stakeholder ungeeignet sind, sollen vermieden werden. Agile Methoden des Software und Usability Engineering geben Modelle vor, die nicht nur lightweight sind, sondern auch leicht zu verstehen Modelle, als gemeinsame Ausdrucksmittel eingesetzt, verbessern die Ausgangssituation für Diskussion Modelle, die funktionale und nicht funktionale Anforderungen auf einfache Art darstellen können, verbessern das Verständnis für die Problemstellung.
Inhalt Zur Person Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
Werkzeugkette zur visuellen Spezifikation XML
Modellierung von Dialogabläufen
Modell-getriebene visuelle Spezifikation
Anpassung bisheriger Spezifikationsprozesse Business Anforderungen Projektplan, Budget, Benachmarks Anforderungsermittlung Projekt Start Meta-Modellierung Interdisziplinäre UI Modellierung Verbesserung Stakeholder & Benutzer Feedback Back-End Modellierung Modellierung des Interaction Layer Implementierung Corporate System Generierung des Prototypen Zusammenführen Wiederverwendung Weitergabe an Zulieferer Simulierte Anforderungen Iteration und inkrementelle Änderungen Design & Funktions Test Angenommene Anforderungen (Quality Gateway) Interaktive Spezifikation + Contract Model Spezifikation: UI Design, Back-End, Contract Model
Vorteile modellgetriebener Entwicklung Kompatibel mit agilen Prinzipien und Praktiken Integrationsfähigkeit in alle Vorgehensmodelle mit für User Interface Design, Prototyping und Evaluation Leichtere Erlernbarkeit von Ausdruckmitteln der Domäne (DSL) für Experten Standardisierung des Spezifikationsprozesses Erhöhte Flexibilität bei der Auswahl des Zulieferers Kostspielige, späte Änderungen werden durch frühe Testbarkeit vermieden Textuelle Dokumente können durch visuelle UI Spezifikationen ersetzt werden
Schwachpunkte + Initialer Aufwand zur Erstellung der DSL + Entwickler müssen bisherige Vorgehensweise verändern + Veränderungen werden nur in eine Richtung transportiert (Modell nach Prototyp) + Modelle werden erst eingesetzt, nachdem grundliegende Tätigkeiten des Requirements Engineering bereits vorgenommen wurden + Immer noch Medienbruch zwischen frühen Phasen der Anforderungsermittlung und des User Interface Design zur Modellierung des Systems
Inhalt Zur Person Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
Früherer Einsatz von geeigneten Werkzeugen Business Anforderungen Projektplan, Budget, Benachmarks Anforderungsermittlung Projekt Start Meta-Modellierung Interdisziplinäre UI Modellierung Verbesserung Stakeholder & Benutzer Feedback Back-End Modellierung Modellierung des Interaction Layer Implementierung Corporate System Generierung des Prototypen Zusammenführen Wiederverwendung Weitergabe an Zulieferer Simulierte Anforderungen Iteration und inkrementelle Änderungen Design & Funktions Test Angenommene Anforderungen (Quality Gateway) Interaktive Spezifikation + Contract Model Spezifikation: UI Design, Back-End, Contract Model
Bestandteile einer visuellen UI Spezifikation ZUI GUI Builder UI Modellierer Visuelle Spezifikation Formale, domänenspezifische Modelle zur Code- und Prototypgenerierung (kleinster gemeinsamer Nenner) Informale und semiformale, interdisziplinäre Modelle zur frühen Anforderungsermittlung (kleinster gemeinsamer Nenner, eher agile Modelle)
Interdisziplinäre Modellierung UE Modell SE Modell BE Modell Hybrid Modell User Roles, Personas User Story, Personas Personas Personas User, Task, Information, Interaction Scenario Usage Scenario Business Rule, Business Vision Interaction Scenario Flow Chart Activity Diagram, Sequence Diagram Business Object Model (Data Flow Diagram) Flow Chart (Essential) Use Case / Task Case (Essential) Use Case Business Use Case Essential Use Case Task Map Use Case Diagram Business Use Case Diagram Task Map (Use Case) Storyboard UI Flow Diagram Robustness Diagram Storyboard Low-Fi UI Prototype Presentation Prototype Mockup, Slides Abstract UI Prototype Hi-Fi UI Prototype Functional Prototype, Pilot System Images Detail UI Prototype
Inhalt Zur Person Motivation Herausforderungen bei der Gestaltung gebrauchstauglicher Systeme Probleme aktueller Vorgehensweisen in der Industrie Die Rolle agiler Methoden im Corporate Entwicklungsprozess Usability Engineering & Extreme Programming Agile Methoden und modellgetriebene Entwicklung Modellgetriebene Entwicklung interaktiver Systeme Eine Werkzeugkette zur Modell-getriebenen Entwicklung von embedded Systems Interdisziplinäre Modellierungssprachen Erweiterungen der Sichtweise des Usability Engineering Identifikation idealer Modelle zur Kollaboration Zusammenfassung & Ausblick
Zusammenfassung + Gemeinsame Entwicklungswerkzeuge für unterschiedliche Expertengruppen verbessern die Kollaboration + Es werden keine Super-Werkzeuge benötigt, sondern einfache, leicht erlernbare UI Spezifikationswerkzeuge + Wir betrachten die Thematik aus der Perspektive des Usability Engineering + Gemeinsame Notationen und Modellierungssprachen können identifizieren werden, indem die Sicht des Usability Engineering um die anderer Disziplinen erweitert wird + Agile Prinzipien und Praktiken können wertvolle Schnittstellen für den Vereinigungsprozess anbieten
Vielen Dank für Ihre Aufmerksamkeit. VISUAL SPECIFICATION
Literatur + Gundelsweiler, Fredrik; Memmel, Thomas; Reiterer Harald: Agile Usability Engineering. Mensch & Computer 2004: Allgegenwärtige Interaktion, in: Keil-Slawik, R.; Selke, H.; Szwillus, G., Oldenbourg Verlag, München, p. 33-42, Sep 2004 + Memmel, Thomas; Gundelsweiler, Fredrik; Reiterer, Harald: Prototyping Corporate User Interfaces - Towards A Visual Specification Of Interactive Systems. IASTED-HCI 2007, Chamonix, France: Proceedings, Acta Press, Canada, Mar 2007 + Memmel, Thomas; Bock, C.; Reiterer, Harald: Model-driven prototyping for corporate software specification. EIS 2007: Proceedings, Mar 2007 + Memmel, Thomas; Reiterer, Harald; Ziegler, Heiko; Oed, Richard: Visuelle Spezifikation zur Stärkung der Auftraggeber-Kompetenz bei der Gestaltung interaktiver Systeme. UPA 2007, Weimar