Vous êtes sur la page 1sur 28

Philippe Truillet

À partir d’un cours de Philippe Palanque


Lui-même tiré d’un tutorial de Fabio Paternò (HCI 2000)

 Introduction des approches basées-modèles


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

1
 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

 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 conception
 La possibilité de raisonner sur des modèles

2
 Modèles de tâche
 Architectures cognitive
 Modèles de l’utilisateur
 Modèles du domaine
 Modèles du contexte
 Modèles de présentation
 Modèles de dialogue

 Approche à base de modèle


 Neuf notations
 Pas 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 ?

3
 Tâches
 Buts
 Tâches élémentaires
 Analyse de tâches (task analysis)
 Modélisation des tâches (task model)
 Activité (analyse, modélisation, …)

 Procédure prévue

 Procédure effective

 Procédure minimale

4
 Exemple d’un système informatique
 On dispose d’une base de données conçue suivant
le schéma suivant :
Client Visite Représentant
1,1 1,n

 Proposer une arborescence de menu permettant


de manipuler les informations de cette base

Vision de l’informaticien
L’arborescence de menus Client
reflète les fonctions Ajouter
Supprimer
internes de la base de Modifier
données Consulter
Représentant
Ajouter
Supprimer
Modifier
Consulter

5
 « 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.

 Organiser le système d’après l’analyse de la tâche


Gestion commerciale
Ajouter
Consulter représentant
Ajouter représentant
Consulter
Modifier
Consulter représentant
Ajouter représentant

Supprimer représentant Supprimer Client

6
 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

 Système existant

 Système futur

 Activité de l’utilisateur

7
 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)

 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

8
 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

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

9
 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)

 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)

10
Task: Obtain_cas h
(( ( Insert_card
Enter_code )
& ( Request_cash
Task: SelApplication
User Action Interface Feedback Interface State Select_amount ) )
~[x,y in AppICON] (W ithdraw_card
(t<tdoubleClick) w’!: w’-!
UnMap(PrevAppliMenu) CurAppli=App & W ithdraw_cash ) )
Map(AppMenu)
UnMap(AppICON)
CurMenu=AppMenu
( Request_cash
Insert_card
Enter_code
Select_amount
(W ithdraw_card
& W ithdraw_cash ) )

 MAD (Sebillote, 94)


 Aide au recueil de données
(interviews, questionnaires,
entretiens)

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

11
 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

 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

12
 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]

13
 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

 [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

14
 Ambiguïté dans la signification

 Ambiguïté levée

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

Interaction tasks
Selection
Edit
Control

Application task
Computing
Comparison
Locate
Printing
...

15
16
 É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

17
18
1. Analyse des 2. Analyse de chaque
opérateurs au tâche (objets,
travers des tâches attributs, ...)

Identification de la Choix d’une bonne


structure des présentation
dialogues

19
 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
 ...

 TERESA : Transformation Environment for


inteRactivE Systems representAtions
 http://giove.cnuce.cnr.it/teresa.html

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

 Insérer_Carte, Entrer_Code, Retirer_Carte


 Demander_Cash, Select_Montant, Retirer_Cash

Reques t_Cash before Select_Amount


Select_Amount
and before W ithdraw_Cash
Insert_Card
Insert_Card before W ithdraw_Card
Enter_Code just after Insert_Card

21
 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

22
23
24
25
26
 Conception d’un système de contrôle de
chauffage central
 Version initiale
 Proposer des améliorations

27
 Book on Model-Based Design and
Evaluation of Interactive Applications,
Springer Verlag

28

Vous aimerez peut-être aussi