web-dev-qa-db-fra.com

Quelle est la différence entre exigence fonctionnelle et non fonctionnelle?

Quelle est la différence entre les exigences fonctionnel et non fonctionnel dans le contexte de la conception d'un système logiciel?

Donnez des exemples pour chaque cas.

252
Omid7

Une exigence fonctionnelle décrit quoi un logiciel doit faire, alors que des exigences non fonctionnelles imposent des contraintes sur comment ​​le système le fera.

Laissez-moi élaborer.

Un exemple d'exigence fonctionnelle serait:

  • Un système doit envoyer un courrier électronique chaque fois qu'une certaine condition est remplie (par exemple, une commande est passée, un client s'inscrit, etc.).

Une exigence connexe non fonctionnelle pour le système peut être:

  • Les courriels doivent être envoyés avec une latence maximale de 12 heures après une telle activité.

L'exigence fonctionnelle est décrivant le comportement du système en ce qui concerne les fonctionnalités du système. L'exigence non fonctionnelle élabore une caractéristique de performance du système.

Généralement, les exigences non fonctionnelles relèvent de domaines tels que:

  • Accessibilité
  • Capacité, actuelle et prévue
  • Conformité
  • Documentation
  • Reprise après sinistre
  • Efficacité
  • Efficacité
  • Extensibilité
  • Tolérance aux fautes
  • L'interopérabilité
  • Maintenabilité
  • Intimité
  • Portabilité
  • Qualité
  • Fiabilité
  • Résistance
  • Temps de réponse
  • La robustesse
  • L'évolutivité
  • Sécurité
  • La stabilité
  • Supportabilité
  • Testabilité

Une liste plus complète est disponible à l'entrée de Wikipedia pour exigences non fonctionnelles .

