Title: Plop
1Towards Method Engineering ofModel-Driven User
Interface Development
Kênia Sousa, Hildeberto Mendonça, Jean
Vanderdonckt Université catholique de Louvain
(UCL) Louvain School of Management
(LSM) Information Systems Unit (ISYS) Belgian
Laboratory of Computer-Human Interaction
(BCHI) TAMODIA 2007
2Motivation
- Professionals working in systems development
usually follow a defined software development
process. - When it comes to User Interface Development
(UID), many professionals do their activities
more empirically. - Model-driven UID comes as a solution to improve
efficiency of UID methods by reusing models,
reducing development efforts, etc. - To make model-driven UID methods applicable in
the competitive reality of software development
organizations, they need to be easily adaptable
to the constraints of specific projects.
(Rosenbaum et al., 2000)
3Flexible UID method
- To help method engineers define a model-driven
UID method appropriate for the reality of the
software organization and its projects. - To make model-driven UID methods efficiently
applicable in the competitive reality of software
development organizations. - There is a need for flexibility
- There are different ways to apply model-based UID
methods. - Even following a methodology, UI designers need
freedom to be creative. - Software development projects are very specific.
(Saeki, 2003)
4Investigation
- We studied some Model-driven User Interface
Development Environments and their built-in
methodologies. - Not completely flexible, we need one not
restrictive to the sequence of manipulation of
models, but concerning the entire set of
activities, roles, tools, and artifacts. - Method engineering engineering discipline to
design, construct and adapt methods, techniques
and tools for the development of information
systems. - proposals to automate method engineering focus on
system development, letting aside the concerns of
usability. - We clearly see a need of interaction between
MD-UIDEs and method engineering methodologies and
environments.
(Brinkkemper, 1996)
5UID Activities
- Method Engineering of Model-Driven User Interface
Development - The Cameleon Reference Framework supports the
realization of multiples types of development
paths within a single framework. - The language UsiXML was created to describe UIs
for multiple contexts of use.
(Limbourg Vanderdonckt, 2004)
6Cameleon Reference Framework
TTarget context of use
SSource context of use
User S
User T
Task and Domain T
Task and Domain S
UsiXML supported model
Abstract user Interface T
Abstract user Interface S
UsiXML unsupported model
Concrete user Interface T
Concrete user Interface S
Final user Interface T
Final user Interface S
(Calvary et al.,2003)
7How to Define the Method?
- Business Process Modeling Notation (BPMN) was
proposed by OMG to be applied in the
representation of organizational processes. - Using BPMN in the method definition is important
because - it has become a pattern for process modeling
- there are many tools available in the market
implementing it - it is intended as a human-readable layer that
hides the complexity of transactional business
processes - there is a strong integration with the SOA.
8What about SE standards?
- Software Process Engineering Metamodel (SPEM) is
a meta-model for defining software development
processes. - We associated SPEM and BPMN components to
confirm that it is possible to represent the
concepts defined in SPEM using BPMN. - This means that a method defined according to the
SPEM specification can be graphically presented
using the BPMN formalism.
9Comparing SPEM and BPMN
10Defining Method with BPMN
11Helping Method Engineers
- Aiming at systematizing how a method can be
defined and evolved, an evolution driven method
engineering approach was defined. - The activity-based strategy aids method engineers
in identifying activities to construct a method. - Adapting this strategy to the HCI domain, method
engineers identify usability goals and associate
them to activities that can be included in the
method to achieve the desired goals.
(Ayed et al., 2004)
12Main Concepts
- A method is defined by describing Activities,
which are selected for a project based on
Usability Goals. Activities are performed by
Roles, and act upon Work Products using Tools to
manage the work products, which can be UI Models.
13Usability Goals and Activities
14Usability Goals and Activities
15Defining the Method
- The method can be designed using a common process
modeling tool that provides a way to select
previously defined activities. - The method engineer can drag and drop any
activity, into method flow in the desired or
recommended order. - The activities, as well as their relationships
with other activities and conditions for their
performance, are organized by roles.
16Tool Support
Association of BPMN and SPEM elements to use
business process elements in the method
engineering domain.
Drag and drop activities from the pre-defined
list and reuse them when defining the method for
a specific project.
Definition of activities for a model-based UID
method based on the Cameleon Framework
17A Better Look of the Method
18Integrated Method
- We aim to define methods that are applicable in
software development projects and also provide
support for UID. - The technique to define project-specific methods
from parts of existing methods is called method
assembly, which can produce a powerful new
method. - Using this technique, we integrate the best from
both domains activities from a world-wide
accepted commercial software development process,
the Rational Unified Process (RUP) and
activities for creating UI models.
(Brinkkemper et al., 1999) (Kruchten, 2000)
19Defining Integrated Method
20Intended Results
- Increase the efficiency when tailoring the method
- Make model-driven UID methods applicable in the
competitive reality of software development
companies - Method engineers rely on usability goals to
define a method, they also profit from clearly
specifying goals that must be accomplished after
each activity is concluded - Bring Human-Computer Interaction and Software
Engineering closer together in practice
21Next Steps
- Address the organization and sequence of UID
activities in a process lifecycle, such as the
organization of activities in phases and
disciplines - Provide guidance for the integration of UID and
software engineering activities - Propose a UID method that aligns business
processes and user-centered design from a
practical perspective
22Thank you for your attention
http//www.isys.ucl.ac.be/bchi BCHI Lab
http//www.usixml.org UI extensible Markup
Language
http//www.programalban.org Program Alban
http//www.similar.cc European network on
Multimodal UIs
23References
- Ayed, M.B., Ralyte, J., Rolland C. Constructing
the Lyee method with a method engineering
approach. Knowledge-Based Systems, 17 (7-8),
(2004) 239-248 - Brinkkemper, S. Method engineering engineering
of information systems development methods and
tools. Information Software Technology 38, 4
(1996) 275280 - Brinkkemper, S., Saeki, M., Harmsen, F.
Meta-Modelling Based Assembly Techniques for
Situational Method Engineering. Information
Systems. Vol. 24(3) (1999) 209-228 - Calvary, G., Coutaz, J., Thevenin, D., Limbourg,
Q., Bouillon, L. and Vanderdonckt, J. A Unifying
Reference Framework for Multi-Target User
Interfaces. Interacting with Computers (2003)
289308 - Kruchten, Ph. The Rational Unified Process - An
Introduction. Addison-Wesley, New Jersey (2000)
24References
- Limbourg, Q., Vanderdonckt, J. UsiXML A User
Interface Description Language Sup-Porting
Multiple Levels of Independence. In Matera, M.,
Comai, S. (eds.) Engineering Advanced Web
Applications. Rinton Press, Paramus (2004)
325338 - OMG, Business Process Modeling Notation
Specification, 1.0, February, 2006 - OMG, Software Process Engineering Metamodel
Specification, V2.0, February 2007 - Rosenbaum, S., Rohn, J.A., Humburg, J. A toolkit
for strategic usability results from Workshops,
Panels and Surveys. In Proc. of ACM Conf. on
Human Factors in Computing Systems Proceedings
CHI2000 (The Hague, April 2000). ACM Press, NY
(2000) 337344 - Saeki, M. Came the first step to automated
software engineering. In Proc. of the OOPSLA03
Workshop on Process Engineering for
Object-Oriented and Component-Based Development
(2003) 718