Towards a Pattern Language for User Interface Design

Slides:



Advertisements
Similar presentations
Logical and Physical Design of an Information System
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
IWWOST’01 Valencia June 01 User Interface Models IV: ( Design Level ) Dialog Model: (X, P)-dialog H H It describes the user-system “conversation”. H H.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Modelling Class T05 Conceptual Modelling – Domain References: –Conceptual Modeling of Information Systems (Chapters 1.2.1, 2, 3) –A practical Guide to.
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
Lecture 1 Introduction to the ABAP Workbench
Ch5: ER Diagrams - Part 1 Much of the material presented in these slides was developed by Dr. Ramon Lawrence at the University of Iowa.
Object-Oriented Analysis and Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Requirements Analysis Concepts & Principles
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Chapter 9 Using Data Flow Diagrams
Systems Analysis and Design in a Changing World, 6th Edition
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 6: The Traditional Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
A Survey on Context-Aware Computing Center for E-Business Technology Seoul National University Seoul, Korea 이상근, 이동주, 강승석, Babar Tareen Intelligent Database.
Systems Analysis and Design in a Changing World, Fifth Edition
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Chapter 6 The Traditional Approach to Requirements
Systems Analysis and Design in a Changing World, Fifth Edition
An Approach to Task Modelling for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
An Introduction to Software Architecture
2 1 Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 ICAS’2008 – Gosier, March 16-21, 2008 A Transformational Approach for Pattern-based Design of User Interfaces Costin Pribeanu Jean Vanderdonckt National.
Database Systems: Design, Implementation, and Management Ninth Edition
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
101 User Interface Patterns and its applications Tonya Groover Department of Computer Science.
SOFTWARE DESIGN.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Chapter 7 System models.
1 Workshop on Business-Driven Enterprise Application Design & Implementation Cristal City, Washington D.C., USA, July 21, 2008 How to Describe Workflow.
Design Options for Multimodal Web Applications Adrian Stanciulescu and Jean Vanderdonckt {stanciulescu, UCL/IAG/BCHI.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
1 Introduction to Software Engineering Lecture 1.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Solving the Mapping Problem in UI Design by Seamless Integration in I DEAL XML Francisco Montero LoUISE Research Group University of Castilla-La Mancha.
Mir Farooq Ali Computer Science, Virginia Tech May 9, 2003 Building Multi-platform User Interfaces using UIML.
Understanding and using patterns in software development EEL 6883 Software Engineering Vol. 1 Chapter 4 pp Presenter: Sorosh Olamaei.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
S. Wilson and P. Johnson 1 CADUI' June FUNDP Namur Bridging the Generation Gap: From Task Models to User Interface Designs Stephanie Wilson.
Entity-Relation Model. E-R Model The Entity-Relationship (ER) model was originally proposed by Peter in 1976 ER model is a conceptual data model that.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
User Interface Generation From The Data Schema Akhilesh Bajaj Jason Knight University of Tulsa May 13, 2007 Sixth AIS SIGSAND Symposium, Tulsa, OK.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Chapter 5 – Software Tools. 5.1 Introduction Tools valuable for –Specification –Interface Building –Evaluation.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
The Relational Model Lecture #2 Monday 21 st October 2001.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
1 © 2013 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the.
Design Evaluation Overview Introduction Model for Interface Design Evaluation Types of Evaluation –Conceptual Design –Usability –Learning Outcome.
An Introduction to Software Architecture
Chapter 9 Architectural Design.
Presentation transcript:

Towards a Pattern Language for User Interface Design Costin Pribeanu National Institute for Research and Development in Informatics, Bucureşti, Romania E-mail pribeanu@ici.ro

Content Introduction Related work Domain-Task-Presentation mappings Motivation Objectives Related work Existing approaches Domain-Task-Presentation mappings A framework for model-based design Presentation patterns vizualization patterns Conclusion In this presentation we will first expose the motivation, the limitations of existing pattern-based approaches and the objectives of this work. Then we will briefly present our design framework and we will illustrate it with an example. In the third part, we will elaborate on a pattern language for UID based on the mappings between domain, task and presentation models.

Patterns in UID Patterns Model-based design of user interfaces Used in urban design by Christopher Alexander Three-part rules: problem, context and a solution Patterns are combining themselves in a pattern language Model-based design of user interfaces Typical configurations featured by each model Mappings between models domain - presentation, user - task, task - presentation, task - dialog, platform - dialog, … UI derivation A pattern is a three-part rule expressing a relation between a certain context, a problem and a solution. The solution is a configuration that allows the forces acting in that context to resolve themselves. In his design philosophy, a pattern is itself a pattern of relationships between other patterns and it is both a thing and the way it is generated. Welie and Veer proposed a pattern language structure which follows a top-down decomposition, along a scale of problems: posture type, experience, task and action. Molina et al are using conceptual patterns during the requirements specification and propagating them throughout the next development stages. Seffah and Forbig proposed a layering of task models from the most general to the most context dependent as a foundation for a “multiple user interfaces” paradigm in model-based design. Traetteberg proposed several patterns, which are focusing on the mapping between the domain and presentation models. The work of Sinnig et al is also discussing user interface patterns in the framework of model-based engineering.

Related work Existing approaches in using patterns for UID Conceptual view: mental models for designers and lingua franca for communication between them and the clients Welie and Veer (2003), Molina et al (2002), Nielsen (2002) Layering of task models: separating context dependent from context independent parts Seffah and Forbig (2002) Mapping between domain and presentation models Traetteberg (2000), Sinnig et al (2002) Limitations of existing model-based approaches Either too general: stopping at conceptual level Either too detailed: focusing on only one model Narrowly focusing on only two models Existing approaches are either too general (stopping at conceptual level), either very detailed (focusing on only one model) or narrowly focused onto the mapping between two models (for example, domain-presentation). Little attention is given to the identification of the typical configurations featured by each model and how these patterns combine themselves.

Domain and task models UID – progressive derivation of UI components from representations users, task, domain and technology Exploiting both domain and task models Domain model what information is needed in the interface Task model how to organize and present the information on the screen in a usable way User interface design could be seen as a progressive derivation of the interface components from representations expressing relations between users, tasks, domain, and technology Using the information contained in the domain model helps in deriving what information the user needs to manipulate in order to perform his task. Using the task model makes it also possible to derive how to present and organize this information in a usable way and the ordering of task performance.

Entities and relationships Domain model Domain objects (entities) Attributes - widget level Relationships – dialog unit level Relationships One-to-many - for example, a guideline is part-of a section guide Many-to-many- for example a guideline respects one or more criteria and none or several guidelines respect a criterion Logical model (relational approach) Typical constructs (foreign key attributes and tables) Make it possible to address control issues There are three kinds of information in the domain model, which are of particular interest for the user interface design: domain objects (entities), object attributes and relationships between domain objects. Relationships having the cardinality - 1:N (one-to-many); for example, a guideline is part-of a section guide; - N:M (many-to-many); for example a guideline respects one or more criteria and none or several guidelines respect a criterion. The analysis will not start from the conceptual data model since the representation is too general and it illustrates early domain modeling results. Rather, we will use the logical data model, which is more complete in that it comprises additional constructs resulting from the logicalization process. These constructs (i.e. foreign key attributes and tables in a relational approach) are typical for each kind of relationship and make possible to address control issues in a model-based engineering approach.

Task model Task models Criteria used for task decomposition Goals, actions, properties, task decomposition Criteria used for task decomposition data structure, functional structure data processing, situations nature of work - cognitive, manual, input, display interaction objects used, interaction techniques Representation CTT – concur task tree graphical notation (Paterno, 1999) Temporal relations between tasks (siblings) Assigning properties and interaction objects

Example Task Relationships Target user Create a guide using a tool for working with guidelines Relationships A guide can have several bases; a base contains several sections and each section contains several guidelines. A guideline could be hierarchically structured, from more general to more specific guidelines A guideline can be associated with other objects like references, examples and criteria Target user a designer or human factor specialist collecting guidelines in source-based approach create new bases, sections and criteria types. In order to illustrate how the relationships between domain objects affect these mappings we will take an example. The task is to create a guide using a tool for working with guidelines. A guideline could be hierarchically structured, from more general to more specific guidelines. A guide can have several bases; a base contains several sections an each section contains several guidelines. A guideline can be associated with other objects like references, examples and criteria. The target user is a designer or human factor specialist, which is collecting guidelines in source-based approach. In this respect (s)he might need to create new bases, sections and criteria types. A task decomposition using CTT graphical notation for the unit task “edit guideline” is presented next. For the sake of simplicity, only a part of basic tasks having as goal the data input have been included.

Representation - CTT This figure shows the mapping between attributes in the domain model and interaction objects in the presentation model. How these interaction objects are actualy used is shown in the task model.

Layers in task decomposition Initial task model planning (functional) goals Specified during early task analysis platform independent unit tasks: show “what to do” Goals the user wants to accomplish Designed task model operational goals - basic tasks Specified during user interface design platform dependent show “how to do it “ How the user is accomplishing a goal with a given technology The first layer is the initial task model showing planning or functional goals. It is specified during early task analysis and is device The operational part depends on the several UI design decisions: interaction style, interaction techniques and interaction objects.

Domain-task-presentation Mappings in domain, task and presentation models Horizontal mappings – between models Vertical mappings – within one model Mapping rules and design heuristics Mappings from one model to another are done according to design heuristics and derivation rules

Edit entity attributes pattern A simple pattern Most used in model-based UID Mappings between three pairs Entity-attributes Unit task - basic tasks Dialog unit – abstract interaction objects The task pattern: a sequence of basic tasks starting with a command selection, followed by data entry tasks (corresponding to object attributes) and ended by a confirmation command (usually ok vs. cancel). The pattern applies for editing attributes of both existing and newly created objects. Most characteristic are the mappings between the three pairs: entity-attributes, unit task - basic tasks and dialog unit – abstract interaction objects. Attributes in the data model, basic tasks in the task model and AIOs in the interface model are the basic elements in our framework.

Identifying patterns Patterns afforded by relationships Provide the user with means to visualize hierarchically organized data Generic task flow: visualize-select-manipulate Displaying patterns Basic patterns afforeded by relationships Interaction patterns depending on the relationship One-to-many relationships Many-to-many relationships In most of the situations when the user wants to perform tasks using hierarchically organized data it is important to provide him with means to visualize the relationship between entities. In this respect, we can say that relationships are affording certain tasks. These interaction patterns are potential since they reveal inherent capabilities of the interactive system as provided by the domain model.

Displaying patterns Mirroring relationships among entities consistent with the mental model of the user as regarding the data organization placement of the higher / lower level entity above / below the AIO group used for data entry Pattern combination (c) is a composition of three patterns: show higher, edit entity attributes, and show lower. a) Showing the higher level entity, b) Showing the lower level entities, for example to display the more specific guidelines (recursive aggregation) – this is usually accomplished by using a list box placed at the bottom. This is also used to show associated entities since in a relational model the many-to-many relationship is mapped onto two one-to-many relationships. c) Showing both the higher and lower for example to display the general guideline and the more specific guidelines – this could be accomplished using a text box and a list but also embedded dialog units showing a master-detail relationship The pattern in 4c is a composition of three patterns: show higher, edit entity attributes, and show lower.

Example Presentation pattern Context: editing a guideline Show higher Edit entity attributes This is a better solution since the user is provided with some information about the existing state of association. Several criteria could be added (iterative task) before closing the window

Conclusion Identifying patterns Displaying patterns refer mainly to the presentation Selection patterns are relating the presentation and dialog model at widget level with the control model Patterns for changing the associations are also relating the dialog model at dialog unit level Pattern languages for UID for user interfaces should include both Patterns occurring within the various models Patterns of mapping between models Display patterns refer mainly to the presentation parts, thus being static. Selection patterns are relating the presentation and dialog model at widget level with the control model while patterns for changing the associations are also relating the dialog model at dialog unit level. The main feature of this approach is that patterns are combining themselves and it is possible to specify large configurations of user interface parts with few patterns. In order to have a generative power, a pattern language for user interfaces should include both the patterns occurring within the various models and the patterns of mappings. It is worthwhile to mention that the centrality of the domain objects is a contextual aspect, which gives a sort of directness of the user interface patterns.