Spécification (informatique)
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article 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 (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il peut être employé comme :) comme un circuit électronique (Un circuit électronique est un ensemble de composants électroniques interconnectés sur un circuit imprimé dans le but de remplir une fonction. C'est pour cela qu'un circuit électronique est souvent...).

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 (Si on se réfère à l'arrêté ministériel du 30 décembre 1983 relatif à l'enrichissement du vocabulaire de l'informatique [Journal officiel du 19 février 1984], on appelle Génie Logiciel : "l'ensemble des activités de...) (comme UML ou Merise) ou d'une méthode formelle.

Exemples

  • Analyse fonctionnelle descendante (SADT (en anglais Structured Analysis and Design Technique) - connue aussi sous le label IDEF0 (en anglais Integration DEfinition for Function modeling)...)
  • Méthode B (La méthode B est une méthode formelle de développement logiciel qui permet de modéliser de façon abstraite dans le langage de B le comportement d'un programme, puis par...)

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 (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un souhait impératif.) le logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement, regroupées sous forme de programmes, des...), 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 (Un langage naturel est une langue « normale » parlée par un être humain.), mais en évitant les irrégularités (source : Thèse (Une thèse (du nom grec thesis, se traduisant par « action de poser ») est l'affirmation ou la prise de position d'un locuteur, à l'égard du sujet ou...) 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 (Dans son sens courant, le mot de bruit se rapproche de la signification principale du mot son. C'est-à-dire vibration de l'air pouvant donner lieu à la création d'une sensation auditive.), information non nécessaire au moment où elle est donnée (Dans les technologies de l'information, une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction, d'un événement, etc.)
  • le silence, notions introduites sans définition (Une définition est un discours qui dit ce qu'est une chose ou ce que signifie un nom. D'où la division entre les définitions réelles et les définitions nominales.) (un peu comme une non-déclaration de variable)
  • la contradiction (Une contradiction existe lorsque deux affirmations, idées, ou actions s'excluent mutuellement.)
  • la sur-spécification : en dire trop. Par exemple, traiter d'implémentation (Le mot implantation peut avoir plusieurs significations :) 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.038 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique