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 conception La possibilité de raisonner sur des modèles
Des modèles importants en IHM 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
UML et IHM 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 ?
Définitions Tâches Buts Tâches élémentaires Analyse 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 Visite Client Représentant 1,1 1,n
Logique de fonctionnement Vision de l’informaticien L’arborescence de menus reflète les fonctions internes de la base de données Client Ajouter Supprimer Modifier Consulter Représentant Ajouter Supprimer Modifier Consulter
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âche Gestion commerciale Ajouter Consulter représentant Ajouter représentant Consulter Modifier Consulter représentant Ajouter représentant Supprimer représentant Supprimer Client
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
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) LOTOS est un langage permettant de spécifier l'architecture et le fonctionnement de systèmes distribués. La définition formelle de LOTOS fait l'objet de la norme ISO 8807 [ISO88].
Exemple de description UAN
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 Application task 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 2. Analyse de chaque tâche (objets, attributs, ...) Identification de la structure des dialogues 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_Cash
DAB : tâches But : obtenir de l’argent Pré-requis : Résultats 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