Se conformer à chacun des détails et exigences définis dans le projet logiciel qui est réalisé, sont les grands objectifs qu’un développeur doit atteindre pour répondre aux attentes de ses clients et réussir le projet. Comment un développeur peut-il créer des systèmes qui répondent à toutes les exigences de ses clients? Cela peut être l’une de vos premières questions.
Le fait est qu’il y a beaucoup de facteurs qui influencent le succès du projet logiciel. Mais aujourd’hui, nous parlerons d’un document essentiel qui devrait être préparé aux premiers stades du développement du produit. Nous parlons du Document de spécification des exigences logicielles.
La spécification des exigences logicielles (SRS) est sans aucun doute considérée comme l’une des phases les plus critiques du développement logiciel/ produit. SRS – Spécification des exigences logicielles — une documentation logicielle spéciale qui contient des informations sur le comportement du système lui-même, les fonctions qu’il doit exécuter, la charge qu’il doit supporter, etc. Le document Exigences du produit est l’endroit où les caractéristiques et les exigences du logiciel, du produit, du programme ou de l’ensemble de programmes sont décrites. Ces éléments sont exprimés en langage naturel, sans considérations ni termes techniques.
- Vous pouvez obtenir une estimation précise des coûts, des risques et des coûts en temps.
- Le client pourra mieux définir sa vision du projet.
- Le client et l’entrepreneur auront la même idée du produit.
- Cela aidera à identifier l’ensemble optimal de fonctions.
- Il sert de base à la formation d’autres documents techniques.
- Le processus de développement sera optimisé et le temps minimisé.
- Il n’y aura pas de duplication des tâches.
- Vous permet de structurer les problèmes pour les résoudre plus facilement et plus rapidement.
Il est devenu très évident qu’une mauvaise spécification des exigences logicielles peut entraîner l’échec de projets. Dès lors, cette discipline devient de plus en plus essentielle.
Comment préparer un document d’exigences de produit ?
Le modèle suivant suit les directives établies dans la norme IEEE 830, selon lesquelles la spécification des exigences logicielles doit contenir la description de la fonctionnalité de l’application, de la relation avec les systèmes externes et des exigences non fonctionnelles telles que les performances, la disponibilité, les temps de réponse et la maintenabilité entre autres.
Le modèle de préparation du document sur les exigences logicielles est divisé en sections suivantes :
Objet :
Vous devez ajouter un nom ou un titre d’un produit spécifié dans le document, y compris son numéro de version ou sa version. Décrivez quels éléments ou parties de la portée du logiciel sont inclus dans le document, déterminez s’il couvre l’ensemble du logiciel, une seule partie de celui-ci, un sous-système ou un sous-groupe de processus.
La portée du logiciel:
Il devrait y avoir une brève description de la gamme du logiciel qui est spécifiée, y compris le but ou l’objectif général, les avantages fournis au domaine commercial et organisationnel, la relation entre les objectifs du logiciel et les objectifs de l’entreprise et les stratégies commerciales. Vous pouvez vous référer à d’autres documents.
Ici, vous pouvez inclure d’autres documents imprimés, des documents électroniques ou des adresses électroniques qui complètent le document des exigences du produit.
Fonctionnalités du produit :
Chaque fonctionnalité peut être composée d’une ou plusieurs exigences logicielles fonctionnelles. Seule une liste numérotée des principales fonctionnalités doit être incluse.
Caractéristiques des utilisateurs:
Dans cette section, vous devez décrire les utilisateurs qui utiliseront ce produit. Classez-les sur la base de la régularité d’utilisation, d’un groupe de fonctionnalités utilisées, des privilèges de sécurité, du niveau d’expérience et d’autres paramètres.
Environnement d’exploitation :
L’environnement dans lequel le système, le logiciel, le module ou le groupe de fonctionnalités seront développés devrait également être inclus. Mentionnez des aspects tels que les versions du système d’exploitation, la plate-forme matérielle et d’autres systèmes ou éléments avec lesquels il doit coexister.
Exigences fonctionnelles :
Listez les fonctionnalités et, pour chacune d’elles, notez les exigences fonctionnelles. Ils peuvent également être documentés dans une matrice de traçabilité des exigences.
Règles métier:
Cette partie contient les principes qui doivent s’appliquer à l’ensemble des spécifications logicielles énumérées dans le document. Par exemple, expliquez quelles personnes peuvent jouer un rôle spécifique dans certaines circonstances.
Exigences relatives aux interfaces externes :
Ce chapitre comprend les interfaces avec le matériel, les interfaces avec d’autres systèmes et les interfaces de communication, les caractéristiques et les attributs des interfaces utilisateur (GUI).
Exigences non fonctionnelles:
Ils spécifient des critères pour évaluer le fonctionnement d’un service informatique, contrairement aux exigences fonctionnelles qui définissent des comportements spécifiques.
Autres exigences:
Incluez les exigences qui ne sont expliquées dans aucune autre section du document sur les exigences du produit. Il peut s’agir d’exigences de base de données, d’internationalisation, d’objectifs juridiques et de réutilisation des composants logiciels.
Glossaire :
Ajoutez une description des termes et acronymes nécessaires à la compréhension du document créé.
Conseils pour écrire SPS
- Décrivez tout très brièvement et clairement autant que possible.
- N’incluez pas les éléments qui n’ont peut-être pas besoin d’être documentés.
- Écrivez sans descriptions vagues. Une personne qui lit le SRS doit comprendre précisément ce qui est écrit, et non autre chose.
- Visualisez. Par exemple, utilisez des diagrammes DFD (diagrammes de flux de données). La spécification ne peut pas être complète si nous ne savons pas ce qui se trouve à l’entrée du logiciel décrit et ce qui se trouve à la sortie. Tout doit être inclus.
Vous disposez maintenant de tous les éléments principaux qui vous aideront à définir les exigences logicielles. Foncez!