IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels



Documents pareils
IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Secteur bancaire Enjeux d image

Web Analytics. des Visiteurs en Ligne? Raquel de los Santos, Business Consultant Forum emarketing 2012

La situation en matière de pension privées et de fonds de pension dans les pays de l OCDE

Notes de mise à jour. 4D v11 SQL Release 2 (11.2) Notes de mise à jour

IFT6251 : Sujets spéciaux en génie logiciel

Les bases de données

Estimation des charges. «Le travail se dilate jusqu à remplir le temps disponible»

Les classes de service pour les projets scientifiques

PIB : Définition : mesure de l activité économique réalisée à l échelle d une nation sur une période donnée.

ICC septembre 2012 Original : anglais. tendances de la consommation du café dans certains pays importateurs.

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Cours Bases de données

Une plateforme logicielle pour une gestion colorimétrique globale

Case study Méthodologie d enquête et développement d une Great Place To Work

Click to edit Master title style. Yann Ferouelle Microsoft France

OpenPaaS Le réseau social d'entreprise

ENV ANB. EC1 Eurocode EN

Tendances Clés du Marché des Réseaux Sociaux

INTRODUCTION AUX BASES de DONNEES

La question sociale globale et les migrations. Présentation de Jean Michel Severino aux semaines sociales, 28 Novembre 2010

Notes de cours : bases de données distribuées et repliquées

REPÈRES ÉCONOMIQUES POUR UNE RÉFORME DES RETRAITES JUILLET 2015

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

CENTRE DE POLITIQUE ET D ADMINISTRATION FISCALES

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Speexx Basic Anglais, Français, Allemand, Italien, Espagnol,

11 Février 2014 Paris nidays.fr. ni.com

Estimer et mesurer la performance des projets agiles avec les points de fonction

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Systèmes d information et bases de données (niveau 1)

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Co-CAC, rotation : quel avenir pour l audit?

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Présentation du PL/SQL

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

CHAPITRE 1 ARCHITECTURE

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

TP Contraintes - Triggers

Fiche signalétique d un service de téléphonie mobile version du 24/08/2012

Les ressources numériques

Rapport de certification

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Pentaho Business Analytics Intégrer > Explorer > Prévoir

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Évaluation et implémentation des langages

A QUOI SERVENT LES BASES DE DONNÉES?

v i e L engagement est une force Prêts à grandir ensemble? Volontariat Entreprise International

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2011/2012

Le succès du multicanal intégré en assurance auto Séminaire innovation CHEA 5 mai 2011

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

GUIDE Excel (version débutante) Version 2013

Notes de mise à jour. 4D v11 SQL Release 3 (11.3) Notes de mise à jour

Mercredi 15 Janvier 2014

Repoussez vos frontières

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Programme cours ProConcept ERP

Conférences téléphoniques et Web. Manuel d instructions

Canada-Inde Profil et perspective

Fiche produit ifinance v4

230 HÔTELS, 230 STYLES, 1 ESPRIT DE SERVICE

SE RENDRE VISIBLE EN 2015?

La clé USB nomade - La mobilité logicielle

Environnements de développement (intégrés)

Tutoriel de formation SurveyMonkey

Concevoir un modèle de données Gestion des clients et des visites

CHIFFRES CLÉS. IMport

Les Licences Libres Ouverture et Protection des Logiciels. Plan

Politique de conformité relative à la lutte contre la corruption et la Loi sur les manœuvres frauduleuses étrangères

La gestion des données de référence ou comment exploiter toutes vos informations

SCI6052 Information documentaire numérique École de bibliothéconomie et des sciences de l information

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Bases de données relationnelles : Introduction

Workshop 1 La dématérialisation des factures. Comment en finir avec les factures papier?

Logiciel Libre & qualité. Présentation

Afin de valider votre inscription merci de bien veiller à :

ICOS Integrated Carbon Observing System

