Techniques d'estimation - Processus de comptage FP

Le processus de comptage FP implique les étapes suivantes -

  • Step 1 - Déterminez le type de comptage.

  • Step 2 - Déterminez la limite du comptage.

  • Step 3 - Identifier chaque processus élémentaire (EP) requis par l'utilisateur.

  • Step 4 - Déterminez les EP uniques.

  • Step 5 - Mesurer les fonctions de données.

  • Step 6 - Mesurer les fonctions transactionnelles.

  • Step 7 - Calculer la taille fonctionnelle (nombre de points de fonction non ajusté).

  • Step 8 - Déterminer le facteur d'ajustement de la valeur (VAF).

  • Step 9 - Calculer le nombre de points de fonction ajusté.

Note- Les caractéristiques générales du système (GSC) sont rendues facultatives dans la CPM 4.3.1 et déplacées vers l'appendice. Par conséquent, les étapes 8 et 9 peuvent être ignorées.

Étape 1: Déterminez le type de comptage

Il existe trois types de comptage de points de fonction -

  • Nombre de points de la fonction de développement
  • Nombre de points de fonction d'application
  • Nombre de points de la fonction d'amélioration

Nombre de points de la fonction de développement

Les points de fonction peuvent être comptés à toutes les phases d'un projet de développement, de l'exigence à la mise en œuvre. Ce type de décompte est associé à de nouveaux travaux de développement et peut inclure les prototypes, qui peuvent avoir été nécessaires comme solution temporaire, qui prend en charge l'effort de conversion. Ce type de comptage est appelé comptage de points de fonction de base.

Nombre de points de fonction d'application

Le nombre d'applications est calculé en tant que points de fonction livrés et exclut tout effort de conversion (prototypes ou solutions temporaires) et les fonctionnalités existantes qui ont pu exister.

Nombre de points de la fonction d'amélioration

Lorsque des modifications sont apportées au logiciel après la production, elles sont considérées comme des améliorations. Pour dimensionner ces projets d'amélioration, le nombre de points de fonction est ajouté, modifié ou supprimé dans l'application.

Étape 2: Déterminez la limite du décompte

La limite indique la frontière entre l'application mesurée et les applications externes ou le domaine utilisateur. (Reportez-vous à la figure 1)

Pour déterminer la limite, comprenez -

  • Le but du comptage de points de fonction
  • Portée de l'application mesurée
  • Comment et quelles applications conservent quelles données
  • Les domaines d'activité qui prennent en charge les applications

Étape 3: Identifier chaque processus élémentaire requis par l'utilisateur

Composez et / ou décomposez les exigences fonctionnelles des utilisateurs en la plus petite unité d'activité, qui satisfait à tous les critères suivants -

  • Est significatif pour l'utilisateur.
  • Constitue une transaction complète.
  • Est autonome.
  • Laisse l'activité de l'application comptée dans un état cohérent.

Par exemple, l'exigence fonctionnelle de l'utilisateur - «Gérer les informations sur les employés» peut être décomposée en activités plus petites telles que l'ajout d'un employé, le changement d'employé, la suppression d'un employé et la demande de renseignements sur l'employé.

Chaque unité d'activité ainsi identifiée est un Processus Élémentaire (PE).

Étape 4: Déterminez les processus élémentaires uniques

En comparant deux EP déjà identifiés, comptez-les comme un EP (même EP) s'ils -

  • Nécessite le même ensemble de DET.
  • Nécessite le même ensemble de FTR.
  • Exiger le même ensemble de logique de traitement pour terminer le PE.

Ne divisez pas un EP avec plusieurs formes de logique de traitement en plusieurs Eps.

Par exemple, si vous avez identifié «Ajouter un employé» comme un PE, il ne doit pas être divisé en deux PE pour tenir compte du fait qu'un employé peut ou non avoir des personnes à charge. Le PE est toujours «Ajouter un employé», et il existe des variations dans la logique de traitement et les DET pour tenir compte des personnes à charge.

Étape 5: Mesurer les fonctions de données

