MODULE No 24

Titre : Correction des deuxièmes tests

But : Montrer, pour chaque question, l’une des meilleures réponses des étudiant(e)s

Antécédents : Module 22

Corps

Note : il s’agit des réponses d’étudiants avec éventuellement de petites retouches pour en faciliter la lecture. Fin de la note.

Groupe 20

Q1. (20 %) Y a-t-il des différences entre les tâches d’un concepteur d’interfaces personne-machine et celles d’un concepteur de logiciel. Si oui lesquelles ? Si non, décrivez les tâches principales des deux concepteurs.

Oui, il y a des différences.

Le concepteur de l’IPM doit concevoir la structure de l’interface et les types d’interactions. Il doit déterminer l’emplacement des champs, leur format en tenant présent les points de vues de l’utilisateur.

Parmi ses tâches il doit analyser les rôles des utilisateurs et leurs tâches (ce qui peut être fait avec une fiche des rôles). La fiche l’aide à déterminer ce qui est important et ce qui ne l’est pas. Il peut aussi établir les différentes priorités dans les objectifs de la facilité d’utilisation. C’est en observant le travail de l’utilisateur qu’il peut trouver des améliorations.

Le concepteur du logiciel par contre s’occupe de la structure du logiciel qui est, entre autres, responsable de gérer l’IPM. Il s’occupe donc des événements « derrière » l’IPM, ce que l’IPM cache mais qui permet au système de réagir (gestion des clics de la souris…).

Q2. (20 %) Décrivez le diagramme UML suivant et corrigez-le s’il est erroné en justifiant vos changements

Le diagramme dit : Canada est constitué de 1 ou plusieurs provinces et une province est dans 0 ou 1 Canada. Canada est représenté comme une classe mais le Canada est une instance (de pays, par exemple).

On peut donc changer le diagramme comme suit :

Un pays peut avoir une ou plusieurs provinces et une province est dans un pays. (Un pays pourrait n’avoir que des régions, des villes…)

Si on veut faire un diagramme avec le Canada alors :

Etc.

Q3. (10 %) Quelles sont les particularités de la composition par rapport à la simple agrégation (UML).

Une composition a la notion d’exclusivité dans le sens qu’une partie peut appartenir seulement à un tout. L’agrégation n’a pas cette contrainte : dans une agrégation une partie peut appartenir à plusieurs « touts » en même temps.

Exemple de composition (tirée du manuel de UML et présentée en classe) :

Une signature appartient à un document et un document peut avoir 0 ou 1 signature mais une transaction doit toujours en avoir une

Q4. (30 %) Un de vos copains a entendu parler de la « matrice » de UP mais il n’a rien compris. Expliquez–la, le plus clairement possible.

Dans la matrice il y a 5 flux de travail et 4 phases :

Flux : exigences, analyse, conception, mise en œuvre, tests

Phases : création, élaboration, construction, transition

Il peut y avoir un nombre variable d’itérations dans un projet. Les courbes (voir la figure ci-dessous) représentent la charge de travail en fonction du temps.

Exigences

Analyse

Concep.

MEO

Test

Le maximum de chaque flux est généralement à des endroits différents dans les phases. Le flux de travail « exigences » est toujours le premier à commencer puisque c’est lui qui détermine les besoins et les exigences du client. La fin de chaque flux se termine aussi à des moments différents. Par exemple l’exigence va être complétée avant la fin de la phase de construction. Il faut aussi noter qu’à part dans la création et la transition, les 5 flux de travail sont en parallèle.

Dans la partie test on peut voir les mini projets (les incréments) préparés à chaque itération.

Q5. (20 %)

Qu’est-ce qu’un cas d’utilisation ?

Pourquoi en 1970 la caissière d’une banque est un acteur et le client ne l’est pas ?

Est-ce qu’un guichet automatique est « interne » ou « externe » au sujet ? Expliquez.

C’est une séquence d’action des acteurs avec les réponses du système : c’est-à-dire une description des interactions entre ce qui est externe (acteur) et le système.

La caissière est l’acteur car c’est elle qui interagit directement avec le système. Elle est la seule capable d’engendre des événements qui cause des réponses du système (impression du solde, retrait, etc.) Le client n’est pas un acteur car il interagit avec la caissière et non avec le système (informatique).

Dépendamment du sujet (système) considéré le GA est interne ou externe.

Par rapport au sujet I le GA est externe (et donc il est un acteur), mais par rapport au sujet II il est interne. Le sujet II (ce qui compte pour le client) en 2006 a le GA comme interface avec l’ordinateur central.

Groupe 30

Q1. (20 %) Décrivez au moins quatre heuristiques pour la conception des IPM.

En faisant la conception de l’IPM nous devons (entre autres).

1. Prendre en considération le type d’utilisateur. En particulier ses connaissances du domaine, son niveau de scolarité, son niveau de familiarité avec les systèmes informatiques.

2. L’IPM doit être cohérente à l’interne (le même type d’action à l’intérieur d’une application doit donner le même type de résultat) et si possible à l’externe (en respectant les standards pour les applications semblables)

3. C’est l’utilisateur qui est au centre : ces actions pilotent l’application. Du point de vue de l’application les actions de l’utilisateur sont des événements. « Programmation événementielle » comme méthode de développement.

