Spécification fonctionnelle
Rédigée par un analyste fonctionnel, la spécification fonctionnelle décrit les processus métier dans lesquels le produit informatique devra intervenir. Les tâches prises en charge par le produit informatique, son interaction avec les autres intervenants - utilisateurs et autres produits - et les règles des interactions.
Exemple: le calcul de prévision se base sur une date. Seule une date future est autorisée. Si l'utilisateur entre une date passée, alors le logiciel devra afficher un message "date non autorisée".
Il existe deux sortes de spécifications :
- Les spécifications fonctionnelles générales décrivent les différentes procédures d'un même processus métier (les cas qui peuvent se présenter), ainsi que le modèle conceptuel, le modèle logique, et le modèle physique des données associés ; elles sont généralement élaborées par la maîtrise d'ouvrage,
- Les spécifications techniques décrivent dans le détail les opérations et les tâches à exécuter par les utilisateurs, ainsi que la description détaillée du contenu des bases de données ; elles sont généralement élaborées par la maîtrise d'œuvre.
Spécification d'architecture
Rédigée par un architecte, la spécification d'architecture décrit le système informatique dans lequel le produit sera implanté, son interaction avec les autres composants du système informatique – par exemple SGBD. La spécification d'architecture décrit également l'organisation générale du produit informatique, sa subdivision en modules et en couches.
La spécification d'architecture est quelquefois appelée étude technique dans la méthode MERISE. L'étude technique décrit sous l'angle technique le système à développer (les langages informatiques, les caractéristiques des bases de données, les champs, les consignes…).
La spécification d'architecture ou l'étude technique ne sont pas toujours vraiment nécessaires, si l'application à développer est de taille modeste et s'inscrit dans un cadre de développement plus large, en particulier dans une organisation où les standards techniques sont déjà définis. De bonnes spécifications détaillées peuvent alors suffire.