Classez chaque fonction de données en tant qu'ILF ou EIF.

Une fonction de données doit être classée comme un -

  • Fichier logique interne (ILF), s'il est conservé par l'application à mesurer.

  • Fichier d'interface externe (EIF) s'il est référencé, mais non géré par l'application mesurée.

Les ILF et les FEI peuvent contenir des données commerciales, des données de contrôle et des données basées sur des règles. Par exemple, la commutation téléphonique est composée des trois types: données commerciales, données de règles et données de contrôle. Les données d'entreprise sont l'appel réel. Les données de règle indiquent comment l'appel doit être acheminé sur le réseau et les données de contrôle indiquent comment les commutateurs communiquent entre eux.

Considérez la documentation suivante pour compter les ILF et les FEI -

  • Objectifs et contraintes du système proposé.
  • Documentation concernant le système actuel, si un tel système existe.
  • Documentation des objectifs, problèmes et besoins perçus par les utilisateurs.
  • Modèles de données.

Étape 5.1: Comptez les DET pour chaque fonction de données

Appliquez les règles suivantes pour compter les DET pour ILF / EIF -

  • Comptez un DET pour chaque champ non répété identifiable par un utilisateur unique conservé dans ou extrait de l'ILF ou du FEI via l'exécution d'un EP.

  • Ne comptez que les DET utilisés par l'application qui sont mesurés lorsque deux ou plusieurs applications gèrent et / ou référencent la même fonction de données.

  • Comptez un DET pour chaque attribut requis par l'utilisateur pour établir une relation avec un autre ILF ou EIF.

  • Examinez les attributs associés pour déterminer s'ils sont regroupés et comptés comme un seul DET ou s'ils sont comptés comme plusieurs DET. Le regroupement dépendra de la manière dont les PE utilisent les attributs dans l'application.

Étape 5.2: Comptez les RET pour chaque fonction de données

Appliquez les règles suivantes pour compter les RET pour ILF / EIF -

  • Comptez un RET pour chaque fonction de données.
  • Comptez un RET supplémentaire pour chacun des sous-groupes logiques supplémentaires suivants de DET.
    • Entité associative avec des attributs non clés.
    • Sous-type (autre que le premier sous-type).
    • Entité attributive, dans une relation autre qu'obligatoire 1: 1.

Étape 5.3: Déterminez la complexité fonctionnelle de chaque fonction de données

RETS Types d'élément de données (DET)
1-19 20-50 >50
1 L L UNE
2 à 5 L UNE H
> 5 UNE H H

Complexité fonctionnelle: L = Faible; A = Moyenne; H = Élevé

Étape 5.4: Mesurer la taille fonctionnelle pour chaque fonction de données

Complexité fonctionnelle Compte FP pour ILF Compte FP pour FEI
Faible sept 5
Moyenne dix sept
Haute 15 dix

Étape 6: Mesurer les fonctions transactionnelles

Pour mesurer les fonctions transactionnelles, voici les étapes nécessaires -

Étape 6.1: classer chaque fonction transactionnelle

Les fonctions transactionnelles doivent être classées comme une entrée externe, une sortie externe ou une enquête externe.

Entrée externe

L'entrée externe (EI) est un processus élémentaire qui traite des données ou des informations de contrôle provenant de l'extérieur de la frontière. L'intention principale d'un EI est de maintenir un ou plusieurs ILF et / ou de modifier le comportement du système.

Toutes les règles suivantes doivent être appliquées -

  • Les données ou informations de contrôle sont reçues de l'extérieur de la limite de l'application.

  • Au moins un ILF est maintenu si les données entrant dans la limite ne sont pas des informations de contrôle qui modifient le comportement du système.

  • Pour le PE identifié, l'une des trois déclarations doit s'appliquer -

    • La logique de traitement est unique par rapport à la logique de traitement exécutée par d'autres EI pour l'application.

    • L'ensemble des éléments de données identifiés est différent des ensembles identifiés pour les autres IE dans l'application.

    • Les ILF ou EIF référencés sont différents des fichiers référencés par les autres EI de l'application.

