mardi 23 octobre 2007

Corrigé Gestion de version

Q1. Donner deux raisons d'utiliser un système de gestion de version
lors du développement d'un projet.

R1. Plusieurs réponses possibles parmi
- gérer le développement entre plusieurs personnes
- système de sauvegarde
- un même référentiel pour tous les développeurs
- mise à disposition d'outils pour gérer la sauvegarde/restauration,
les conflits, l'historiques...
- gérer plusieurs distributions ou branches de développement
- conserver un historique et revenir en arrière

Q2. Donner les grandes étapes de la mise en versionning initiale d'un
projet à l'aide de subversion.

R2. J'ai volontairement donné une description étendue des étapes (je
ne m'attends pas à autant de la part des étudiants)
0. Création d'un répertoire référentiel sur un serveur subversion
(svn) (réalisée par l'administrateur du serveur svn)
1. Création sur une machine locale des sources du projet à versionner
selon une structure en 3 répertoires trunk, tags et branches (réalisée
par un développeur)
2. L'Import des sources au sein du référentiel (réalisée par le développeur)
3. La suppression des sources en local (réalisée par le développeur)
4. La récupération d'une première copie locale (checkout) (réalisée
par le développeur)
Par la suite, une fois une première récupération réalisée, le
développeur met à jour le référentiel avec des commandes "commit" et
récupère les mises à jour effectuées par d'autres à l'aide de la
commande "update".

corrigé du DS

Presque toutes les questions ont fait l'objet de solutions dans le poly des transparents du cours ou lors des TD.

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

Notation de dossiers de TD identiques

la note sera égale à : note "normale" du dossier de TD/ nombre de dossiers identiques à ce dossier

vendredi 19 octobre 2007

Réécriture

Dans le TD sur Spéc algébriques nous avons deux petits exos de réécriture.

Une très bonne présentation de la réécriture sur wikipedia

mercredi 17 octobre 2007

Le dernier cours

a eu lieu ce matin. Pour ceux, nombreux, qui étaient absents, voici ce qui a été traité :
  • design patterns
  • modèle MVC
  • spécifications algébriques
Vous devez étudier la partie Fiabilité. Je vous ai fourni ici le corrigé du TD sur Fiabilité.

Le prochain TD, le dernier, portera sur Spécifications algébriques.

metoo et lambda expressions

Revoir le cours de Spec1 sur B

Application à metoo

Ex. 1
Vous avez entré
union-a-b(a1, b1);
Tapez
union-a-b;
metoo répond
lambda(a1, b1). '(metoo set union a1 b1)'.

Ex2
Tapez
union_a_b();
metoo attendait un ensemble (c'est le type des opérandes de l'opérateur union), mais il a trouvé False. En effet, les arguments non trouvés étant remplacés par False, metoo essaie quand même d'évaluer la lambda expression. Dans ce cas, l'échec est patent.

Ex 3
essai(ens, dom, ran) == ens overwr {dom -> ran};
construit un ensemble de maplets (de couples)

Tapez
essai({}, d1, r1);
metoo renvoie une image du maplet créé
{d1 -> r1};
Tapez
essai({d1 -> r1}, d2, r2);
metoo renvoie
{d1 -> r1, d2 -> r2};
Tapez maintenant
essai({d1 -> r1});
Il manquait deux arguments, mais metoo a quand même évalué la fonction et on observe :
'd1-> r1, false -> false};
Tapez maintenant
union_a_b(1, 2);
metoo repond encore que les types des opérandes sont erronés, car on trouve des integers au lieu d'ensembles

Voyons les fonctions prédéfinies de metoo telles que :

inv_

Tapons
inv_cte;
metoo répond
TRUE;
On constate qu'alors que nous avons oublié de définir cet invariant, metoo le considère comme vrai. Normal. Un invariant est une contrainte. TRUE c'est le moins contraignant !

mk_

Tapons
mk_cpte;

metoo répond

lambda(arg-2, arg-1). '(metoo-construct-rec (quote cpte) (quote (comp1 comp2)) (list arg-2 arg-1) inv_cpte)';

