26
Architecture et utilisabilit´ e LOG2420 — Analyse et conception d’interfaces utilisateur Patrons d’utilisabilit´ e Michel C. Desmarais enie informatique et logiciel ´ Ecole Polytechnique de Montr´ eal Automne, 2017 (version 26 novembre 2017) LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilit´ e 1/26

LOG2420 | Analyse et conception d’interfaces utilisateur · par des limitations motrices, perceptuelles et cognitives pr evisibles. Selon le contexte, la correction d’erreur doit

Embed Size (px)

Citation preview

Architecture et utilisabilite

LOG2420 — Analyse et conception d’interfacesutilisateur

Patrons d’utilisabilite

Michel C. Desmarais

Genie informatique et logicielEcole Polytechnique de Montreal

Automne, 2017(version 26 novembre 2017)

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 1/26

Architecture et utilisabilite

Patrons d’utilisabilite

1 Architecture et utilisabilite

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 2/26

Architecture et utilisabilite

L’architecture et l’utilisabilite

Les architectures MVC et autres visent a decoupler l’interfaceutilisateur de la logique de l’application

Cette approche a fait ses preuves et permet une evolutionrelativement independante des deux couches logicielles

MAIS :non seulement l’architecture logicielle d’une application est-elleparfois dictee par des considerations d’interactivite,mais en plus on ne peut pas entierement les decoupler.

⇒ Il faut donc s’inspirer des patrons d’utilisabilite a souteniret les prevoir dans l’architecture logicielle

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 3/26

Architecture et utilisabilite

L’exemple de l’annulation d’une commande

L’implementation d’une annulation des commandes (cancel)implique que :

que chaque unite de traitement des commandes garde l’etatinitial (pour defaire les effets encourus–side effects),

qu’il doit y avoir un fil d’execution separe pour le traitementdes annulations et que

qu’un avis soit transmis aux autres composants du systemequ’une annulation a ete effectuee.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 4/26

Architecture et utilisabilite

Autre exempleErreur necessitant un modele du domaine et de la tache

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 5/26

Architecture et utilisabilite

Patrons d’architecture pour l’utilisabilite

Bass et ses collegues ont developpe une serie de patrons pour lesoutien de l’utilisabilite 1

1. Bass, L. ; John, B.E., ”Supporting usability through software architecture,”Computer , vol.34, no.10, pp.113-115, Oct 2001

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 6/26

Architecture et utilisabilite

Patrons d’utilisabilite et d’architecture

L’utilisabilite impose des contraintes architecturalesimportantes

Par exemple, pour l’annulation d’une commande, unearchitecture logicielle est proposee par Bass et Bonnie (2001)

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 7/26

Architecture et utilisabilite

Patrons d’utilisabilite I

Cette liste de patrons d’utilisabilite est tiree de l’article suivant :

Len Bass, Bonnie E. John, Linking usability to software architecture patterns

through general scenarios, Journal of Systems and Software, Volume 66, Issue

3, Software architecture – Engineering quality attributes, 15 June 2003, Pages

187-197, ISSN 0164-1212, DOI : 10.1016/S0164-1212(02)00076-6.

(http ://www.sciencedirect.com/science/article/B6V0N-48GPBRD-

2/2/4b0f37c120af1b460cc8f62618934191)

Les patrons sont nombreux, nous nous concentrerons sur ceux misen evidence

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 8/26

Architecture et utilisabilite

Patrons d’utilisabilite II

1 Agregation de donnees. Un utilisateur doit pouvoir executerune ou plusieurs actions sur plus d’un objet. Le systeme doitpermettre aux utilisateurs de selectionner et d’interagir surtoutes combinaisons arbitraires de donnees.Ex. mettre en gras une serie de mots non contigue.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 9/26

Architecture et utilisabilite

Patrons d’utilisabilite III2 Agregation de commandes. Un utilisateur doit pouvoir

repeter une procedure comprenant plusieurs etapes. Lesysteme doit fournir des possibilites de macro-instructions etde traitements en lot qui permettent a l’utilisateur deregrouper des commandes.

Application Jitbit sur Mac

ELISP sur Emacs

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 10/26

Architecture et utilisabilite

Patrons d’utilisabilite IV3 Annulation de commandes. Un utilisateur doit pouvoir

annuler les operations qu’il vient d’effectuer. Le systeme doitpermettre l’annulation d’operations sans laisser d’effetssecondaires (p.ex. annulation d’une synchronisation defichiers. ).

Undo Adobe PhotoshopUndo-Redo MS Word

Undo Google calendar

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 11/26

Architecture et utilisabilite

Patrons d’utilisabilite V

4 Utilisation concurrente d’applications. Un utilisateur doitpouvoir travailler avec une combinaison d’applicationsconcurremment. Le systeme doit s’assurer que les utilisateurspuissent utiliser plusieurs applications concurremment sansqu’il y ait conflit entre elles.Ex. travail collaboratif avec un document

Undo Googlecalendar

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 12/26

Architecture et utilisabilite

Patrons d’utilisabilite VI