Sortie externe

La sortie externe (EO) est un processus élémentaire qui envoie des données ou des informations de contrôle en dehors des limites de l'application. L'OE comprend un traitement supplémentaire au-delà de celui d'une enquête externe.

L'intention principale d'un EO est de présenter des informations à un utilisateur via une logique de traitement autre que ou en plus de l'extraction de données ou d'informations de contrôle.

La logique de traitement doit -

  • Contiennent au moins une formule mathématique ou un calcul.
  • Créez des données dérivées.
  • Gérez un ou plusieurs ILF.
  • Modifiez le comportement du système.

Toutes les règles suivantes doivent être appliquées -

  • Envoie des données ou des informations de contrôle externes à la limite de l'application.
  • Pour le PE identifié, l'une des trois déclarations doit s'appliquer -
    • La logique de traitement est unique par rapport à la logique de traitement exécutée par d'autres EO pour l'application.
    • L'ensemble des éléments de données identifiés est différent des autres OE dans l'application.
    • Les ILF ou EIF référencés sont différents des fichiers référencés par d'autres EO dans l'application.

De plus, l'une des règles suivantes doit s'appliquer:

  • La logique de traitement contient au moins une formule mathématique ou un calcul.
  • La logique de traitement gère au moins un ILF.
  • La logique de traitement modifie le comportement du système.

Enquête externe

L'enquête externe (EQ) est un processus élémentaire qui envoie des données ou des informations de contrôle en dehors de la limite. L'intention principale d'un EQ est de présenter des informations à l'utilisateur par la récupération de données ou d'informations de contrôle.

La logique de traitement ne contient ni formule mathématique ni calcul et ne crée aucune donnée dérivée. Aucun ILF n'est maintenu pendant le traitement, et le comportement du système n'est pas modifié.

Toutes les règles suivantes doivent être appliquées -

  • Envoie des données ou des informations de contrôle externes à la limite de l'application.
  • Pour le PE identifié, l'une des trois déclarations doit s'appliquer -
    • La logique de traitement est unique par rapport à la logique de traitement effectuée par d'autres égaliseurs pour l'application.
    • L'ensemble des éléments de données identifiés est différent des autres EQ de l'application.
    • Les ILF ou EIF référencés sont différents des fichiers référencés par d'autres EQ dans l'application.

De plus, toutes les règles suivantes doivent s'appliquer -

  • La logique de traitement récupère des données ou des informations de contrôle à partir d'un ILF ou d'un EIF.
  • La logique de traitement ne contient pas de formule mathématique ou de calcul.
  • La logique de traitement n'altère pas le comportement du système.
  • La logique de traitement ne gère pas d'ILF.

Étape 6.2: compter les DET pour chaque fonction transactionnelle

Appliquez les règles suivantes pour compter les DET pour les IE -

  • Examinez tout ce qui traverse (entre et / ou sort) la frontière.

  • Comptez un DET pour chaque attribut non répété identifiable par l'utilisateur unique qui traverse (entre et / ou sort) la limite pendant le traitement de la fonction transactionnelle.

  • Ne comptez qu'un seul DET par fonction transactionnelle pour la possibilité d'envoyer un message de réponse d'application, même s'il y a plusieurs messages.

  • Ne comptez qu'un seul DET par fonction transactionnelle pour la possibilité d'initier une ou des actions même s'il existe plusieurs moyens de le faire.

  • Ne comptez pas les éléments suivants comme des DET -

    • Attributs générés dans la limite par une fonction transactionnelle et enregistrés dans un ILF sans sortir de la limite.

    • Littéraux tels que les titres de rapport, les identifiants d'écran ou de panneau, les en-têtes de colonne et les titres d'attribut.

    • Les tampons générés par l'application, tels que les attributs de date et d'heure.

    • Variables de pagination, numéros de page et informations de positionnement, par exemple «Lignes 37 à 54 sur 211».

    • Des aides à la navigation telles que la possibilité de naviguer dans une liste en utilisant «précédent», «suivant», «premier», «dernier» et leurs équivalents graphiques.