Ainsi vous voyez que :
mk_cpte est une lambda expression :
  • qui a deux arguments, les champs définis
  • qui évalue inv_cpte
  • et qui rend une liste enregistrant les constructions faites, pour les stocker en mémoire.
Tapons
mk_cpte();
metoo répond
mk_cpte(false, false).

mardi 16 octobre 2007

CMMI (voir deuxième cours de TGL)

Madame, Monsieur,

Vous êtes une société de service ou un éditeur de logiciel des Pays de la Loire ?… Connaissez-vous le CMMI ?

Le CMMI est un modèle Qualité constitué des bonnes pratiques du développement logiciel, qui visent ainsi à améliorer la visibilité et l’efficacité de vos projets.

Le Syntec Informatique, La DRIRE et la région Pays de la Loire ont élaboré le « Programme CMMI des Pays de la Loire » à destination des sociétés de service des Pays de la Loire pour les aider à mettre en place le modèle CMMI. Cette aide se traduit par des subventions pour l’accompagnement et par le financement à 100% de la formation officielle de 3 jours « Introduction to CMMI ».

Le groupe FORTEAM a été choisi pour être l’assistant à maîtrise d’ouvrage de ce programme ainsi que le maître d’œuvre.

Si vous souhaitez de plus amples renseignements, contactez-nous.

Plus de renseignements :
L’extranet du programme CMMI des Pays de la Loire : www.cmmipdl.com
Le programme CMMI des Pays de la Loire : conseil.e-testing.fr/cmmi-pdl.asp

Dossier de TD et DS

Conformément au réglement écrit dans le dossier des sujets de TD, votre dossier doit être fourni à l'issue du DS (i.e. AVANT de quitter l'amphi).

Le DS est un ensemble de questions qui portent sur tout le programme. J'ai annoncé plusieurs fois en cours "ceci sera demandé lors du DS" (et ce le sera).

Un barème accompagnera le sujet. Il sera respecté.

Gestion de versions des logiciels

Le poly des transparents du cours de Nicolas Hernandez sont à récupérer lors du prochain TD pour les deux groupes qui ne les ont pas.

Corrigé de TD sur fiabilité, etc.

Corrigé du dernier TD du poly.
Il est fortement conseillé de l'étudier !

====================

Université de Nantes

Département informatique

Module TGL

Sujet rédigé le 4-09-06 par H. Habrias

Version n° 1

Exercices sur analyse des risques, fiabilité…


Exercice n° 1


Q1 - Dans un projet, une entreprise a estimé qu’elle avait 0,5 % de chance de devoir payer 100 000 € de pénalité pour un défaut oublié. Calculez le montant du risque auquel elle est exposée.


0,005 * 100 000 = 500 €


Q2 – Le chef de projet propose un contrôle supplémentaire qui coûterait 100 € et qui supprimerait le défaut une fois sur deux. Calculez le nouveau montant du risque auquel l’entreprise est exposée. Cette solution est-elle préférable à celle de la Q1 ?


0,0025 * 100 100 + 0,9975 * 100 = 250,25 + 99,75 = 350 €

2eme approche préférable


Q3 – Le sous-chef de projet Dudule estime que l’efficacité du contrôle n’est que de 10 %. Même question que la Q2.


Efficacité du contrôle est de 10% soit risque que dans 90% des cas on ait à payer. Comme sans contrôle c’était 0,5 %, ça donne 0,005 * 9/10 soit 0,0045.

0,0045 * 100 100 + 0,9955 * 100 = 450, 45 + 99,55 = 550 €

Solution moins intéressante que l’absence de contrôle.


Exercice n° 2


L’entreprise Zébulon++ tient des statistiques sur les erreurs dans les logiciels qu’elle développe. Sur des données historiques de nombreuses années, on trouve un taux d’erreurs de 0,0036 par milliers de lignes de code. Dudule a fait une étude d’après laquelle un contrôle technique à 1 000 € pour 100 000 lignes de code permettrait de réduire le nombre d’erreurs de 50 %. Les données de l’entreprise actualisées indiquent que chaque erreur coûte 100 000 € en moyenne à Zébulon++.

Le projet que l’on considère est de 50 000 lignes de code. Calculez les risques, avec et sans contrôle technique et indiquez si ce contrôle est rentable.


Exercice n° 3


La fiabilité est la probabilité qu’a un logiciel de ne pas connaître de défaillance pendant une tranche de temps donnée. Elle est notée F(n), où n est le nombre d’unités temporelles (grain temporel). Si l’unité est le jour, F(1) désigne la probabilité que le logiciel n’ait pas de défaillance pendant un jour. La probabilité que le logiciel ait une défaillance pendant une durée n est :

D(n) = 1 – F(n)


Taux d’erreur

Si une erreur se produit tous les deux jours, le taux d’erreur instantané est de 0,5 erreur par jour. Le taux d’erreur est égal à l’inverse de la durée entre deux erreurs successives et peut servir à estimer la probabilité de défaillance d’un logiciel.


Rappels de proba :


Si F(1) est connue alors la probabilité de pouvoir exécuter n tests sans défaillance est égale à F(n) = F(1)n.

N.B. : D(n) n’est pas égal à D(1)n, mais à 1 – (1 –D(1))n


Dudule connaît différents modèles de fiabilité du logiciel dont celui de Jelinski-Moranda. La formule est la suivante :

MTTFi = alpha/ (N-i + 1).

MTTFi est le MTTF jusqu’à la ième faute.

N est le nombre de fautes initialement contenues dans le programme.

1/ est le taux selon lequel une faute provoque une erreur. Un taux de 4 indique 4 erreurs par an par faute.


Q1 – Considérez N = 100 défauts et 1/=5,

Calculez le MTTF de la première faute, celui de la 81ème faute.

Q2 – Comment caractérisez-vous ce modèle ?

Q3 – Quelles sont les hypothèses faites par ce modèle ?


Q1 MTTF(1) = 0,002 MTTF(81) = 0,01

Le modèle suppose que le dégogage commence lorsque le programme contient N fautes et que chaque faute contribue pour le même poids dans l’occurrence des pannes. Les fautes sont supposées être supprimées lorsqu’on observe une panne, et chaque fois le taux d’occurrence des pannes est réduit de 1/.


Dudule lui estime que, faute de connaître une tendance précise sur les découvertes d’erreur relativement au temps d’exécution, le comportement présent du logiciel constitue la meilleure estimation pour son comportement dans un futur proche. Il est comme ça Dudule. Il estime de la même manière les hommes et les femmes. Ainsi, si un jour il se produit 20 erreurs, il considère que la meilleure estimation possible pour le lendemain est de 20 erreurs. Peut-être chez lui y-a-t-il des scènes de ménage tous les jours : 4 verres cassés le lundi, 4 verres cassés le mardi !


En suivant le « modèle à Dudule »,


Q1 – S’il se produit une erreur après deux jours, quelle est la probabilité pour que le système ne connaissance pas de défaillance (d’ « erreur » selon le vocabulaire utilisé chez les informaticiens anglo-saxons) pendant 1, 2, 3 et 4 jours ?


Si une erreur se produit tous les deux jours, le taux d’erreur instantané peut être estimé à 0 ,5. Cela correspond à la propriété de défaillance pour une journée.

La fiabilité pour 1 journée est de 1- 0,5, deux journées 0, 25, 3 journées 0,125, 4 journées 0,00625


Q2 – Si un logiciel a connu 5 défaillances au cours de 100 tests réalisés sur 10 jours, à combien peut-on estimer la fiabilité du logiciel pour le jour suivant et pour la semaine suivante ?


D(1) = 5/100 = 0,05

soit F(1) = 0,95

Pour le jour suivant, en supposant 10 tests par jour (ce qui est égal à 100/10, moyenne des 10 jours précédents), on a le taux de fiabilité F(10) = F(1)10 = 0,9510 = 0,598736


Pour la semaine suivante, en supposant le même taux de nombre de tests (soit 70 tests), on a F(70) = F(1)70 = 0,9570 = 0,027


