Vous êtes sur la page 1sur 8

Fiche de Travaux dirigés de Génie logiciel 2

Question de cours et rappels


1. Qu’est-ce que le génie logiciel ?
2. Expliquer les caractéristiques du produit logiciel.
3. Comme le logiciel devient plus répandu, les risques pour le public (en raison des
programmes défectueux) deviennent une préoccupation de plus en plus importante. Élaborer
un scénario apocalyptique réaliste où l’échec d’un programme informatique peut faire
beaucoup de mal (économique ou humain).
4. Discuter le concept de SDLC en bref.
5. Donner les phases de base dans le cycle de vie de développement de logiciels.
6. Quelles sont les différentes étapes du cycle de vie du développement du logiciel ? Quels sont
les produits finaux à chaque étape ?
7. Quelles sont les activités importantes qui sont effectuées au cours de la phase d’étude de
faisabilité ?
8. Expliquer les différentes catégories de maintenance dans le cycle de vie de développement
de logiciels.
9. Dessinez le schéma du modèle de cascade du développement de logiciels. Discutez
également ses phases en bref.
10. Qu’est-ce qu’un prototype ? Dessinez le schéma du modèle de prototypage de
développement de logiciels. Discutez également ses phases en bref.
11. Comment les modèles linéaires et processus itératif diffèrent ?
12. Comparer le modèle en spirale avec le modèle de prototypage en donnant leurs avantages et
leurs inconvénients.
13. Y a-t-il jamais un cas où les phases génériques du processus de génie logiciel ne sont pas
applicables ? Si oui, décrivez.
14. Qu’est-ce que les exigences à long terme ?
15. Expliquer le processus de détermination des exigences pour un système basé sur un logiciel.
16. Discutez de la signification et l’utilisation de l’ingénierie des exigences.
17. Quels sont les problèmes dans la formulation des exigences ?
18. Quelles sont les étapes cruciales de l’ingénierie des exigences ? Discutez avec l’aide d’un
diagramme.
19. Expliquer l’importance des besoins. Combien de types d’exigences sont possibles et
pourquoi ?
20. Qu’est-ce que la collecte des exigences ? Discutez des deux techniques en détail.
21. Pourquoi l’estimation des coûts joue un rôle important dans le processus de développement
de logiciels ?
22. Décrire clairement les processus pour l’estimation du projet.
23. Expliquez le terme « Estimation de l’Effort » en vue de l’estimation des coûts du projet
logiciel
24. Quelles sont les différentes raisons de la mauvaise estimation ?
25. Quelle est l’abstraction ? Quelles sont les mesures de vérification pour la conception du
système ?
26. Définir :
27. Définir la conception architecturale.
28. Quels sont les objectifs de la conception architecturale ?
29. Expliquer les différentes techniques de conception qui relèvent de la catégorie de la
conception de bas niveau.
30. Définir :
31. Distinguer entre « Structure Charts » et “Flowcharts” en donnant des exemples
32. Qu’est-ce qu’un organigramme ? Expliquer certains de ses symboles. Aussi donner un
exemple approprié.
33. Donner des deux différences importantes entre les approches axées sur la fonction et la
conception orientée objet
34. Discuter des principaux avantages de l’approche orientée objet de conception sur l’approche
de conception orientée fonction.
35. Expliquer la spécification de conception à long terme.
36. Discuter de la vérification à long terme en référence à la conception du système.
37. Qu’est-ce que l’abstraction ? Quelles sont les mesures de vérification pour la conception du
système ?
38. Avez-vous conçu un logiciel lorsque vous “écrivez” un programme ?
39. Ce qui rend la conception de logiciels différents de codage ?
40. Que sont les tests ? Expliquer les différents types de tests effectués au cours du
développement de logiciels.
41. Définir les différents principes de tests.
42. Quels sont les oracles de test ?
43. Quels sont les différents niveaux de tests ? Explique.
44. Logiciel développé Supposons a passé avec succès tous les trois niveaux de tests, à savoir,
les tests unitaires, tests d’intégration et les tests du système. Peut-on prétendre que le logiciel
est exempt de défauts ? Justifie ta réponse.
45. Qu’est-ce que les tests unitaires ?
46. Qu’est-ce que les tests d’intégration ? Quels types de défauts sont découverts lors de tests
d’intégration ?
47. Qu’est-ce que les tests de régression ? Quand les tests de régression fait ?
48. Comment les tests de régression effectuée ?
49. Qu’est-ce que les tests du système ? Quels sont les différents types de tests de système qui
sont habituellement effectuées sur de grands produits logiciels ?
50. Définir les tests de sandwich.
51. Pourquoi les tests de régression est important ? Quand est-il utilisé ?
52. Qu’est-ce qu’un cas de test? Quelle est la conception de cas de test?
Cas de test: Un cas de test est un ensemble d’instructions destiné à découvrir un type
particulier d’erreur ou d’un défaut dans le système de logiciel en induisant un échec
53. Quelle est la différence entre
a) test boîte noire et tests boîte blanche
b) Top-down et les approches de test bottom-up
c)les essais alpha et bêta
54. Quels sont les plans de test et des cas de test ? Illustrer chacun avec un exemple.
55. Pourquoi les tests de logiciels a besoin une planification ? Explique.
56. Que sont les Smoke tests ?
57. Différencier les tests d’intégration et les tests du système.
58. Définir des tests structurels. Donner les diverses raisons pour lesquelles le test structurel est
effectué.
59. Expliquer les deux catégories de tests boîte noire. Indiquez également les avantages des tests
de boîte noire.
60. Qu’est-ce que la maintenance du logiciel ? Décrire les différentes catégories de maintenance.
Quelle catégorie consomme le plus d’effort et pourquoi ?
61. Certaines personnes pensent que « la maintenance est gérable ». Quelle est votre opinion sur
cette question ?
62. Matériel externe et changements logiciels
63. Les modifications apportées à des plates-formes matérielles ou les mises à niveau des
systèmes d’exploitation peuvent aussi affecter les besoins de maintenance.
64. Expliquer les facteurs qui influent sur le coût de maintenance.
65. Expliquer les différents types de maintenance. Pourquoi la maintenance est-elle nécessaire
?
66. Quels sont les différents types de maintenance qu’un logiciel pourrait avoir besoin ?
Pourquoi un tel entretien est nécessaire ?
67. Lister trois types courants de risques qu’un projet de logiciel typique pourrait courir.
68. Quelle est l’activité de gestion des risques ? Est-il rentable de faire la gestion des risques ?
Quel est l’effet de cette activité sur le coût global du projet ?
69. Quelles sont les deux principales sources de risques ? Expliquer les trois catégories de
risques qu’un projet de logiciel pourrait subir.
70. Fournir cinq exemples, issus d’autres domaines, qui illustrent bien les problèmes associés à
une stratégie de réaction au risque.
71. Décrire la différence entre les « risques connus » et « risques prévisibles ».

