mardi 23 octobre 2007

Le sujet du DS

Sans les graphes (sujet donc incomplet)

Question sur Gestion de version (sur 5)
Réponse à faire sur une feuille annexe séparée.
Q1. Donner deux raisons d'utiliser un système de gestion de version
lors du développement d'un projet.
Q2. Donner les grandes étapes de la mise en versionning initiale d'un
projet à l'aide de Subversion.

Question 1 (sur 5)
Dudule a prévu de coder sur quatre positions les valeurs des cinq critères a, b, c et d. Chacun de ces cinq critères prennent leur valeur dans l’ensemble 0..5.
Question :
Si on considère abcd comme un entier, abcd  0000 … n, quelle est la valeur de n.

Question 2 (sur 4)
Soit le programme suivant :
1. pos_sum(a, num_of_entrie, sum)
2. sum = 0
3. int i = 1
4. while (i<=num_of_entries) 5. if a[i] > 0
6. sum = sum + a[i]
7. endif
8. i = i+1
9. end while
10. end pos_sum


Question 2.1 Faire le graphe de contrôle dont les nœuds seront des séquences. Vous les étiquetterez par le ou les numéros de lignes du programme. Vous étiquetterez les arcs par les prédicats.














Question 2.2 Faire le graphe de contrôle selon la notation de Warnier (norme AFNOR).















Question 2.3 Donnez un cas de test qui couvre toutes les décisions

Question 3 (sur 4)
Soit le programme suivant
Procedure REWRITEFICHIER (option:byte;var avorter:boolean);
(* INSTRUCTION REWRITE AVEC MESSAGE D'ERREUR *)
(* option : 0 = ECHECS.CAT, 1 = PARTIE *)
Var erreur:integer;
reponse:char;
Begin
avorter:=false;
repeat
rewrite(fichier);
erreur:=ioresult;
if erreur<>0
then
begin
case option of
0:ERREURDISQUE(5,reponse);
1:ERREURDISQUE(11,reponse);
end;
case reponse of
'a','A':avorter:=true;
end;
end;
until (erreur=0) or (avorter);
End;


Question 1
Faites le graphe de contrôle dont les nœuds seront des séquences. (utiliser une feuille annexe). Vous avez bien lu : les nœuds sont des séquences (ne faites pas un nœud par instruction, à moins que ce soit une séquence maximale).
Question 2
Quelle est la formule du nombre cyclomatique ?



Question 3
Critique de la « mesure de Mc Cabe » (complexité cyclomatique )







Question 4
Quelle est la valeur de la mesure de McCabe pour ce programme ?




Questions 4 (sur 7 )
Question 1
Qu’est-ce qu’un oracle de test ?



Question 2
Qu’appelle-t-on
- test fonctionnel

- test structurel

- test statique

- test dynamique

- test boîte blanche

- test boîte noire


Question 5 (sur 2)
Qu’est-ce que le CMM ?







Question 6 (sur 2 )
Soit le graphe de flot de contrôle suivant :














Quels sont les chemins :
- sensibles aux erreurs

- révélateurs d’erreurs


Question 7 (sur 3)
Soit le graphe de flot de contrôle suivant :












Question 1 Donnez un jeu de test (une seule valeur peut suffire) qui sensibilise un chemin couvrant tous les nœuds.

Question 2 Est-ce que la couverture de tous les nœuds est suffisante pour faire apparaître l’anomalie de ce programme ?

Question 3 Passez au critère « couverture de tous les arcs ». Est-ce que votre DT réponse à la question 1 couvre tous les arcs ?


Question 8 (sur 5)

Quels sont les types d'échelles de mesure ? Pour chacun, donnez le nom du type, un exemple, la transformation admissible entre représentations dans le même type d'échelle.
Réponse 6
TYPE D'ECHELLE (nom) TRANSFORMATION ADMISSIBLE EXEMPLES




















Question 9 (sur 2)
Le comité de pilotage du projet Titanic est composé de 85 personnes. Il est réuni pour classer trois candidats au poste de chef de ce projet titanesque. Nous respecterons ici l'anonymat de ces candidats que nous désignerons pas une lettre.
Voici le résultat du vote :
Pour A > B > C : 23 voix
Pour A > C > B : 5 voix
Pour B > A > C : 12 voix
Pour B > C > A : 17 voix
Pour C > A > B : 10 voix
Pour C > B > A : 18 voix

Quel est le résultat de l'agrégation des préférences de tous les membres du comité ? (vous devez donner comme réponse un ordre, par exemple A>C>B)


Vos commentaires.














Quel problème peut-on rencontrer ?









Question 10 (sur 4)
Question 1 A quoi sert la « méthode des points de fonction » ?





Question 2 Exposez la méthode des points de fonction




















































Question 11 (sur 2)
Exposez en quelques phrases la méthode « agile » X-Programming




















Question 12 (sur 2)
Soit le programme
1 sum = 0
2. read(n),
3. i = 1
4. while (i<=n) 5. read(number) 6. sum = sum + number 7. i=i+1 8.end while 9.print (sum) donnez la dr chaîne pour la variable sum « Tester les dr chaîne », est-ce du test du flot de contrôle ou du test du flot de données ? Question 13 (sur 6 ) Question 1 (sur le langage metoo) Soit : double(x) == {i * 2 | i<- x}; = DOUBLE; Donnez un exemple d'application de cette fonction, i.e. écrivez d'abord l'application et ensuite le résultat de cette application (dit autrement, ce que vous fournissez à me too et ce qu'il vous répond). Je fournis par exemple : Metoo répond : Question 2 Si l'on saisit ce qui suit, que répondra me too ? double(double({3,4})); Question 3 Soit : sq(x) == {i*i | i <- x}; =SQ; Si l'on saisit : sq({3,4,5,6}); que répondra me too ? Question 4 Soit : cp(x, y) == {(p,q) | p <-x, q<- y}; me too répond : CP; cpsq(x) == cp(sq(x),sq(x)); me too répond : = CPSQ; Si on saisit : cpsq({1,2,3}); Que répondra me too rappel : (2, 8) est le couple (2, 8) en me too comme habituellement dans les livres de maths. Question 5 Quelle(s) différence(s) entre un invariant de machine B et un invariant en me too ? Question 14 (sur 2) Qu'est-ce qu'un homme-mois ? Critiques de cette unité de mesure Question 15 (sur 6) Soit la spécification algébrique suivante : Spec BOOL0 Sorte Bool Opérations vrai, faux : --> Bool
not_ : Bool --> Bool
_and_ : Bool Bool --> Bool
_ or_ : Bool Bool --> Bool
Axiomes
not vrai = faux
not not a = a
a and vrai = a
a and faux = faux
(a and b) and c = a and (b and c)
a and b = b and a
a or b = not((not a) and (not b))
Une spécification algébrique SPEC ne donne que des règles de syntaxe. Pour lui donner une sémantique dénotationnelle, on lui associe une Algèbre A.
On va prendre trois algèbres : B, B0 et B1 interprétant BOOL0 (en fait on ne vous en fournira que 2, l’autre est dans le polycopié)
Avec les ensembles supports de Bool
Bbool = {v, f}
B0Bool = {f}
B1Bool = {v, f, bottom}