Exercice n° 4



Utilisez le modèle de Mills pour l’estimation du nombre de défauts dans un programme.

30 défauts sont injectés dans un composant. A un certain moment du test, on a détecté 12 défauts indigènes et 18 défauts injectés.


Q1 - Quelle est l’estimation du nombre de défauts indigènes ?

Quel est le nombre de défauts résiduels ?


nombre de défauts résiduels = (nb de défauts indigènes détectés* nb de défauts injectés que l’on a détectés) /

nb de défauts que l’on a injectés


soit 12 * 30 / 18 = 20


nombre de défauts résiduels = 20 – 12 = 8


Toujours le virtuel

"... la banque en convint, et l'opération fut annulée. Malencontreusement, trois mois plus tard, notre lecteur constatait qu'on avait débité son compte de 1 200 euros correspondant aux agios au taux de 18,97% pour une facilité de caisse qu'il n'avait jamais demandée. L'ordinateur en recréditant son ancien PEL des 20 800 euros restés sur son compte courant, avait créé un découvert fictif, à cause des dates de valeur."

Le Monde de hier

voir exo de prototypage

lundi 15 octobre 2007

vendredi 12 octobre 2007

Groupe 2

Ce matin (encore un vendredi matin), :
1 présent à l'heure de début de TD
Finalement on a fini à 13 présents sur ... 25 inscrits !

Bof, l'informaticien de nouvelle génération n'a pas besoin de ce que nous enseignons, n'est-ce pas ?

Curieux, en Inde, par exemple, ils enseignent la même chose que nous.


