En travaillant avec un client, on doit créer un design d’infrastructure et rendu à un certain point certains besoins et caractéristiques requises doivent être définies. Ces besoins se divisent en deux catégories: Fonctionnel et non-fonctionnel.
Fonctionnel
« Ce que le système doit faire »
Une fonction requise que le système DOIT être en mesure d’accomplir
Fonction spécifique
– Règle d’affaires
– Fonction administrative
– Suivi des audits, autorisation, connexion externe
– Certification requise, Rapports
– Suivi de l’historique, données historiques, légales ou régulatrices
Exemples:
– Le serveur applicatif doit accepter 1000 requêtes par jour.
– Le système d’authentification doit écrire toutes les transactions dans un fichier journal.
Non-Fonctionnel
« Comment le système doit se comporter »
Un critère ou une caractéristique qui doit permettre de juger le fonctionnement du système
Une contrainte sur le comportement du système
Tout ce qui n’est pas couvert par le coté Fonctionnel.
– Performance, Fiabilité, Adaptabilité, Extensibilité, Recouvrement, Capacité, Disponibilité, Maintenance, Sécurité
Bref, si on peut mettre une caractéristique de performance, c’est non-fonctionnel.
Exemples:
– Le serveur applicatif doit accepter 1000 requêtes par jour et les traiter en 5 ms.
– Le serveur applicatif doit accepter 1000 requêtes par jour et ne jamais utiliser plus de 10% de CPU.
– Le système d’authentification doit écrire toutes les transactions dans un fichier journal hautement disponible.