A Model-Driven Approach to Align Business Processes with User Interfaces
Kênia Sousa
Université catholique de Louvain (UCL)Louvain School of Management (LSM)
Information Systems Unit (ISYS)Belgian Laboratory of Computer-Human Interaction (BCHI)
Issues
• Weak correlation between business process and UI design;
• Difficulties in understanding business process documents;
• Difficulties to understand, find, and keep updated information spread in different artifacts;
“…receiving only screen shots not linked with the process makes our work very difficult.”
Business Analyst System Analyst
“…docs are too detailed… no prior training… they use a tool we do not have… we wait for updated docs…”
Issues
• Product knowledge owned mostly by business analysts;
• Design is done mainly by example, not based on processes;
• Difficulties in doing impact analysis after changes.
UI Designer
“we are overloaded to stop and read these documents…”
All: “changes impact hundreds of screens…we spend lots of times on meetings to decide what to do…”
Main Goals
• Provide a communication means between these two domains
• Maintain consistency between business processes and user interfaces
• Predict the impact of changes on business
processes and user interfaces
(Smith, 2007)
5
Task Model
UI –Business AlignmentBusiness Process
6
Task Model User Interface
UI –Business Alignment
Why task models?
• Its hierarchical structure provides an overview of the user interaction;
• Decomposition and temporal operators deliver the flexibility that users need.
• It is closer to business process structure;• Using task models to bridge business processes and
UI design addresses the user perspective;• User interaction has increased its importance in
making IT add value for organizations.
Roles, Artifacts, Tools
Traceability
BusinessProcess
Data Model
Task Model
Domain Model
Abstract UI
Business User Interface
Screen group
Screen
Screen fragment
Screen element
Decompose the task model in containers
sync
Traceability
Screen group
Screen
Screen fragment
Screen element
Abstract UI
Title of page
Task Model Task Model Task Model
Task Model Task Model
Label of field
Label of field
Label of field
Name of fragment
Name of fragment
Concrete UI
Final UI
A concrete UI can be inspired in an abstract UI Java Swing
HTML
Style Guide
Business ProcessProcess = 10 sub-processesSub-process = 17 activitiesActivity = 30 tasksTask = 99 business rules
Associate tasks and screens
Grouping tasks in screens
One subprocess can present one screen.
Screen 1 Screen 2
Screen 1
But the same subprocess can also be decomposed into several screens.
Forward Example
• Different activities had tasks related to personal data of the applicant.
• Some tasks from the activity ‘present insurance’ were moved to the activity ‘inform applicant’
• Screen fragment ‘personal data’ (for activity ‘inform applicant’) had to add the screen elements ‘marital status’ and ‘birth date’ and deleted from the screen fragment ‘insurance data’ (for activity ‘present insurance’).
• Easier for bank agents to interact with customers because related information were better organized.
Backward Example
Examples of rules
• Change the business process;• Update the task model;• Find out what kind of change is necessary in
screens based on comparing BP and task model:– Add screen/SF - new activity in the BP not in TM– Delete screen/SF – task in TM, but deleted from BP– Add screen element – new task in BP, not in TM– Delete screen element – task in TM, but deleted from BP– Change order of SF – order act. in BP <> order in TM– Change order of SF – order tasks in BP <> order in TM– Simple review - new description, rule, but same structure in
BP and TM
BP to TM - Relationships
Business Model Task ModelSequence Flow Enabling Sequence Flow + Data Object Enabling + Information
Passing Rule Intermediate Event + Link Intermediate Event
Suspend/resume
Exclusive decision Deterministic choiceInclusive decision + Exclusive merge Non-Deterministic
choiceCancel Intermediate Event Disabling Ad-Hoc marker in sub-process IndependenceParallel gateway ConcurrencyParallel gateway + Data Object Concurrency + info
passing
BP to TM
Activity Attribute Task PropertyConditional Flow Optional Standard Loop Iteration Multi-Instance Loop + MI Condition
Finite Iteration
Process Task Type Task TypeUser Interaction Service Application Manual Single User None Abstract User + Attribute Performers Multiple Users
Tool Support
Intended Results
• Continuity – Models are derived one from each other with aligned and consistent result.
• Traceability – Models are synchronized to propagate changes when needed.
• User centered – The user experience is considered in alignment with business needs.
• Efficient communication – designers use specific models for each goal.
This is an on going work
• Since we recognize UI models are not widely known in the business environment, study the cognition aspects of the models applied on the business context.
• Improvement of: transformation rules from business
process into task model through another concrete example from a prospective case study.
• Specify metrics to quantitatively demonstrate the
impact of mapping models and keeping track of changes.
Thank you for your attention
http://www.isys.ucl.ac.be/bchi BCHI Labhttp://www.isys.ucl.ac.be/bchi/members/kso/
http://www.programalban.orgProgram Alban
http://www.usixml.orgUI extensible Markup Language
References
• SOUSA, Kenia Soares; MENDONÇA, Hildeberto; VANDERDONCKT, Jean. User Interface Development Lifecycle for Business-Driven Enterprise Applications. 7th International Conference on Computer-Aided Design of User Interfaces CADUI’08, 2008.
• SOUSA, Kenia Soares; MENDONÇA, Hildeberto; VANDERDONCKT, Jean. Addressing the Impact of Business Process Changes on Software User Interfaces. Proc. of 3rd IEEE/IFIP International Workshop on Business-Driven IT Management (BDIM 2008), 2008, pp. 11-20.
• SOUSA, Kenia Soares; MENDONÇA, Hildeberto; VANDERDONCKT, Jean; ROGIER, Els; VANDERMEULEN, Joannes. User Interface Derivation from Business Processes: A Model-Driven Approach for Organizational Engineering. Proc. of 23rd Annual ACM Symposium on Applied Computing SAC’2008, ACM Press, New York, 2008, pp. 553-560.