Les exigences non fonctionnelles sont parfois définies en termes de métriques (c'est-à-dire quelque chose que l'on peut mesurer sur le système) pour les rendre plus tangibles. Les exigences non fonctionnelles peuvent également décrire des aspects du système qui ne concernent pas son exécution, mais plutôt son évolution dans le temps (par exemple, la maintenabilité, l'extensibilité, la documentation, etc.).

478
LBushkin

les exigences fonctionnelles sont les principales choses que l'utilisateur attend du logiciel. Par exemple, si l'application est une application bancaire, cette application doit pouvoir créer un nouveau compte, mettre à jour le compte, supprimer un compte, etc. Les exigences fonctionnelles sont détaillées et spécifiées. dans la conception du système

L'acquisition non fonctionnelle n'est pas une exigence directe du système, mais plutôt liée à la facilité d'utilisation (d'une manière ou d'une autre). Par exemple, pour une application bancaire, une exigence non fonctionnelle majeure sera la disponibilité. L'application devrait être disponible 24 heures sur 24, 7 jours sur 7, sans temps mort. si possible.

30
pulasthi

Exigences fonctionnelles

  1. Les exigences fonctionnelles spécifient une fonction qu'un système ou un composant système doit pouvoir exécuter. Il peut être documenté de différentes manières. Les plus courants sont les descriptions écrites dans les documents et les cas d'utilisation.

  2. Les cas d'utilisation peuvent être des listes d'énumération textuelles ainsi que des diagrammes décrivant les actions de l'utilisateur. Chaque cas d'utilisation illustre des scénarios comportementaux à travers une ou plusieurs exigences fonctionnelles. Cependant, souvent, un analyste commence par générer un ensemble de cas d'utilisation, à partir duquel il peut déduire les exigences fonctionnelles devant être implémentées pour permettre à un utilisateur d'effectuer chaque cas d'utilisation.

  3. Les exigences fonctionnelles sont ce qu'un système est censé accomplir . C'est possible

    • Calculs
    • Détails techniques
    • Manipulation de données
    • Traitement de l'information
    • Autres fonctionnalités spécifiques
  4. Une exigence fonctionnelle typique contiendra un nom et un numéro uniques, un bref résumé et une justification. Cette information est utilisée pour aider le lecteur à comprendre pourquoi cette exigence est nécessaire et pour suivre cette exigence tout au long du développement du système.

Prérogatives non fonctionnelles

LBushkin ont déjà expliqué plus en détail les exigences non fonctionnelles. Je vais ajouter plus.

  1. Les exigences non fonctionnelles sont des exigences autres que les exigences fonctionnelles. Ce sont les exigences qui spécifient les critères pouvant être utilisés pour juger du fonctionnement d'un système, plutôt que de comportements spécifiques .

  2. Les exigences non fonctionnelles sont sous la forme de "système doit être" , propriété générale du système dans son ensemble ou d'un aspect particulier et non pas fonction spécifique. Les propriétés globales du système marquent généralement la différence entre le succès ou l'échec du projet de développement.

  3. Exigences non fonctionnelles - peuvent être divisées en deux catégories principales:

    • Qualités d'exécution , telles que la sécurité et la convivialité, qui sont observables au moment de l'exécution.
    • Qualités d'évolution , telles que la testabilité, la maintenabilité, l'extensibilité et l'évolutivité, qui sont incorporées dans la structure statique du logiciel.
  4. Les exigences non fonctionnelles imposent des restrictions sur le produit en cours de développement, le processus de développement et spécifient les contraintes externes que le produit doit respecter.
  5. Le IEEE-Std 830 - 199 répertorie 13 besoins non fonctionnels à inclure dans un document de configuration logicielle.
  1. Exigences de performance
  2. Exigences d'interface
  3. Exigences opérationnelles
  4. Besoins en ressources
  5. Exigences de vérification
  6. Conditions d'acceptation
  7. Exigences de documentation
  8. Exigences de sécurité
  9. Exigences de portabilité
  10. Exigences de qualité
  11. Exigences de fiabilité
  12. Exigences de maintenabilité
  13. Exigences de sécurité

Le fait qu'une exigence soit ou non exprimée en tant qu'exigence fonctionnelle ou non fonctionnelle peut dépendre:

  • sur le niveau de détail à inclure dans le cahier des charges
  • le degré de confiance qui existe entre un client système et un développeur système.

Ex. Un système peut être nécessaire pour présenter à l'utilisateur un affichage du nombre d'enregistrements dans une base de données. C'est une exigence fonctionnelle. La mise à jour [mise à jour] de ce nombre doit être une exigence non fonctionnelle. Si le nombre doit être mis à jour en temps réel, les architectes système doivent s'assurer que le système est capable de mettre à jour le nombre d'enregistrements [affichés] dans un intervalle suffisamment court du nombre d'enregistrements en cours de modification.

Références:

  1. Exigence fonctionnelle
  2. exigence non fonctionnelle
  3. Quantification et traçabilité des exigences
21
Somnath Muluk

Les exigences fonctionnelles sont celles qui sont liées à la fonctionnalité technique du système.

une exigence non fonctionnelle est une exigence qui spécifie des critères qui peuvent être utilisés pour évaluer le fonctionnement d'un système dans des conditions particulières, plutôt que des comportements spécifiques.

Par exemple, si vous considérez un site commercial, ajouter des articles au panier, parcourir différents articles, appliquer des offres et des offres et passer des commandes avec succès relève des exigences fonctionnelles.

Lorsque la performance du système aux heures de pointe, le temps nécessaire au système pour récupérer les données de la base de données, la sécurité des données utilisateur, la capacité du système à gérer si un grand nombre d'utilisateurs se connectent sont soumis à des exigences non fonctionnelles.

7
Maruthi Srinivas

EXIGENCES FONCTIONNELLES les activités que le système doit exécuter

  • utilisations commerciales fonctions que les utilisateurs effectuent
  • cas d'utilisation exemple si vous développez un système de paie fonctions requises
  • générer des transferts de fonds électroniques
  • calcul des montants de commission
  • calculer les charges sociales
  • signaler la déduction fiscale à l'IRS
3
ABDUL

Je pense que exigence fonctionnelle concerne le client du développeur et concerne les fonctionnalités offertes à l'utilisateur par le logiciel et exigence non fonctionnelle correspond au développeur, c'est-à-dire que l'exigence n'est pas donnée par client mais il est fourni par développeur pour faire fonctionner le système en douceur, par exemple sécurité, sécurité, flexibilité, évolutivité, disponibilité, etc.

2
Rajnor D S