Tutoriel code::blocks

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Service de dématérialisation de factures

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Bases de données pour la recherche : quels enjeux et quel rôle pour les patients?

WHITE PAPER Une revue de solution par Talend & Infosense

Avec le traitement Swissvax votre carrosserie a droit au meilleur lavage grâce à notre shampooing à base de noix de coco et au ph neutre.

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

The impacts of m-payment on financial services Novembre 2011

Introduction à la B.I. Avec SQL Server 2008

Présentation pour le secteur bancaire

EN BLANC AVANT IMPRESSION»»»

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

1 Modélisation d une base de données pour une société de bourse

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Éléments de programmation et introduction à Java

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Transcription:

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels Yann-Gaël Guéhéneuc Professeur adjoint guehene@iro.umontreal.ca, local 2345 Département d informatique et de recherche opérationnelle Université de Montréal Yann-Gaël Guéhéneuc 2006

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 2/57

Objectifs (1/2) Les points de fonction (PF) quantifient les fonctionnalités offertes par un programme à ses utilisateurs 3/57

Objectifs (2/2) Les PF mesurent les fonctionnalités Que le client a demandé et a reçu Indépendamment des technologies utilisées Les PF fournissent Un moyen d estimer la taille d un programme Une métrique de qualité et productivité Une base normalisée de comparaison 4/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 5/57

Histoire (1/5) Un bref historique des PF 1950 La valeur économique d un programme de gestion est mesurée en LOC produites 1979 Allan Albrech (IBM) propose l évaluation des programmes avec les PF 1984 Allan Albrech complète son approche, introduit des facteurs d ajustement, développe un méthode d évaluation de la complexité 6/57

Histoire (2/5) Un bref historique des PF 1986 Le IFPUG voit le jour à Toronto 1988 Les PF sont utilisées comme base pour la négociation et l octroi de contrats par le gouvernement des États-Unis d Amérique 1989 Apparition d outils pour calculer les PF de spécifications fonctionnelles 1989 Les PF servent à quantifier la valeur de programmes et de technologies vieillissantes 7/57

Histoire (3/5) Un bref historique des PF 1991 Publication des moyennes nationales de productivité et de qualité des États-Unis d Amérique avec les PF 1992 Apparition d outils pour calculer les PF par analyse syntaxique du code 1992 Utilisation des PF pour quantifier les actifs en programmes d entreprises vendues 8/57

Histoire (4/5) Un bref historique des PF 1993 Utilisation des PF pour analyser le potentiel d utilisation d outils de génie logiciel, de gestion de projet, d assurance de la qualité 1993 Utilisation des PF pour comparer des données sur la qualité et la productivité provenant de 60 pays 1993 Utilisation des PF pour des contrats internationaux 9/57

Histoire (5/5) Un bref historique des PF 1994 Extension des PF à la mesure de la taille des données et de l information 1994 Utilisation des PF pour mesurer la productivité d activités non-logicielles 1995 10/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 11/57

PF et COBOL Saviez-vous que 85% des programmes de gestion d affaires mondiaux sont en COBOL 90 000 développeurs COBOL existent (encore) aux États-Unis d Amérique 200 milliards de lignes de code COBOL tournent (encore) dans le monde 35% du développement de nouvelles applications d affaires est en COBOL 59% des systèmes d information du Ministère de la guerre des États-Unis d Amérique sont en COBOL 12/57

COBOL Langage de programmation dédié Aux traitements des données en lots À l impression de rapports Langage développé 1959 CODASYL Committee (COnference on DAta SYstems Languages) Normalisé par l American National Standards Institute Plusieurs normes (et compilateurs) : 68, 74, 85 et 08 13/57

COBOL Langage de programmation structurée Pas d objets Portée lexicale d une variable à tous les modules d un même programme Appels à des bibliothèques de modules (sousprogrammes dédiés) Langage de programmation évolué Syntaxe proche de la langue anglaise Module d écriture des rapports (Report Writer Module) 14/57

