Accueil > FR > Informations générales > Stages > Conception d’un plugin d’évaluation de points de fonction

Conception d’un plugin d’évaluation de points de fonction

Profil Etudiant(e) en cours de bac en informatique (stage ou travail de fin d’étude)
Prérequis Bonnes notions de génie logiciel et connaissance de javascript/JAVA.
Durée Minimum 12 semaines

Contexte

Le Point de Fonction (PF) mesure la taille d’un logiciel en quantifiant les fonctionnalités offertes aux utilisateurs, en se basant seulement sur la modélisation logique et les spécifications fonctionnelles donc en amont de l’implémentation. L’estimation et la mesure de la taille fonctionnelle des logiciels permet notamment de disposer d’une méthode d’estimation du temps de développement de nouveaux projets.

COSMIC, COmmon Software Measurement International Consortium, est une des méthodes d’estimation de taille fonctionnelle les plus récentes et les plus performantes. COSMIC est conforme à la norme ISO/IEC 19761. La méthode rencontre un succès croissant chez les industriels. Elle se base sur des critères objectifs et scientifiques pour l’estimation de la taille fonctionnelle d’un logiciel.

D’une part, COSMIC exploite de l’information présente dans un cahier de charges, donc préalablement à tout développement. D’autre part l’analyse du cahier de charges met fréquemment en évidence des problèmes lié à celui-ci (information manquante, imprécise,...) et nécessite des phases d’itération.

L’idée du travail est d’intégrer dans la phase d’élaboration du cahier de charge certaines contraintes liées à l’analyse COSMIC afin que tout l’information soit disponible pour produire une évaluation COSMIC. Les avantages sont multiples :

  • l’analyse COSMIC est produit à coût réduit, au sein même de l’équipe qui produit les spécifications
  • l’analyse peut même être couplée à un outil d’ingénierie des exigences basé sur des modèles (voir figure ci-dessous)
  • la qualité du cahier de charges est améliorée et guidée par des éléments d’information précis à fournir

Travail à réaliser

Le travail consistera en l’implémentation d’un outil de point de fonction qui prendra la forme d’un plug-in pour un outil web d’ingénierie des exigences illustré ci-dessous. Le travail pourra s’appuyer sur des algorithmes déjà documentés et prototypés dans une autre plateforme.

Le travail portera essentiellement

  • sur la compréhension des algorithmes permettant de calculer les points de fonctions à partir de l’information présente dans un modèle d’exigence basé sur un méta-modèle précis structuré en buts, cas d’utilisation, opérations, entrées, sorties,... Un prototype fonctionnel sera également disponible et servir de base à porter et améliorer.
  • l’implémentation d’un prototype sous forme d’un plug-in du nouvel outil web s’appuyant sur une série de services REST pour interagir avec le modèle d’exigences (technologie EMF) et comprenant les modules suivants :
    • une interface en javascript
    • un services REST de calcul en technologie JAVA
    • un service REST de génération de rapport Excel (voir figure)
  • la validation sur plusieurs exemples de complexité croissantes, certains issus d’étude réelles

Le travail de programmation ne devrait pas être trop complexe car la plateforme fournit une interface de programmation efficace. Un but sera aussi de la valider avec les développeurs de l’outil qui pourront l’améliorer en fonction du retour du/de la stagiaire.

Informations complémentaires

Le travail se fera en interaction avec à la fois les experts de la méthodes et l’architecture de l’outil. Il impliquera aussi des contacts avec la société Respect-IT dans le cadre de la collecte de besoin et de la validation du plugin.

Références

- points de fonctions
- COSMIC
- Objectiver
- EMF

Contact : Christophe Ponsard (christophe.ponsard@cetic.be)