Examen Génie Logiciel I

École Nationale des Sciences de l'Informatique (ENSI)
1/3
100%
Rendu du PDF...
Page 1 sur 3Lecteur de document UniversityLib

Examen Génie Logiciel I

École Nationale des Sciences de l'Informatique (ENSI) · Génie Logiciel, Développement logiciel, Tests de logiciel · exam

Voir tous les documents en génie logiciel

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