Etudes de cas
Etude de cas 1 Gestion d’une bibliothèque
On veut automatiser le fonctionnement d'une bibliothèque. La bibliothèque est organisée de
la façon suivante :
Un service s'occupe de l'achat des exemplaires d'ouvrage soit pour renouvellement
d'exemplaires usagés, soit pour acquisition de nouveaux exemplaires ; dans ce dernier cas,
ce service enregistre les références communes à plusieurs exemplaires, soit l'auteur, le titre,
la valeur de remplacement, le résumé ainsi que quelques mots clés.
Les exemplaires sont repérés par un code barre (n° séquentiel unique collé au dos de
l'exemplaire). Tout exemplaire correspond à un ouvrage de référence. On veut mémoriser la
date d'acquisition de l'exemplaire et sa durée de vie estimée.
Un service s'occupe de l'inscription des emprunteurs. Les emprunteurs sont identifiés par
une carte comprenant un code barre (n° séquentiel unique). Pour chaque emprunteur on
mémorise ses nom, prénom, adresse, email.
Un service s'occupe de l'enregistrement des prêts d'exemplaires. Les prêts sont mémorisés
afin de savoir à tout moment, quels sont les exemplaires sortis. Pour chaque prêt ou emprunt
on mémorise donc le code exemplaire, le code emprunteur et la date de retour au plus tard
de cet exemplaire. Cette date est calculée automatiquement par date d'emprunt + 3 semaines.
Un emprunteur peut emprunter au maximum 3 exemplaires.
Un service s'occupe du retour des exemplaires et de leur placement en rayons.
Lorsque l'exemplaire est retourné en bon état, on supprime l'enregistrement de cet emprunt.
Lorsque la date de retour échoit, on relance l'emprunteur par email de préférence, par
courrier si l'adresse email est inconnue.
Lorsque l'exemplaire retourné est réputé perdu, on envoie un courrier à l'emprunteur
exigeant le paiement de la valeur de remplacement.
L'emprunteur entre librement dans la bibliothèque, circule dans les rayons, consulte le
catalogue des exemplaires s'il le souhaite. Il prend les exemplaires d'ouvrage disponibles
puis passe au service d'enregistrement des prêts.
Le service achats est en relation commerciale avec l'éditeur.
Travail à faire
1. Concevoir le diagramme de cas d’utilisation
2. Concevoir le diagramme de classe et proposer en Java le code minimal pour chaque
classe
3. Concevoir le diagramme de séquence pour l’emprunt d’un livre
4. Concevoir le diagramme état-transition de ce projet

Etude de cas 2
A partir du cas 1 effectuez le travail suivant :

1. Concevoir en utilisant le langage Z l’état abstrait du système bibliothèque.


2. Concevoir l’état initial du système.
3. Concevoir les états « Enregistrer_nouveau_Livre » ; « Emprunter_Livre » et
« Retourner_Livre »
4. Concevoir l’état du système lorsqu’on recrute un nouvel employé, et lorsqu’on
enregistre un nouveau client

Etude de cas 3
Pour les besoins de la gestion d'un aéroport on souhaite mémoriser dans une base de données les
informations nécessaires à la description des faits suivants :
- chaque avion géré est identifié par un numéro d'immatriculation. Il est la propriété soit d'une
société, soit d'un particulier : dans les deux cas on doit connaître le nom, l'adresse et le numéro de
téléphone du propriétaire, ainsi que la date d'achat de l'avion ;

- chaque avion est d'un certain type, celui-ci étant caractérisé par son nom, le nom du constructeur,
la puissance du moteur, le nombre de places ;

- la maintenance des avions est assurée par les mécaniciens de l'aéroport. Par sécurité, les
interventions sont toujours effectuées par deux mécaniciens (l'un répare, l'autre vérifie). Un même
mécanicien peut, selon les interventions, effectuer la réparation ou la vérification. Pour toute
intervention effectuée, on conserve l'objet de l'intervention, la date et la durée ;

- pour chaque mécanicien on connaît son nom, son adresse, son numéro de téléphone et les types
d'avion sur lesquels il est habilité à intervenir ;

- un certain nombre de pilotes sont enregistrés auprès de l'aéroport. Pour chaque pilote on connaît
son nom, son adresse, son numéro de téléphone, son numéro de brevet de pilote et les types d'avion
qu'il est habilité à piloter avec le nombre total d'heures de vol qu'il a effectué sur chacun de ces
types.

Des questions types auxquelles l'application doit pouvoir répondre sont les suivantes :

- liste des avions de la société "Voltige" ;

- liste des avions qui sont la propriété de particuliers ;

- durée totale des interventions faites par le mécanicien Rochat au mois de janvier ;

- liste des types d'avion de plus de 4 places ;

- liste des pilotes habilités pour tel type d'avion ;

- liste des interventions (objet, date) faites sur l'avion numéro 3242XZY78K3.

Travail à faire
1. Concevoir le diagramme de cas d’utilisation
2. Concevoir le diagramme de classe
3. Concevoir le diagramme de séquence pour l’emprunt d’un livre
Etude de cas 4
A partir du cas 3 effectuez le travail suivant :
1. Créer une liste d’activités
2. Construire le diagramme de contexte (identifier les processus et les entités externes)
3. Construire le diagramme de niveau 0 (identifier les processus secondaires)

Etude de cas 5
Chaque année, un Institut Supérieur de formation doit organiser les stages de ses étudiants.

Chaque étudiant doit effectuer un stage d’une durée fixée pour chaque niveau dans une entreprise
avec laquelle un accord est signé par l'école. Pour cela, l’Institut dispose d'une liste d'entreprises
ayant déjà proposé des stages, et leur écrit pour les inciter à renouveler leurs propositions. Au vu de
celles-ci, les étudiants prennent contact avec les entreprises qui les intéressent. Quand les
conventions de stage sont signées, chaque stagiaire se voit désigner un enseignant pour l'encadrer
en stage, appelé parrain de l'étudiant. Le parrain doit veiller au bon déroulement du stage et aller
rendre visite à l'étudiant dans son entreprise d'accueil. Chaque enseignant du département doit ainsi,
quelle que soit sa spécialité, encadrer au moins quatre (4) étudiants. Afin de mieux répartir les
enseignants, le responsable de l’école doit connaître les entreprises que les enseignants ont déjà
visitées lors des stages des promotions précédentes.

L’école dispose des renseignements suivants :

- pour chaque entreprise, l’école enregistre son nom, son adresse, son type (publique, de service
etc.), le nom de la personne de l'entreprise qui assure le contact avec l’Institut.

- pour chaque étudiant, l’école enregistre son numéro, son nom, sa date de naissance, son niveau,
son groupe et, quand sa convention de stage est signée, le nom de son entreprise d'accueil et la date
de signature de la convention, puis le nom de son parrain.

- Pour chaque enseignant, son nom, son prénom, sa fonction, son numéro de téléphone, les
entreprises qu'il a déjà visitées, avec pour chacune l'année de sa dernière visite.

Une entreprise peut accueillir plusieurs étudiants. Dans ce cas, tous les stagiaires de l'entreprise
n'ont pas nécessairement le même parrain.

Travail à faire :

1. Concevoir le diagramme de cas d’utilisation


2. Concevoir le diagramme de classe et proposer en Java le code minimal pour chaque
classe

3. Concevoir le diagramme de séquence pour l’emprunt d’un livre

4. Concevoir le diagramme état-transition de ce projet

Etude de cas 6
Les Examens nationaux sont gérés par l'Inspection Académique et concernent les élèves de cette
académie. Les élèves doivent obligatoirement remplir un dossier d'inscription numéroté avant le 31
décembre de l'année scolaire en cours. Ce dossier comprend le nom, la date de naissance,
l’établissement de l’élève et le nom de l'examen. Un établissement est défini par son code, son nom,
son adresse et la ville.

Chaque examen, comprend une série d'épreuves qui lui est propre, chacune dotée d'un coefficient.
Chaque épreuve d'examen se déroule donc à la même date dans toute l’académie.

La gestion de ces examens comprend aussi la convocation d'une dizaine d'enseignants de l'académie
à la commission de rédaction du sujet de chaque épreuve. Cette commission se réunit à l'inspection
académique au plus tard 2 mois avant la date de l'épreuve. Les corrections ont lieu le lendemain de
l'épreuve. Un enseignant est connu par son matricule, son nom, son téléphone, adresse, ville et son
établissement. La centralisation des notes de l'élève est faite sur un bordereau transmis au jury
chargé d'examiner l'admission définitive du candidat.

Travail à faire

1. Concevoir le diagramme de cas d’utilisation

2. Concevoir le diagramme de classe et proposer en Java le code minimal pour chaque


classe

3. Créer une liste d’activités

4. Construire le diagramme de contexte (identifier les processus et les entités externes)

5. Construire le diagramme de niveau 0 (identifier les processus secondaires)

Vous aimerez peut-être aussi