Title: Conception des logiciels interactifs
1Conception des logiciels interactifs
Cours 4
Méthodes de conception centrée utilisateurs
É. Delozanne, Master, Paris 5, 2005-06 Elisabeth.D
elozanne_at_math-info.univ-paris5.fr http//www.math-
info.univ-paris5.fr/delozanne
2Cours 1 IHM, complexité
- Tâche
- Conception
- Humains
- Technologie
-
- Organisation et environnement social
- Chacun des facteurs influence les autres
3Cours 1 Facteurs de succès
- Cycle de conception
- Conception centrée usager
- Lanalyse des tâches et les analyses en contexte
de travail usuel - Le prototypage rapide
- Lévaluation constante
- Conception itérative
- La qualité de la programmation
4Cours 2 les utilisateurs ?
- Lanalyse des tâches et les analyses en contexte
de travail usuel - Travail prescrit/travail réel
- Techniques
- Entretiens, incidents critiques, observation,
magicien doz, scénarios, jugements dexperts,
revue de conception, maquette et prototype
5Plan
- Méthodes de conception et Conception centrée
utilisateur - Approche génie logiciel
- Approche ergonomique
- Exemples de démarches de conception en IHM
- Points communs à toutes ces méthodes
- Exemples de méthodes de conception
- Sites web Coutaz, Lynch, Landay
- Lucid
- Gould
6Idées de base
- Concevoir un logiciel interactif nécessite
- une équipe pluridisciplinaire
- Au moins
- informaticien, ergonome, graphiste, spécialiste
du domaine de lapplication - Dépend des finances et de lampleur du projet
- Techniques low cost
- Syndrome de lABS
- Intégrer des méthodes issues
- de linformatique (Génie logiciel)
- de lergonomie
7Différences GL/ergonomie
- Analyse des besoins
- GL Fonctionnalités
- Ergo utilisateurs et activité
- Conception
- GL conception de lapplication puis de
linterface - Ergo conception en parallèle du noyau
applicatif et de linterface - Evaluation
- GL Validation (tests unitaires, dintégration
du système) - Ergo Évaluation ergonomique
8Modèle en cascade (1970)
Analyse des besoins
Conception du système et du logiciel
Codage et tests unitaires
Intégration et test du système
9Modèle en cascade avec itérations
Analyse des besoins
Conception du système et du logiciel
Codage et tests unitaires
Intégration et test du système
10Modèle en V
- (pour les systèmes où la finalité est bien
cernée, 1981)
11User Centered System Design (UCSD, Norman 86)
Conception Centrée Utilisateur
Étape d'analyse - systèmes existants -
contexte d'utilisation
Synthèse de l'analyse - Modèle de
l'utilisateur - Modèle de la tâche
Caractéristiques de l'utilisateur
Critères d'Utilisabilité
Étape de conception - Les concepts
informatiques - Modèle de l'interaction
Scénarios d'utilisation
12Norme ISO 13407
- Les 5 principes de la conception centrée
utilisateur - Une analyse des besoins des utilisateurs, de
leurs tâches et de leur contexte de travail - La participation active des utilisateurs à la
conception - Une répartition appropriée des fonctions entre
les utilisateurs et la technologie - Une démarche itérative de conception
- Lintervention dune équipe de conception
multidisciplinaire
13Conception centrée utilisateur
- l'utilisateur et sa tâche sont prioritaires sur
le fonctionnement du système - remplacer la logique de fonctionnement par la
logique d utilisation dans la conception de
logiciel - "Talking to users is not a luxury, it's a
necessity"(Gould 88) - "Early and continual focus on the user, fight for
user " (Schneiderman) - démarche qui intègre
- l'analyse de l'activité et des modèles
d'utilisateurs - les guides et principes ergonomiques
14Contre-exemples
- Conception ego-centrique
- Conception techno-centrique
15Préoccupations ergonomiques modèle en V (Coutaz)
Modèle de l'utilisateur Modèle de la tâche
Évaluation ergonomique
Analyse des besoins
Modèle de l'interaction
Tests d'acceptation
tests du système
Conception
Espace IHM
tests d'intégration
Espace Logiciel
Conception logicielle
tests unitaires
Codage
16L'évaluation au cur de la conception
17Un modèle proposé par des ergonomes
18Conception participative
- W. Mackay, C. Letondal
- Idée de départ les utilisateurs peuvent être
des innovateurs - l'utilisation de la technologie est co-adaptative
- la technologie modifie les habitudes de travail
et les attentes des utilisateurs - les utilisateurs adaptent la technologie à leurs
besoins, l'interprètent et la modifient - obtenir des informations sur les utilisateurs
- par différentes approches au sein d'équipes
pluridisciplinaire (triangulation) - par différentes techniques (dont le prototypage,
la réalité augmentée) - intégrer les utilisateurs au processus de
conception - indispensable sur les activités de collaboration
ou sur les activités ouvertes et mal identifiées
19Conception itérative
- Proposer des solutions techniques à partir de
scénarios qui permettent dexplorer leurs
avantages et leurs inconvénients - Techniques dexploration des scénarios pour les
faire évoluer
20Landay design of sites
21Plan
- Méthodes de conception
- Exemples de méthodes de conception centrée
utilisateur - Coutaz
- http//iihm.imag.fr/docs/coutaz.ecole2/ConceptionP
agesWeb.html - Landay
- http//www.designofsites.com/pb/register.html
- Lucid
- http//www.cognetics.com/lucid/index.html
- Gould
- Gould, J. D., Boies, S. J., Ukelson, J. (1997).
How to design usable systems. In Helander, M. G.,
Landauer, T. K., Prabhu, P. V. (Eds.), Handbook
of human-computer interaction, 2d ed., 231-254.
Amsterdam, The Netherlands North-Holland.
22Conception de sites web (Coutaz)
- Principes de base
- Ne se limite pas à écrire du code html ou Java
- La valeur du contenu est centrale
- Nécessite une bonne connaissance du public cible,
de leur activité et du contexte de lactivité - Analyses de terrain indispensables
- Spécificités du web
- Multiplicité des types daccès
- Variabilité des ressources physiques
- Diversité des utilisateurs
- Temps de développement très courts
- Mises à jour fréquentes
23Processus de développement
- Organisation de léquipe
- Chef de projet, Concepteur dinteraction,
développeur, expert en utilisabilité, graphiste,
auteur, rédacteur - Définition du site
- Cahier des charges, scénarios, contenu du site
- Conception et prototypage
- Critères de succès, structure du site,
navigation, contenu, présentation - Règles ergonomiques, contraintes techniques
- Évaluation
- Tout au long de la conception
- Implique tous les membres de léquipe le client
des utilisateurs
24Le cahier des charges
- Objectifs généraux et critères de succès
- Utilisateurs cibles
- Spécifications techniques de la plateforme
daccueil - Contraintes particulières
- Analyse des tâches
25LUCID
- Logical User-Centered Interactive Design
- Caractéristiques
- Distinguer
- Conception centrée utilisateur
- Conception technique
- Logiciel composant dune activité humaine plus
large - Prendre en compte les communications humaines
dans lactivité - Garder trace des actions passées de lutilisateur
- Concevoir dans les termes de lutilisateur, de
lactivité et non dans les termes techniques
26Les 6 étapes de Lucid
- Développement du concept du produit
- Construire une vision claire et partagée
- Analyse des besoins
- Découvrir les utilisateurs et leur activités
- Conception dun prototype
- Conception globale
- Conception itérative
- Conception détaillée
- Conception et développement informatiques
- Suivi de réalisation
- Sortie du produit
- Support à ladoption du produit et préparation de
la version suivante
271. Développer le concept
- Décrire rapidement le produit
- Son nom, Ã qui sadresse-t-il ? Que fait-il ?
Quel problème résout il ? - Définir les retombées attendues
- Quels sont les bénéfices attendus du projet ?
- Identifier le public ciblé et le segmenter
- Construire des catégories (rôles, tâches,
compétences) - Ne pas oublier les utilisateurs secondaires
vendeurs Identifier les principales tâches qui
pourront être accomplies avec le système - Identifier les contraintes de haut niveau
- Plateforme, bruit, accès public
- Proposer une maquette pour illustrer le concept
- Produit une description dune page et une
maquette
28SpiralClock
292 Analyse des besoins
- Indispensable de travailler avec des utilisateurs
finaux dans cette étape - Segmenter le public cible
- Identifier les principales tâches
- Créer des scénarios pour décrire le travail
actuel - Identifier les fonctionnalités à définir
- intégration dans lactivité
- besoins de communication
- Identifier les objets métier
- objets métiers pas les objets informatiques
- Produit un document de synthèse des besoins
303 Conception dun prototype
- Développer le modèle conceptuel de linterface
- Identifier les métaphores
- Déterminer les principaux écrans et la navigation
dun écran à lautre - Définir les grandes lignes dune charte graphique
- Produit de cette étape un diaporama présentant
- les principaux écrans
- la navigation
- Exemple
- SpiraClock Home Page.html
314 Conception itérative
- Affinement de la conception à partir du premier
prototype - Revue de conception
- Inspection par des experts
- Inspection par des utilisateurs
- Tests dutilisabilité
- Produit un dossier de spécifications et un
prototype stabilisé
325 Conception et développement informatiques
- Méthode de Génie Logiciel
- Modélisation informatique (UML)
- Mise en uvre informatique
- Suivi de réalisation
- Ajustements de budgets, de délais, suivi de
modification de spécifications - Définir
- Les procédures dinstallation
- Laide en ligne
- La documentation
- La formation
336 Livraison du produit
- Tests finaux auprès de quelques utilisateurs
- Évaluation du système
- Préparation de la prochaine version
34La méthode de J. D. Gould
- Objectif Développer des systèmes utilisables
- Utilisabilité ? 11 critères
- Le processus de conception
- 4 phases
- Démarrage, conception initiale, développement
itératif, installation - 4 principes
- Se centrer continuellement et depuis le tout
début sur les utilisateurs - Tester continuellement et depuis le début auprès
des utilisateurs - Adopter une méthode de conception itérative
- Maintenir une vision globale des problèmes
dutilisabilité
3511 critères dutilisabilité
- Performance du système fiabilité et réactivité
- Fonctionnalités adéquation à lactivité
- Interface utilisateur organisation, dispositifs
matériels dentrée sortie, conception pour les
utilisateurs finaux mais aussi pour dautres
groupes - Documents daccompagnement utilisateurs finaux
et autres groupes - Traduction de linterface et des documents
- Diffusion formation, aide en ligne, support
téléphonique - Adaptabilité et extension
- Installation et désinstallation
- Maintenance et service
- Publicité acheter et utiliser
- Groupes dutilisateurs
36Leçons de lexpérience
- Dans des systèmes complexes personne ne réussit
du premier coup - Le développement de logiciel comporte toujours
des surprises - Il faut naviguer dans un océan de changements
- Rédiger des contrats nélimine pas les besoins de
changer - Les besoins évoluent avec le système
- Les concepteurs ont besoin doutils logiciels
pour les assister - Définissez des objectifs de comportement du
système et des objectifs de performance - Aussi bon que soit votre système, les
utilisateurs feront des erreurs en lutilisant
37Les étapes incontournables (1)
- Démarrage
- Définir le problème qui se pose aux utilisateurs
- Étude de lexistant, des normes, recommandations
etc. - Conception initiale
- Identifier les utilisateurs et les tâches quils
ont à effectuer - Étudier les compétences des utilisateurs
- Étudier les contraintes matérielles et
logicielles - Définir des objectifs de comportement du système
38Les étapes incontournables (2)
- Conception itérative
- Construire des scénarios dutilisation
- Concevoir et construire des prototypes
- Tester les prototypes
- Modifier itérativement les prototypes jusquà ce
que soient atteints - Les objectifs
- Les dates butoirs
- Installation
- Installer le système chez les utilisateurs
- Évaluer les réactions des utilisateurs et leur
degré dadoption du système
39Principe 1
- Se centrer continuellement et depuis le tout
début sur les utilisateurs - Comment ?
- Définir un ensemble dutilisateurs potentiel.
Penser aux utilisateurs secondaires formateurs,
vendeurs etc. - Parler avec eux des points positifs et négatifs
de leur travail - Visiter les lieux de travail , Observer ces
utilisateurs quand ils effectuent les tâches, Les
filmer - Étudier lorganisation du travail
- Leur demander de commenter à haute voix quand ils
travaillent - Essayer de faire leur boulot (si possible)
- Faites participer les utilisateurs
- Intégrer un expert du domaine dans léquipe de
conception - Utiliser lanalyse de tâches
- Utiliser des questionnaires
- Définissez des objectifs de comportement du
système
40Analyse de tâches
- Qui utilisera le système ?
- Quelles sont les tâches quils effectuent
actuellement ? - Quelles tâches sont souhaitables ?
- Comment sont apprises les tâches
- Où sont elles accomplies ?
- Comment les utilisateurs accèdent-ils aux données
pour effectuer leur tâches ? - De quels autres outils les utilisateurs
disposent-ils ? - Comment les utilisateurs communiquent-ils entre
eux ? - Quelle est la fréquence des tâches ?
- Quelles sont les contraintes temporelles et
matérielles ? - Quest-ce qui arrive quand ça ne va pas ?
41Synthétiser lanalyse de tâches (1)
- Méthodes formelles
- Ex GOMS (Goals, Operators, Methods, Selection
rules) - Lourdes et complexes à mettre en uvre
- Modèles hiérarchiques de tâches
- Tâche but procédure (sous-tâches avec des
relations) - Tâches composites et tâches élémentaires
- Arbres de tâches  décorésÂ
- Objets métiers, pré ou post conditions,
fréquence, complexité, durée, acteur
42Synthétiser lanalyse de tâches(2)
- Listes de tâches
- Description
- Catégorisation,
- Séquencement
- Dépendances,
- Durée
- Scénarios de tâches
- Commentaires, questions, minutage etc.
43Appliquer lanalyse de tâches
- Quelles sont les tâches que le système doit
couvrir et celles quil vaut mieux faire
manuellement ? - Quelles sont les tâches qui posent le plus de
problèmes aux utilisateurs ? - Le système résout-il des problèmes essentiels ou
marginaux ? - Est-ce quon oblige lutilisateur à des tâches
redondantes - Quelles sont les relations entre les tâches ?
44Principe 2
- Tester continuellement et depuis le début auprès
des utilisateurs - Comment
- Faire tester des scénarios écrits ou filmer
- Rédiger les manuels utilisateurs avant le codage
- Faire des maquettes et simuler le futur système
- Construire très tôt des prototypes
- Faire très tôt des démonstrations
- Utiliser des vidéos
- Utiliser les forums, les réseaux, les conférences
- Tester les prototypes de façon rigoureuse
- Organiser des séances de cassez-moi-ça
- Mener des études de terrains
- Faire des études de suivi dutilisation
- Inclure des programmes qui gardent des traces des
actions des utilisateurs pour les analyser
45Principe 3
- Adopter une méthode itérative de conception
- 3 impératifs
- Identifier les changements et les évaluer
- Tests auprès des utilisateurs, inspection etc.
- Conséquences du changement
- Se donner les moyens deffectuer des changements
- Organiser le travail de développement
- Disposer doutils logiciels
- Vouloir effectuer des changements
46Principe 4
- Maintenir une vision globale des problèmes
dutilisabilité - Comment ?
- Un groupe doit être chargé de lutilisabilité sur
lensemble du projet et sur lensemble des
critères - Rédiger les manuels utilisateurs avant le codage
pour guider le codage - Rédiger des manuels utilisateurs pour les
utilisateurs secondaires (formateurs, vendeurs,
maintenances, chercheurs etc.) - Prévoir la diffusion et lexploitation du produit
47Références
- http//iihm.imag.fr/docs/coutaz.ecole2/ConceptionP
agesWeb.html - http//www.designofsites.com/pb/register.html
- http//www.cognetics.com/lucid/index.html
- Gould, J. D., Boies, S. J., Ukelson, J. (1997).
How to design usable systems. In Helander, M. G.,
Landauer, T. K., Prabhu, P. V. (Eds.), Handbook
of human-computer interaction, 2d ed., 231-254.
Amsterdam, The Netherlands North-Holland. - John M. Carrollhttp//www.personal.psu.edu/facult
y/j/m/jmc56/
48Reférences (suite)
- Kolski C. (dir.), Analyse et conception de l'IHM,
Interaction homme-machine pour les systèmes
d'information, Vol 1, Hermès, 2001. - Scapin D., Bastien C., Analyse des tâches et aide
ergonomique lapproche MAD, in Kolski C.
(dir.), Analyse et conception de l'IHM,
Interaction homme-machine pour les systèmes
d'information, Vol 1, Hermès, 2001. - Brangier E., Barcenilla J., Concevoir un produit
facile à utiliser Adapter les technologies Ã
lhomme, Editions dorganisation, 2003. - Letondal C., Mackay W., Participatory Programming
and the Scope of Mutual Responsability Balancing
Scientific, design and software commitment,
Proceedings Participatory Desing Conference,
Toronto, Canada, 2004. - Mackay W., Fayard A.-L., "Radicalement nouveau et
néanmoins familier les strips papiers revus par
la réalité augmentée" , Actes des Journées IHM
1997
49Take home messages
- Talking to users is not a luxury (Gould)
- Time spent in the early phases pays most
dividends (Landay) - Deux problèmes de conception
- Conception centrée utilisateur
- Conception technique
- Conception centrée utilisateur en deux niveaux
- Niveau tâche/activité interface conceptuelle,
conception globale - Niveau écran conception détaillée