Appliquez les règles suivantes pour compter les DET pour les EO / EQ -

  • Examinez tout ce qui traverse (entre et / ou sort) la frontière.

  • Comptez un DET pour chaque attribut non répété identifiable par l'utilisateur unique qui traverse (entre et / ou sort) la limite pendant le traitement de la fonction transactionnelle.

  • Ne comptez qu'un seul DET par fonction transactionnelle pour la possibilité d'envoyer un message de réponse d'application, même s'il y a plusieurs messages.

  • Ne comptez qu'un seul DET par fonction transactionnelle pour la possibilité d'initier une ou des actions même s'il existe plusieurs moyens de le faire.

  • Ne comptez pas les éléments suivants comme des DET -

    • Attributs générés dans la limite sans franchir la limite.

    • Littéraux tels que les titres de rapport, les identifiants d'écran ou de panneau, les en-têtes de colonne et les titres d'attribut.

    • Les tampons générés par l'application, tels que les attributs de date et d'heure.

    • Variables de pagination, numéros de page et informations de positionnement, par exemple «Lignes 37 à 54 sur 211».

    • Des aides à la navigation telles que la possibilité de naviguer dans une liste en utilisant «précédent», «suivant», «premier», «dernier» et leurs équivalents graphiques.

Étape 6.3: Comptez les FTR pour chaque fonction transactionnelle

Appliquez les règles suivantes pour compter les FTR pour les IE -

  • Comptez un FTR pour chaque ILF maintenu.
  • Comptez un FTR pour chaque lecture ILF ou EIF pendant le traitement de l'EI.
  • Comptez un seul FTR pour chaque ILF qui est à la fois maintenu et lu.

Appliquez la règle suivante pour compter les FTR pour les EO / EQ -

  • Comptez un FTR pour chaque lecture ILF ou EIF pendant le traitement d'EP.

De plus, appliquez les règles suivantes pour compter les FTR pour les EO -

  • Comptez un FTR pour chaque ILF maintenu pendant le traitement d'EP.
  • Comptez un seul FTR pour chaque ILF qui est à la fois maintenu et lu par EP.

Étape 6.4: Déterminez la complexité fonctionnelle de chaque fonction transactionnelle

FTR Types d'élément de données (DET)
1-4 5-15 >=16
0-1 L L UNE
2 L UNE H
> = 3 UNE H H

Complexité fonctionnelle: L = Faible; A = Moyenne; H = Élevé

Déterminez la complexité fonctionnelle pour chaque EO / EQ, à l'exception du fait que l'EQ doit avoir un minimum de 1 FTR -

EQ doit avoir un minimum de 1 FTR

FTR

Types d'élément de données (DET)
1-4 5-15 > = 16
0-1 L L UNE
2 L UNE H
> = 3 UNE H H

Complexité fonctionnelle: L = Faible; A = Moyenne; H = Élevé

Étape 6.5: Mesurer la taille fonctionnelle de chaque fonction transactionnelle

Mesurer la taille fonctionnelle de chaque IE à partir de sa complexité fonctionnelle.

Complexité Compte FP
Faible 3
Moyenne 4
Haute 6

Mesurez la taille fonctionnelle de chaque EO / EQ à partir de sa complexité fonctionnelle.

Complexité Compte FP pour EO Compte FP pour EQ
Faible 4 3
Moyenne 5 4
Haute 6 6

Étape 7: Calculer la taille fonctionnelle (nombre de points de fonction non ajusté)

Pour calculer la taille fonctionnelle, il faut suivre les étapes ci-dessous -

Étape 7.1

Rappelez-vous ce que vous avez trouvé à l'étape 1. Déterminez le type de comptage.

Étape 7.2

Calculez la taille fonctionnelle ou le nombre de points de fonction en fonction du type.

  • Pour le nombre de points de la fonction de développement, passez à l'étape 7.3.
  • Pour le nombre de points de fonction d'application, passez à l'étape 7.4.
  • Pour le nombre de points de la fonction d'amélioration, passez à l'étape 7.5.

