Une spécification fonctionnelle décrit les fonctions de base d'une application logicielle. Il est généralement développé dans le cadre de l'analyse des besoins en matière de développement logiciel. Il sert de plan directeur pour les programmeurs de développer le code source et les cas de test pour l'application.
En règle générale, il y a beaucoup de différents acteurs impliqués dans l'analyse des besoins pour le développement de chaque application logicielle. Ces acteurs comprennent les gens d'affaires devraient utiliser le logiciel, les analystes de données, les programmeurs et autre personnel technique. Les gens d'affaires expliquer aux autres membres de l'équipe exactement ce qu'ils attendent de logiciel pour le faire, à partir d'un point de vue commercial
Les besoins de l'entreprise sont fusionnées avec les données qui doivent être capturés et est utilisé pour développer la manière dont l'équipe aimerait chacun des écrans de fonctionner. Toutes les exigences de cette analyse doit être complétée afin de documenter les spécifications fonctionnelles. Une fois le cahier des charges fonctionnel est à peu près documenté, l'équipe travaille à le peaufiner. L'équipe examine ces documents et comble les lacunes dans l'analyse des besoins. Après l'analyse des besoins est terminée, l'équipe approuve le cahier des charges fonctionnel. Le cahier des charges approuvé est utilisé comme modèle pour le développement de logiciels.
Le code source et les cas de test sont développés en utilisant la spécification fonctionnelle. Membres de l'équipe utilisent la spécification fonctionnelle de développer les cas de tests nécessaires pour confirmer que le logiciel fonctionne comme prévu. Le nombre de cas de test utilisées pour déboguer le logiciel varie en fonction de la complexité du logiciel développé. Comme les programmeurs de développer le logiciel, une autre partie de l'équipe développe des scénarios de test. Le processus de test d'approuver le logiciel commence une fois que les programmeurs de conseiller l'équipe, il est prêt à être testé.
La spécification fonctionnelle ne précise pas les choses telles que la langue du logiciel à être utilisées par les programmeurs. Les spécifications trouvées dans un cahier des charges fonctionnel sont limitées aux véritables fonctions du programme. Le document de spécification explique ce qui se passe quand un utilisateur clique sur un bouton de programme spécifique sur l'écran, mais pas comment le programmeur va faire la fonction spécifique se produit.
En fonction de la complexité du logiciel à développer, certaines équipes utilisent plusieurs niveaux de documents de spécifications fonctionnelles. L'équipe de gestion pourraient participer à la spécification des fonctions de haut niveau tandis qu'un groupe d'analystes seniors pourrait définir plus en détail les fonctions spécifiques et une équipe conjointe d'analystes d'affaires et les programmeurs peuvent définir chaque écran. Chacun des documents de sortie de ces niveaux peut être considéré comme une spécification fonctionnelle