+ All Categories
Home > Documents > From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT...

From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT...

Date post: 11-Jan-2016
Category:
Upload: alexia-west
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
83
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 2007 Rio de Janeiro – 18-19 september 2007
Transcript
Page 1: From Task Analysis and Task Modeling to Task Model Engineering Philippe Palanque LIIHS-IRIT Université Paul Sabatier palanque@irit.frpalanque@irit.fr –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

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 –

Conclusions – insights ??

Should we generate UI from task models ? Video store user interface Spotfire User Interface

How to relate task models with other models?


Recommended