Spécification (informatique)

Un article de Wikipédia, l'encyclopédie libre.

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

  1. 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

[modifier] Voir aussi