denel.com
Mémoires et thèse
Informations
Navigation

I. Présentation de la méthode des points de fonction


1. Objectifs

Les objectifs de cette partie sont de présenter la méthode de comptage suivant la méthode des points de fonction. Les différentes définitions des composants ou termes utilisés par cette méthode sont issus des recommandations et des règles de l’IFPUG.

La méthode présentée dans cette partie s’arrête à un comptage du nombre brut de points de fonction tel qu’il est pratiqué et recommandé à la SNCF. Cette partie peut faire office de référence pour toute personne voulant se renseigner sur cette méthode.

2. Méthode des points de fonction. Recommandations selon l’IFPUG (International Function Points User Group)

Historique

En 1979, Alan Albrecht propose une première version de sa méthode. Cette parution n’a pas été sans réactions. C’était en effet la première fois que l’on proposait une mesure de la production de logicielle basée sur les fonctions utilisateurs. Elle doit aider à prévoir la taille d’un projet, son effort de développement et la productivité du développement informatique.

Albrecht a ainsi développé une métrique indépendante de la technique de développement qui n’a pas les inconvénients du comptage du nombre de lignes de code.

Cette méthode à l’origine était fondée sur quatre entités (entrée, sortie, interrogation, fichiers) sans catégorie de complexité avec un intervalle d’ajustement de +/- 25%. Depuis 1984, les comptages se font a partir des entités entrées, sorties, interrogations, données externes et internes, avec pour chacune de ces entités un niveau de complexité simple, moyen ou élevé.

En 1986, a été fondé l’IFPUG (International Function Points User Group) pour assurer la plus grande diffusion de cette méthode tout en garantissant son adéquation aux besoins des utilisateurs et sa normalisation. La méthode de comptage en points de fonction est décrite en détail dans le " Counting Practices Manual ".

De même en France, la FFUP (French Function Point User’s Group) créée en 1992 a la même vocation.

Le point de fonction est maintenant normalisé par l’AFNOR, sous la référence normative expérimentale XP Z 67-160.

Albrecht émet l’hypothèse qu’il existe une relation entre le nombre de points de fonction et la charge de développement. Le passage du nombre de points de fonction à la charge peut se faire par multiplication par un ratio dépendant du type de projet, par régression linéaire, régression exponentielle…

3. Définition du contexte

3.1. Frontières de l’application

Utiliser la cartographie applicative pour identifier les limites de l’application à mesurer.

Ces limites définissent :

>un ensemble de fonctions du métier identifiables et comprises par l’utilisateur

>des frontières stables, correspondant à la façon dont l’application est maintenue

>elles mettent en évidence les échanges de données entre l’intérieur et l’extérieur de l’application

>elles définissent la base des autres mesures (efforts, coût, défauts…)

La notion d’application pour la mesure en points de fonction.

D’une entreprise a l’autre la notion d’application traduit parfois des notions très différentes. Ceci peut avoir des conséquences sensibles sur la façon de déterminer les frontières ou les limites des applications à mesurer.

Comment définir la notion d’application pour une mesure en points de fonction :

>Une application correspond au plus petit ensemble de fonctionnalités formant un tout cohérent pour l’utilisateur

>C’est un ensemble cohérent dans une entreprise considérée, compte tenu de son métier et de l’organisation de ses utilisateurs

>Le périmètre de l’application définit le plus petit ensemble de fonctionnalités qui doivent être conjointement gérées pour répondre aux besoins des utilisateurs

>Aucune considération technologique, ou considération liée a l’organisation des équipes de maintenance, n’est déterminante pour fixer les frontières de l’application.

Il est normal que le périmètre d’une application varie d’une entreprise à l’autre en fonction de son organisation et de sa façon de répondre aux besoins fonctionnels de ses utilisateurs. La taille d’une application doit rester équilibrée. Il est normal que les applications soient interfacées entre elles.

3.2. Identification de l’utilisateur

Les points de fonction mesurent ce que l’utilisateur a demandé et reçu. Il faut identifier l’utilisateur.

