Spécification (informatique)
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant. (Comment ?).
|
En informatique, la spécification est un modèle d'un logiciel. C'est aussi l'étape en génie logiciel qui consiste à décrire ce que le logiciel doit faire. Plus généralement une spécification peut aussi représenter n'importe quel système dynamique comme un circuit électronique.
On distingue :
- les spécifications informelles, par exemple un texte en français.
- les spécifications semi-formelles avec une syntaxe plus précise ou comportant des diagrammes plus ou moins standardisés.
- les spécifications formelles qui présentent une syntaxe et une sémantique.
Les spécifications font souvent partie d'une méthode de Génie logiciel (comme Merise) ou d'une méthode formelle.
Sommaire |
[modifier] Exemples
[modifier] Validation de spécification
Quand on se demande si le texte formel « dit bien » ce que l'on veut qu'il dise, s'il « traduit » bien la demande informelle faite par celui qui commande le logiciel, on dit que l'on fait de la validation. La validation ne peut pas être automatisée.
[modifier] Formel vs rigoureux
Celui qui prouve fait un raisonnement formel. Celui qui spécifie en disant « il est évident que » et en sautant des étapes dans ses preuves, fait un raisonnement rigoureux. Autre exemple : On peut faire une spécification formelle en B. Puis faire un développement (passage au code exécutable) rigoureux.
[modifier] L'écriture des commentaires d'une spécification formelle
Les commentaires d'une spécification formelle sont écrits en langage naturel, mais en évitant les irrégularités[1].
Mais celles-ci ne sont pas toujours un défaut !
- le bruit, information non nécessaire au moment où elle est donnée
- le silence, notions introduites sans définition (un peu comme une non-déclaration de variable)
- la contradiction
- la sur-spécification : en dire trop. Par exemple, traiter d'implémentation alors qu'on n'a pas spécifié la fonction que l'on veut implémenter.
- l'ambiguïté, c'est-à-dire un énoncé à interprétations multiples
- la référence en avant (n'est pas forcément mauvaise !), on mentionne des concepts dont la définition sera fournie plus loin. Par exemple, un sommaire est fait de référence en avant !
[modifier] Notes et références
- ↑ Toussaint Y. , Méthodes informatiques et linguistiques pour l'aide à la spécification de logiciel, oct. 1992, Thèse U.P.S. Toulouse
[modifier] À lire
- Guide IEEE 830
- Guide AECMA PSC-85-16598