Étape 7.3

Le décompte des points de la fonction de développement se compose de deux composants de fonctionnalité -

  • Fonctionnalité de l'application incluse dans les exigences des utilisateurs pour le projet.

  • Fonctionnalité de conversion incluse dans les exigences des utilisateurs pour le projet. La fonctionnalité de conversion consiste en des fonctions fournies uniquement lors de l'installation pour convertir les données et / ou fournir d'autres exigences de conversion spécifiées par l'utilisateur, telles que des rapports de conversion spéciaux. Par exemple, une application existante peut être remplacée par un nouveau système.

DFP = ADD + CFP

Où,

DFP = Nombre de points de la fonction de développement

ADD = Taille des fonctions fournies à l'utilisateur par le projet de développement

CFP = Taille de la fonctionnalité de conversion

ADD = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

CFP = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

Étape 7.4

Calculer le nombre de points de la fonction d'application

AFP = ADD

Où,

AFP = Nombre de points de fonction d'application

ADD = Taille des fonctions fournies à l'utilisateur par le projet de développement (à l'exclusion de la taille de toute fonctionnalité de conversion), ou la fonctionnalité qui existe chaque fois que l'application est comptée.

ADD = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

Étape 7.5

Le nombre de points de fonction d'amélioration prend en compte les quatre composants de fonctionnalité suivants:

  • Fonctionnalité ajoutée à l'application.
  • Fonctionnalité modifiée dans l'application.
  • Fonctionnalité de conversion.
  • Fonctionnalité supprimée de l'application.

EFP = ADD + CHGA + CFP + DEL

Où,

EFP = Nombre de points de la fonction d'amélioration

ADD = Taille des fonctions ajoutées par le projet d'amélioration

CHGA = Taille des fonctions modifiées par le projet d'amélioration

CFP = Taille de la fonctionnalité de conversion

DEL = Taille des fonctions supprimées par le projet d'extension

ADD = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

CHGA = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

CFP = FP Count (ILFs) + FP Count (EIFs) + FP Count (EIs) + FP Count (EOs) + FP Count (EQs)

DEL = FP Count (ILFs) + FP Count (EIFs) + FP COUNT (EIs) + FP Count (EOs) + FP Count (EQs)

Étape 8: Déterminez le facteur d'ajustement de la valeur

Les GSC sont rendus facultatifs dans CPM 4.3.1 et déplacés vers l'appendice. Par conséquent, les étapes 8 et 9 peuvent être ignorées.

Le facteur d'ajustement de la valeur (VAF) est basé sur 14 GSC qui évaluent la fonctionnalité générale de l'application comptée. Les GSC sont des contraintes commerciales des utilisateurs indépendantes de la technologie. Chaque caractéristique a des descriptions associées pour déterminer le degré d'influence.

Caractéristique générale du système Brève description
Données de communication Combien de moyens de communication y a-t-il pour faciliter le transfert ou l'échange d'informations avec l'application ou le système?
Traitement de données distribué Comment les données distribuées et les fonctions de traitement sont-elles gérées?
Performance L'utilisateur a-t-il besoin d'un temps de réponse ou d'un débit?
Configuration très utilisée Dans quelle mesure la plate-forme matérielle actuelle sur laquelle l'application sera exécutée est-elle largement utilisée?
Taux de transaction À quelle fréquence les transactions sont-elles exécutées quotidiennement, hebdomadairement, mensuellement, etc.?
Saisie de données en ligne Quel pourcentage des informations est entré en ligne?
Efficacité de l'utilisateur final L'application a-t-elle été conçue pour être efficace pour l'utilisateur final?
Mise à jour en ligne Combien d'ILF sont mis à jour par transaction en ligne?
Traitement complexe L'application dispose-t-elle d'un traitement logique ou mathématique étendu?
Réutilisabilité L'application a-t-elle été développée pour répondre aux besoins d'un ou de plusieurs utilisateurs?
Facilité d'installation À quel point la conversion et l'installation sont-elles difficiles?
Facilité opérationnelle Dans quelle mesure les procédures de démarrage, de sauvegarde et de récupération sont-elles efficaces et / ou automatisées?
Sites multiples L'application a-t-elle été spécifiquement conçue, développée et prise en charge pour être installée sur plusieurs sites pour plusieurs organisations?
Faciliter le changement L'application a-t-elle été spécifiquement conçue, développée et prise en charge pour faciliter le changement?

