À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

51
De l’analyse des tâches à l’ingénierie des Modèles de Tâches À partir d’un cours de Philippe Palanque Lui-même tiré d’un tutorial de Fabio Paternò (HCI 2000)

Transcript of À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Page 1: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

De l’analyse des tâches à l’ingénierie

des Modèles de Tâches

À partir d’un cours de Philippe Palanque Lui-même tiré d’un tutorial de Fabio Paternò (HCI 2000)

Page 2: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Plan

Introduction des approches basées-modèles

État de l’art pour les modèles de tâche (UAN, GOMS, …)

La notation ConcurTaskTrees

Page 3: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Limites des approches courantes en conception d’IHM

UML est dirigé uniquement vers la modélisation des composants du systèmes

Peu d’outils disponibles

Pas d’outils permettant d’exécuter les modèles pour comprendre leur fonctionnement

Page 4: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Pourquoi les approches basées modèles ?

Pour mettre en avant les informations abstraites

Pour mettre en avant les informations importantes

Pour aider à gérer la complexité Un élément important de la plupart

des méthodes de conceptionLa possibilité de raisonner sur des

modèles

Page 5: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Des modèles importants en IHM

Modèles de tâcheArchitectures cognitive Modèles de l’utilisateurModèles du domaineModèles du contexteModèles de présentationModèles de dialogue

Page 6: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

UML et IHM

Approche à base de modèleNeuf notationsPas de prise en compte de l’interface

utilisateur (un peu à partir des Use Cases)

Comment améliorer cela ?

Raffiner les Use Cases en modèles de tâches ?

Page 7: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Définitions

TâchesButsTâches élémentairesAnalyse de tâches (task analysis)Modélisation des tâches (task

model)Activité (analyse, modélisation, …)

Page 8: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Recueil d’information

Procédure prévue

Procédure effective

Procédure minimale

Page 9: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Logique de fonctionnement / d’utilisation

Exemple d’un système informatique On dispose d’une base de données

conçue suivant le schéma suivant :

Proposer une arborescence de menu permettant de manipuler les informations de cette base

ClientClient VisiteVisite Représentant

Représentant1,1 1,n

Page 10: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Logique de fonctionnement

Vision de l’informaticienL’arborescence de

menus reflète les fonctions internes de la base de données

Client

Représentant

AjouterSupprimerModifierConsulter

AjouterSupprimerModifierConsulter

Page 11: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Exemple de tâche

« Je passe mon temps à saisir des nouveaux clients dans la base de données, et je dois leur affecter le représentant le mieux adapté (en fonction de différents critères) … Parfois je reçois un bon de commande envoyé par un représentant nouvellement recruté, je dois alors saisir à la fois le nouveau client et le nouveau représentant … Il arrive que des représentants quittent la société, en général ils partent avec leurs clients, il faut faire du ménage dans la base de données … »

Proposez une arborescence de menus adaptée à cette tâche.

Page 12: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Logique d’utilisation

Organiser le système d’après l’analyse de la tâcheGestion commerciale

Ajouter

Supprimer Client

Modifier

Consulter

Ajouter représentant

Supprimer représentant

Consulter représentant

Ajouter représentantConsulter représentant

Page 13: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Ingénierie des modèles de tâche

Notation modifiable et concise Approche systématique capable

d’indiquer comment réutiliser les informations des modèles de tâche

Outils automatiques pour utiliser efficacement ces informations

Page 14: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Les différents modèles de tâche

Système existant

Système futur

Activité de l’utilisateur

Page 15: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Utilisation des modèles de tâche

Améliorer la compréhension de l’application (et en particulier son utilisation)

Enregistrer les résultats de discussions multidisciplinaires

Aider à la conception Aider à l’évaluation de l’utilisabilité Aider à l’évaluation de l’efficacité Aider l’utilisateur durant son travail (aide

contextuelle) Documentation (contenu + structure)

Page 16: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Représentation des modèles de tâche

Hierarchical task analysis (HTA) GOMS (famille de notation) UAN (User Action Notation) MAD (INRIA) Différentes syntaxes (textuel vs

graphique) Différents niveaux de formalisme Différents opérateurs pour la

décomposition des tâches

Page 17: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

GOMS

Goal, Operators, Methods, Selection Rules (Card 83) Goal : ce que l’utilisateur doit accomplir Operators : action effectuée en service

d’un but Method : séquence d’opérateurs qui

accomplissent un but Selection Rule

Page 18: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

GOMS : un exemple

GOAL: EDIT-MANUSCRIPT GOAL: EDIT-UNIT-Task repeat until no more unit tasks GOAL: ACQUIRE-UNIT-TASK GET-NEXT-PAGE if at end of manuscript GET-NEXT-TASK GOAL: EXECUTE-UNIT-TASK GOAL:LOCATE-LINE [select: USE-QS-METHOD USE-LF-METHOD] GOAL: MODIFY-TEXT [select: USE-S-METHOD USE-M-METHOD] VERIFY-EDIT

Page 19: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Limitations de GOMS

Ne prend pas en compte les erreurs utilisateur

Ne prend pas en compte les interruptions de tâches

Ne considère que les tâches séquentielles

Inadéquat pour les systèmes distribués (notamment les applications web)

Page 20: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

UAN - User Action Notation

2 représentations complémentaires Une hiérarchie de tâches utilisant les

opérateurs LOTOS (proche de CTT) Les actions de l’utilisateur et le feedback

des utilisateurs sont spécifiés sous forme tabulaire (et à bas niveau)