Il a été dit hier soir par des anciens dut de Nantes (40ième anniversaire de l'IUT de Nantes) que c'est à l'IUT qu'ils ont appris les bases. Aujourd'hui, sans doute que les bases, les absents les avaient avant d'entrer à l'IUT.

Doc sur mulisp

La seule trouvée sur la Toile.

http://www.retroarchive.org/docs/mulisp_mustar.pdf


merci à J. Termeau qui m'a retrouvé ce fichier.

mulisp est disponible à l'IUT. metoo est écrit en mulisp.


sous metoo, on passe à mulisp par l'appel de la fonction

lisp();

Pour retourner au Shell metoo, on appelle la fonction suivante

(metoo)

Des expressions Lisp peuvent être incluses dans des expressions metoo ou évaluées par par en tant que telles par le Shell metoo comme dans :

'(car (list 1 2))'

Sur LISP nous vous conseillons wikipedia en anglais (qui a fait l'objet de bonnes relectures)
http://en.wikipedia.org/wiki/Lisp_programming_language

" Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, object-oriented programming, and the self-hosting compiler. "

dynamic typing : nous vous avons "montré" l'inférence de type l'an dernier et cette année sur un texte metoo.

jeudi 11 octobre 2007

Un logiciel d'analyse de code C et C++

http://www.sgvsarc.com/

version d'essai disponible

L'art d'avoir toujours raison

L'art d'avoir toujours raison

Un petit livre de Schopenhauer, dans la collection Mille et Une Nuits, 2000 (100 pages, je sais que 100 pages même format 10 x 15 cm ça peut faire peur à un étudiant "nouvelle génération" (coco, "de nouvelle génération" ç'est trop schnock !)) mais on ne sait jamais ...

Extrait

"Stratagème 33
"C'est peut-être vrai en théorie, mais en pratique c'est faux." Grâce à ce sophisme, on admet les fondements tout en rejetant les conséquences ; en contradiction avec la règle a ratione ad rationatum valet consequentia (la conséquence tirée de la raison première valide le raisonnement). Cette affirmation pose une impossibilité : ce qui est juste en théorie doit aussi l'être en pratique ; si ce n'est pas le cas, c'est qu'il y a une erreur dans la théorie, qu'on a omis quelque chose, qu'on ne l'a pas fait entrer en ligne de compte ; par conséquent, c'est également faux en théorie."

mardi 9 octobre 2007

Le prochain TD portera sur un langage fonctionnel

metoo

Préparez vous en faisant quelques manipulations

Allez à
Programmes
Développement
metoo


Sur les concepts de la programmation fonctionnelle :
voir le concept de transparence référentielle
de lambda expression

et les deux opérations de base bien connues quand on a fait du B :
  • application de fonction
  • composition de fonction
Certains, quoique en deuxième année, m'ont demandé c'est quoi "l'application d'une fonction". Répétons ...

C'est ce que fait le vendeur qui ne vous facture pas "sur la g...le", quand il fait :
prix du produit n° 251 = tarif (251)
Il a appliqué à la fonction tarif au n° produit 251.

Le corrigé de l'exercice à faire chez soi

ici

lundi 8 octobre 2007

Bug

"Mer 04 Oct, 2006 15:08 Sujet du message: Bug du site de la sncf - J'ai essayé il y a un mois d'acheter un billet idtgv sur le site de la sncf. J'ai essayé à quatre reprises, et à quatre reprises j'ai reçu un mail de leur part me disant que ma commande et mon paiement avaient été annulés suite à une erreur technique. J'ai abandonné l'opération après ces quatre essais infructueux. Quelques jours plus tard j'ai constaté sur mon relevé de compte que j'avais été débitée deux fois, pour deux de ces transactions qui n'ont pas abouti, pour un montant total d'environ 70 euros. J'ai donc envoyé un mail expliquant la situation ... Finalement j'ai reçu une réponse me demandant la référence de mon dossier, référence que je n'ai pas, les transactions n'ayant pas abouti. J'ai donc répondu que je n'avais aucun numéro de dossier à leur transmettre; ils m'ont renvoyé un mail me donnant la marche à suivre pour retrouver mon numéro de dossier(!!!) sur leur site dans la rubrique "ma commande" ou quelque chose du style, mais mes commandes de ce soir là n'ayant pas abouti, impossible d'avoir un numéro!!!! C'est à se taper la tête contre les murs. Je me demande si je serai un jour enfin remboursée... Comment dois-je procéder pour régler cette situation ?"

Extrait du cours d'une collègue de l'Ecole des Mines de Nancy

jeudi 4 octobre 2007

Si vous avez raté Nantes, allez à Las Vegas

http://www.testinginstitute.com/superweek/

Vous constaterez que l'on y parle du test de certification dont je vous ai fait faire un des exercices en TD.

Etonnant, n'est-ce pas ...

Après deux TD ce matin, j'ai pu constater que des étudiants, au lieu d'appliquer ce qu'on a dit en cours et qui se trouve dans le polycopié, sont allés sur la Toile recopier lire des pages ... extraites d'un livre de "gestion d'entreprise", absolument pas adaptées au travail à faire. Mais c'est ce qui devait venir en tête sur la liste de Google. A question mal posée ...

Mais c'est tellement mieux sur la Toile. Pas besoin d'écouter. On peut garder la musique aux oreilles. Merveilleux !


Les bons ouvriers ont les bons outils !

La Toile, la meilleure et la pire des choses.

Danger

- Il est dangereux d'entrer dans un amphi avant l'heure officielle de début du cours. Attendez assis sur les marches de l'escalier ou dans le couloir, ou même assis sur le trottoir.
- Idem pour les salles de TD. Mais si ces salles vous permettent d'aller sur le web, alors aucun danger pour la santé !
- Il est encore plus dangereux pour la santé d'entrer dans la bibliothèque de l'iut. Et si par hasard vous y êtes entré (on peut être étourdi), surtout ne consultez pas, n'emprunter pas les livres conseillés par l'enseignant, surtout si c'est ce même enseignant qui les a écrits.
- Il est tout aussi dangereux de lire les pages web de cours et exos d'universités reconnues.

mercredi 3 octobre 2007

Cours de ce jour

J'ai traité :
- des différents types de test
- ai fourni du vocabulaire
- test particionnel, test aux limites, etc.
- traité plus à fonds de la mesure de McCabe (théorie sous-jacente, qui est une mauvaise théorie : plus exactement, elle ne s'applique pas à un programme !)