Errata du tome 2

On trouvera ci-après les errata de l'ouvrage Spécification des logiciels ; Deux exemples de pratiques récentes : Z et UML, co-écrit avec Pascal ANDRE, paru en juin 2001 aux Editions Ellipses, dans la collection TECHNOSUP.


ATTENTION : Cette page est appelée à être modifiée régulièrement. Consultez-la souvent. N'hésitez pas à en demander le rechargement.

La dernière modification de la page a été effectuée le 17 octobre 2006.


Les erreurs suivantes se sont malencontreusement glissées dans l'ouvrage ; Elles sont présentées chapitre par chapitre, page par page :

Pour atteindre + vite les errata d'un chapitre donné,
utilisez le tableau de liens ci-dessous.

01
02
03
04
05
06
07
08
09
10


Partie I- Spécifications formelles avec Z

Chapitre I- Introduction aux spécifications formelles

Page 11 (section 2, ligne 12)
- Ajouter un espace après le mot "clos". Le texte correct est "terme clos est".

Page 11 (19e ligne)
- Ajouter un "s" à "utilisable". L'écriture correcte est "Pour être utilisables".

Page 12 (section 4, 3e ligne)
- Ajouter un espace après le point dans "fréquentes.La". Le texte correct est "fréquentes. La".

Page 14 (13e ligne EN PARTANT DU BAS, note de bas de page non comptée)
- Ajouter un "s" à "application". L'écriture correcte est "un certain nombre d'applications".

Page 14 (12e ligne EN PARTANT DU BAS, note de bas de page non comptée)
- Mettre le premier mot de la ligne au pluriel ("realistes").

Page 14 (4e ligne EN PARTANT DU BAS, note de bas de page non comptée)
- Le premier mot de la ligne est écrit à l'anglaise. Il s'agit, bien entendu, de "schéma".

Page 15 (paragraphe 5.1, 7e ligne)
- Ajouter un "s" à "donnée". L'écriture correcte est "des structures de données informatiques".

Page 15 (paragraphe 5.1, avant-dernière ligne)
- Ajouter un "s" à "type". L'écriture correcte est "Si, en général, types de".

Page 20 (bas de la page)
-L'impression du code du programme CLU est mauvaise. Les avant-dernière et avant-avant-dernière lignes sont illisibles. L'écriture correcte est la suivante :

requires la file n'est pas vide
modifies % clause inutile ici

Page 21
-Le code de plusieurs opérations a subi les mêmes avatars. L'écriture correcte est la suivante :

- opération arriver
requires la file n'est pas pleine ...

- opération sortir
requires la file n'est pas vide

- opération premier
requires la file n'est pas vide

- opération égal
requires le type du patient ...

Chapitre II- Le langage Z

Page 36 (tableau II)
- L'avant-dernière ligne du tableau concerne l'opérateur implique. Il faut donc remplacer "négation" par "implication".
- La dernière ligne du tableau concerne l'opérateur d'équivalence. Il faut donc remplacer "equivalence" par "équivalence".

Page 47 (milieu de la page)
- La définition récursive des entiers "souffre" d'une faute de frappe. L'élément "Nud" est en fait un Noeud.

Page 49 (tableau XII)
- La définition de l'ensemble des sous-ensembles finis (6e ligne du tableau) contient une faute de frappe. La variable t doit être écrite en majuscule. Cet ensemble est un ensemble de T.

Page 50 (tableau XIII)
- La quatrième ligne du tableau, colonne Sens, contient une parenthèse non fermée. Le texte correct de cette case est "codomaine de la relation (ou rng)".
- Dans la définition des restrictions (de domaine ET de codomaine), colonne de droite, une parenthèse fermante "traîne". Il faut l'enlever.