5 Evaluation du systeme. Le concepteur ou l’administrateurd’un systeme ne peut evaluer systematiquement la robustesse,la rectitude ou l’utilisabilite d’un systeme. Un systeme doitfournir des points d’essai et la cueillette de donnees pour enfaciliter l’evaluation.Ex. fichiers journaux.

127.0.0.1 - - [18/Apr/2017:09:55:40 -0400] "GET / michel/index2005.html

HTTP/1.1" 200 9111 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:52.0)

Gecko/20100101 Firefox/52.0"

127.0.0.1 - - [18/Apr/2017:09:55:40 -0400] "GET /favicon.ico HTTP/1.1"

404 500 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:52.0) Gecko/20100101

Firefox/52.0"

127.0.0.1 - - [18/Apr/2017:09:58:18 -0400] "GET / michel/index2005.html

HTTP/1.1" 200 9111 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:52.0)

Gecko/20100101 Firefox/52.0"

127.0.0.1 - - [18/Apr/2017:10:04:37 -0400] "GET / michel/index2005.html

HTTP/1.1" 200 9111 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:52.0)

Gecko/20100101 Firefox/52.0"

127.0.0.1 - - [18/Apr/2017:10:04:41 -0400] "GET

/ michel/LOG2420/Seances/20171/index.php?charge=o HTTP/1.1" 200 7550

"http://localhost/ michel/index2005.html" "Mozilla/5.0 (X11; Ubuntu; Linux

i686; rv:52.0) Gecko/20100101 Firefox/52.0"

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 13/26

Architecture et utilisabilite

Patrons d’utilisabilite VII

6 Reutilisation d’information. L’utilisateur doit pouvoirdeplacer des donnees d’une partie du systeme a une autre. Lesysteme doit offrir la possibilite de deplacer automatiquement(ex. : propagation de donnees) ou manuellement(couper-coller) des donnees entre differentes parties dusysteme.

gestion desdocuments dansIOS

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 14/26

Architecture et utilisabilite

Patrons d’utilisabilite VIII

7

Activites multiples. L’utilisateur executefrequemment plusieurs tachessimultanement (ex. : verifier courriel etecrire un texte). Le systeme doit permettrea l’utilisateur de se deplacer rapidementd’une tache a l’autre.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 15/26

Architecture et utilisabilite

Patrons d’utilisabilite IX

8 Soutien a la personnalisation. L’utilisateur doit pouvoirtravailler selon une configuration definie fournie par lesysteme. L’utilisateur doit pouvoir retrouver cetteconfiguration apres plusieurs utilisations du systeme. Lesysteme doit permettre a l’utilisateur de choisir ses preferencessur une base permanente.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 16/26

Architecture et utilisabilite

Patrons d’utilisabilite X9 Prevision de la duree d’une tache. Un utilisateur doit

pouvoir faire autre chose lorsque le systeme une tache quidure longtemps. Le systeme doit fournir les informationspertinentes et justes sur la duree de la tache afin de permettreaux utilisateurs de faire autre chose durant ce temps.

Barre d’avancementindetermine

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 17/26

Architecture et utilisabilite

Patrons d’utilisabilite XI

Les autres patrons sont fournis a titre informatif maisnon vus en classe

10 Verifier la rectitude. Un utilisateur peut faire une erreur sanss’en apercevoir. Or, une erreur humaine est souventattribuable a la structure du systeme : la nature de la tache etpar des limitations motrices, perceptuelles et cognitivesprevisibles. Selon le contexte, la correction d’erreur doits’effectuer automatiquement ou avec une assistance.Ex. remplacement automatique de texte, des champs quin’acceptent que des nombres.

11 Assurer l’independance des peripheriques. Lors del’installation d’un peripherique, ce dernier peut etre en conflitavec un autre deja present. Il peut ne pas fonctionner aveccertaines applications. Dans ces situations, le systeme doitfournir l’information necessaire pour resoudre le probleme oupour trouver du support.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 18/26

Architecture et utilisabilite

Patrons d’utilisabilite XII

12 Reprise sur defaillance. Lorsqu’un systeme arrete defonctionner sans prevenir durant le travail d’un utilisateur, desmoyens doivent etre pris pour limiter la perte de travail.

13 Recuperation de mot de passe oublie. Un utilisateur peutoublier un mot de passe. La recuperation ou le changement demot de passe peut etre complique ou causer des failles desecurite. Le systeme doit fournir des strategies d’accessecuritaires alternatives a l’utilisateur.

14 Fournir une aide de qualite. Un utilisateur a besoin d’aide.Il arrive que les procedures d’aides s’adaptent mal aucontexte. L’information peut etre incomplete pour repondre aun probleme. Les procedures d’aide du systeme doivent etreadaptees au contexte et suffisamment completes pourpermettre aux utilisateurs de regler leurs problemes.Ex. a ne pas realiser : erreur d’Oracle vue au cours.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 19/26

Architecture et utilisabilite

Patrons d’utilisabilite XIII

15 Personnalisation regionale. Un utilisateur doit pouvoirpersonnaliser son application dans sa langue et selon lesnormes de sa culture. Le systeme doit etre facilementconfigurable pour un deploiement dans plusieurs cultures.

