Vous êtes sur la page 1sur 12

Département d’informatique et d’ingénierie- UQO

Professeur : Andy Handouyahia


INF1173-Automne2023

Examen final (18 décembre 2023, 2h30) – 100 points

Nom: Kabore ADAMA Code permanent :


KABA31379903

Section I –36 points – Analyse et spécification des exigences

1. D’après vous, quels devraient être les 2 plus importants attributs de qualités pour les
logiciels suivants :

a) Un logiciel qui vérifie la validité d’une carte de crédit avant d’effectuer un achat.

La sécurité, la rapidité et efficacité.

b) Un logiciel qui, pendant la nuit, compile des statistiques sur les ventes effectuées
pendant la journée.

La fiabilité et l`automatisation.

2. Voici une exigence tirée d’un document de spécification :

1.4.6 Chaque client sera représenté par son nom d’un maximum de 12 lettres, par un
identificateur composé des 3 premières lettres du nom et d’un nombre aléatoire
généré par l’algorithme de Poudlard et un mot de passe indéchiffrable.

En vous basant sur les caractéristiques que doit avoir chacune des spécifications, critiquez
l’exigence 1.4.6.

L`utilisation du nom du client pour le représenter est également une bonne pratique courante.
Cependant, la limitation a un maximum de 12 lettres peut poser des problèmes si certains
noms des clients sont plus long. Il serait plus souple de permettre une longueur de nom plus
variable, à moins qu’il ait une contrainte particulière qui justifie cette limitation.

L’utilisation des trois premières lettres du nom du client en combinaison avec un nombre
aléatoire généré par l’algorithme de Poudlard semble être une manière unique de créer un
identificateur, cependant il serait utile de clarifier la manière dont cet algorithme fonctionne
pour assurer la cohérence et l’unicité des identificateurs générés. De plus la nature aléatoire
pourrait potentiellement entrainer des collisions et il faudrait s’assurer qu’il y a une gestion
appropriée de ces cas.

L’idée d’avoir un mot de passe inchiffrable est généralement une bonne pratique en matière
de sécurité. Néanmoins il serait utile d’inclure des détails sur la manière dont la sécurité des

1
mots de passe sera mise en œuvre. Cela pourrait inclure des informations sur les algorithmes
de hachage utilises, les politiques de complexité des mots de passe, et les mécanismes de
gestion de mot de passe oubliés ou compromis.

3. Voici une exigence tirée d’un document de spécification :

Votre client vous demande de concevoir un logiciel permettant à des utilisateurs de jouer à un
jeu questionnaire sur Internet. Il prévoit que 10000 personnes joueront simultanément.

Énumérez les 4 premières choses que vous feriez avant d’entreprendre l’écriture du
document décrivant les exigences du logiciel.

1. Analyse des besoins et objectifs


2. Étude de la scalabilité
3. Définition des fonctionnalités principales du logiciel
4. Évaluation des risques

4. Vous assignez une lettre à chacune des exigences ci-dessous selon la classification
FURPS+.
Exigence FURPS+
Pour consulter les réservations effectuées par le locataire, un mot de passe est requis U
Le système doit être en mesure de traiter 1500 transactions d’achat par minute F
La fonctionnalité d’annulation de réservation de logement doit être disponible à partir de la page d'accueil du système RÉSID S
Après dix-huit mois d’opération, le système devra accommoder 10000 utilisateurs additionnels P
Le montant à payer pour l’achat d’un billet d’avion doit être calculé avec une précision de deux décimales F
Toutes les séquences vidéo doivent être stockées dans le format standard MPEG1 F
L’utilisateur doit être en mesure de choisir d’interagir avec le système en français ou en anglais U
Le client s’attend à ce que le temps moyen entre pannes soit plus que 4800 heures R

5. Soient les phrases suivantes :


 Um immeuble est composé de plusieurs appartements
 Une transaction boursière est un achat ou une vente

2
 Un produit fait partie d’une catégorie, une catégorie est composée d’un ou
plusieurs produits

Élaborez les diagrammes de classe correspondants en choisissant seulement le type de


relation approprié entre les classes.

3
Section II –12 points : Notions générales de génie logiciel et conception OO.

Répondez aux questions ci-dessous. Il y a une seule réponse pour chaque question.

1. Selon plusieurs statistiques, plus de 30% des projets de développement de logiciels sont
suspendus avant la livraison et les 70% restants ne réussissent pas à répondre aux
besoins originaux. Cela est dû à:

b) La mauvaise gestion des besoins/exigences

2. Pourquoi la gestion des exigences est-elle importante? Elle est due à des changements :

d) Toutes les réponses ci-dessus

3. La traçabilité des exigences est l'une des caractéristiques les plus importantes de la
gestion des exigences. Elle peut également être désignée comme le cœur de la gestion
des exigences.
a) Vrai

