Arrière-plan

Les points de fonction COSMIC sont une unité de mesure de la taille fonctionnelle du logiciel. Il existe d'autres façons d'évaluer la taille d'un logiciel, mais COSMIC Sizing est l'approche la plus universelle, la plus significative et la plus utile. La taille fonctionnelle est cohérente quelle que soit la technologie utilisée pour la construire. La taille peut être estimée ou, si toutes les exigences sont disponibles, mesurée. L'estimation précoce est très utile pour planifier et gérer les efforts logiciels (projets ou gestion de produits). Le processus de mesure de la taille d’un logiciel est appelé mesure de la taille fonctionnelle (FSM). La mesure de la taille fonctionnelle COSMIC est applicable aux logiciels d'entreprise, aux logiciels temps réel et aux logiciels d'infrastructure à tout niveau de décomposition (d'un système logiciel entier jusqu'à un seul composant réutilisable ou une user story). La taille fonctionnelle (y compris les points de fonction COSMIC – CFP) est indépendante de la technologie ou des processus utilisés pour développer le système. COSMIC est une norme ISO. Il s'agit d'une amélioration raffinée par rapport à ses prédécesseurs (IFPUG et Mark II FP). L'unité de taille est le COSMIC Function Point ou CFP.

Les usages

Une fois que vous avez mesuré (ou estimé) la taille en points de fonction COSMIC, vous pouvez ensuite l'utiliser comme métrique de base pour :

  • Estimer l’effort de développement
  • Estimer la durée du projet
  • Estimer la qualité du projet réalisation
  • Estimer l'effort de test
  • Déplacement de la portée du contrôle
  • Comme base pour les contrats à prix fixe
  • Évaluer le coût de remplacement d’un actif logiciel
  • Estimer les coûts de maintenance et de remplacement
  • Évaluer l’atteinte de la qualité (taux d’élimination des défauts)
  • et plus..
Norme d'ingénierie

COSMIC est une norme internationale de mesure de la taille des logiciels : ISO/IEC 19761:2011.

Pourquoi estimer la taille ?

Nous estimons la taille du logiciel à l'avance pour de nombreuses raisons, notamment :
  1. À évaluer la viabilité de faire le travail.
  2. À redimensionner l'équipe et consacrer suffisamment de temps pour effectuer un travail de qualité.
  3. À connaître le coût, lors de l'évaluation des propositions d'externalisation.
  4. À savoir quand est-ce que ça sera fait ?
  5. À prévisions de défauts (potentiel, découverte et suppression)
  6. À réduire le risque. Si nous estimons bien, nous pouvons éviter que le projet $1m ne devienne un problème $3m.

Basé sur des principes

La méthode de dimensionnement COSMIC Function Point de mesure des besoins logiciels repose sur deux grands principes :

1. Le « modèle de contexte logiciel »

Définit le logiciel à mesurer

  • Le logiciel est limité au matériel et généralement structuré en couches.
  • Le portée de tout logiciel à mesurer dépendra de la but de la mesure et doit être entièrement confiné dans une seule couche.
  • Le utilisateurs fonctionnels d'un logiciel à mesurer doit être identifié à partir de ses exigences fonctionnelles d'utilisateur (FUR) en tant qu'expéditeurs et/ou destinataires prévus des données vers/depuis le logiciel respectivement..
  • Une mesure précise de la taille COSMIC d'un logiciel nécessite que sa FUR soit connue à un moment donné. niveau de granularité à laquelle il est processus fonctionnels et des sous-processus peuvent être identifiés.
  • Une mesure approximative de la taille COSMIC est possible si ses FUR sont mesurées à un niveau élevé de granularité par une approche d'approximation et mises à l'échelle au niveau de granularité des processus fonctionnels.

2. Le « modèle logiciel générique »

Concepts génériques applicables à tous les logiciels

  • Un logiciel interagit avec ses utilisateurs fonctionnels à travers un frontière, et avec stockage persistant à l'intérieur de la limite.
  • Le FUR d'un logiciel peut être mappé en un unique processus fonctionnels.
  • Chaque processus fonctionnel est démarré par son déclenchement de l'Entrée mouvement des données. Le groupe de données déplacé par l'Entrée déclenchante est généré par un utilisateur fonctionnel en réponse à une événement déclencheur.
  • Un processus fonctionnel doit inclure au moins un mouvement de données d'entrée et un mouvement de données d'écriture ou de sortie. Il n'y a pas de limite supérieure au nombre de mouvements de données dans un processus fonctionnelLes points de fonction cosmique sont mesurés à l'aide du modèle logiciel générique
  • Chaque processus fonctionnel consiste en sous-processus, mouvements de données (DM) et manipulations de données.
  • À titre d'approximation à des fins de mesure, la méthode COSMIC suppose que la fonctionnalité de toute manipulation de données est prise en compte par le mouvement de données auquel elle est associée.
  • Il existe quatre types de mouvements de données, Entrée, sortie, écriture et lecture.
  • Un mouvement de données déplace un seul groupe de données, qui consiste en un ensemble unique de attributs de données qui décrivent un seul objet d'intérêt.