COBOL Mais les espacements et les formats données sauvegardées sont très (trop) importants! Mais grand différence entre un programme interactif et un programme de traitements en lots 15/57

COBOL Structure d un programme Identification division Identifie et documente le programme Environment division Définit les noms de fichiers et les équipements spécifiques à la machine utilisées Data division Définit les formats d entrée et de sortie et les variables Procedure division Contient les instructions 16/57

COBOL Structure d un programme 17/57

COBOL Ecriture d un programme 18/57

COBOL IDENTIFICATION DIVISION. PROGRAM-ID. Multiplier. AUTHOR. Michael Coughlan. * Example program using ACCEPT, DISPLAY and MULTIPLY to * get two single digit numbers from the user and multiply them DATA DIVISION. WORKING-STORAGE SECTION. 01 Num1 PIC 9 VALUE ZEROS. 01 Num2 PIC 9 VALUE ZEROS. 01 Result PIC 99 VALUE ZEROS. PROCEDURE DIVISION. DISPLAY "Enter first number (1 digit) : " WITH NO ADVANCING. ACCEPT Num1. DISPLAY "Enter second number (1 digit) : " WITH NO ADVANCING. ACCEPT Num2. MULTIPLY Num1 BY Num2 GIVING Result. DISPLAY "Result is = ", Result. STOP RUN. 19/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 20/57

PF et LOC (1/2) Comparaison Langage Nombre de PF Nombre de LOC Préparation Implantation Effort total LOC/mois/personnes PF/mois/personnes Assembleur 30 10 000 5 personnes/mois 5 personnes/mois 10 personnes/mois 1 000 3,00 COBOL 30 3 000 5 personnes/mois 3 personnes/mois 8 personnes/mois 375 3,75 21/57

PF et LOC (2/2) Les PF décrivent mieux la productivité que les LOC 22/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 23/57

Étapes de calcul des PF (1/8) Six étapes Réunir la documentation des experts Délimiter les frontières du programme Compter les PF des données Compter les PF des transaction Évaluer le facteur d ajustement Calculer les PF ajustés Documenter les choix d interprétation!!! 24/57

Étapes de calcul des PF (2/8) Six étapes Réunir la documentation des experts Formats de rapports Format d écran Modèles des traitements Modèles des données Dictionnaire des données 25/57

Étapes de calcul des PF (3/8) Six étapes Délimiter les frontières du programme Utilisateur Interrogations Extrants Intrants Programme Dépôts internes Intrants Extrants Interrogations Autre programme Dépôts externes 26/57

Étapes de calcul des PF (4/8) Six étapes Compter les PF des données Exemples de dépôts internes Base de données internes au programme Fichiers maîtres Données de sauvegarde demandées par l utilisateur Exemples de dépôts externes Base de données partagée (en lecture) Message d aide Message d erreur stockés à l extérieur du programme 27/57

Étapes de calcul des PF (5/8) Six étapes Compter les PF des transactions Exemples d intrants Données transactionnelles Écran d ajout, de modification, de retrait Exemples d extrants Transfert de données vers un autre programme Rapports, graphiques Exemples d interrogations Écran de connexions avec mot de passe Écran d aide 28/57

Étapes de calcul des PF (6/8) Six étapes Évaluer le facteur d ajustement 14 facteurs d influence Échelle de Lickert à 6 degrés Degré total d influence Voir les ressources sur le site web pour télécharger la liste des facteurs d influence, leurs degrés et des exemples 29/57

Étapes de calcul des PF (7/8) Six étapes Calculer les PF ajustés VAF = DTI 0,01 + 0,65 PFA = PF VAF DTI : degré total d influence VAF : valeur d ajustement des facteurs PFA : points de fonction ajustés 30/57

Étapes de calcul des PF (8/8) Six étapes Ne pas oublier de documenter les choix d interprétation faits!!! 31/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 32/57

