Cahier des charges fonctionnel
Définition : CDCF
Un système technique est envisagé pour répondre à la demande et traiter les besoins associés. Le CDCF a pour but de spécifier les fonctions et services que ce système remplira.
Il n'assume pas à lui tout seul le besoin : l'organisation et le management environnants font également partie de la réponse au besoin.
Attention : Difficulté
bien traduire les besoins
bien se positionner par rapport à la technique : ne pas trop orienter les choix techniques, tout en restant réaliste par rapport au contexte de réalisation (déjà là technologique, budgets, compétences, règles DSI, ...)
Conseil : Conseil
Être systématique
Méthode : Analyse fonctionnelle
A partir des scénarios d'usage racontant les différentes utilisations visées, situées et scénarisées dans leur contexte de fonctionnement, en situation « réelle » :
Analyser les situations : définir les différentes situations d'usage en précisant :
les acteurs interagissant avec le système ;
Les objets et systèmes de l'environnement interagissant avec le système ;
Les objets et processus produits par le système ;
Analyser les fonctions : lister chaque fonction, pour chaque situation, selon le format suivant :
le système permet à <acteur> de <action> sur <objet>
on précise ensuite la fonction lorsque c'est nécessaire : exemple, reformulation, spectre de valeurs possibles, ...
Exemple : Fonctions d'indexation manuelle
Le système permet aux auteurs d'ajouter des méta-données documentaires aux items
Typiquement : auteur, description, etc.
Le système permet aux bibliothécaires d'ajouter des méta-données documentaires complémentaires, ou de modifier les méta-données fournies par l'auteur
après la publication du document-dossier (rôle de documentaliste)
sans modifier le contenu du document-dossier (accès en écriture aux méta-données seulement, ou à un item de méta-données spécifique)
Le système propose des aides à la saisie des méta-données
profil de remplissage
valeurs par défaut
extraction du système (date, user courant, etc.)
(par Stéphane Crozat, UTC, projet C2M, http://www.utc.fr/ics/c2m)
Méthode : Évaluation des fonctions
Le but de la fonction : À quoi est-elle utile ? A quoi sert-elle ? Quel service permet-elle de remplir ?
La nécessité de la fonction : Pourquoi faut-il assurer cette fonction ? Que se passerait-il si cette fonction n'était pas remplie ? Le service serait-il assuré par ailleurs ? Ou il ne serait pas réclamé ?
Alors que le but répond à la question « A quoi ça sert ? », la nécessité répond à la question « Pourquoi il faut le faire ? ».
Méthode : Analyse fonctionnelle détaillée : Caractérisation des fonctions
Les termes utilisés : quel acteur, quelle action, quel objet.
Les principes de la fonction : on liste les différentes manières de réaliser techniquement la fonction.
Complément : Paradigme technique
Pour mener à bien l'analyse fonctionnelle, il faut avoir en tête une architecture générale permettant d'optimiser la valeur recherchée à travers le service.
Les paradigmes techniques déterminent un type de valeur, car leur élaboration s'est effectuée en fonction de certaines options sur les traitements à effectuer et les bénéfices attendus. Les exemples de paradigmes sont :
Application (JAVA) ou Contenu (XML) ;
Serveur centralisé ou Contenus distribués ;
Traitement chez le client ou traitement centralisé
etc.
Le problème traité introduit des contraintes ; on les formule en qualifiant en menace ou opportunité les changements qui peuvent survenir dans la solution technique.
Par exemple, l'éditeur de la base de donnée fait faillite :
c'est très grave, car nos applications sont directement interfacées avec la base, et il faut tout refaire ;
c'est très bien, car on attaquait la base à travers des couches normalisées (SQL) : on peut changer de base en en prenant une meilleure et garder tout le reste.
L'objectif est de choisir un paradigme technique qui maximise les changements en opportunités et non en menaces.