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

Post on 03-Apr-2015

102 views 0 download

Transcript of À 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)

Plan

Introduction des approches basées-modèles

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

La notation ConcurTaskTrees

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

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

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

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 ?

Définitions

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

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

Recueil d’information

Procédure prévue

Procédure effective

Procédure minimale

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

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

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.

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

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

Les différents modèles de tâche

Système existant

Système futur

Activité de l’utilisateur

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)

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

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

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

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)

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)

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

MAD : Model for Activity Description

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

(interviews, questionnaires,entretiens)

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

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

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

Des scénarios aux tâches

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]

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

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

Priorité des opérateurs

Ambiguïté dans la signification

Ambiguïté levée

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

Types de tâches

Interaction tasks

Selection

Edit

Control

Application task

Computing

Comparison

Locate

Printing

...

Hiérarchie et relations temporelles

Relations tâches / sous-tâches

Tâches facultatives

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

Editeur de modèle de tâches

Simulation

Comparaison de modèles

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

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

...

Aller plus loin

TERESA : Transformation Environment for inteRactivE Systems representAtions

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

Exercice : DAB

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

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

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

DAB : Modèle de tâches

DAB : Modèle de tâches

DAB : Modèle de tâches

DAB : Modèle de tâches

GBLS : Erreurs utilisateur

DAB : Scénarios

DAB : Vérification

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