From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT...
-
Upload
alexia-west -
Category
Documents
-
view
216 -
download
1
Transcript of From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT...
![Page 1: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/1.jpg)
From Task Analysis and Task Modeling to Task Model
Engineering
Philippe Palanque
LIIHS-IRIT
Université Paul Sabatier
[email protected] – http://liihs.irit.fr/palanque
From a joint tutorial with Fabio Paterno at World Congress on Formal Methods 99
Rio de Janeiro – 18-19 september 2007Rio de Janeiro – 18-19 september 2007
![Page 2: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/2.jpg)
Structure of the lecture
Introduction to Model-based Approaches State of art in Task ModelsConcurTaskTreesTask Models for Cooperative ApplicationsExercisesTask Models in Usability Evaluation
![Page 3: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/3.jpg)
Why Model-based approaches?
Highlight important informationHelp to manage complexity Useful to support methodsOne important aspect of most
development methodsReason about models ...
![Page 4: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/4.jpg)
Significant Models in HCI
Task modelsCognitive architecturesUser modelsDomain ModelsContext ModelsPresentation ModelsDialogue models…
![Page 5: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/5.jpg)
UML and HCI
Model-based approachNine notationsLack of consideration of the user interfaceToo early consideration of the user
interface
How to improve it?Refine use case in task models?
![Page 6: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/6.jpg)
Digression: UML for Interactive Systems
![Page 7: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/7.jpg)
Outline
What UML is and is notWhat is in Interactive Systems
Engineering IS engineering UML and IS engineering
What could be UML for Interactive Systems
![Page 8: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/8.jpg)
UML History
End of the 80’s : competition between OO analysis and design methods Booch : particularly suited for design and
implementation OOSE (Jacobson) : focus on requirements engineering
OMT-2 (Rumbaugh) : focus on analysis and on data-oriented applications
1994 : Rumbaugh rejoin Booch at Rational 1995 : Jacobson rejoin Rational 14 November 1997 : UML adopted by the OMG
![Page 9: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/9.jpg)
What is UML ? Not a method (design process)
« The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems »
Language : lexical (graphical), syntax (diagrams), semantic Visualise : graphical representation Specification : precise, complete, non-ambiguous Construction : translation towards programming langages Documentation : from requirements to tests
![Page 10: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/10.jpg)
UML by itself
© Chuck Suscheck 2000, communication personnelle
CollaborationDiagram
DeploymentDiagram
UseCaseRealization
ComponentDiagram
SequenceDiagram
UseCaseDiagram
ActivityDiagram
ObjectDiagram
ClassDiagramRequirement
Component
StateChart
UseCase
Object
Class
1
0..*
Instance of
Supports
Mirrors
Snapshot
Behavior specified by
Behavior specified by
1..*
1..*
Modeled By
Behavior specified by
Shows behavior for
Behavior specified by
1
1
Realized by
Deployed upon
![Page 11: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/11.jpg)
Use of diagrams
Prescriptive diagrams : describe the system as it should be or how it should behave at any time Class, StateCharts, Use Cases, Activities,
Components, Deployment
Descriptive diagrams : represent a state or a possible or typical behaviour of the system Object, Sequence, Collaboration
![Page 12: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/12.jpg)
What is in Interactive Systems Engineering Producing solutions to problems if possible by
reuse of experience Various contributions
Abstraction first: architectures Reuse first: design patterns Semantic first: metaphors Implementation first: toolkits Presentation first: UIMS and RAD Process first : iterative, UCD process Model first: model-based approaches
![Page 13: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/13.jpg)
Abstraction first : architectures
Seeheim and Arch ? Describe typical structure for IS Describe relationship between components Structure promoted for reuse, portability, …
Possible use of extension mechanisms By definition not in UML Stereotypes Class Diagrams (functional core or
presentation) an attribute associated to a class (only a documentation)
Tagged Values
![Page 14: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/14.jpg)
Reuse First: Design Patterns 1
MVC or PAC Foundation
of most toolkits and UIMSs
Described in terms of class and sequence diagrams
Vue
Notify(Modele modele)
Controleur
HandleEvent()
Modele
att1 : int
att2 : String
Service1()
Service2()
AddModeleListener()
getData()
*
*
enregistre
Invoque
Notify(Modele modele)
Vue
HandleEvent()
Controleur
att1 : int
att2 : String
Service1()
Service2()
AddModeleListener()
getData()
Modele
![Page 15: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/15.jpg)
c:Controler v1:ViewUI m:Modelv2:View
AddModelListener()
AddModelListener()
Event()
Service1()
Notify(model)
Notify(model)getData()
getData()
Reuse First: Design Patterns 2
Nothing about the use of the design pattern for the application
Some tools claim to support design patterns usually only cut and paste use of diagrams … against the spirit of design patterns
![Page 16: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/16.jpg)
Semantic first: metaphors
Widely used for UI design Desktop, rooms (file managers) Making Movie, Xtv, Whizz (software classes) Village (web sites)
Nothing to do with UML
![Page 17: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/17.jpg)
Implementation first: toolkits
UML description of a toolkit would be very useful for designer Hard to master Poor documentation No or few rationale
No widely-used toolkit described in terms of UML beyond inheritance tree
![Page 18: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/18.jpg)
Presentation first: RAD
Iterative rapid prototyping Widely used Promote User centred design Evaluation based
UML users’ guide Software development life cycle p. 33-34 “the UML is largely process-independent […]. However,
[…] you should consider a process that is Use case driven Architecture-centric Iterative and incremental
XP versus Rational Unified Process in general
![Page 19: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/19.jpg)
Model first: model-based approaches (1)
Many models can be build for model-based UI Design Domain model (including data model) Task model and scenarios User model Platform model (link to toolkit and environment) Dialogue model (behaviour of the application I/O) Presentation model (appearance of the application) Application model (commands and data the application
provides) …
![Page 20: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/20.jpg)
Model first: model-based approaches (2) Fully taken into account
Domain model (including data model) class and object diagrams (organisational charts, …)
Application model (commands and data the application provides) main focus of UML
Partially accounted for Task model and scenarios (through use cases) Dialogue model state charts (state and events) and sequence
diagrams Not considered
User model Platform model (link to toolkit and ) Presentation model (appearance of the application)
![Page 21: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/21.jpg)
Back to the topic of the session : Task Analysis
![Page 22: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/22.jpg)
Definitions
TaskGoalBasic TaskTask Analysis <> Activity analysis Task Modeling
![Page 23: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/23.jpg)
What is the point of task analysis?
Determine What the users do The tools they use to do their work The information they know or the information
they must know for performing their work
Cover all/most casesCover all/most users
![Page 24: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/24.jpg)
One small example
To clean the house Take the vacuum cleaner Plug it in Use it in all the rooms When the bag is full, empty it Store the vacuum cleaner
You must know Where is the vacuum cleaner Where are the plugs How to remove the bag Where are the new bags Evaluate if a room is clean or not
![Page 25: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/25.jpg)
Information gathering
Planned procedure Ask the boss Look at the manual
Actual procedure Ask the operator Record operator behaviour
Optimal procedure The target for a good system
![Page 26: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/26.jpg)
Task Analysis (Web application for museum)
Tourist general and clear information in limited amount access by spatial representations guided navigation
Art student some basic knowledge choice among different types of information
Expert precise requests detailed description of the information requested
![Page 27: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/27.jpg)
Beware about the abstraction level
If you ask the following question:What are you doing?
You can get: I am striking ctrl-B keys I make "bonjour" in bold I make on word bold I highlight a word I am modifying a document I am writing a letter I keep contact with my familly I am waiting for a phone call
![Page 28: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/28.jpg)
Building the task tree
1 Build a list of tasks 2 Gather high-level tasks 3 Breakdown low level tasks
Where to stop ? Is the action « empty bag » decomposed enough? Objective: only decompose pertinent tasks (objective
optimization/automation of work) User actions: cognitive/motor usually not that interesting to
decompose (except for performance evaluation) System activity MUST not be represented (will be in other models)
Highest level = reproduction of the specie Lowest level = biological life (breathe, drink a coffee , …)
![Page 29: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/29.jpg)
Example: make a cup of tea
![Page 30: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/30.jpg)
Refining Models
Once the model is built (whatever notation you use) How to be sure that it is correct? How to improve it?
Some heuristics Coupled actions: e.g., where is "turn gas on"? Restructure : e.g. make a task generic “make pot” Balance : e.g. is “pour tea” simpler than “make pot”? Generalise: e.g. make one cup … make many
![Page 31: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/31.jpg)
Example: make a cup of tea
![Page 32: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/32.jpg)
Examples of task analysis
Tourist Book a train ticket Find a monument in the city Game of 15
A client using a cash machine Withdraw money Check the balance on the account …
![Page 33: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/33.jpg)
Party : The game of 15
The game is played by 2You have the following tokens 1, 2, 3, 4, 5, 6, 7, 8, 9People play in turn, each player take one token at a
time, one token can only be taken onceThe first with 3 token of which the sum adds up to 15
is the winner
Play this game without tool (paper, pencil or other! )
![Page 34: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/34.jpg)
Party : The game of 15
Analyze one player taskPropose a decomposition in sub tasks
Propose an interface (paper +pencil or computer tool) for this gameThe user interface must (of course) help the
player to achieve his task
![Page 35: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/35.jpg)
Beware !
Not a cognitivist approach Don’t include the system Make sure models are correct No algorithmic description (calculation of who is
the winner) No task migration (the system performs tasks
assigned to the player) Who starts (difference between you play
together and you play with ME - elbow communication)
![Page 36: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/36.jpg)
Task Analysis
Play the game of 15
Ensure turn taking Choose a tokenEvaluate if there
is a winner
Remember token I have already taken
Remember the Remaining tokens
![Page 37: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/37.jpg)
Your solution
![Page 38: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/38.jpg)
Another solution
8
1
6
3
5
7
4
9
2
![Page 39: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/39.jpg)
Extraterrestrial Example of a computer system
We have a database with the following schema:
Propose a menu tree allowing to manipulate that database
ClientClient ManagesManages Sales ManSales Man1,1 1,n
Functioning versus Usage Structuring
![Page 40: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/40.jpg)
Client
Sales man
AddDeleteModifyDisplay
AddDeleteModifyDsisplay
Functioning structure
View of the computer Scientist The tree structure
reflects the database structure
Grouping is made by function code similarity
![Page 41: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/41.jpg)
Example of task
« I spent my day at work entering information for new clients and I must associate them with the more suitable sales man (according to various criteria) … sometimes I receive an invoice from a sales man recently recruited. In such a case, I must create both the new sales man and the client. Sometimes a sales man quits the company. Usually they leave the company for another one and the clients follow them. I then have to delete the sales man and all its related … »
Propose a tree structure adapted to the tasks
![Page 42: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/42.jpg)
Sales ManagementAdd
Delete its Clients
Modify
Display
Add Sales Man
Delete Sales Man
Display Sales Man information
Add Sales ManDisplay Sales Man information
Usage structure (1/2)
User interface is structured according to the task
![Page 43: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/43.jpg)
Things are still problematic
There is no Menu for deleting clients (without sales man) Client modification …
There is Access to clients through their sales man Display of client information without getting to their sales
man first …
U=1/F
![Page 44: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/44.jpg)
Back to the second topic of the session : Task Modeling
![Page 45: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/45.jpg)
Engineering task models
Flexible and expressive notationsSystematic methods able to indicate how
to use information in the task modelsAvailability of automatic tools to use such
information efficiently
![Page 46: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/46.jpg)
The many possible task models
Existing System One or many systems One or many operators
Envisioned System One or many systems One or many operators
Variation of models (co-evolution)
![Page 47: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/47.jpg)
Use of Task Models
Better understanding of the application (and in particular its use)
Record discussions (multidisciplinary) Help design Help usability evaluation Help performance evaluation Help user in performing the tasks (contextual
help) Documentation (content + structure)
![Page 48: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/48.jpg)
Representations of Task Models
Hierarchical task analysisGOMS familyUANK-made (web)AMBOSS (web)Different syntax (textual vs graphical)Different level of formalityDifferent set of operators for task composition
![Page 49: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/49.jpg)
GOMS Example
GOAL: EDIT-MANUSCRIPTGOAL: EDIT-UNIT-Task repeat until no more unit tasks
GOAL: ACQUIRE-UNIT-TASKGET-NEXT-PAGE if at end of manuscriptGET-NEXT-TASK
GOAL: EXECUTE-UNIT-TASKGOAL:LOCATE-LINE
[select: USE-QS-METHODUSE-LF-METHOD]
GOAL: MODIFY-TEXT[select: USE-S-METHOD
USE-M-METHOD]VERIFY-EDIT
![Page 50: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/50.jpg)
Limitations of GOMS
It does not consider user errorsIt does not consider the possibility of
interruptionsIt considers only sequential tasksIt can be inadequate for distributed
applications (such as web-based applications)
![Page 51: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/51.jpg)
UAN - User Action Notation
2 complementary set of information A hierarchy of tasks LOTOS (proche de CTT) A table for describing states and feedback
Textual notation Introduced in 1992 (Hix & Hartson huge
success Developing user interfaces Ensuring, Usability Through Product & Process)
![Page 52: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/52.jpg)
Example of UAN specification
Task: BuildRequest:((SelR | ClearR | IconifyR)*--> SpecField+)
Task: SelApplicationUser Action Interface Feedback Interface State~[x,y in AppICON] (t<tdoubleClick) w’!: w’-!
UnMap(PrevAppliMenu)Map(AppMenu)UnMap(AppICON)
CurAppli=AppCurMenu=AppMenu
![Page 53: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/53.jpg)
ConcurTaskTrees
Focus on Activities Hierarchical StructureGraphical SyntaxRich set of temporal operatorsTask allocationObjects and task attributes
![Page 54: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/54.jpg)
Task Models vs Scenarios
Scenarios are informal descriptions of a specific use in a specific context
Task models describe the possible activities and their relationships
Scenarios can support task developmentTask models can support scenarios
identification
![Page 55: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/55.jpg)
Moving from scenarios to tasks
Find verbs = tasksFind words = objects Find adverbs = temporal relationships
![Page 56: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/56.jpg)
Temporal Operators
Enabling T1 >> T2 or T1 [ ]>> T2 Disabling T1 [> T2 Interruption T1 |> T2Choice T1 [ ] T2 Iteration T1* or T1{n} Concurrency T1 ||| T2 T1 |[]| T2Concurrency (must finish first) T1 |=| T2 Optionality [T]
![Page 57: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/57.jpg)
Operators Priority
Ambiguity in the model
Ambiguity removed
Priority: [], |||, [>, >>
![Page 58: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/58.jpg)
Interaction tasksSelection
Edit
Control
…
Application taskOverview
Comparison
Locate
Grouping
...
Tasks types
![Page 59: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/59.jpg)
Inheritance of relationships
![Page 60: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/60.jpg)
Relationships task/subtasks
![Page 61: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/61.jpg)
Optional tasks
![Page 62: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/62.jpg)
Tool Support in CTTE
Flexible editing of the task modelUsing informal descriptions in modelling Checking completeness of the specificationSaving the specification in various formatsSimulating the task model Comparing task modelsRunning scenarioshttp://giove.cnuce.cnr.it/ctte.html
![Page 63: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/63.jpg)
CTT Editor
![Page 64: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/64.jpg)
Task Simulator
![Page 65: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/65.jpg)
User1
User2 User3
Cooperative part
t1t2
t3
t1(User1) t3 (User3)
Modelling Multi-User Applications
![Page 66: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/66.jpg)
Cooperative aspects
![Page 67: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/67.jpg)
Exercises
Develop a task model in ConcurTaskTrees from the game 15 previous model
Develop a task model for a an ATM Think about normal behaviours Abnormal behaviours
![Page 68: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/68.jpg)
Exercise: ATM constraints
Insert_Card, Enter_Code, Witdraw_CardRequest_Cash, Select_Amount, Withdraw_Cash
Request_Cash Select_Amountbefore
Insert_Card Withdraw_Cardbefore
Enter_Code Insert_Cardjust after
andSelect_Amount
Insert_CardWithdraw_Cashbefore
![Page 69: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/69.jpg)
ATM: Tasks
Goal: Get cashPrerequisite:
Have a card Know the amount to withdraw Know PIN number
Results Take cash Take card
![Page 70: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/70.jpg)
ATM: Task Model
![Page 71: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/71.jpg)
ATM: Task Model
![Page 72: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/72.jpg)
ATM: Task Model
![Page 73: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/73.jpg)
ATM: Task Model
![Page 74: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/74.jpg)
ATM: User Error
![Page 75: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/75.jpg)
Prevent post-completion errors
Definition of a post completion errorExamples Modify previous task model to prevent
post-completion errors
![Page 76: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/76.jpg)
Limitations of current approaches in UI designVisual tools do not support mapping
between logical activities and UI elementsUML is oriented to the system designNo available tools for task-based design
(when existing, not publicly available and limited functionality)
![Page 77: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/77.jpg)
Grouping tasks that share the same parent taskCommunicating concurrent tasks (|[]|) are
presented close to each other
The task model structure
![Page 78: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/78.jpg)
Both sets are shown in the same presentation unit (when they exchange information, []>>)
The sets are presented at different times The sets are presented in different presentation unit
at the same time
Supporting enabling operator
Jo*
Submit
Name:
Name AgeJohansen 52Jones 27Joxibon 18
Jo*
Submit
Name:
Age:
Name AgeJohansen 52Jones 21
Results:
>20
Results:
Situation 1 Situations 2 and 3
![Page 79: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/79.jpg)
Deriving information from operators
![Page 80: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/80.jpg)
Task-interface relationships
![Page 81: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/81.jpg)
Tasks-interface relationships
![Page 82: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/82.jpg)
Tasks-interface relationships
![Page 83: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –](https://reader035.fdocuments.us/reader035/viewer/2022062423/56649e175503460f94b03427/html5/thumbnails/83.jpg)
Conclusions – insights ??
Should we generate UI from task models ? Video store user interface Spotfire User Interface
How to relate task models with other models?