L’identification de l’utilisateur est dépendante des objectifs de la mesure et modifie le périmètre de la mesure. Par exemple :

>pour la mesure d’un progiciel, seules les fonctionnalités utilisées par l’utilisateur doivent être considérées

>lors de la mesure d’un développement, toutes les fonctionnalités livrées dans le cadre du projet sont prises en compte

Les règles de l’IFPUG font référence à la notion de vue utilisateur, on parle aussi de utilisateur expérimenté.

3.3. Règles et procédures des frontières du comptage

La frontière est déterminée sur la base du point de vue utilisateur. L’important est de se concentrer sur ce que l’utilisateur peut comprendre et décrire.

La frontière entre des applications qui sont liées ne doit pas être basée sur des considérations technologiques mais sur la séparation des fonctions de gestion telles qu’elles sont vues par l’utilisateur.

4. Définition des différents composants utilisés par la méthode des points de fonction

4.1. Définitions des GDE et GDI

Le terme identifiable par l’utilisateur dans les définitions des GDE et des GDI désigne un ensemble de données liées à un niveau tel qu’un utilisateur expérimenté puisse identifier ces données comme répondant à un besoin d’utilisateur de l’application

La notion de vue utilisateur correspond a une vision fonctionnelle des processus élémentaires et données ou ensemble de données susceptibles.

La participation aux mesures en points de fonction d’utilisateurs expérimentés peut aider à prendre du recul par rapport aux contraintes techniques auxquelles peut se confronter un informaticien. Mais l’opinion d’un utilisateur n’est déterminante que si elle est justifiée par une meilleure perception du fonctionnel.

4.2. Groupe logique de données internes [ GDI ]

Définition :

Groupe de données liées logiquement, ou de paramètres de contrôle identifiables par l’utilisateur, mis à jour et utilisés à l’intérieur de la frontière de l’application.

Les groupes de données maintenus par plusieurs applications sont comptés dans chacune des applications où ils apparaissent , avec dans chacune les attributs qui leur sont propres.

Pour le comptage on peut partir d’un modèle de données (considérer les entités, les relations porteuses de données ou n-aires), d’une liste de fichiers physiques, d’une liste de segments tables dans un SGBD. Chacun de ces objets peut être candidat à être un GDI, il faut considérer la vue utilisateur et ne pas présumer qu’un fichier physique égale un fichier logique.

4.3. Groupe de données externes [ GDE ]

Définition :

Groupe de données liées logiquement, ou de paramètre de contrôle, identifiables par l’utilisateur, utilisés par l’application, mis à jour par une autre application.

4.4. Les entrées

Définitions :

Données ou paramètres de contrôle qui

>entrent dans l’application

>maintiennent un ou plusieurs GDI

>initialisent ou contrôlent un traitement

>font l’objet d’un traitement unique

Remarque

Le support peut être un écran, une disquette, une bande, un fichier disque…

Un écran peut conduire à plusieurs Entrées et inversement une entrée peut conduire à plusieurs écrans.

Si on peut lancer le même traitement par plusieurs moyens (par exemple commande " A ", " Add " ou " Ajout "…), il s’agit toujours d’une même Entrée.

4.5. Les sorties

Définition

Données ou paramètres de contrôle qui

>sortent de l’application

>sont le résultat d’un traitement unique autre qu’un simple traitement d’extraction de données

Remarques :

Le support peut être du papier, un écran, une disquette, une bande, un fichier disque…

Regarder les sorties au niveau logique (vue utilisateur) et pas au niveau physique ; une sortie physique peut en effet correspondre à plusieurs Sorties et inversement, plusieurs sorties physiques peuvent correspondre à une seule Sortie.

Si on peut lancer un traitement par plusieurs moyens (par exemple commande " E " ou " Editer ", touche de fonction), il s’agit toujours d’une même Sortie.

4.6. Les interrogations

Définition

Combinaison Entrée-Sortie qui :

>ne fait pas de mise à jour de GDI

>ne résulte pas d’un traitement autre que des extractions de données