Types de PF et frontières (1/4) Types de PF PF d un programme existant Mesure des fonctionnalités fournies présentement aux utilisateurs PF d un programme en développement Mesure des fonctionnalités qui seront fournies aux utilisateurs PF d un programme en maintenance Mesure les fonctionnalités changées (ajout, modification, retrait) 33/57

Types de PF et frontières (2/4) Frontières entre le programme à mesurer et les programmes «externes» Frontières de l étendue à mesurer Propriétaire des données Relations entre les traitements (intrants et extrants) 34/57

Types de PF et frontières (3/4) Frontières entre le programme à mesurer et les programmes «externes» Exprimées du point de vue de l utilisateur Alignées sur les fonctions d affaires perçues par l utilisateur 35/57

Types de PF et frontières (4/4) Frontières entre le programme à mesurer et les programmes «externes» Pour un programme Frontières stables correspondant à la façon de le programme est entretenu Pour un programme en développement Détermination par les spécifications Pour un programme en maintenance Frontières déjà établies, ne pas créer de nouvelles frontières 36/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Étapes de calcul des PF 6. Types de PF et frontières 7. Composantes des PF 8. Estimation par PF 37/57

Composantes des PF (1/11) Les fonctionnalités d un programme sont déterminées par le «quoi» livré, pas par le «comment» Les fonctionnalités comptées sont visibles par l utilisateur Données Transactions 38/57

Composantes des PF (2/11) Utilisateur Interrogations Extrants Intrants Programme Dépôts internes Intrants Extrants Interrogations Autre programme Dépôts externes 39/57

Composantes des PF (3/11) Données Dépôts internes Ensemble logique de données entretenues à l intérieur des frontières du programme Fichier, base de données Dépôts externes Ensemble logique de données entretenues à l extérieur des frontières du programme Données reçues de, envoyées à, ou partagées avec un autre programme Inclus bibliothèques de code (I/O, maths ) 40/57

Composantes des PF (4/11) Données Complexité pour les dépôts internes et externes Nombre d attributs 1 à 19 20 à 50 51 et plus Record elements 1 S S M 2 à 5 S M C > 5 M C C Poids pour les dépôts internes S = 7 ; M = 10 ; C = 15 Poids pour les dépôts externes S = 5 ; M = 7 ; C = 10 41/57

Composantes des PF (4/11) Données Les record elements, ou groupe logique de données (GLD), groupent ensemble les attributs. 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 GLD, il faut considérer la vue utilisateur et ne pas présumer qu un fichier physique égale un fichier logique. (cf. www.rad.fr/pfp.htm) Complexité pour les dépôts internes et externes Nombre d attributs 1 à 19 20 à 50 51 et plus Record elements 1 S S M 2 à 5 S M C > 5 M C C Poids pour les dépôts internes S = 7 ; M = 10 ; C = 15 Poids pour les dépôts externes S = 5 ; M = 7 ; C = 10 41/57

Composantes des PF (5/11) Transactions Intrants Fonctionnalités de saisie et de mise à jour (ajout, modification, retrait) des données dans les dépôts internes Chaque format d entrée qui fournit des données distinctes au programme est compté Clavier, ligne de communication, autre programme Unique data and or control inputs 42/57

Composantes des PF (6/11) Transactions Intrants Complexité pour les intrants (et interrogations à «majorité intrant») Nombre d attributs 1 à 4 5 à 15 16 et plus Fichiers référencés < 2 S S M 2 S M C > 2 M C C Poids pour les intrants (et interrogations) S = 3 ; M = 4 ; C = 6 43/57

Composantes des PF (7/11) Transactions Extrants Fonctionnalités de reproduction des données contenues dans les dépôts internes et externes Chaque format de sortie qui fournit des données distinctes à l utilisateur ou à un autre programme est compté Unique data and or control outputs 44/57

