Final Flashcards

1
Q

Définissez ce qu’est le contexte d’utilisation

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Identifiez les lois de Gestalt (6)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Identifiez les principes de 3D (4)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Identifiez les heuristiques de Nielsen (8)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Identifiez les heuristiques de Tognazzini (16)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Identifiez les différentes exigences (3)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Identifiez les étapes du cycle centré utilisateur ISO-13047

A

1 . Planification du processus centré utilisateur

  1. Définition du contexte d’utilisation
  2. Spécification des exigences par rapport au contexte d’utilisation
  3. Conception des solutions
  4. Évaluation des solutions par rapport aux exigences
    • Exigences satisfaites ?
        • YES : DONE
        • NO : Retour à 2 ou 3
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Définissez la première étape du cycle centré utilisateur ISO-13047

A

PLANIFICATION DU PROCESSUS CENTRÉ UTILISATEUR

  • Analyse coût-bénéfice
  • Identification des utilisateurs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Identifiez les techniques utilisées pour bien définir le contexte d’utilisation (5)

A
  • Questionnaires, documentation
  • Interviews
  • Observations ethnographiques
  • Journal de bord
  • Analyse des tâches
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Identifiez les techniques utilisées pour bien définir une solution de design (7)

A
  • Remue-méninges
  • Conception parallèle
  • Scénarisation
  • Diagrammes d’affinité et tri de cartes
  • Maquettes papier
  • Prototypes
  • Wizard of Oz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Identifiez les techniques utilisées pour évaluer une solution (8)

A
  • É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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Identifiez les critères de persuasion statiques (7)

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Identifiez les critères de persuasion dynamiques (5)

A
  • Invitation
  • Amorçage : Déclenchement du premier engagement
  • Engagement : Adhésion à des nouveaux objectifs
  • Engrenage : Encourager l’utilisateur à revenir
  • Emprise
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Définissez le concept des fenêtres utilisé par le DOM HTML

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Identifiez les manières de rattacher un événement à un élément en Javascript (2)

A
  • 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Identifiez les manières de retrouver un élément à l’aide du DOM en Javascript (3)

A
  • document.getElementsByClassName(“classname”);
  • document.getElementsByTagName(“tagname”); (p, i, img)
  • document.getElementById(“idname”);
17
Q

Définissez ce qu’est un worker

A

Un worker est un fil d’exécution indépendant qui permet de paralléliser des processus en Javascript.

18
Q

Identifiez les manières de répartir les événements en Javascript (2)

A
  • 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();

19
Q

Définissez ce qu’est un WebSocket

A

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.

20
Q

Définissez ce qu’est une bibliothèque graphique

A

Une bibliothèque graphique est un ensemble de routines pour effectuer un rendu de primitives graphiques à l’écran (OpenGL)

21
Q

Définissez ce qu’est un système de fenêtrage de base

A

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
22
Q

Définissez ce qu’est une boîte à outils (toolkit) pour interface usager

A

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
23
Q

Définissez ce qu’est un gestionnaire de fenêtres

A

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
24
Q

Définissez ce qu’est le X Window System

A

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

25
Q

Définissez ce qu’est le Java Swing

A

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

26
Q

Définissez ce qu’est une interface déclarative

A

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
27
Q

Identifiez les types d’évaluation principales pour un interface (2)

A
  • 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
28
Q

Définissez les variables de la fonction suivante :

ProblèmesTrouvés(i) = N ( 1 - (1 - l)^i )

A
  • 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
29
Q

Identifiez les difficultés méthodologiques lors de l’évaluation d’une interface (6)

A
  • 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
30
Q

Définissez l’approche des filtres collaboratifs pour créer un système de recommandations

A

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

31
Q

Définissez l’approche de la factorisation pour créer un système de recommandations

A

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

32
Q

Définissez l’approche contenu pour créer un système de recommandations

A

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.

33
Q

Définissez ce qu’est l’algorithme Page Rank

A

L’algorithme Page Rank permet de mesurer la popularité d’un ensemble de page selon les liens entrants comme facteur de pertinence.

Étapes

  1. Recherche par mots clés pour retrouver un ensemble S
  2. Augmentation de S par toutes les pages référencées par S pour obtenir S’
  3. Retour des pages comportant le plus grand nombres de liens entrants (Page de S’ référence la page en question) dans S’
34
Q

Identifiez les patrons d’utilisabilité (27)

A
  • 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
35
Q

Définissez les ressemblances et différences entre XMLHttpRequest et WebSocket

A
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