IFPUG

IFPUG FP RET DET FTR EO EI EQ ILF EIF UAF VAF GSC Tableaux

Table des matières

Qu'est ce que IFPUG

IFPUG signifie International Function Point User Group et consiste en une méthode de calcul de point de fonction régit par des règles permettant de mieux quantifié des projets et applications. http://www.ifpug.org/

L'analyse par point de fonction à été développé par Allan J. Albrecht au milieu des années 1970. C'était une tentative de surpasser les difficultés associées à l'utilisation du nombre de ligne de code dans l'évaluation de la taille des logiciels, d'assister dans le développement et de prédire les efforts liés au développement.

Haut

Productivité

Avant 1979, il n'y avait pas de définition de "biens et services" pour un projet logiciel. Depuis, A.L. Albrecht d'IBM à publié un papier à propos des points de fonction où il définit les "biens et services" d'un logiciel comme étant les fonctionnalités d'affaires offertes.

La définition de productivité est le ratio d'entrant/sortant sur une période donnée considérant la qualité.

 Productivité = sortants/entrants (sur une période de temps, considérant la qualité)

Haut

Pourquoi utiliser IFPUG?

Gains

  • Communication avec les groupes d'usagers d'affaires
  • Peut réduire le sur-temps
  • Inventorier les transactions et fichiers de l'application/projet
  • Permet de connaître la dimension d'une application/projet
  • Différentes personnes peuvent calculer les points de fonction d'une application et arriver à un nombre semblable (marge d'erreur)
  • Permet d'établir un coût unitaire aux applications/projets offrant un moyen subjectif de comparaison

Haut

Utilisation

  • Défini quand et quoi effectuer une reconfiguration des processus
  • Évaluer les cas de tests
  • Comprendre les éventails de productivités
  • Comprendre la dérive des objectifs
  • Calculer le coût réel des logiciels
  • Estimer le coût global d'un projet, son échéancier et efforts
  • Comprendre les coûts de maintenance
  • Aider lors de la négociation de contrats
  • Comprendre les métriques appropriées

Haut

Quand ne pas utiliser les points de fonction

  • Maintenance (correction de problèmes)
  • Problèmes de performance

Haut

Décompte des points de fonction

Méthodologie

Il faut avoir fait l’analyse fonctionnelle, qui consiste entre autre à dresser la liste des "points de fonction". Ensuite lorsque la liste des fonctionnalités est terminée nous pouvons débuter l'identification des points de fonction.

Haut

Qu'est-ce qu'un point de fonction?

Un point de fonction, c’est une fonctionnalité ou une entité que le logiciel rend disponible.

Un point de fonction, ce n’est pas nécessairement une "fonction" qui fait quelque chose. Un point de fonction peut aussi être le nom d’une table, un fichier, une source de données quelconque...

Haut

Quels sont les types de points de fonction?

Un logiciel est un ensemble de processus inter-reliés. Ils sont tous plus ou moins dépendent les uns des autres. Il existe 2 types de processus élémentaire dans un logiciel:

  • Les données au repos (Data at rest).
    • Internal Logical Files ILF
    • External Interface Files EIF
  • Les données en mouvement (Data in motion)
    • External Inputs EI
    • External Outputs EO
    • External Inquiries EQ

Un processus élémentaire est la plus petite activité qui soit significative pour l'usager. Il doit être indépendant, laisser l'application dans un état de cohérence fonctionnelle et appliquer une logique de traitement unique.

Autre graphique

Haut

Comment évaluer les points de fonction?

  1. Déterminer le type de décompte de point de fonction (Development Project Function Point Count, Enhancement Project Function Point Count et Application Function Point Count)
  2. Déterminer les limites (frontières) de l'application (Boundary)
  3. Identifier et évaluez les types de fonction transactionnelle afin de déterminer leur contribution au décompte de point de fonction non-ajusté. (EI, EO et EQ)
  4. Identifier et évaluez les types de fonction des données afin de déterminer leur contribution au décompte de point de fonction non-ajusté. (ILF et EIF)
  5. Déterminer la valeur du facteur d'ajustement (value adjustment factor - VAF)
  6. Calculer le décompte de point de fonction ajusté FP

Haut

Étapes d'analyse des points de fonction des EI, EO et EQ

Documentation de l'application
Modèle de transactions T1. Identifier les transactions
T2. Type de transaction (EO, EI, EQ)
T3. Nombre de DET et FTR
Modèle de données T3. Nombre de DET et FTR
Règles de FPA
Règles des transactions T1. Identifier les transactions
T2. Type de transaction (EO, EI, EQ)
T3. Nombre de DET et FTR
Complexité des fonctions T4. Déterminer basse/moyenne/élevée
Tables de poids T5. Valeurs déterminées
T6. Faire la somme de toutes les transactions pour obtenir le UAF

Haut

Étapes d'analyse des points de fonction des ILF et EIF

Documentation de l'application
Modèle de transactions T1. Identifier les fichiers
T2. Type de fichier (ILF ou EIF)
T3. Nombre de DET et RET
Modèle de données T1. Identifier les fichiers
T3. Nombre de DET et RET
Règles de FPA
Règles des transactions T1. Identifier les fichiers
T2. Type de fichier (ILF ou EIF)
T3. Nombre de DET et RET
Complexité des fonctions T4. Déterminer basse/moyenne/élevée
Tables de poids T5. Valeurs déterminées
T6. Faire la somme de tous les fichiers pour obtenir le UAF pour fichiers

Haut

Évaluation des RET, DET et FTR:

Tout les composantes sont évaluées selon leur DET et soit leur RET ou FTR.

Composant RET FTR DET
External Inputs (EI) X X
External Outputs (EO) X X
External Inquiries (EQ) X X
External Interface Files (EIF) X X
Internal Logical Files (ILF) X X

Haut

Références

Haut