Towards 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
Motivation
• 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)
Flexible 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)
Investigation
• 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)
UID 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)
Environment T
Cameleon Reference Framework
Final userInterface T
Concrete userInterface T
Task and Domain T
Abstract userInterface T
T=Target context of use
Concrete userInterface S
Final userInterface S
Task and Domain S
Abstract userInterface S
S=Source context of use
Reification
Abstraction
Reflexion
Translation
UsiXMLunsupported
model
UsiXMLsupported
model
User S Platform S Environment S Platform TUser T
(Calvary et al.,2003)
How 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.
What 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.
Comparing SPEM and BPMN
Defining Method with BPMN
Helping 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)
Main 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.
Usability Goals and Activities
Usability Goals and Activities
Defining 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.
Tool SupportDefinition of activities for a model-based UID method based on the Cameleon
Framework
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.
A Better Look of the Method
Integrated 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)
Defining Integrated Method
Intended 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
Next 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
Thank you for your attention
http://www.isys.ucl.ac.be/bchi BCHI Lab
http://www.programalban.orgProgram Alban
http://www.usixml.orgUI extensible Markup Language
http://www.similar.ccEuropean network on Multimodal UIs
References
• 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) 275–280
• 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) 289–308
• Kruchten, Ph. The Rational Unified Process - An Introduction. Addison-Wesley, New Jersey (2000)
References
• 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) 325–338
• 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 CHI’2000 (The Hague, April 2000). ACM Press, NY (2000) 337–344
• Saeki, M.: Came: the first step to automated software engineering. In: Proc. of the OOPSLA’03 Workshop on Process Engineering for Object-Oriented and Component-Based Development (2003) 7–18
Top Related