>ne contient pas de données dérivées (calculées en sortie)

4.7. Résumé

Les différents types de composants de la méthode sont illustrés par le schéma ci-dessous :

Schéma de résumé de la méthode des points de fonction
Figure 1 : Composants de la méthode des points de fonction

5. Définition des complexités de chaque composant

5.1. Les niveaux de complexité

Pour chaque composant (données ou traitements), on détermine le niveau de complexité :

>faible
>moyen
>élevé

Pour chaque composant, le niveau de complexité se détermine de la même façon. Pour chaque composant, on utilise une matrice dont les entrées lui sont propres mais qui reposent sur un comptage simple.

Pour chaque Groupe logique de Données Internes et chaque Groupe logique de Données Externes, on utilise :
>le nombre de Sous-ensemble Logique de Données
>le nombre de Données Elémentaires

Pour chaque Entrée et chaque Sortie, on utilise :
>le nombre de Groupes logiques de Données Référencés
>le nombre de Données Elémentaire

Pour chaque Interrogation, on évalue :
>la complexité de la partie Entrée
>la complexité de la partie Sortie
puis on garde le maximum de ces deux évaluations comme niveau de complexité de l’Interrogation.

5.2. Complexité des groupes logiques de données (GDI et GDE)

Le niveau de complexité est déterminé par le nombre de Sous-ensemble Logique de Données (SLD) et de Données Elémentaires du groupe logique de données.

Les SLD sont des sous groupements de GDI (GDE) fondés sur la vue logique de l’utilisateur des données. Les DE sont des zones non récurrentes que l’utilisateur peut reconnaître et qui figurent dans le GDI (GDE).

Un SLD est un sous-groupe de données non manipulé indépendamment. Si plusieurs entités ne sont manipulées qu’ensemble, elles comptent pour un seul groupe logique de données, ce groupe étant composés de plusieurs SLD.

Une DE est un attribut au sens de MERISE. Les zones qui apparaissent plusieurs fois dans un même GDI pour des raisons techniques, ne sont comptées qu’une seule fois.

Tableau 1 : Matrice niveau de complexité GDE/GDI

5.3. Complexité d’une entrée ou partie entrée d’une interrogation

Le niveau de complexité d’une Entrée est déterminé par le nombre de Groupe de Données Référencées (GDR) et de DE de l’Entrée ou de la partie Entrée de l’Interrogation

Nombre de GDR :

>le Groupe logique de Données Internes mis à jour par l’Entrée

>le Groupe logique de Données Internes consultés par l’Entrée

>le Groupe logique de Données Externes consultés par l’Entrée

Seules les DE mis à jour par l’Entrée sont comptabilisées.

Tableau 2 : Matrice niveau de complexité d’une Entrée ou partie Entrée d'une Interrogation

5.4. Complexité d’une sortie ou partie sortie d’une interrogation

Le niveau de complexité d’une Sortie est déterminé par le nombre de Groupe de Données Référencées (GDR) et de DE de la Sortie ou de la partie Sortie de l’Interrogation

Nombre de GDR :

>le Groupe logique de Données Internes consulté par la Sortie

>le Groupe logique de Données Externes consulté par la Sortie

Le nombre de DE est celui de DE utilisées par la Sortie.

Tableau 3 : Matrice niveau de complexité d’une Sortie ou partie Sortie d’une Interrogation

6. Calcul des points de fonction

Comptage des points de fonction bruts.

Le calcul se fait en sommant pour chaque type de composant, les composants ayant même niveau de complexité. Chaque nombre est ensuite multiplié par le poids correspondant. On réalise ensuite les sous-totaux et le total général des points de fonction bruts.

Tableau 4 : Grille de complexité

7. Résumé du comptage en nombre brut de points de fonction

On peut résumer les différentes étape d’un comptage par le schéma ci dessous :

Comptage brut
Figure 2 : Etape de comptage en points de fonction

 

 

 

 

 

 

 

 

 

 

 

 

 

Dernière modification, le 11/07/2006