Dans l’algèbre B, on prend Bbool = {v, f}
Et on interprète les opérateurs comme des fonctions :

fauxB, vraiB : --> Bbool
not B : Bbool --> Bbool
andB, orB : Bbool * Bbool --> BBool
Avec les définitions :
fauxB = f, vraiB = v
notB(f) = v, notB(v) = f
andB(f,f) = andB(f,v) = andB(v, f) = f, andB(v,v) = v
orB(f,f) = f, orB(f,v) = orB(v,f) = orB(v,v) = v

Dans l’Algèbre B0, on prend B0Bool = {f}
Et on interprète les opérateurs comme des fonctions :
fauxB0, vraiB0 : --> B0Bool
notB0 : B0Bool --> B0Bool
andB0, orB0 : B0Bool * B0Bool --> B0Bool
Avec les définitions :

fauxB0 = vraiB0 = f
notB0(f) = f, andB0(f,f) = orB0(f,f) = f

Question 1
Evaluez le terme
t = not faux and vrai
dans l’algèbre B
Donnez le détail de cette évaluation.



Question 2
Evaluez le terme t dans l’algèbre B0



Question 3
Quand dit-on qu’une algèbre est un modèle d’une spécification ?




Question 4
Qu’appelle-t-on confusion ?
Donnez un exemple pris dans les interprétations ci-dessus.






Question 5
Qu’appelle-t-on rossignol (junk) ? Donnez un exemple pris dans les interprétations ci-dessus.



Question 16 finale (sur 2)
Qu’est-ce que MVC (Modèle Vue Contrôleur) ? Expliquez en quelques lignes

Aucun commentaire: