+ All Categories
Home > Documents > Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite...

Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite...

Date post: 04-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
4
Universit´ e de Lille 1 - Master informatique 1` ere ann´ ee 31 mai 2010 IHM Examen d’IHM - Session mai 2010 Dur´ ee : 3 heures Calculatrice non-autoris´ ee Document autoris´ e : une feuille A4 recto-verso manuscrite, photocopies interdites. epondre ` a chaque partie sur des copies s´ epar´ ees. Partie I Exercice 1 : eveloppement d’interfaces (8 points) Q1. Proposez une hi´ erarchie de composants avec les gestionnaires de placement associ´ es pour reproduire l’interface du logiciel Firefox repr´ esent´ ee sur la figure 2, en utilisant les composants et les gestionnaires de placement Java Swing. Vous choisirez vos gestionnaires de placement de mani` ere ` a respecter le placement relatif des composants suite ` a un redimensionnement de la fenˆ etre de l’application, comme illustr´ e sur la figure ci-dessous. En particulier, les dimensions de la barre de recherche en haut ` a droite ne doivent pas changer lors d’un redimensionnement. Vous consid´ ererez que le composant central rep´ esentant la page html s’appelle JhtmlRenderer. Q2. etaillez le fonctionnement du mod` ele MVC. Quels sont ses avantages et inconv´ enients ? Q3. Les menus circulaires sont utilis´ es pour pr´ esenter une liste de commandes sous forme circulaire. La figure 1 en donne un exemple. Figure 1 – Exemple de menu circulaire. Il existe deux mani` eres d’utiliser ces menus. La premi` ere consiste ` a invoquer le menu en cliquant sur le bouton droit de la souris et, tout en maintenant le bouton droit enfonc´ e, d´ eplacer imm´ ediatement la souris dans la direction de la commande ` a ex´ ecuter. Dans ce cas le menu n’apparaˆ ıt pas. La seconde mani` ere consiste, comme la premi` ere, ` a invoquer le menu en cliquant sur le bouton droit de la souris, puis, tout en maintenant le bouton droit de la souris enfonc´ e, ` a attendre (0,33 s) que le menu appa- raisse avant de d´ eplacer la souris sur la commande ` a ex´ ecuter. Dans tous les cas, quand le bouton droit est relˆ ach´ e, la commande est ex´ ecut´ ee si le pointeur a parcouru une distance sup´ erieure ` a un seuil pr´ ed´ efini. Q 3.1. Pour une interface ´ ecrite en Java Swing, comment filtrer les ´ ev´ enements de la souris avant de les transmettre aux autres composants et comment afficher le menu circulaire au dessus d’autres composants ? On d´ ecide de cr´ eer un nouveau composant pour utiliser ce type de menus en respectant le mod` ele MVC. Q 3.2. Par quel m´ ecanisme associer les items du menu ` a des commandes existantes d´ ej` a dans l’appli- cation ?
Transcript
Page 1: Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite en Java Swing, comment ltrer les ev enements de la souris avant de les transmettre

Universite de Lille 1 - Master informatique 1ere annee 31 mai 2010IHM

Examen d’IHM - Session mai 2010

Duree : 3 heuresCalculatrice non-autorisee

Document autorise : une feuille A4 recto-verso manuscrite,photocopies interdites.

Repondre a chaque partie sur des copies separees.

Partie I

Exercice 1 : Developpement d’interfaces (8 points)

Q 1 . Proposez une hierarchie de composants avec les gestionnaires de placement associes pour reproduirel’interface du logiciel Firefox representee sur la figure 2, en utilisant les composants et les gestionnaires deplacement Java Swing. Vous choisirez vos gestionnaires de placement de maniere a respecter le placementrelatif des composants suite a un redimensionnement de la fenetre de l’application, comme illustre sur lafigure ci-dessous. En particulier, les dimensions de la barre de recherche en haut a droite ne doivent paschanger lors d’un redimensionnement. Vous considererez que le composant central repesentant la pagehtml s’appelle JhtmlRenderer.

Q 2 . Detaillez le fonctionnement du modele MVC. Quels sont ses avantages et inconvenients ?

Q 3 . Les menus circulaires sont utilises pour presenter une liste de commandes sous forme circulaire. Lafigure 1 en donne un exemple.

Figure 1 – Exemple de menu circulaire.

Il existe deux manieres d’utiliser ces menus. La premiere consiste a invoquer le menu en cliquant surle bouton droit de la souris et, tout en maintenant le bouton droit enfonce, deplacer immediatement lasouris dans la direction de la commande a executer. Dans ce cas le menu n’apparaıt pas. La secondemaniere consiste, comme la premiere, a invoquer le menu en cliquant sur le bouton droit de la souris,puis, tout en maintenant le bouton droit de la souris enfonce, a attendre (0,33 s) que le menu appa-raisse avant de deplacer la souris sur la commande a executer. Dans tous les cas, quand le bouton droitest relache, la commande est executee si le pointeur a parcouru une distance superieure a un seuil predefini.

Q 3.1. Pour une interface ecrite en Java Swing, comment filtrer les evenements de la souris avant de lestransmettre aux autres composants et comment afficher le menu circulaire au dessus d’autres composants ?

On decide de creer un nouveau composant pour utiliser ce type de menus en respectant le modele MVC.

Q 3.2. Par quel mecanisme associer les items du menu a des commandes existantes deja dans l’appli-cation ?

Page 2: Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite en Java Swing, comment ltrer les ev enements de la souris avant de les transmettre

Q 3.3. Donnez le pseudo d’un algorithme qui permette de determiner quel item du menu a ete selectionne.Vous utiliserez en entree de votre algorithme les evenements de la souris.

Q 3.4. Detaillez les structures de donnees ainsi que les methodes des classes du modele, de la vue et ducontroleur sous forme de diagramme de classe. Vous expliquerez egalement le role de chaque methode enprecisant notamment les methodes des autres classes appelees.

Exercice 2 : Interfaces gestuelles (2 points)

On dispose, pour une application grand public, d’un systeme de gants de donnees permettant d’acquerirau fil du temps les positions des deux mains de l’utilisateur. On veut, a partir de ces gants et d’un grandecran, mettre en place un petit systeme de controle “mains libres”, permettant de controler en rotationun objet 3D sur l’ecran (en laissant la liberte a l’utilisateur a la fois de la definition de l’axe de rotation etde l’angle de rotation autour de cet axe). On suppose que l’application ne propose que d’un seul objet 3D.

Q 1 . Proposez une methode pour detecter qu’un geste, fourni par les donnees en position et temps(x,y,z,t) du centre de gravite de la main, decrit un arc de cercle.

Q 2 . Decrivez comment, a partir de la solution decrite precedemment, faire pour qu’un geste utili-sant les deux mains, composant deux arcs de cercle complementaires (c’est-a-dire de rayon similaire, etcoplanaires), puisse etre utilise pour le controle en rotation.

Partie II

Exercice 3 : Ergonomie des IHM (10 points)

Q 1 . Voici des exemples de sites (figures 3 et 4), vous devez pour chacun deux en faire une analyse enappliquant les regles de conception et en specifiant les limites du fonctionnement humain. Expliquez etjustifiez vos reponses. (6 points)

Q 2 . Quelle est la definition d’un artefact, donnez en un exemple (2 points)

Q 3 . Quelle est la definition d’une affordance, donnez en un exemple (2 points)

Page 3: Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite en Java Swing, comment ltrer les ev enements de la souris avant de les transmettre

Figure 2 – Captures d’ecrans de l’application Firefox. En haut la fenetre en plein ecran et en bas lameme fenetre redimensionnee.

Page 4: Partie I - LIFLcasiez/IHM/Exams/IHMjuin2010.pdf · 2011-04-08 · Q 3.1. Pour une interface ecrite en Java Swing, comment ltrer les ev enements de la souris avant de les transmettre

Figure 3 – Capture d’ecran du site 1.

Figure 4 – Capture d’ecran du site 2.


Recommended