SFD - Spécifications Fonctionnelles Détaillées
Le niveau de détail à partir duquel un développeur peut coder et un testeur peut écrire ses tests sans reposer de question.
10 rubriques, consignes de rédaction incluses. Sans inscription. Le tableur contient une grille « Dictionnaire de données » prête à remplir.
À quoi sert ce document
Les SFD précisent, fonction par fonction, tout ce que les SFG ont laissé au niveau macro : chaque champ, chaque contrôle, chaque message d'erreur, chaque cas limite. Le critère de complétude est opérationnel : si un développeur doit poser une question métier pour avancer, la spécification n'est pas finie. C'est aussi le document le plus coûteux à produire du projet, ce qui justifie de ne le rédiger qu'après validation des SFG.
Quand le produire
- Sur un développement spécifique, où aucun paramétrage standard ne porte la règle.
- Quand l'équipe de réalisation est distante, externalisée, ou ne partage pas le contexte métier.
- Sur les fonctions à fort enjeu : calculs financiers, contrôles réglementaires, interfaces contractuelles.
- Quand la recette doit être opposable et donc adossée à une spécification écrite.
Le plan, rubrique par rubrique
-
Identification de la fonction
Le rattachement au niveau supérieur et le suivi de version.
- Identifiant, intitulé, macro-fonction de rattachement (SFG)
- Version, statut, historique des modifications
- BUC et exigences couverts
-
Description fonctionnelle
Ce que fait la fonction, en quelques phrases, avant le détail.
-
Déclenchement et préconditions
Comment la fonction est appelée et ce qui doit être vrai avant.
- Mode de déclenchement : action utilisateur, ordonnanceur, événement, appel de service
- Habilitations requises
-
Données en entrée
Le détail champ par champ, sous forme de tableau.
- Nom fonctionnel et nom technique
- Type, longueur, format, unité
- Obligatoire ou facultatif, valeur par défaut
- Valeurs autorisées ou référentiel de rattachement
- Contrôle de validité et message associé en cas d'échec
-
Traitements et règles
L'algorithme fonctionnel, pas le code.
- Enchaînement des traitements, étape par étape
- Règles de calcul complètes, avec arrondis, devises, fuseaux horaires
- Règles de gestion référencées (RG-xxx)
- Cas limites explicités : valeur nulle, zéro, doublon, chaîne vide, date invalide, dépassement de seuil
-
Données en sortie
Ce que la fonction produit, au même niveau de détail que les entrées.
- Champs produits et leur mode de calcul
- Format de restitution ou de fichier
- Destination
-
Interface utilisateur
La description de l'écran, si la fonction en comporte un.
- Maquette ou capture annotée
- Comportement des composants : activation, masquage, valeurs par défaut
- Enchaînement des écrans et actions disponibles
- Comportement responsive et accessibilité attendue
-
Gestion des erreurs
Le catalogue exhaustif des erreurs de la fonction.
- Code, condition de déclenchement, message affiché, message journalisé
- Blocant ou non blocant
- Action possible pour l'utilisateur
-
Habilitations
Le détail des droits par profil sur cette fonction.
- Matrice profil / action (consulter, créer, modifier, supprimer, valider)
-
Cas de test attendus
Les jeux d'essai que la fonction devra passer, posés dès la spécification.
- Cas nominaux
- Cas limites et cas d'erreur
- Jeux de données nécessaires
Les erreurs qui coûtent cher
- Laisser des cas limites implicites. Une valeur nulle, un doublon, une date au 29 février : ce qui n'est pas spécifié sera décidé par le développeur, sans que le métier le sache.
- Spécifier la technique. « Créer une table T_CLIENT avec un index sur SIRET » n'a pas sa place en SFD : c'est le rôle du DAT.
- Rédiger les SFD avant validation des SFG. Chaque changement de cible provoque une réécriture en cascade du document le plus volumineux du projet.
- Décrire les messages d'erreur par « message adapté ». Le libellé exact fait partie de la spécification, y compris sa traduction.
- Oublier la traçabilité vers les exigences. Sans elle, impossible de prouver en recette que le périmètre contractuel est couvert.
Sigles associés
Documents complémentaires
Besoin d'un cadrage, pas seulement d'un modèle ?
Nous rédigeons et challengeons ces documents en mission, sur des projets d'intégration, de migration de données et de décisionnel. Parlons de votre projet.