Final Flashcards
Définissez ce qu’est le contexte d’utilisation
Le contexte d’utilisation constitue l’ensemble des éléments à prendre en considérations lorsqu’il est question de conception logiciel.
COMPOSÉ DE :
- Utilisateurs
- -Expérience, habiletés, connaissances, etc.
- -Âge, sexe, motivations, etc.
- Tâches
- Fréquence
- Importance
- Durée
- Niveau de difficulté
- Dépendance
- Environnement
- Technique
- Physique
- Organisationnel
Identifiez les lois de Gestalt (6)
- Proximité : Ensemble regroupé
- Similarité : Ensemble partageant des traits communs
- Fermeture : Ensemble encadré
- Continuité : Perception de lignes par continuité
- Symétrie : Bordures symétriques créant des figures cohérentes
- Densité spatiale : Formes pleines et sombres
Identifiez les principes de 3D (4)
- Grandeur des objets : Plus gros implique plus proche
- Interposition : Sur une couche supérieure implique plus proche
- Contraste et brillance : Plus de contraste implique plus proche
- Texture : Plus de texture implique plus proche
Identifiez les heuristiques de Nielsen (8)
- Utilisation de langage simple et naturel
- Utilisation de terminologie familière
- Importance de la constance
- Fournir du « feedback »
- Fournir des voies de sorties claires
- Fournir des raccourcis
- Compréhensibilité et utilité des messages d’erreur
- Prévention des erreurs
Identifiez les heuristiques de Tognazzini (16)
- Anticipation
- Autonomie
- Redondance de la couleur
- Constance
- Valeurs par défaut
- Efficacité pour l’usager
- Interfaces explorables
- Objets de l’interface
- Réduire les temps d’attente
- Apprentissage
- Métaphores
- Protéger le travail de l’utilisateur
- Facilité la lecture
- Information d’état
- Navigation visible
- Loi de Fitts : Évaluation du temps pour arriver à une fenêtre précise en naviguant sur l’interface
Identifiez les différentes exigences (3)
- Exigences utilisateur
- Fonctionnalité découlant des tâches
- Exigences d’utilisabilité
- Taux de succès
- Nombre d’erreurs
- Temps d’exécution des tâches
- Rythme d’apprentissage
- Satisfaction
- Exigences organisationnelles
- Processus et flux d’échanges
Identifiez les étapes du cycle centré utilisateur ISO-13047
1 . Planification du processus centré utilisateur
- Définition du contexte d’utilisation
- Spécification des exigences par rapport au contexte d’utilisation
- Conception des solutions
- Évaluation des solutions par rapport aux exigences
- Exigences satisfaites ?
- YES : DONE
- NO : Retour à 2 ou 3
- Exigences satisfaites ?
Définissez la première étape du cycle centré utilisateur ISO-13047
PLANIFICATION DU PROCESSUS CENTRÉ UTILISATEUR
- Analyse coût-bénéfice
- Identification des utilisateurs
Identifiez les techniques utilisées pour bien définir le contexte d’utilisation (5)
- Questionnaires, documentation
- Interviews
- Observations ethnographiques
- Journal de bord
- Analyse des tâches
Identifiez les techniques utilisées pour bien définir une solution de design (7)
- Remue-méninges
- Conception parallèle
- Scénarisation
- Diagrammes d’affinité et tri de cartes
- Maquettes papier
- Prototypes
- Wizard of Oz
Identifiez les techniques utilisées pour évaluer une solution (8)
- Évaluation participative
- Évaluation heuristique : Approche experte
- Tests utilisateur contrôlés
- Questionnaires de satisfaction
- Inspections cognitives
- Incidents critiques
- Feedback suite à un test ou une utilisation prolongée
- Statistiques d’utilisation
Identifiez les critères de persuasion statiques (7)
- Crédibilité : Fiabilité et expertise perçue
- Légitimité : Compréhension du fonctionnement du système
- Conformité sociale : Convergence de points communs entre individus
- Privacité
- Suggestibilité : Influence indirecte
- Réceptivité
- Renforcement de surface
Identifiez les critères de persuasion dynamiques (5)
- Invitation
- Amorçage : Déclenchement du premier engagement
- Engagement : Adhésion à des nouveaux objectifs
- Engrenage : Encourager l’utilisateur à revenir
- Emprise
Définissez le concept des fenêtres utilisé par le DOM HTML
Une fenêtre est une représentation graphique rectangulaire d’un ensemble contenant d’autres fenêtres.
Ceci crée une décomposition hiérarchique sous forme d’arbre où la racine (fenêtre qui contient toutes les fenêtres) est l’écran
Identifiez les manières de rattacher un événement à un élément en Javascript (2)
- element.onclick = function () { … };
- element.addEventListener(“click”, function() { … }, useCapture );
useCapture est l’emplacement d’un booléen pour déterminer si l’on veut utiliser le bubbling ou le capturing pour la fonction de rappel.
Identifiez les manières de retrouver un élément à l’aide du DOM en Javascript (3)
- document.getElementsByClassName(“classname”);
- document.getElementsByTagName(“tagname”); (p, i, img)
- document.getElementById(“idname”);
Définissez ce qu’est un worker
Un worker est un fil d’exécution indépendant qui permet de paralléliser des processus en Javascript.
Identifiez les manières de répartir les événements en Javascript (2)
- Capturing : Événements se déclenchent de la racine à l’élément touché le plus en surface (descente)
- Bubbling (DEFAULT) : Événements se déclenchent de l’élément touché le plus en surface à la racine (remontée)
À noter qu’il est possible d’arrêter la propagation de l’événement à l’aide de la fonction suivante :
event.stopPropagation();
Définissez ce qu’est un WebSocket
Un Socket est défini par une adresse IP et un port comme l’exemple suivant : 192.168.0.1 : 5001
Un WebSocket est une connexion entre un client et un serveur Web qui se crée par l’intermédiaire du mécanisme Upgrade de HTTP.
Il permet une communication bidirectionnelle asynchrone entre le client et le serveur.
Définissez ce qu’est une bibliothèque graphique
Une bibliothèque graphique est un ensemble de routines pour effectuer un rendu de primitives graphiques à l’écran (OpenGL)
Définissez ce qu’est un système de fenêtrage de base
Un système de fenêtrage de base est un programme qui contrôle un poste de travail. (X11)
Responsabilités :
- Gestion de la distribution des ressources aux applications
- Transmissions des entrées de l’utilisateur à l’application concernée
- Interprétation des demandes de l’application
- Graphisme
Définissez ce qu’est une boîte à outils (toolkit) pour interface usager
Une boite à outils contient un ensemble de fonctionnalités préfabriqués permettant la création rapide et efficace d’un interface utilisateur. (Swing, .NET)
Contenu :
- Catalogue d’objets interactifs ( Boîte de dialogue, menu défilant, etc. )
- Fonctions de plus hauts niveaux
- Gestion d’événements
Définissez ce qu’est un gestionnaire de fenêtres
Un gestionnaire de fenêtres est un programme décidant de l’apparence et de la disposition des fenêtres ainsi que du style d’interaction. (Aqua, Gnome)
Responsabilités :
- Médiation pour les ressources physiques du poste de travail (écran, tables de couleurs)
- Gestion de la fenêtre mère de chaque application (Déplacer, détruire, changer, créer)
- Implantation d’une politique de saisie au clavier
- Implantation d’une politique de disposition des fenêtres
Définissez ce qu’est le X Window System
X-Window System est une approche procédurale et client-serveur.
+ Multiplateforme dans la mesure où un serveur graphique X11 est disponible sur la plateforme visée
- Peu adaptable à la plateforme
Définissez ce qu’est le Java Swing
Java Swing crée un système de fenêtrage dans son application. Il implante lui-même un système de gestion d’événements et de fenêtrage.
+ Portable : Facile à transporter sur diverses plateformes
Définissez ce qu’est une interface déclarative
Une interface déclarative divise les responsabilités en trois.
- Structure et affichage : HTML
- Rendu : CSS
- Fonctionnalités : Javascript
Avantages :
- Portable : Nécessite uniquement un interpréteur des langages
- Dynamique : Facile d’effectuer des changements sur l’interface pendant l’exécution
- Adaptable : Facile d’implémenter des adaptations spécifiques à chaque plateforme
Identifiez les types d’évaluation principales pour un interface (2)
- Tests d’utilisabilité : Approche empirique avec des utilisateurs représentatifs du contexte d’utilisation. Ils mesurent l’atteinte des exigences d’utilisabilité.
- Évaluations heuristiques : Approche experte qui évalue l’interface selon des critères définies à l’aide de grilles
Définissez les variables de la fonction suivante :
ProblèmesTrouvés(i) = N ( 1 - (1 - l)^i )
- N : Nombre de problèmes au total
- i : ième expert
- l : Taux de problèmes trouvés par expert
- ProblèmeTrouvés(i) : Nombre de nouveaux problèmes trouvés par l’expert i
Identifiez les difficultés méthodologiques lors de l’évaluation d’une interface (6)
- Effet Hawthorne (Éclairage sur le travail)
- Dissonance cognitive (Rémunération sur appréciation)
- Effet de halo (Première impression)
- Effet de proximité dans le temps
- Effet d’ordre des tâches évaluées
- Effets de groupe
Définissez l’approche des filtres collaboratifs pour créer un système de recommandations
Les filtres collaboratifs se basent sur une matrice de votes pour prendre une décision.
- Approche item-item
- Approche utilisateur-utilisateur
Algorithme pour trouver une valeur de la colonne j pour un utilisateur a
E(v_a,j) = Moyenne V_a + Somme [w_a,i (v_i,j - Moyenne V_i)] / Somme [ | w_a,i | ]
w_i,j : Corrélation entre l’utilisateur i et j
Difficile à utiliser lors de la présence de matrices creuses
Définissez l’approche de la factorisation pour créer un système de recommandations
La factorisation décompose la matrice de votes en un produit de deux matrices.
Soit R_u,i, la matrice des estimés des votes
R_u,i = W_u,l H_l,i
u : Utilisateurs (Bob, Jasmine, etc.)
i : Items (ex : films)
l : Facteurs latents (ex : catégories de film)
Aucun problème avec les matrices creuses
Définissez l’approche contenu pour créer un système de recommandations
L’approche contenu consiste à calculer la similarité entre les utilisateurs et les items à l’aide de données autre que les votes. (âge, sexe, réalisateur, etc.) C’est une sorte d’association par profilage.
Définissez ce qu’est l’algorithme Page Rank
L’algorithme Page Rank permet de mesurer la popularité d’un ensemble de page selon les liens entrants comme facteur de pertinence.
Étapes
- Recherche par mots clés pour retrouver un ensemble S
- Augmentation de S par toutes les pages référencées par S pour obtenir S’
- Retour des pages comportant le plus grand nombres de liens entrants (Page de S’ référence la page en question) dans S’
Identifiez les patrons d’utilisabilité (27)
- Agrégation de données
Interaction avec un ensemble d’objets - Agrégation de commandes (Macros)
- Annulation de commandes
- Utilisation concurrente d’applications
- Évaluation du système
Point d’accès pour recueillir des données sur l’application - Réutilisation d’information
Propagation des données manuel et automatique possible - Activités multiples
Changement de tâche rapide - Soutien à la personnalisation
- Prévision de la durée d’une tâche
- Vérifier la rectitude
Correction d’erreurs suite à une détection - Assurer l’indépendance des périphériques
- Reprise sur défaillance
Limiter la perte de travail - Récupération de mot de passe oublié
Attention aux failles de sécurité - Fournir une aide de qualité
Utilisateur peut régler problèmes lui-même - Personnalisation régionale
Déploiement dans plusieurs cultures - Savoir se reposer sur l’expertise humaine
- Modifications d’interfaces
Facilité le processus de modification - Naviguer à l’intérieur d’une seule vue
Rapidité et efficacité - Observation de l’état du système
Prendre en compte les capacités humaines - Respect du rythme de l’utilisateur
Ajustement possible du rythme - Soutien à une recherche étendue
Outils de recherche bien définis - Offre annuler-rétablir
- Travail dans un contexte inconnu
Interface utilisable par un novice - Vérification des ressources
Avant utilisation, vérifier si elles sont disponibles (mémoire, puissance calcul, etc) - Mode opératoire cohérent d’une vue à l’autre
- Accessibilité des vues
- Soutien à la visualisation
Fournir un ensemble de vues pour aider l’utilisateur
Définissez les ressemblances et différences entre XMLHttpRequest et WebSocket
Ressemblances - Échange HTTP - Ne nécessite pas de recharge de page - Communique sur le même port Différences - XMLHttpRequest est une requête serveur - WebSocket est une communication bidirectionnelle