Composantes des PF (8/11) Transactions Extrants Complexité pour les extrants (et interrogations à «majorité extrant») Nombre d attributs 1 à 5 6 à 19 20 et plus Fichiers référencés < 2 S S M 2 à 3 S M C > 3 M C C Poids pour les extrants S = 4 ; M = 5 ; C = 7 Poids pour les interrogations à «majorité extrant» S = 3 ; M = 4 ; C = 6 45/57

Composantes des PF (9/11) Transactions Interrogations Fonctionnalités d accès direct en lecture aux données contenues dans les dépôts qui demandent une réponse immédiate Composées d une entrée et d une sortie, la plus complexe des deux est compté Ne fait pas de mise à jour des dépôts internes Uniquement des extractions de données Pas de données dérivées (calculées en sortie) 46/57

Composantes des PF (10/11) Utilisateur Interrogations Extrants Intrants Programme Dépôts internes Intrants Extrants Interrogations Autre programme Dépôts externes 47/57

Composantes des PF (11/11) Grille de calcul des points de fonction Composante Simple Moyen Complexe Résultat Intrants I1 3 I2 4 I3 6 Extrants E1 4 E2 5 E3 7 Dépôts internes DI1 7 DI2 10 DI3 15 Dépôts externes DE1 5 DE2 7 DE3 10 Interrogations R1 3 R 2 4 R3 6 Total des points de fonction (non ajustés) 48/57

Les points de fonction 1. Objectifs 2. Histoire 3. PF et COBOL 4. PF et LOC 5. Types de PF et frontières 6. Composantes des PF 7. Étapes de calcul des PF 8. Estimation par PF 49/57

Estimation par PF (1/8) Utiliser les données historiques pour estimer le nombre de jour de travail par point de fonction Facteurs de productivité Métriques de productivité Métriques de qualité Coûts en novembre 2000 50/57

Estimation par PF (2/8) Facteurs de productivité Durée du projet Expérience du chef de projet Nouvelle méthodologie Nouveaux langages / outils 51/57

Estimation par PF (3/8) Facteurs de productivité Exemple Meilleur chef de projet de la ville : 0,8 Équipe peu expérimentée : 1,10 Effet total : 0,8 1,10 = 0,88 Estimée nominale : 3,5 jours/pf Estimée ajustée : 3,5 0,88 = 3,08 jours/pf 52/57

Estimation par PF (4/8) Métriques de productivité «Taille» d un programme : Σ PF Croissance : Σ PF sur une période donnée Taux de productivité : Effort / PF Taux de soutient : PF / Effort 53/57

Estimation par PF (5/8) Métriques de qualité Ratio de stabilité 1 - Σ Modifications / Σ PF Ratio du coût de réparation Temps de modification Coût horaire / PF 54/57

Estimation par PF (6/8) Coûts en novembre 2000 Coûts par point de fonction aux États-Unis d Amérique «Légers» «Complet» End-user Software $150 $250 Information Systems Software $600 $1,000 Outsourced Software $550 $1,500 Commercial Software $1,000 $1,700 Systems Software $1,200 $2,000 Military Software $2,500 $5,000 Moyenne $1,000 $1,908 55/57

Estimation par PF (7/8) Coûts en novembre 2000 Pays 1. Japan 2. Sweden 3. Switzerland 4. France 5. United Kingdom 6. Denmark 7. Germany 8. Spain 9. Italy 10. United States Coût net par points de fonction en dollars U.S. $1,600 $1,500 $1,450 $1,425 $1,400 $1,350 $1,300 $1,200 $1,150 $1,000 56/57

Estimation par PF (8/8) Coûts en novembre 2000 Pays 1. India 2. Pakistan 3. Poland 4. Hungary 5. Thailand 6. Indonesia 7. Venezuela 8. Columbia 9. Mexico 10. Argentina Coût net par points de fonction en dollars U.S. $125.00 $145.00 $155.00 $175.00 $180.00 $185.00 $190.00 $195.00 $200.00 $250.00 57/57