16 Savoir se reposer sur l’expertise humaine. Lorsqueconfrontes a de nouvelles situations, les gens utilisent laconnaissance dont ils disposent deja. Ces situations incluentl’utilisation de nouvelles applications ou un nouveau produitdans une famille de produits deja etablie. Les concepteurs desysteme doivent exploiter cette connaissance de ces systemesdeja connus pour mettre a jour la connaissance de l’utilisateuret lui permettre d’utiliser rapidement et efficacement lenouveau systeme.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 20/26

Architecture et utilisabilite

Patrons d’utilisabilite XIV

17 Modifications d’interfaces. La conception iterative estl’element vital du developpement logiciel. Le developpeur peuttrouver difficile et prohibitif de modifier une interfaceutilisateur pour ajouter de nouvelles fonctions ou modifier lapresentation. Les concepteurs de systeme doivent s’assurer queles interfaces utilisateurs puissent etre facilement modifiees.Ex. les ressources et autres formes d’information deconfiguration.

18 Naviguer a l’interieur d’une seule vue. L’utilisateur doitpouvoir se deplacer a partir de donnees visibles a l’ecran versdes donnees qui ne sont pas affichees. Le systeme ne doit pasprendre trop de temps pour afficher ces donnees et l’utilisateurne doit pas avoir a faire de lourdes sequences de commandespour y arriver. L’utilisateur ne doit pas perdre son temps. (Cepoint est tres lie a la technique de l’inspection d’interface.)

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 21/26

Architecture et utilisabilite

Patrons d’utilisabilite XV

19 Observation de l’etat du systeme. Un doit avoir lesdonnees sur l’etat du systeme necessaires a son operation(ex. : messages d’erreurs comprehensibles, taille des fichierpour un dossier donne). La presentation de ces donnees doitrespecter les contraintes de la perception humaine(ex. : ne pasetre presentees trop rapidement pour demeurer lisibles). Lapresentation de l’etat du systeme doit etre claire afin de nepas confondre l’utilisateur. Les concepteurs du systemedoivent tenir compte des besoins et capacites humaines ce quidoit etre affiche et comment cela doit etre presente.

20 Respect du rythme de l’utilisateur. Le manque de respectdu rythme de l’utilisateur indispose celui-ci. Un systeme doittenir compte des besoins et des capacites humaines pouretablir le rythme des interactions. Le systeme doit permettred’ajuster le rythme lorsque c’est necessaire.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 22/26

Architecture et utilisabilite

Patrons d’utilisabilite XVI

Ex. probleme frequent lors de scripts d’installation oul’information defile trop rapidement.

21 Soutien a une recherche etendue. L’utilisateur doit pouvoirchercher des fichiers en fonction de leurs caracteristiques oude leur contenu. Les capacites de recherche doivent etrecoherentes d’un systeme ou d’un medium a l’autre. Le systemedoit fournir les outils de recherche appropries pour trouver desdonnees de facon coherente avec des criteres appropries.Ex. retrouver une page web consultee dernierement sansconnaıtre l’URL

22 Offre annuler-retablir. Un utilisateur doit pouvoir neutraliserles effets d’une operation qu’il vient d’effectuer. Le systemedoit pouvoir permettre de revenir a l’etat precedentl’execution d’une ou de plusieurs operations.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 23/26

Architecture et utilisabilite

Patrons d’utilisabilite XVII

23 Travail dans un contexte inconnu. Les differences entre uncontexte familier et un contexte inconnu peuvent perturber letravail d’un utilisateur. Le systeme doit pouvoir fournir uneinterface pour le novice afin d‘offrir un guidage approprie ades utilisateurs qui executent des operations dans un contexteinconnu.

24 Verification des ressources. Une application doit verifierl’existence des ressources necessaires a l’execution d’uneoperation. Omettre de le faire peut causer des erreursinattendues durant l’execution.Ex. installation d’un logiciel sans verifier l’espace libre.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 24/26

Architecture et utilisabilite

Patrons d’utilisabilite XVIII

25 Mode operatoire coherent d’une vue a l’autre. Lespresentations differentes des memes donnees ne doivent pasconfondre l’utilisateur par des fonctionnements differents. Unecommande disponible dans une vue doit toujours etredisponible et etre accessible dans une autre vue. Le systemedoit rendre disponibles les commandes selon le type et lanature des donnees dans la mesure ou ces operations sontcompatibles avec la vue en cours.Ex. le bouton de droite devrait avoir des fonctions coherentesd’une vue a l’autre.

26 Accessibilite des vues. Il doit etre possible de voir lesdonnees selon differentes perspectives. Les vues ne doiventpas ne pas etre disponibles pour certains modes operatoires etle deplacement d’une vue a l’autre ne doit pas etre laborieux.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 25/26

Architecture et utilisabilite

Patrons d’utilisabilite XIX

27 Soutien a la visualisation. Le systeme doit fournir unensemble raisonnable de vues compatibles avec la tache afinde fournir a l’utilisateur des indices supplementaires a laresolution de problemes.Ex. les differentes vues du code d’un programme.

LOG2420 — Analyse et conception d’interfaces utilisateur — Patrons d’utilisabilite 26/26