Spécification (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

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 UML ou Merise) ou d'une méthode formelle.

Exemples

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.

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.

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 (source : Thèse de Y. Toussaint, Méthodes informatiques et linguistiques pour l'aide à la spécification de logiciel, oct. 1992, U.P.S. Toulouse).

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 !

À lire

  • Guide IEEE 830
  • Guide AECMA PSC-85-16598
Page générée en 0.090 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise