Qu'est-ce qu'une exigence non fonctionnelle
Les exigences non fonctionnelles ou NFR décrivent les caractéristiques d'un logiciel qui ne sont pas définies en termes de fonctionnalités. Il s'agit généralement d'attributs ou de contraintes sur le système qui se terminent par « -ility » ou « -ilities ». Par exemple:
- maintenabilité
- évolutivité
- convivialité
Types d'exigences non fonctionnelles
Il existe potentiellement des dizaines de types NFR. L'importance de chaque type de NFR dépendra du type de logiciel, du contexte et du cas d'utilisation. Certains des types de NFR les plus couramment considérés sont :
- Sécurité
- Performance
- Évolutivité
- Fiabilité
- Convivialité
- Légal
- Maintenabilité
- Portabilité
UN liste complète des NFR est disponible sur Wikipédia.
La sécurité – un cas particulier
Cela vaut la peine d’examiner de plus près la sécurité en tant que NFR. Bien que la sécurité soit généralement considérée comme non fonctionnelle, la plupart des exigences en matière de sécurité sont en réalité fonctionnelles. Par exemple, la vérification des autorisations avant d'exécuter un processus est probablement une exigence fonctionnelle. Dans nos études, plus de 90% de toutes les exigences de sécurité sont fonctionnelles.
Les avantages de la détection automatique des NFR
Les exigences non fonctionnelles sont une dimension importante du logiciel. Souvent, ils sont négligés ou de mauvaise qualité (peu spécifiques, incomplets ou incohérents). Les NFR peuvent avoir un impact significatif sur le travail de livraison d’un logiciel. Les négliger peut entraîner un risque accru pour un projet.
Lorsque vous utilisez ScopeMaster pour analyser vos besoins en matière de NFR potentiels, vous pouvez créer une liste de contrôle pour garantir que les NFR sont correctement et adéquatement couverts. Cela réduira les risques pour votre projet. Vous souhaitez également éviter de mélanger des exigences fonctionnelles avec des exigences non fonctionnelles, sauf si cela est nécessaire.
Exigences non fonctionnelles de qualité
Qu’est-ce qui rend les NFR de haute qualité ? Vous devez toujours essayer de quantifier les exigences non fonctionnelles en termes quantifiables qui ont du sens pour l'équipe et auxquels le client peut s'identifier. Ceux-ci devraient vous donner le « niveau d’acceptabilité » d’un NFR donné. Par exemple, toutes les pages Web doivent se charger en 1,5 seconde, prêtes à permettre à l'utilisateur d'interagir.
Exemples d'exigences non fonctionnelles
Voici quelques exemples NFR, notez la spécificité de chacun. Des critères de réussite/échec sans ambiguïté sont inclus pour chacun :
Performance – Toutes les pages Web se chargeront pour interagir dans les 2 secondes sur une connexion de 5 Mbs depuis n’importe où dans le monde.
Capacité – Avec des changements négligeables, le logiciel devrait être capable de gérer 3 millions d’enregistrements de transactions.
Légal – Le système doit être conforme à la législation GDPR, y compris la possibilité de créer des rapports et/ou de supprimer des dossiers personnels sous réserve d'une demande spécifique.
Convivialité – Le site Web doit être conforme aux WCAG 2.2 niveau A