Le degré de plage d'influence est sur une échelle de zéro à cinq, de l'absence d'influence à forte influence.

Évaluation Degré d'influence
0 Non présent ou aucune influence
1 Influence accidentelle
2 Influence modérée
3 Influence moyenne
4 Influence significative
5 Forte influence partout

Déterminez le degré d'influence pour chacun des 14 GSC.

La somme des valeurs des 14 GSC ainsi obtenues est appelée degré d'influence total (TDI).

TDI = ∑14 Degrees of Influence

Ensuite, calculez le facteur d'ajustement de la valeur (VAF) comme

VAF = (TDI × 0.01) + 0.65

Chaque GSC peut varier de 0 à 5, TDI peut varier de (0 × 14) à (5 × 14), soit 0 (lorsque toutes les GSC sont faibles) à 70 (lorsque toutes les GSC sont élevées) soit 0 ≤ TDI ≤ 70. Par conséquent, le VAF peut varier dans la plage allant de 0,65 (lorsque toutes les GSC sont faibles) à 1,35 (lorsque toutes les GSC sont élevées), c'est-à-dire 0,65 ≤ VAF ≤ 1,35.

Étape 9: Calculer le nombre de points de fonction ajusté

Selon l'approche FPA qui utilise le VAF (versions CPM antérieures à V4.3.1), cela est déterminé par,

Adjusted FP Count = Unadjusted FP Count × VAF

Où, le nombre de FP non ajusté est la taille fonctionnelle que vous avez calculée à l'étape 7.

Comme le VAF peut varier de 0,65 à 1,35, le VAF exerce une influence de ± 35% sur le nombre de FP ajusté final.

Avantages des points de fonction

Les points de fonction sont utiles -

  • En mesurant la taille de la solution au lieu de la taille du problème.

  • Les exigences étant la seule chose nécessaire pour le nombre de points de fonction.

  • Comme il est indépendant de la technologie.

  • Comme il est indépendant des langages de programmation.

  • Dans l'estimation des projets de test.

  • En estimant les coûts globaux du projet, le calendrier et les efforts.

  • Dans les négociations de contrat, car il fournit une méthode de communication plus facile avec les groupes d'entreprises.

  • Comme il quantifie et attribue une valeur aux utilisations, interfaces et objectifs réels des fonctions du logiciel.

  • En créant des ratios avec d'autres métriques telles que les heures, le coût, l'effectif, la durée et d'autres métriques d'application.

Dépôts FP

International Software Benchmarking Standards Group (ISBSG) développe et gère deux référentiels de données informatiques.

  • Projets de développement et d'amélioration
  • Applications de maintenance et d'assistance

Il y a plus de 6 000 projets dans le répertoire des projets de développement et d'amélioration.

Les données sont fournies au format Microsoft Excel, ce qui facilite l'analyse ultérieure que vous souhaitez en faire, ou vous pouvez même utiliser les données à d'autres fins.

La licence de référentiel ISBSG peut être achetée auprès de - http://www.isbsg.com/

ISBSG offre 10% de réduction aux membres IFPUG pour les achats en ligne lorsque le code de réduction «IFPUGMembers» est utilisé.

Les mises à jour ISBSG Software Project Data Release peuvent être trouvées sur - http://www.ifpug.org/isbsg/

COSMIC et IFPUG ont collaboré pour produire un glossaire des termes pour les logiciels non fonctionnels et les exigences du projet. Il peut être téléchargé sur - cosmic-sizing.org