Notation textuelle Introduit en 1992 (Hix & Hartson grand

succès Developing user interfaces Ensuring, Usability Through Product & Process)

Page 21: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Exemple de description UAN

Task: Obtain_cash

( ( ( Insert_card

Enter_code )

& ( Request_cash

Select_amount ) )

&

(Withdraw_card

Withdraw_cash ) )

Insert_cardEnter_code

( Request_cash

Select_amount

(Withdraw_card

&Withdraw_cash ) )

Task: SelApplication User Action Interface Feedback Interface State ~[x,y in AppICON] (t<tdoubleClick)

w’!: w’-! UnMap(PrevAppliMenu) Map(AppMenu) UnMap(AppICON)

CurAppli=App CurMenu=AppMenu

Page 22: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

MAD : Model for Activity Description

MAD (Sebillote, 94) Aide au recueil de données

(interviews, questionnaires,entretiens)

Lien : http://kmade.sourceforge.net/

Page 23: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

CCT : ConcurTaskTrees

Met l’accent sur les activités de l’utilisateur

Structure hiérarchique Syntaxe graphique Ensemble de plusieurs opérateurs

temporels (qualitatifs uniquement) Allocation des tâches aux opérateurs Objets et attributs pour les tâches

http://giove.cnuce.cnr.it/ctte.html

Page 24: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Modèles de tâches versus Scénarios

Les scénarios contiennent des descriptions précises d’utilisation dans un contexte précis et en fonction d’un système donné

Les modèles de tâche décrivent les activités possibles théoriques et leurs relations

Les scénarios ont une couverture moindre et sont plus précis

Les scénarios peuvent aider à la modélisation des tâches

Les modèles de tâches peuvent aider à l’identification de scénarios intéressants

Page 25: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Des scénarios aux tâches

Page 26: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Opérateurs temporels

Enabling/Activation T1 >> T2 ou T1 [ ]>> T2

Disabling/Désactivation T1 [> T2

Interruption/Interruption T1 |> T2

Choice/Choix T1 [ ] T2

Concurrency/Concurrence T1 ||| T2 or T1 |[]| T2

Iteration/Itération T1* or T1{n}

Optionality/Facultative[T]

Page 27: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Opérateurs temporels

T1|||T2 : les actions de T1 et T2 peuvent être effectuées dans n’importe quel ordre

T1|[]|T2 : T1 et T2 doivent se synchroniser sur certaines actions pour échanger des informations

T1>>T2 : quand T1 est terminée T2 devient active

T1 []>>T2 : quand T1 se termine elle fournit des informations à T2 et l’active

T1[>T2 : quand une action de T2 se produit, la tâche T1 est désactivée

Page 28: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Caractéristique des tâches

[T1] : T1 est facultative pour atteindre le but (la tâche de niveau supérieur)

T1* : T1 peut être répétée autant de fois que possible pour atteindre le but

T1n : T1 doit être répétée n fois pour atteindre le but

Page 29: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Priorité des opérateurs

Ambiguïté dans la signification

Ambiguïté levée

Priorité: [], |||, [>, >>

Page 30: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Types de tâches

Interaction tasks

Selection

Edit

Control

Application task

Computing

Comparison

Locate

Printing

...

Page 31: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Hiérarchie et relations temporelles

Page 32: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Relations tâches / sous-tâches

Page 33: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Tâches facultatives

Page 34: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

CTTE

Édition interactive de modèles de tâches Utilisation de descriptions informelles Vérification de la complétude de la

spécification Enregistrement des modèles dans plusieurs

formats Simulation des modèles de tâches Comparaison de modèles de tâches Exécution de scénarios Disponible à

http://giove.cnuce.cnr.it/ctte.html

Page 35: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Editeur de modèle de tâches

Page 36: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Simulation

Page 37: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Comparaison de modèles

Page 38: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Conception

1. Analyse des opérateurs au travers des tâches

Identification de la structure des dialogues

2. Analyse de chaque tâche (objets, attributs, ...)

Choix d’une bonne présentation

Page 39: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Conception

Relations temporelles entre les tâches

Frequence des tâches uniques et “patrons de tâches”

Interaction et techniques de présentation conformes aux types de tâches et aux données manipulées

Représentations multiple consistantes

...

Page 40: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Aller plus loin

TERESA : Transformation Environment for inteRactivE Systems representAtions

http://giove.cnuce.cnr.it/teresa.html

Page 41: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Exercice : DAB

Modéliser les tâches d’un utilisateur d’un distributeur de billets automatique

Page 42: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

Exercice : contraintes du DAB

Insérer_Carte, Entrer_Code, Retirer_Carte

Demander_Cash, Select_Montant, Retirer_CashRequest_Cash Select_Amountbefore

Insert_Card Withdraw_Cardbefore

Enter_Code Insert_Cardjust after

andSelect_Amount

Insert_CardWithdraw_Cashbefore

Page 43: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : tâches

But : obtenir de l’argent Pré-requis :

Avoir une carte Connaître le montant que l’on veut

retirer Connaître le code secret

Résultats Prendre l’argent Prendre la carte

Page 44: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Modèle de tâches

Page 45: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Modèle de tâches

Page 46: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Modèle de tâches

Page 47: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Modèle de tâches

Page 48: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

GBLS : Erreurs utilisateur

Page 49: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Scénarios

Page 50: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Vérification

Page 51: À partir dun cours de Philippe Palanque Lui-même tiré dun tutorial de Fabio Paternò (HCI 2000)

DAB : Création du modèle de tâche à partir d’interviews