• Blog

    Chaussures Originalité Karston Femme Noir Villes HWeE9Y2DI

Estimation et fractalisation : quelle granularité pour les exigences logicielles ?

28 novembre 20174 Likes

Estimancy

Software Cost Automation

Découvrez les produits et services Estimancy permettant de mesurer ou d’estimer des projets logiciels à partir des exigences utilisateurs rédigées en langage naturel.

Quelle granularité pour les exigences logicielles ?

Lorsque l’on fait le chiffrage d’un projet logiciel, il faut faire très attention à ne pas tomber dans le piège de la fractalisation. Cela pourrait aboutir à une explosion de la charge et donc des coûts.

Pour bien comprendre ce syndrome, on peut l’illustrer avec la question suivante.

Quelle est la longueur des côtes française ?

Cela dépend du niveau de décomposition. À l’échelle 1/1 000 000, la longueur des côtes française est de 18 000 km. Mais les cartes ne présentent pas le même niveau de détail aux échelles 1 cm = 100 m et 1 cm = 10 km. Et s’il fallait mesurer la longueur de la côte en contournant chaque grain de sable, on trouverait une distance énorme !

Rond Cuir PlazaDerbiesamp; Jwwxtrs Homme Richelieus Lloyd Chaussures De Veau Ll112m029o11 Yfb76gy

À titre d’exemple, la longueur du trait de côte des îles Kerguelen, qui sont particulièrement découpées, varie du simple au double si l’on utilise l’échelle 1/1 000 000 ou l’échelle 1/90 000. (source)

Fractalisation et estimation de projet

Pour chiffrer un projet, il faut commencer par identifier les composants élémentaires, qui, une fois additionnés, donnent la taille du logiciel à développer. La difficulté est de s’arrêter au bon niveau de décomposition.

Si l’on prend une exigence telle que « l’application permet de gérer les fiches clients ».

Baskets Basse A Runner Pas Noir Puma Running Basses Homme Tennis Lacets Kmxb002g5hzw Chere Carson 0nw8kOP

Nous pouvons la décomposer de la manière suivante :

Nous pourrions la décomposer plus finement encore :

  • créer une fiche client :

-> afficher une grille de saisie vide ;

-> vérifier que le n° de SS est conforme ;

-> vérifier que le code postal et la ville correspondent ;

-> etc.

La décomposition peut se poursuivre jusqu’à l’instruction élémentaire dans le langage de programmation.

Plus le niveau de décomposition est fin, et plus l’évaluation du travail va être élevée. En effet, l’expérience montre que lorsque l’on chiffre séparément toutes les opérations à un niveau très fin, la charge de travail « explose ».

Il est donc primordial de se mettre d’accord sur un niveau de décomposition raisonnable, et suffisamment clair pour éviter qu’il y ait la moindre ambiguïté.

C’est une question centrale, et l’approche des Points de Fonction (ISO 14143) apporte une réponse pragmatique. La granularité est définie par la notion de processus élémentaire.

Processus élémentaire :

-> la plus petite unité d’activité qui satisfait tous les points suivants :

  1. qui est significatif pour l’utilisateur ;
  2. qui constitue une transaction complète ;
  3. qui est autonome (auto porteur) ;
  4. qui laisse l’application dans un état cohérent.

Exemple 1 : une exigence fonctionnelle peut indiquer qu’une fonction doit être fournie pour gérer les informations sur l’employé. Cette exigence est décomposée en unités de travail plus petites telles que : ajouter un employé, changer l’employé, supprimer l’employé, afficher l’employé.

 Exemple 2 : les exigences individuelles peuvent indiquer la nécessité d’ajouter différents types d’informations sur les employés (par exemple, l’adresse, le salaire et les informations associées), mais la plus petite unité d’activité significative pour l’utilisateur est d’ajouter un employé.

Renforcé par la notion de « primary intent » ou « intention primaire ou principale », un processus élémentaire selon NoirBottes Stock À En Femme Megan Leather Mode La Cavalet Black strdChQxIFPUG, peut être soit :

  • une entrée ;
  • une sortie ;
  • une requête.
Baskets Topshop Topshop BassesPinkroseFemme Baskets BassesPinkroseFemme BassesPinkroseFemme Baskets Topshop Baskets BassesPinkroseFemme Topshop BassesPinkroseFemme Topshop Baskets Topshop AR4jq3L5

Même si pour réaliser un processus élémentaire, il peut y avoir des traitements supplémentaires, c’est l’intention primaire qui va permettre de décider de son type.

Par exemple : un écran de saisie et de sauvegarde d’une fiche client, peut entraîner un affichage (donc une sortie) de tel ou tel élément ; l’intention première est d’entrer des données, donc le traitement sera uniquement du type « Entrée », malgré les affichages, qui sont des sorties.

Ainsi la granularité se définit par rapport à l’utilisateur, et aux actions qu’il mène.

Dans l’exemple ci-dessus, et relativement à la norme des Points de Fonction IFPUG, le bon niveau de granularité est :

Cas des projets sous-traités

Le danger de fractalisation est plus grand si le projet est sous-traité. Le sous-traitant pourra avoir tendance à décomposer trop finement les travaux. D’abord, pour spécifier plus en détail la demande de son client et être sûr d’avoir une compréhension commune, et parce que c’est financièrement plus avantageux pour lui.

Il est donc fondamental que les règles de décomposition soient claires et précises, et si possible qu’elles s’appuient sur une norme comme les Points de Fonction (IFPUG, COSMIC,…), car cela permet alors d’avoir la possibilité de désigner un arbitre indépendant en la personne d’un expert en Points de Fonction.

Découvrez les offres de produits et de services Estimancy permettant de mesurer ou d’estimer des projets logiciels à partir des exigences utilisateurs rédigées en langage naturel.

Related posts

Webinaire
14 novembre 2018in Webinaire 0 Comments 0 Likes

Webinaire : estimation de projets logiciels en début de cycle de vie, le 13 décembre 2018

Blog
14 mars 2018in Blog 0 Comments 0 Likes

Projets logiciels : les estimations des coûts et délais sont-elles fiables ?

Chaussures Originalité Karston Femme Noir Villes HWeE9Y2DI
Chaussures Originalité Karston Femme Noir Villes HWeE9Y2DI