4. L’utilisateur doit être en tout temps informé de l’état de l’application : on doit lui fournir un feedback.

5. L’aide contextuelle doit être disponible à tout instant pour favoriser l’apprentissage.

6. La possibilité de défaire les actions doit être offerte.

7. La conception d’une IPM doit respecter les limitations des humains, surtout au niveau de la mémoire à court terme. En particulier les écrans ne devraient pas être trop chargés d’information et la présentation devrait permettre d’induire d’autres informations, faciliter le parcours, etc.

Q2. (20 %) Paul est convaincu que pour décrire en UML les relations entre les organes d’un être humain et l’humain lui-même on peut employer la composition. Mais, puisqu’il est malin et il sait que son ami a eu une greffe de la cornée qui appartenait à une femme, il propose l’exemple suivant qui, à son avis, tient compte de ce qu’a eu son ami. En supposant que la composition soit un choix correct, est-ce que le schéma suivant est correct ? Si non, corrigez-le en expliquant le pourquoi.

Non, ce n’est pas correct. Une cornée peut avoir en même temps deux propriétaires !!! Et puis normalement un humain (peu importe si homme ou femme) a 2 cornées. Voici ma solution :

Un humain a 0, 1 ou 2 cornées (normalement 2) et une cornée appartient à 0 ou une personne. Il ne faut pas oublier que si une femme a donné une cornée à un homme, elle ne lui appartient plus (on espère qu’elle — la femme ! — était morte quand on lui a enlevé les cornées), elle appartient maintenant à l’homme. La cornée pendant le « passage de propriété » n’appartient à personne et elle est sans doute quelque part dans on bocal (est-ce qu’elle appartient à l’hôpital ?) Mon impression c’est que si Paul veut tenir compte de la composition (qui implique que les parties « meurent » avec le tout) il doit renoncer à la composition. Mais puisque l’on nous dit de garder l’hypothèse de la composition…

Au fond, pourquoi différencier les hommes et les femmes dans ce problème ?

Q3. (20 %) Dans une PME on est en train d’introduire des normes et on demande votre aide pour les exigences. Proposez-leur une fiche avec au moins cinq champs en plus du numéro de l’exigence et de son identificateur.

Voici quelques champs d’une fiche (vue en classe)

Type : type de l’exigence. Peut être : Fonctionnelle, Documentation, Sécurité, Portabilité…

Groupe : Groupe auquel appartient l’exigence (pour faciliter la lisibilité)

Réutilisable : indique si la fiche peut être réutilisée dans d’autres projets.

Intrant, Extrants : pour les exigences fonctionnelles : ceux qu’elles reçoivent en entrée et ce qu’elle génère en sortie.

Satisfaction : satisfaction de l’utilisateur si cette exigence est mise en œuvre

Stabilité : stabilité de l’exigence (est-ce qu’elle est censé changer souvent ?)

Mise en garde : des éléments importants à considérer et qui n’entrent pas dans les autres champs. Plus important que le champ Notes.

Q4. (20 %) Paul a entendu parler d’une drôle d’histoire à propos de « 152 » et « 500 » dans un avion d’Air France mais il n’a rien compris. Expliquez-lui le(s) buts de cette histoire dans le cadre de votre cours.

Le but est de montrer des types d’erreurs possibles dans la conception des IPM. Dans ce cas il s’agit de l’affichage de la hauteur de vol de l’avion. L’hauteur varie selon des quantités discrètes qu’au début il est difficile de saisir. L’utilisateur (dans ce cas notre enseignant) s’aperçoit que les affichages changent à tous les 152 mètres. Mais pourquoi 152 ? Qu’y a-t-il de spécial en 152 ? Il ne trouve rien sinon que 152 mètres est égal à 500 pieds. Et 500 a psychologiquement plus de sens que 152. Cela indique donc que l’avion (américain) a été conçu pour une IPM en pieds et quand on l’a vendu à Air France on a changé l’affichage de pieds et mètres sans penser que le 152 est psychologiquement « étrange ». Il aurait fallu afficher les changements à tous les 100 mètres, par exemple. Donc ce cas montre un non respect des caractéristiques des utilisateurs qui « pensent » en mètres.

Q5. (20 %) Paul (toujours lui !) est fasciné par UML et pour expliquer les cas d’utilisations pour les banques en 1969, il a préparé le schéma suivant. En vous inspirant de ce que vous avez vu en classe, êtes-vous d’accord ? Pourquoi ? Si nécessaire corrigez-le. Expliquez-lui ce qu’est un cas d’utilisation. Note Supposez qu’un client ne peut faire que les trois opérations bancaires indiquées. Fin de la note

Je ne suis pas d’accord. Le client n’interagit pas avec le système mais avec la caissière qui est le vrai acteur. Ce schéma est valide en 2006 si le client interagit avec un guichet automatique qui fait partie du système bancaire.

Un cas d’utilisation est la spécification d’une séquence d’actions avec des variantes. Les actions peuvent être des actions de l’acteur ou du système. Il s’agit donc d’une spécification des fonctions telles que vues à la frontière du système. Système que en UML pourrait être une simple classe

Conséquent : Pouvoir évaluer son test par rapport aux tests d’autres étudiant(e)s

Note 01 :