Towards Method Engineering ofModel-Driven User Interface Development
Towards Method Engineering of Model-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 <ul><li>Professionals working in systems development usually follow a defined software development process. </li></ul><ul><li>When it comes to User Interface Development (UID), many professionals do their activities more empirically. </li></ul><ul><li>Model-driven UID comes as a solution to improve efficiency of UID methods by reusing models, reducing development efforts, etc. </li></ul><ul><li>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. </li></ul>(Rosenbaum et al., 2000)
Flexible UID method <ul><li>To help method engineers define a model-driven UID method appropriate for the reality of the software organization and its projects. </li></ul><ul><li>To make model-driven UID methods efficiently applicable in the competitive reality of software development organizations. </li></ul><ul><li>There is a need for flexibility </li></ul><ul><ul><li>There are different ways to apply model-based UID methods. </li></ul></ul><ul><ul><li>Even following a methodology, UI designers need freedom to be creative. </li></ul></ul><ul><ul><li>Software development projects are very specific. </li></ul></ul>(Saeki, 2003)
Investigation <ul><li>We studied some Model-driven User Interface Development Environments and their built-in methodologies. </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Method engineering: engineering discipline to design, construct and adapt methods, techniques and tools for the development of information systems. </li></ul><ul><ul><li>proposals to automate method engineering focus on system development, letting aside the concerns of usability. </li></ul></ul><ul><li>We clearly see a need of interaction between MD-UIDEs and method engineering methodologies and environments. </li></ul>(Brinkkemper, 1996)
UID Activities <ul><li>Method Engineering of Model-Driven User Interface Development </li></ul><ul><li>The Cameleon Reference Framework supports the realization of multiples types of development paths within a single framework. </li></ul><ul><li>The language UsiXML was created to describe UIs for multiple contexts of use. </li></ul>(Limbourg & Vanderdonckt, 2004)
Cameleon Reference Framework Final user Interface T Concrete user Interface T Task and Domain T Abstract user Interface T T=Target context of use Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S User T (Calvary et al.,2003) Environment T Reification Abstraction Reflexion Translation Platform S Environment S Platform T
How to Define the Method? <ul><li>Business Process Modeling Notation (BPMN) was proposed by OMG to be applied in the representation of organizational processes. </li></ul><ul><li>Using BPMN in the method definition is important because: </li></ul><ul><ul><li>it has become a pattern for process modeling; </li></ul></ul><ul><ul><li>there are many tools available in the market implementing it; </li></ul></ul><ul><ul><li>it is intended as a human-readable layer that hides the complexity of transactional business processes; </li></ul></ul><ul><ul><li>there is a strong integration with the SOA. </li></ul></ul>
What about SE standards? <ul><li>Software Process Engineering Metamodel (SPEM) is a meta-model for defining software development processes. </li></ul><ul><li>We associated SPEM and BPMN components to confirm that it is possible to represent the concepts defined in SPEM using BPMN. </li></ul><ul><li>This means that a method defined according to the SPEM specification can be graphically presented using the BPMN formalism. </li></ul>
Helping Method Engineers <ul><li>Aiming at systematizing how a method can be defined and evolved, an evolution driven method engineering approach was defined. </li></ul><ul><li>The activity-based strategy aids method engineers in identifying activities to construct a method. </li></ul><ul><li>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. </li></ul>(Ayed et al., 2004)
Main Concepts <ul><li>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. </li></ul>
Defining the Method <ul><li>The method can be designed using a common process modeling tool that provides a way to select previously defined activities. </li></ul><ul><li>The method engineer can drag and drop any activity, into method flow in the desired or recommended order. </li></ul><ul><li>The activities, as well as their relationships with other activities and conditions for their performance, are organized by roles. </li></ul>
Tool Support Definition 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.
Integrated Method <ul><li>We aim to define methods that are applicable in software development projects and also provide support for UID. </li></ul><ul><li>The technique to define project-specific methods from parts of existing methods is called method assembly , which can produce a powerful new method. </li></ul><ul><li>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. </li></ul>(Brinkkemper et al., 1999) (Kruchten, 2000)
Intended Results <ul><li>Increase the efficiency when tailoring the method </li></ul><ul><li>Make model-driven UID methods applicable in the competitive reality of software development companies </li></ul><ul><li>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 </li></ul><ul><li>Bring Human-Computer Interaction and Software Engineering closer together in practice </li></ul>
Next Steps <ul><li>Address the organization and sequence of UID activities in a process lifecycle, such as the organization of activities in phases and disciplines </li></ul><ul><li>Provide guidance for the integration of UID and software engineering activities </li></ul><ul><li>Propose a UID method that aligns business processes and user-centered design from a practical perspective </li></ul>
Thank you for your attention http ://www.isys.ucl.ac.be/bchi BCHI Lab http://www.programalban.org Program Alban http://www.usixml.org UI extensible Markup Language http://www.similar.cc European network on Multimodal UIs
References <ul><li>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 </li></ul><ul><li>Brinkkemper, S.: Method engineering: engineering of information systems development methods and tools. Information Software Technology 38, 4 (1996) 275–280 </li></ul><ul><li>Brinkkemper, S., Saeki, M., Harmsen, F. Meta-Modelling Based Assembly Techniques for Situational Method Engineering. Information Systems. Vol. 24(3) (1999) 209-228 </li></ul><ul><li>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 </li></ul><ul><li>Kruchten, Ph. The Rational Unified Process - An Introduction. Addison-Wesley, New Jersey (2000) </li></ul>
References <ul><li>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 </li></ul><ul><li>OMG, Business Process Modeling Notation Specification, 1.0, February, 2006 </li></ul><ul><li>OMG, Software Process Engineering Metamodel Specification, V2.0, February 2007 </li></ul><ul><li>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 </li></ul><ul><li>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 </li></ul>
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.