Page 52 (définition générique de l'inclusion)
- L'appartenance de x à S implique son appartenance à T. Il n'y a pas de ET.

Page 55 (deuxième schéma Z, 2e ligne du prédicat)
- Il faut enlever le signe "=" qui se trouve AVANT le symbole de l'équivalence.

Page 57 (paragraphe 9.3)
- Dans ce paragraphe, les deux schémas génériques [X] font référence à une séquence r (celle qui est concaténée à s). Il s'agit en fait de la séquence t.

Page 59 (énoncé de l'exercice 11.4, question b, 6e ligne)
- Une faute de frappe (étrange !) a transformé "occupant" en "accupant". La première forme est la bonne.

Page 59 (exercice 11.4)
- Ajouter "du chapitre 8" après le morceau de phrase "extrait du cas d'étude de l'exercice 10.6". La phrase correcte est "Le texte suivant est extrait du cas d'étude de l'exercice 10.6 du chapitre 8.".

Page 63 (exercice 11.17)
- La correction est à rechercher par rapport à l'exercice 11.6.

Page 64 (exercice 11.25)
- Les fonctions f, g et h de cet exercice sont des fonctions partielles qui vont de S "vers" T (et non pas de P vers T, comme indiqué dans l'énoncé).

Page 64 (exercice 11.26)
- Le texte de la question b de cet exercice est erroné. La bonne question est "Reprendre la question c en utilisant des fonctions.".

Page 64 (exercice 11.27)
- Dans cet exercice, un multi-ensemble peut être représenté par "le type Bag de la section 8" (et non pas par "la séquence ... de la section 9", comme écrit).

Page 64 (énoncé de l'exercice 11.28)
- La lisibilité de l'énoncé, sur la deuxième ligne du tableau, n'est pas claire. Il est préfèrable d'y ajouter une paire de parenthèses "autour" de la séquence correspondant à la concaténation de s2 et de s1.

Page 65 (exercice 11.33)
- L'énoncé de la commutativité de l'opérateur de concaténation de séquences est erroné. Il ne doit pas y avoir de cardinal (ie. pas de "#") dans la propriété.

Chapitre III- La spécification avec Z

Page 78 (bas de la page, dernier schéma Z, 2e ligne du prédicat)
- Il y a un symbole ET en trop. Il faut donc en enlever un.

Page 95 (milieu de la page, 2 lignes AVANT Lemme 7.1)
- Il y a un mot en trop. "en soit directement" doit être remplacé par "soit directement". Il faut supprimer le mot "en".

Page 105 (exercice 11.13, 2e ligne)
- La deuxième ligne de l'énoncé de cet exercice fait référence à une "section 10.5". Il s'agit, en fait, de l'exercice 10.5.

Page 106 (milieu de la page, paragraphe "Etat du système", item 4)
- Nous calculons de façon étrange : 24h30 + 3h59 font 28h29 et non pas 24h28 !

Page 106 (milieu de la page, paragraphe "Etat du système", item 5)
- Il manque un mot dans l'item 5, entre "pourraient" et "identifiés". Il s'agit du verbe "être". La phrase correcte est "Les films pourraient être identifiés par leur ...".

Chapitre IV- La spécification avec Z : la facturation de commandes

Page 116 (opération FacturerCommandeI)
- Ajouter le commentaire suivant avant la phrase "Les préconditions sont les suivantes." :

Le texte de l'énoncé n'étant pas précis à ce sujet, on peut aussi supposer que la facturation de la commande diminue la quantité en stock. Dans ce cas, le prédicat "stock' = stock" est modifié comme suit :

Page 127 (opération EntréeStockF)
- La quantité donnée en paramètre n'est pas substituée à la quantité en cours mais ajoutée. Le deuxième prédicat de la deuxième ligne est :

Page 131 (exercice 10.2, 4e ligne)
- La quatrième ligne s'écrit en utilisant le produit cartésien et non une relation. La "bonne" ligne est la suivante :

Chapitre V- Des compléments pour la modélisation avec Z

Corriger des erreurs Z faisant le plus souvent appel à des caractères mathématiques, nous avons regroupé la plupart des corrections de ce chapitre dans un fichier postcript.

D'autres sont référencées comme "d'habitude".

Page 159 (schéma Bibliothèque)
- Dans la définition de l'association assocEM, il faut remplacer le numéro d'ISBN par celui d'exemplaire. Il faut donc remplacer ISBN par EXEMPLAIRE_ID dans la déclaration.

Page 161 (schéma Bibliothèque)
- même chose.

Page 167 (schéma ChangeNom)
- Le schéma ChangeNom doit modifier le nom d'un patient. Il laisse inchangés prénom et adresse. La seconde partie du prédicat est donc fausse. La bonne est "prénom_p' - prénom_p".

Page 167 (fin du paragraphe 5)
- Il manque l'article "les" dans la fin de cette phrase. L'écriture correcte est "Elle est utilisée en particulier dans les extensions à objets de Z".

Page 172 (exercice 8.3, première ligne)
- La fin de la phrase se termine par le caractère ":" "Définir les opérations suivantes :" est la bonne écriture.

Page 173 (exercice 8.11)
- Dans la première phrase de l'énoncé, il ne s'agit pas de section mais, plus simplement d'exercice. Le début de la phrase est donc "Reprendre l'énoncé de l'exercice 11.18 ...".

Page 176 (question d)
- La formulation de l'opération contient une faute d'orthographe. Il s'agit d'obtenir la liste des numéroS des contrats d'une société client.


Partie II- Modélisation objet avec UML

Chapitre VI- Introduction au développement à objets

Page 190 (section 2.6, paragraphe 2, ligne 1)
- L'accentuation du mot "considérons" est erronnée. Il s'agit d'un accent grave.

Page 192 (section 3, ligne 10)
- Le verbe "inclue" est mal orthographié. Il faut l'écrire "inclut".

Chapitre VII- La notation UML

Page 221 (note de bas de page)
- Il faut mettre au pluriel le mot "classe" sur la première ligne de cette note.

Page 222 (figure 36)
- Les deux derniers messages (3.4: réserver et 3.4.1: créer) ont pour paramètre la variable "boutique" et non "boutiq_id".

Page 224
- Sur la huitième ligne, le verbe "exclure" est conjugé en dépit du bon sens. Il faut écrire "exclut", bien sûr !
- L'avant-dernière ligne de cette même page contient deux fois le mot "nous". Un seul suffit largement.
- On peut ajouter, après la figure 39, la précision suivante :

Dans cette figure, la relation de dépendance décrit est une relation d'instanciation. Pour plus de clarté, on peut la stéréotyper par <<instanciation>>. Une classe Cassette représente un film, une instance de la classe Film.

Page 226 (3e ligne AVANT section 5)
- Il s'agit de la figure 41 (et non pas 40).

Page 227 (figure 43)
- La figure 43 présente un défaut. La légende du message [non_nul (stat)] ajouter (stat) est mal placée. Elle doit être baissée d'un cran. Ce message est émis par la classe F. Gestion des prêts à destination de la classe Ens. Statistiques.

Page 228 (paragraphe 1, 5e ligne)
- Enlever les numéros 8 et 9, mais pas le texte correspondant.

Page 229 (figure 46)
- Les deux derniers messages (réserver et créer) ont pour paramètre la variable "boutique" et non "boutiq_id".

Page 230 (figure 47)
- Les deux messages 24 et 25 (réserver et créer) ont pour paramètre la variable "boutique" et non "boutiq_id".

Page 233 (4e ligne sous la figure 50)
- Le mot "icône" avec un accent circonflexe est du genre féminin. Il signifie image pieuse. MAIS, subtilité de la langue française, il existe aussi un "icone", sans accent, genre masculin qui signifie signe utilisé en informatique pour représenter une chose. C'est bien celui-ci que nous voulons. La phrase correcte est donc "Le signe en bas à droite est l'icone de décomposition masquée, il est utilisé aussi pour les".

Page 235 (2e ligne sous la figure 54)
- Le mot "icône" avec un accent circonflexe est du genre féminin. Il signifie image pieuse. MAIS, subtilité de la langue française, il existe aussi un "icone", sans accent, genre masculin qui signifie signe utilisé en informatique pour représenter une chose. C'est bien celui-ci que nous voulons. La phrase débute donc par les mots "par un icone ...".

Page 240 (5e ligne exercice 8.1)
- Ajouter une parenthèse fermante après le mot "euros", à la place de la virgule et une parenthèse ouvrante avant le mot "pour".

Page 241 (exercice 8.8, question c)
- Lire "Peut-on réaliser les opérations suivantes :" (il faut enlever le mot "répondre" de l'énoncé de la question).

Chapitre VIII- La spécification avec UML

Page 250 (paragraphe 2, 1e ligne)
- "ds" est à remplacer par "des". Le texte exact est "l'ensemble des besoins".

Page 254 (Cas d'utilisation : Prêt à distance, dernière ligne)
- Le premier mot de la dernière ligne a perdu sa première lettre. Il s'agit de "Vérifier".

Page 277 (avant-dernière ligne)
- La phrase se termine mal. "interphone, garage, ascenseur..." est la bonne écriture.

Page 279 (paragraphe 2, 9e ligne)
- La fin de l'énumération est "téléphone, consommables...)."

Chapitre IX- Des compléments pour la modélisation avec UML

Page 284 (3e et 4e lignes)
- La fin de la ligne 3 est mal écrite. Il manque un verbe. La bonne pourrait être "et la classe Object de Smalltalk est l'unique super-classe du système."

Page 284 (7e ligne)
- Une dernière phrase doit être ajoutée à ce premier paragraphe : "Pour les opérations de type query, c'est-à-dire sans effets de bord, la notation pointée est utilisée ([Con99], p7-11)."

Page 284 (paragraphe 2.3, 2e ligne)
- Les deux derniers mots de la ligne ("toutes" et "collections") doivent être écrits au singulier.

Page 285 (4e ligne)
- L'expression OCL qui permet d'obtenir la somme d'éléments contient une variable "acc". Il s'agit en fait de "accu".

Page 288 (4e ligne de code OCL)
- Remplacer "#continu" par "#continue".

Page 290 (6e ligne de code OCL)
- Même erreur de frappe.

Page 290 (avant-dernière ligne)
- La fin de cette ligne ("La création d'un objet emprunt n'existe pas") n'est pas claire. Il faut la remplacer par "OCL ne définit pas d'opération de création, c'est un langage déclaratif (sans effet de bord). La nouvelle instance de la classe Emprunt est donc introduite par une déclaration locale (let) qui permet de référencer l'objet à créer."

Page 291 (paragraphe Contrainte sur une extrémité)
- L'opérateur utilisé dans la première contrainte est un "or" et non pas un "xor".

Page 292
- La figure référencée dans la phrase "Nous illustrons ces différentes contraintes dans la hiérarchie d'héritage de la figure 79" est en fait la figure 80. La phrase correcte est "Nous illustrons ces différentes contraintes dans la hiérarchie d'héritage de la figure 80".

Page 292 (4e ligne)
- "Il n'y a pas pas" est à remplacer par "Il n'y a pas".

Page 292 (9e ligne en partant du bas)
- Les deux premiers mots de la ligne sont inversés. Le bon début de ligne est "les seuls".

Page 293 (NB)
- La première phrase de cette remarque contient une faute de frappe. La phrase correcte est "La dernière règle n'est pas toujours applicable en pratique."

Pages 294, 295 et 296
- Il faut enlever des légendes des figures 81, 82 et 83 le mot "BU". Le schéma n'a strictement rien à voir avec une bibliothèque.

Page 299 (exercice 6.4, questions a et b)
- Le libellé de la question a peut prêter à confusion. Il doit être remplacé par la phrase suivante : "Une cassette disponible n'est pas empruntée." La même opération peut être faite sur l'énoncé de la question b. Un texte plus clair (à notre avis) est "Une cassette empruntée n'est pas disponible."

Page 302 (exercice 6.13, question c)
- Les diagrammes états-transitions à prendre en compte sont ceux des figures 74 et 75. L'énoncé correct de la question est : "Contrôler la cohérence entre les diagrammes d'objets des figures 47 et 43, les diagrammes états-transitions des figures 74 et 75 et le diagramme de classes suivant."

Chapitre X- Conclusion

Pas encore de coquilles détectées ou signalées !


Vous en avez trouvé d'autres. Communiquez-les nous, en nous envoyant un message. Nous pourrons les répercuter à tous. Par avance, Merci !