0% ont trouvé ce document utile (0 vote)
39 vues6 pages

CorrectionDevRévision 1

Transféré par

mohamedchikhzaouali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues6 pages

CorrectionDevRévision 1

Transféré par

mohamedchikhzaouali
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

A.

U 2019-2020

Révision Génie Logiciel & Ateliers de génie


logiciel

Exercice 1
L’équipe « devTeam1 » de la boite de développement « WebData » souhaite développer une
application web pour gérer les différents magasins de jouets.

Partie I
Pendant la première réunion, le client a demandé une interface graphique en rose avec des
fonctionnalités basiques. Après quelques jours, il a envoyé de nombreux mails pour rajouter
d’autres fonctionnalités avancées et/ou pour changer le thème de l’interface graphique.
1. Quel est le modèle de cycle de vie à adopter par l’équipe ? Justifier.
Modèle de cycle de vie : ………… Par prototypage ………………….………
Justification : ……………… Besoins instables du client………….……………..
……………………………………………………………………………………………..……
………………………………………………………………………………………………….
2. Expliquer son principe de fonctionnement (l’utilisation d’un schéma explicatif est
possible).

1
Enfin, après la stabilisation des besoins du client, les analystes ont préparé un document qui
contient la liste finale de besoins.
3. De quel document s’agit-il ?
………………… Document de spécification ……………………………
4. Citer et expliquer les différentes étapes nécessaires pour rédiger ce document.
• Collecte des besoins bruts
• Analyse de besoins (filtrer les besoins en éliminant les ambigüités, les
incohérences et en organisant les besoins par thème et par priorité)
• Spécification des exigences (catégorisation des spécifications et rédaction des
documents de spécification)

Partie II
Les architectes de l'équipe « DevTeam1 » ont pris en charge la conception du projet de
gestion des magasins de jouets. Ils ont préparé cet extrait du diagramme de classes (Figure 1) :

Figure 1 : Extrait du diagramme de classes de la solution

1. Ce diagramme ne respecte pas l’un des critères de la qualité logicielle. Lequel ?


Critère de la qualité logiciel : ………… Faible couplage ……………………….

2. Expliquer les problèmes liés au non-respect de ce critère de la qualité logicielle.


Explication : ……………………………………………………………………………………
• Difficulté de la maintenabilité
• Difficulté de la réutilisabilté

2
• Problèmes d’évolutivité
• Problème de performance
Le code implémentant cet extrait du diagramme de classes sera intégré avec une autre
application externe, déjà déployée chez le client.
3. Quel est le patron de conception permettant de cacher la complexité de ce code lors de
l’intégration ? Il appartient à quelle catégorie (famille) ?
Patron de conception : ………… Façade ……………………………………
Catégorie : …………… Patron de structure (ou structurel)…………………………………
4. Quel est le type de test recommandé après l’intégration ? Justifier.
Le type de test : ………… Test d'intégration ………………………………………
Justification : ...................Un test après l’intégration.................................................……….

Partie III
Lorsque la version 1.2.0 de l’application a été installée sur les machines des différents
magasins, les utilisateurs ont remarqué que l’application se met hors service lors de la
génération des statistiques liées au nombre de commandes passées par mois.
Après la vérification du code, les testeurs ont trouvé que l’algorithme de génération des
statistiques contient une boucle infinie.
1. De quelle anomalie logicielle s’agit-il ? Expliquer.
Anomalie : ……………… Crash applicatif …………………………………
Explication : ……………… L’application se met hors service à cause d’opération
(génération de statistiques) impossible à réaliser (définition du crash applicatif). Après
la vérification du code, les testeurs ont trouvé que l’algorithme de la génération des
statistiques contient une boucle infinie.

2. A quelle méthode de test (famille de test) appartient le test effectué ? Justifier.


Méthode de test : ……… Boite Blanche …………………………………

Justification : …………… Après la vérification du code ……………….……


…………………………………………………………………………………………………

3. Le chef de projet profite de la présence des experts pour avoir leurs avis sur les
méthodes de tests qu’il devrait utiliser au niveau de ses projets. Plus précisément, il
voudrait savoir s’il doit utiliser une méthode boite blanche ou une méthode boite
noire.

3
a. Expliquer les deux méthodes.
Boite blanche : …… Tester le code (tests structurels) …………………………...
…………………………………………………………………………………………
Boite noire : ……… Tester les fonctionnalités sans accès au code……………
………………………………………………………………………………………….
b. Que suggérez-vous comme méthode de test ? Justifiez votre réponse et
illustrez par des exemples de types de tests.
Justifier l’intérêt de chacune des méthodes (boîte noire et boîte blanche) en y
associant des exemples de tests (Exp. : Boîte noire –> Test système / Boîte
blanche -> Test unitaire / Boîtes noire + blanche -> Test d’intégration)
………………………………………………………………………………………….
………………………………………………………………………………………….
.…………………………………………………………………………………………