4. Lequel des éléments suivants est un mécanisme qui permet à plusieurs objets dans une
hiérarchie de classes d'avoir différentes méthodes avec le même nom?

b) Polymorphisme

5. Dans le langage UML, que signifie la multiplicité 1..*? :

a. Plusieurs incluant la possibilité d’aucun

6. Lequel des éléments suivants est un inconvénient des approches de développement OO?
c) Les objets peuvent être considérés comme des entités autonomes

4
Section III – 12 points

Soit le diagramme de classe suivant, représentant les visites dans un centre médical.

Répondez aux questions suivantes en fonction des caractéristiques de ce diagramme de


classe (indiquez si la situation décrite est représentable avec le diagramme donné et
justifiez votre réponse).

1. Peut-on prescrire plusieurs médicaments dans une même consultation ?

Oui car le diagramme montre une association entre médicament et consultation


avec une cardinalité bien appropriée(0 a plusieurs)

2. Un médecin peut-il ne pas prescrire de médicament lors d’une consultation ?

Oui car le diagramme de classe permet une association optionnelle entre la classe
consultation et la classe médicament, ce qui signifie que chaque consultation peut
avoir 0 ou plusieurs prescriptions.

3. Un médicament peut-il être distribué par deux laboratoires différents ?

Non car si chaque médicament est associé à un seul laboratoire alors un


médicament ne peut pas être distribue a deux laboratoires différents.

5
4. Deux médecins différents peuvent-ils prescrire le même médicament ?

Oui

Section IV – 40 points – Études de cas

Étude cas No.1 : (25 points) – Gestion de parc de vélos (VeliGat)

La ville de Gatineau utilise une base de données relationnelle pour la gestion de son parc
de vélos VeliGat. La base de données (fictive) contient des informations sur les vélos, les
utilisateurs et les bornes de location. Tous les vélos ont un numéro unique sur 10 chiffres.
L’état d’un vélo est noté sur 5 (1=bon état, 5=bon pour la casse). Il existe deux sortes
d’utilisateurs : les utilisateurs qui ont un abonnement et ceux qui n’en ont pas. Ces derniers
peuvent louer un vélo au moyen d’une carte bancaire. Le numéro de la carte est mémorisé
pour facturer la location et en cas de perte ou de vol du vélo. Tous les utilisateurs sont
identifiés par un numéro unique (4 lettres et 8 chiffres) et doivent donner leur nom et leur
adresse.

Il y a différents types d’abonnement (mensuel, annuel, etc) avec des prix, des descriptions
et des durées différentes. Un utilisateur ne peut avoir qu’un seul abonnement à la fois. Il
démarre à la date d’achat et dure tant que l’utilisateur ne le résilie pas. Un vélo ne peut être
loué que par un seul utilisateur à la fois. La location a lieu à une certaine date jusqu’à une
date de retour. Un vélo est loué à une borne et rendu à la même borne ou bien à une autre
borne. Une borne est identifiée par un numéro unique, se situe à une adresse précise et
peut accueillir un nombre maximal de places de vélos. À tout moment, la base doit
renseigner le nombre de places libres de chaque borne. Pour chaque couple de bornes, on
stocke également la distance à vélo entre les deux bornes.

Vous devez proposer un diagramme de classe qui représente la situation. Vous pouvez
ajouter des attributs qui vous semblent pertinents. Mais les classes, les associations ainsi
que les cardinalités doivent respecter l’étude de cas.

6
7
8
9
Étude cas No.2 : (15 points) – La caisse automatique

Le déroulement normal d'utilisation d'une caisse automatique est le suivant :

1. Un client arrive à la caisse avec des articles


2. Le caissier enregistre le numéro d'identification de chaque article, ainsi que la quantité si
celle-ci est supérieure à 1
3. Un client arrive à la caisse avec des articles
4. Le caissier enregistre le numéro d'identification de chaque article, ainsi que la quantité si
celle-ci est supérieure à 1
5. La caisse affiche le prix de chaque article et son libellé
6. Lorsque tous les articles ont été enregistrés, le caissier signale la n de la vente
7. La caisse affiche le total des achats
8. Le client choisit son mode de paiement :
a. Liquide : le caissier encaisse l'argent et la caisse indique le montant éventuel à
rendre au client
b. Chèque : le caissier note l'identité du client et la caisse enregistre le montant sur le
chèque
c. Carte de crédit : un terminal bancaire fait partie de la caisse, il transmet la
demande à un centre d'autorisation multi-banques
9. La caisse enregistre la vente et imprime un ticket
10. Le caissier transmet le ticket imprimé au client
11. Un client peut présenter des coupons de réduction avant le paiement. Lorsque le
paiement est terminé, la caisse transmet les informations relatives aux articles vendus au
système de gestion des stocks. Tous les matins, le responsable du magasin initialise les
caisses pour la journée

Vous devez proposer un diagramme de cas d'utilisation qui représente la caisse automatique.

10
11
12

Vous aimerez peut-être aussi