Points de fonction cosmiques et modèle de contexte logiciel

Cohérent

COSMIC est basé sur des principes et fonctionne donc sur tout type de logiciel.

Pourquoi nous recommandons COSMIC

Les principes de dimensionnement fonctionnel dans COSMIC s'inspirent du travail original d'Allan Albrecht qui a créé l'idée du point de fonction IFPUG. COSMIc est une refonte qui présente plusieurs avantages par rapport à son prédécesseur :

  1. Il conserve une forte corrélation entre la taille du COSMIC et l’effort.
  2. Il est plus simple à apprendre et à utiliser que ses prédécesseurs.
  3. Il n’est pas nécessaire de connaître toutes les exigences pour effectuer une mesure de taille.
  4. Il est conçu pour les logiciels multicouches
  5. Il est conçu pour les systèmes embarqués ainsi que pour les logiciels d'application
  6. L'estimation COSMIC peut être automatisée avec plus de précision que l'IFPUG.
  7. L'apprentissage et l'utilisation de 100% sont gratuits.

Trois étapes pour compter les points de fonction cosmique

1 Stratégie de mesure – Déterminer le but de la mesure

selon le contexte logiciel défini ci-dessus, par exemple mesurons-nous une application entière ou juste un seul composant/couche. Qui sont les utilisateurs fonctionnels qui interagissent avec le logiciel.

2 Déterminer les paramètres du « Modèle logiciel générique »

À partir des exigences fonctionnelles de l'utilisateur (FUR)

  1. Événements déclencheurs
  2. Les processus fonctionnels
  3. Objets d'intérêt (et groupes de données)
  4. Mouvements de données

3. Comptez les mouvements de données

Pour une nouvelle application : compter les nouveaux mouvements de Données (DM)

Pour les modifications du système : ajoutez les nouveaux DM, les DM modifiés et les DM supprimés.

Et voilà, la somme des DM est le total du CFP !

Mesurer une application

Le plus souvent, nous mesurerons une application entière traitant chaque couche indépendamment, il suffit donc de compter toutes les nouvelles fonctionnalités et vous avez la taille totale.

Définitions

Mot-clé Définition
Processus fonctionnel Un ensemble de mouvements de données… pour le logiciel mesuré, qui est unique au sein de ces FUR et qui peut être défini indépendamment de tout autre processus fonctionnel dans ces FUR.

Chaque processus fonctionnel commence son traitement à la réception d'un groupe de données déplacé par son mouvement de données d'entrée déclencheur.

L'ensemble de tous les mouvements de données d'un processus fonctionnel est l'ensemble qui est nécessaire pour répondre à son FUR pour toutes les réponses possibles à son entrée déclenchante.

Utilisateur fonctionnel les « expéditeurs ou destinataires prévus de données » (peuvent être des systèmes ou des appareils humains ou connectés tels que des capteurs)
Exigence fonctionnelle de l'utilisateur (FUR) Énoncés d'exigences fonctionnelles, par ex. spécification logicielle ou user stories.
Objet d'intérêt toute « chose » (physique ou conceptuelle) dans le monde du utilisateur fonctionnel, sur lequel le logiciel mesuré doit traiter ou stocker/récupérer des données
Groupe de données se compose d'un ou plusieurs attributs de données qui décrivent tous un seul objet d'intérêt
Événement déclencheur Chaque processus fonctionnel est démarré par son déclenchement de l'entrée mouvement des données. Le groupe de données déplacé par l'Entrée déclenchante est généré par un utilisateur fonctionnel en réponse à une événement déclencheur.

Points de fonction COSMIC automatisés

Accélérez votre dimensionnement avec ScopeMaster

Maintenant que nous vous avons présenté les principes et les fondamentaux de la méthodologie de dimensionnement COSMIC, vous aurez envie de l'essayer. Si vous recherchez un raccourci, un moyen rapide d'obtenir une estimation rapide, importez simplement vos histoires dans ScopeMaster et laissez-le faire le travail à votre place. ScopeMaster analyse les user stories écrites et automatise l'estimation de la taille dans COSMIC Function Points (CFP).