Exercice 2
Partie I
L’équipe ArmyDev est spécialiste dans le développement des applications pour le USDOD
(United States Department of Defense). Elle adopte dans ses projets un modèle de cycle de
vie linéaire basé sur une pile de tests.
1. Que pourrait être ce modèle de cycle de vie ? Citez et expliquez deux types de tests
réalisés au niveau de ce cycle de vie en mentionnant les familles de test associées.
Modèle de cycle de vie : …Modèle en « V »………………………………………………...
Type 1 de test : …Unitaire………………. Famille associée : Boîte blanche.
Type 2 de test : …Validation…………………. Famille associée : Boîte noire.

ArmyDev travaille actuellement sur un projet pour qui permet de détecter les missiles
balistiques. USDOD a exigé à ArmyDev d’adopter pour son projet un modèle de cycle de vie
itératif et incrémental et d’analyser les risques pour chaque itération à l’aide d’une équipe
d’officiers de l’armée.
2. Expliquez la différence entre un modèle de cycle de vie linéaire et un modèle de cycle
de vie itératif et incrémental [1pt].
Linéaire : séquentialité des étapes/activités – Une activité est réalisée une seule
fois………………………………………………………………………………………………
Itératif et incrémental : Reprise d’un ensemble d’activités dans des itérations distinctes
– Une activité peut être réalisée plusieurs fois……
3. Que pourrait être le modèle de cycle de vie exigé par USDOD ? Expliquez ses
avantages et ses inconvénients [2 pts].
…………………………………………………………………………………………………
…………………………………………………………………………………………………...

4
Modèle en spirale
Avantages : gestion des risques, itératif et incrémental
Inconvénients : complexe et très couteux

Partie II
L'équipe « DevTeam2 » de la boite de développement « WebData » travaille sur le projet
« SmartTrip »
Lors de la phase de test du site web « SmartTrip », il a été remarqué que les requêtes relatives
à l’ajout d’une réservation sont très lentes.

Figure 2 : Extrait du diagramme de classes de « Smart Trip »

1. Déduire l’origine de ce problème à travers l’extrait du diagramme de classes de la


Figure 2.
Complexité d'instanciation de la classe Reservation
Dépendance du constructeur de la classe Réservation de plusieurs autres classes
……………………………

2. Quel patron de conception aurait pu éviter ce problème ? Justifier.


Prototype car il facilite l’instanciation des classes en clonant des copies initialisées
de classes………………………………………………………………………………
3. Il appartient à quelle catégorie (famille) ?
Créationnelle (patron de conception de création)…………………………….……

5
Partie II
La boite de développement «WebData » est composée de plusieurs équipes travaillant sur des
projets différents. Elle a besoin de votre avis de consultant pour choisir la méthode de
développement adéquate pour chaque projet.
Compléter le tableau suivant en choisissant pour chaque projet la méthode adéquate ainsi que
la méthodologie à laquelle elle appartient. Justifier la réponse.

Description du projet Méthode/Méthodologie


Le projet « Smart International
Village of Carthage » est un grand Méthode : …… RUP ……………………….
projet qui nécessite l’intervention de
Méthodologie : Processus unifié/Méthodologie lourde
plusieurs équipes (analystes,
testeurs, architectes, programmeurs, Justification :
rédacteurs de cas d’utilisation…).
• un grand projet
• nécessite l’intervention de plusieurs équipes
Le projet « UnTokTok » est un
simple projet de développement d’un Méthode : …… Scrum …………………….
site web pour la réservation d’un
Méthodologie : ……… Agile ……………….
Toktok en ligne. Le client souhaite
avoir la possibilité d’apporter des Justification : ………………………………………
modifications, en cas de besoin,
pendant le processus de • un projet simple
développement. • possibilité d’apporter des modifications,
en cas de besoin, pendant le processus de
développement
Le projet « Smart Plants Irrigation »
est un projet qui contient beaucoup Méthode : ……2TUP ….………………….
des contraintes techniques puisqu’il
Méthodologie : Processus unifié/Méthodologie
nécessite la communication entre
une application mobile et un lourde
automate programmable pour
Justification : Beaucoup des contraintes
contrôler l’état des plantes et assurer
l’irrigation des plantes en prenant en techniques
considération plusieurs facteurs tels
que le type de la plante, le météo, le
type du terrain ,etc.

Vous aimerez peut-être aussi