UNIVERSITE DE LA MANOUBA
-----¤¤¤¤-----
ECOLE NATIONALE DES
SCIENCES DE L'INFORMATIQUE
ANNEE UNIVERSITAIRE
2014-2015
Examen – Session Principale
Matière : Génie Logiciel I
Niveau : II2
Date : 18 Décembre 2014
Durée : 2H
Documents : non autorisés
Enseignantes : R. DRIRA, N. BEN YAHIA, R. AMRI, S. ZBIDI
La précision, la consistance, la clarté seront appréciées
Questions de réflexion (3,5points)
1. Expliquer les principales caractéristiques du cycle de développement 2TUP. Par un
schéma, faîtes une illustration de l’enchaînement des différentes étapes de ce cycle.
(1pt)
2. Définir le principe de conception « Anticipation des changements ». Proposez trois
recommandations destinées aux concepteurs pour l’application de ce principe en
pratique. (1pt)
3. Citer quatre difficultés liées au métier de l’ingénieur maintenance. Les membres de
l’équipe de développement (analyste, concepteur, testeur) peuvent-ils aider à
surmonter ces difficultés à des étapes antérieures à l’étape de la maintenance? Si oui,
Publicité
comment? (1,5pts)
Exercice1 (8 points)
Partie1
Vous êtes un chef de projet dans une boîte de développement. Vous êtes en charge de
gérer un projet dont le client est un éditeur de logiciels.
Le projet consiste à développer un système de contrôle de la consommation énergétique.
Il s’agit d’une première version de démonstration du produit qui sera utilisée pour
acquérir des clients sur le marché. Par la suite, des extensions sur mesure seront réalisées
en fonction des demandes des clients.
1. D’après vous, quels sont les cycles de vie qui peuvent être candidats pour mener le
développement de la première version du produit? Justifiez. (1pt)
2. Pour les versions sur mesure, proposer deux cycles de vie que le chef de projet a
intérêt d’adopter pour :
•
profiter de la version de démonstration et
• réutiliser le développement de parties communes entre les demandes des
clients. (1pt)
1/3
Partie2
Pour un exemple d’utilisation, un propriétaire d’une série d’hôtels propose d’installer le
système pour contrôler et optimiser la consommation de chaque hôtel. Les informations
de consommation sont utilisées en local pour des raisons de contrôle et de mise en place
de stratégies d’optimisation au sein d’un hôtel. Ces informations sont aussi collectées au
niveau d’un serveur central pour des raisons d’analyse et de suivi de la consommation
Publicité
sur l’ensemble des hôtels de la chaîne.
Le système est connecté à un ensemble de compteurs distribués au sein de chaque hôtel.
Certains compteurs ne sont pas reliés au système. Ainsi, les données de consommation
sont insérées manuellement et périodiquement par un agent responsable.
En plus des données d’analyse, le système peut contrôler le fonctionnement de certains
équipements qui lui sont reliés en les éteignant suite à une période de non utilisation
configurée lors de l’installation de système.
3. Donner le diagramme de contexte de cette version du système. (2pts)
4. Détailler le DFD 1. (1pt)
5. Proposer, tout en justifiant, deux besoins non fonctionnels pour cette version du
système. Préciser le type de chacun. (2pts)
6. Proposer une architecture de l’application tout en précisant clairement le(s) style(s)
d’architecture utilisé(s). Justifier vos choix. (1pt)
Exercice 2 (4,5 points)
Soit le programme C suivant :
Partie 1 : Tests Boîte Noire
1. Déterminer les jeux de test à produire pour la fonction maxsum en utilisant la
technique de test par classe d’équivalence. (0,5pt)
2. Ajouter des jeux de test aux limites. (0,5pt)
Partie2 : Tests Boîte Blanche
3. Donner le graphe de contrôle correspondant à la fonction maxsum en numérotant les
nœuds. (1pt)
2/3
4. Par quelle suite de nœuds faut-il passer pour satisfaire le critère de couverture de
Publicité
toutes les instructions du graphe (toute instruction doit être exécutée au moins une
fois). Trouver des données de test permettant de satisfaire ce critère. (0,75pt)
5. Ces données de test assurent-elles la couverture de tous les arcs (tout arc est traversé
au moins une fois)? Sinon ajouter de nouvelles données de test pour couvrir tous les
arcs.(0,5pt)
6. On appelle critère de couverture des i-chemins, le critère qui garantit que l’on passe
sur tous les chemins possibles en répétant de 0 à i fois chaque boucle. Par quelle suite
de nœuds faut-il passer pour satisfaire le critère de couverture des 2-chemins?
Donner un jeu d’essai minimum qui satisfait ce critère. (0,75pt)
7. Comparer et interpréter les données de tests obtenus dans la partie 1 et la partie2.
(0,5pt)
Exercice 3 (4 points)
Partie1 : Cohésion
Soit la classe java suivante :
Public class Carrée
{
Public double lectureReel (String msg);
Public double lectureReelValidee (String msg, double borneInf, double
borneSup);// permet de lire un réel compris entre borneInf et borneSup
Public double lectureReelPositif (String msg);
Public double lireCôté ();
Public double SurfaceCarrée (double côté);
Public double afficheSurface (double surface);
}
Publicité
1. Préciser le type de la cohésion de cette classe. (0,5 pt)
2. Quels sont les problèmes liés à la cohésion de cette classe. Proposer une solution
pour les corriger. (1,5 pts)
Partie2 : Couplage
Soit les deux classes Voiture et Roue :
class Voiture {
Roue roue;
public void montage(){
roue = new Roue();
roue.diametre = 12.5;
roue.poids = 19;
}
}
class Roue {
public double poids;
public double diametre;
}
3. Préciser le type du couplage entre les deux classes. (0,5 pt)
4. Quels sont les problèmes liés à ce couplage. Proposer une solution pour corriger.
(1,5 pts)
3/3