1 / 26

Chapitre 7: Focusing on Users and Their Tasks

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapitre 7: Focusing on Users and Their Tasks. 7.1 Conception centrée sur l’utilisateur. Le développement d’un logiciel devrait toujours être centré autour des besoins de ses utilisateurs

Télécharger la présentation

Chapitre 7: Focusing on Users and Their Tasks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-Oriented Software EngineeringPractical Software Development using UML and Java Chapitre 7: Focusing on Users and Their Tasks

  2. 7.1 Conception centrée sur l’utilisateur • Le développement d’un logiciel devrait toujours être centré autour des besoins de ses utilisateurs • Bien comprendre qui sont les utilisateurs • Bien comprendre les tâches que doivent réaliser ces utilisateurs • S’assurer que les utilisateurs sont impliqués dans le processus de décision • Concevoir l’interface utilisateur en suivant bien les lignes directrices établies • Demander aux utilisateurs d’évaluer les prototypes et de faire part de leurs commentaires Chapter 7: Focusing on Users and Their Tasks

  3. L’importance d’être centré sur les utilisateurs • Réduit les coûts liés à la formation et au support • Diminue le temps d’apprentissage • Permet une utilisation plus efficace • Permet de ne développer que les options qui sont réellement requises • Réduit les coûts liés aux modifications subséquentes • Permet de mieux définir les priorités dans le développement • Rend le système plus attrayant et mieux adapté à son marché Chapter 7: Focusing on Users and Their Tasks

  4. 7.2 Caractéristiques des utilisateurs • L’ingénieur logiciel doit bien connaître les utilisateurs • Quels sont leurs buts • De quelle façon utiliseront-ils le logiciel • Quelle sont les caractéristiques démographiques des utilisateurs • Quel est leur niveau de connaissance de l’informatique • Quels sont leur habilités physiques • Quelles sont leur caractéristiques psychologiques et émotives Chapter 7: Focusing on Users and Their Tasks

  5. 7.3 Les bases de la conception des interfaces utilisateur • La conception des IUs devrait se faire en conjonction avec les autres activités de développement • L’analyse de cas permet de connaître les tâches que les IUs doivent permettre de réaliser • Les prototypes de IU se créent de façon itérative, par exemple en incorporant un cas-type à la fois • Les prototypes produits aident à compléter la liste des exigences Chapter 7: Focusing on Users and Their Tasks

  6. Utilisabilité vs Utilité • Est-ce que le système permet à l’utilisateur de réaliser ses tâches? • C’est l’utilité • Est-ce que le système permet à l’utilisateur d’apprendre et de comprendre comment utiliser le système? • C’est l’utilisabiltié aussi appelée convivialité • Ces deux aspects sont essentiels • Ils se mesurent dans le contexte des utilisateurs particuliers du système Chapter 7: Focusing on Users and Their Tasks

  7. Les différents aspects de l’utilisabilité • L’utilisabilité comprend différents aspects: • Facilité d’apprentissage • La vitesse à laquelle un nouvel utilisateur peut arriver à utiliser le système • Efficacité d’utilisation • Avec quelle rapidité un utilisateur entraîné arrive à accomplir ses tâches • Traitement des erreurs • Jusqu’à quel point le système prévient les erreurs, les détecte et aide à les corriger • Acceptation • Jusqu’à quel point les utilisateurs apprécie ce système Chapter 7: Focusing on Users and Their Tasks

  8. Courbes d’apprentissage Chapter 7: Focusing on Users and Their Tasks

  9. Terminologie de base dans la conception des interfaces utilisateur • Dialogue: Une fenêtre avec laquelle un utilisateur interagit mais qui n’est pas la fenêtre principale • Contrôle (Widget): une composante spécifique d’une interface • Affordance: L’ensemble des opérations qu’un utilisateur peut effectuer à un certain instant • État: à un certain point, le système affiche une certaine information, certains contrôles, et a une certaine affordance • Mode: une situation où l’IU restreint les opérations que peuvent faire l’utilisateur • Dialogue modale: Un dialogue plaçant le système dans un mode restrictif • Rétro-action: la réponse du système à une action de l’utilisateur • Technique de codage: Différentes façons de représenter l’information afin de communiquer avec l’utilisateur Chapter 7: Focusing on Users and Their Tasks

  10. 7.4 Quelques principes pour l’utilisabilité • 1. Ne pas se fier seulement sur ces lignes directrices – toujours effectuer des tests avec les utilisateurs • Les principes mentionnés ici comporte toujours des exceptions; une interface est de bonne qualité seulement si les utilisateurs la jugent ainsi • 2: Baser la conception des IUs sur les tâches que doivent réaliser les utilisateurs • Effectuer une analyse de cas afin de structurer l’IU • 3: S’assurer que la séquence des actions requises pour réaliser une tâche est aussi simple que possible • Réduire la quantité d’information à lire et les manipulations à faire • S’assurer que les utilisateurs ne doivent pas avoir à se promener un peu partout afin de réaliser une tâche Chapter 7: Focusing on Users and Their Tasks

  11. Quelques principes pour l’utilisabilité • 4: S’assurer que les utilisateurs savent toujours ce qu’il doivent faire ensuite • Les utilisateurs doivent toujours savoir quelles commandes sont disponibles et lesquelles ne le sont pas • Rendre plus apparente les commandes plus importantes • 5: Fournir une bonne rétro-action • Informer les utilisateurs du progrès des opérations en cours, du point où ils en sont • Lorsque qu’un problème surgit, expliquer en détails les causes et aider l’utilisateur à résoudre ce problème Chapter 7: Focusing on Users and Their Tasks

  12. Quelques principes pour l’utilisabilité • 6: S’assurer qu’il est toujours possible de reculer, de sortir ou de défaire les tâches en cours • L’action undo devrait toujours être disponible • Les options next et back vont de pair • 7: S’assurer que le temps de réponse est adéquat • Les utilisateurs sont très sensibles aux temps de réponse trop longs • cela peut rendre un système moins attrayant • Garder le temps de réponse sous la seconde pour la plupart des opérations • Avertir l’utilisateur lorsqu’un temps réponse plus long est anticipé et l’en informer de la progression Chapter 7: Focusing on Users and Their Tasks

  13. Quelques principes pour l’utilisabilité • 8: Utiliser des techniques de codage facilement compréhensibles • Choisir les représentations avec soin • Donner toujours accès à une explication textuelle pour assurer que les utilisateur comprennent bien votre symbolique • 9: S’assurer que l’IU n’a pas une apparence désordonnée • Ne pas afficher trop d’information à la fois • Bien organiser l’information Chapter 7: Focusing on Users and Their Tasks

  14. Quelques principes pour l’utilisabilité • 10: Prendre en considération les besoins des différents groupes d’utilisateurs • Permettre l’affichage en différents langages • Le système doit être accessibles aux débutants comme aux experts • 11: Fournir toute l’aide nécessaire • Organiser l’aide correctement • Intégrer l’aide dans l’application • S’assurer que l’information est précise et à jour Chapter 7: Focusing on Users and Their Tasks

  15. Quelques principes pour l’utilisabilité • 12. Être consistant • Les graphiques, l’organisation doit être consistante à l’intérieur de toute l’application • Utiliser les standard reconnus • Demeurer semblables aux applications de même type Chapter 7: Focusing on Users and Their Tasks

  16. Quelques techniques de codage • Textes et polices de caractères • Icônes • Photographies • Diagrammes et graphiques • Couleurs • Groupement et entourage • Instructions vocales • Musique • Autre sons • Animations et vidéo • Clignotement Chapter 7: Focusing on Users and Their Tasks

  17. Contre-Exemple Chapter 7: Focusing on Users and Their Tasks

  18. Exemple Chapter 7: Focusing on Users and Their Tasks

  19. 7.5 Évaluation des interfaces • Évaluation heuristiques 1. Choisir quelques cas-types 2. Pour chacune des fenêtres impliquées • Identifier minutieusement les problèmes qui peuvent être présents 3. Lorsqu’un défaut est découvert: • Donner une brève description du problème • Proposer une solution permettant de corriger ce défaut Chapter 7: Focusing on Users and Their Tasks

  20. Évaluation des interfaces • Évaluation par l’observation des utilisateurs • Sélectionner les utilisateurs représentant les plus importants acteurs du système • Sélectionner les cas-type les plus importants • Décrire des scénarios d’usage • Bien expliquer le but de l’évaluation aux utilisateurs • Filmer si possible la session • Discuter avec les utilisateurs à mesure qu’ils exécutent la tâche à faire • A la fin, débattre avec l’utilisateur des difficultés rencontrées • Formuler des recommandations Chapter 7: Focusing on Users and Their Tasks

  21. 7.6Réaliser une interface simple avec Java • Le Abstract Window Toolkit (AWT) • Composante (component): ce sont les éléments de base pour construire une interface graphique • Button, TextField, List, Label, ScrollBar. • Contenants (container): les éléments servant à contenirles composantes constituant l’IUG • Frame, Dialog et Panel • Organisateur (LayoutManager): definit la façon dont les composantes seront assemblées • GridLayout, BorderLayout Chapter 7: Focusing on Users and Their Tasks

  22. Exemple public class ClientGUI extends Frame implements ChatIF { private Button closeB = new Button("Close"); private Button openB = new Button("Open"); private Button sendB = new Button("Send"); private Button quitB = new Button("Quit"); private TextField portTxF = new TextField(""); private TextField hostTxF = new TextField(""); private TextField message = new TextField(); private Label portLB = new Label("Port: ", Label.RIGHT); private Label hostLB = new Label("Host: ", Label.RIGHT); private Label messageLB = new Label("Message: ", Label.RIGHT); private List messageList = new List();  ... } Chapter 7: Focusing on Users and Their Tasks

  23. Exemple public ClientGUI(String host, int port) { super("Simple Chat"); setSize(300,400); setVisible(true); setLayout(new BorderLayout(5,5)); Panel bottom = new Panel(); add("Center", messageList); add("South", bottom); bottom.setLayout(new GridLayout(5,2,5,5)) bottom.add(hostLB); bottom.add(hostTxF); bottom.add(portLB); bottom.add(portTxF); bottom.add(messageLB); bottom.add(message); bottom.add(openB); bottom.add(sendB); bottom.add(closeB); bottom.add(quitB); Chapter 7: Focusing on Users and Their Tasks

  24. Exemple sendB.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { send(); } }); } public void send() { try { client.sendToServer(message.getText()); } catch (Exception ex) { messageList.add(ex.toString()); messageList.makeVisible(messageList.getItemCount()-1); messageList.setBackground(Color.yellow); } } Chapter 7: Focusing on Users and Their Tasks

  25. 7.7 Risques et difficultés dans la modélisation des cas-types et de l’interface utilisateur • Les utilisateurs diffèrent grandement • Tenir compte de ces différences • Concevoir un système pouvant être internationalisé • Tester le système avec différentes catégories d’utilisateurs • Les technologies de conception d’IU changent rapidement • Utiliser des technologies simples et répandues • Éviter des designs trop élaborés Chapter 7: Focusing on Users and Their Tasks

  26. Risques et difficultés dans la modélisation des cas-types et de l’interface utilisateur • La conception de l’IU occupe la majorité du temps de développement de l’application: • Faire de la conception de IU une activité faisant partie intégrale du processus de développement • Prévoir une conception de IU comptant plusieurs itérations et évaluations • Les développeurs tendent à sous-estimer l’impact d’une IU • S’assurer que tous les ingénieurs logiciels ont une formation en conception de IU • Toujours effectuer des test avec les utilisateurs • Étudier les IU de d’autres applications Chapter 7: Focusing on Users and Their Tasks

More Related