IFT3902 Développement, maintenance de logiciels



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

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

Le génie logiciel. maintenance de logiciels.

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Ce guide a pour objectif de faciliter le dépôt de candidature et la mise en place du dossier.

ITIL V3. Transition des services : Principes et politiques

Norme internationale d information financière 1 Première application des Normes internationales d information financière

SQLI GROUP Permission de réutiliser tel quel, avec le Copyright

L apprentissage automatique

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5

Autorité de Régulation des Communications électroniques et des Postes

Analyse,, Conception des Systèmes Informatiques

Le temps est venu d implanter un CRM et un système de gestion de la connaissance

Gestion du capital Rapport de vérification final Rapport n o 13/13 17 février 2014

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Vue d ensemble. Initiatives des données. Gestion de la trésorerie. Gestion du risque. Gestion des fournisseurs 2 >>

DISCOUNTED CASH-FLOW

Université de Montréal. Une architecture pour l évaluation qualitative de l impact de la programmation orientée aspect. par Jean-Yves Guyomarc h

IT MARK, une démarche qualité pour l amélioration des processus des PME du secteur des technologies de l information et des communications

Demande d admission au Centre pédagogique Lucien-Guilbault Secteur primaire

Les attentes du marché

L outillage du Plan de Continuité d Activité, de sa conception à sa mise en œuvre en situation de crise

Appendice 2. (normative) Structure de niveau supérieur, texte de base identique, termes et définitions de base communs

Logiciels de Gestion de Projet: Guide de sélection

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Rapport standard analyse des risques/stratégie d audit. Sommaire

Note de service À : De :

Améliorer la Performance des Fournisseurs

Comité Français des Tests Logiciels. Testeur Certifié. Version 2012

Formation des superviseurs de zone, des enquêteurs et des opérateurs de saisie

PROMISAM - II. Formation en Suivi /Evaluation des Plans de Sécurité Alimentaire 2009

Les mathématiques du XXe siècle

PHP 2 Pratique en santé publique fondée sur des données probantes

Formation «Les états COREP : risques de crédit»

JOURNÉE THÉMATIQUE SUR LES RISQUES

sentée e et soutenue publiquement pour le Doctorat de l Universitl

Groupe Eyrolles, 2006, ISBN :

PLAN DE COURS DÉPARTEMENT ÉLECTRONIQUE INDUSTRIELLE. TITRE DU COURS Ordinateur Outil RA 1-4-2

Placements IA Clarington inc. Dan Bastasic Gestionnaire de portefeuille des Fonds IA Clarington stratégiques

Délivrance de l information à la personne sur son état de santé

Elaboration et Suivi des Budgets

Direction des Ressources Humaines 14/10/04 CLASSIFICATION DU GROUPE CREDIT COOPERATIF

Mesurer le succès Service Desk Guide d évaluation pour les moyennes entreprises :

Messagerie collaborative et unifiée de l Inra

GUIDE PRATIQUE. Du provisionnement des emprunts à risques

Construire un tableau de bord par Marc Maisonneuve

Outil : Grille d entretien annuel individuel d évaluation ENTRETIEN ANNUEL

Le système d information en classe de première STMG

Présentation des éléments constitutifs d un plan de relève et de transmission d une entreprise

NORME INTERNATIONALE D AUDIT 330 REPONSES DE L AUDITEUR AUX RISQUES EVALUES

Introduction à ITIL. Un guide d'initiation à ITIL. Tana Guindeba, ing. jr Mars Guintech Informatique. Passer à la première page

Transformation IT de l entreprise ANALYTIQUE: L ÈRE WATSON

Politique de gestion documentaire

Administration canadienne de la sûreté du transport aérien

ITIL v3. La clé d une gestion réussie des services informatiques

La mesure et la gestion des risques bancaires : Bâle II et les nouvelles normes comptables

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

WHITE PAPER Une revue de solution par Talend & Infosense

La valeur présente (ou actuelle) d une annuité, si elle est constante, est donc aussi calculable par cette fonction : VA = A [(1-1/(1+k) T )/k]

Introduction au datamining

Conseils pour l évaluation et l attribution de la note

«Identifier et définir le besoin en recrutement»

PROGRAMMES D ENTRETIEN

NORME INTERNATIONALE D AUDIT 330 PROCÉDURES A METTRE EN ŒUVRE PAR L'AUDITEUR EN FONCTION DE SON ÉVALUATION DES RISQUES

ENVIRONNEMENT NUMÉRIQUE D APPRENTISSAGE TIC PÉDAGOGIE APPRENTISSAGE ENA

GÉREZ VOTRE RELATION CLIENT SANS QUITTER MICRO SOFT OUTLOOK

C ) Détail volets A, B, C, D et E. Hypothèses (facteurs externes au projet) Sources de vérification. Actions Objectifs Méthode, résultats

à moyen Risque moyen Risq à élevé Risque élevé Risq e Risque faible à moyen Risq Risque moyen à élevé Risq

Le point de vue de l UNSA

G&R Europe Distribution 5

Nouvelle norme de révision: Contrôle du rapport de gestion sur les comptes annuels (ou consolidés)

Certification Conseiller Clientèle bancaire

Règlement du Certificate of Advanced Studies en Stratégie et management du système d information (CAS SMSI)

Établissement des taux d actualisation fondés sur la meilleure estimation aux fins des évaluations de provisionnement sur base de continuité

R E G L E M E N T G E N E R I Q U E DES F O R M A T I O N S E P D E S S P E C I A L I S E E S E N S O I N S

CAISSE REGIONALE DU CREDIT AGRICOLE MUTUEL D AQUITAINE

Les «devoirs à la maison», une question au cœur des pratiques pédagogiques

ITIL V3. Objectifs et principes-clés de la conception des services

SOLUTIONS DE PLACEMENT

Numéros commençant par 080 et 081

Annexe de la fiche technique HP Datacenter Care - Flexible Capacity Service

Comment mettre en oeuvre une gestion de portefeuille de projets efficace et rentable en 4 semaines?

I OBJECTIF PROFESSIONNEL DU CQPM

16 conseils afin de constituer une expérience de commerce en ligne réussie

isrs 7 Améliorer la performance Sécurité, Environnement et Opérationnelle

Université de Montréal. Détection visuelle d anomalies de conception dans les programmes orientés objets. par Karim Dhambri

L évaluation de la performance de la communication media

!-.!#- $'( 1&) &) (,' &*- %,!

Développement et assurance de la qualité au sein des Ecoles européennes

L enseignement de méthodes agiles dans un contexte d apprentissage actif

Quelles exigences pour la qualité de la formation à distance?

Politique et Standards Santé, Sécurité et Environnement

Bilan de Santé financière Mango. La gestion financière de votre ONG est-elle saine?

Système de management H.A.C.C.P.

Best Styles ou comment capturer au mieux les primes de risque sur les marchés d actions

Place de Wallonie, 1 à 5100 Jambes Secrétariat : 081/ Accompagnement.recherche@spw.wallonie.be. Guide pratique pour les études de faisabilité

Guide concernant les formulaires Annonce préalable de besoin et Formulation de besoin

10 REPÈRES «PLUS DE MAÎTRES QUE DE CLASSES» JUIN 2013 POUR LA MISE EN ŒUVRE DU DISPOSITIF

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

Transcription:

Département d informatique et de recherche opérationnelle IFT3902 Développement, maintenance de logiciels François Lustman professeur titulaire François Lustman, 2000 1-1

Plan du cours Ch. 1 Concepts avancés du génie logiciel Ch. 2 Introduction à la notion de projet logiciel Ch. 3 Organisation du développement Ch. 4 Planification Ch. 5 Contrôle Ch. 6 Organisation de la maintenance 1-2

1 Concepts avancés du génie logiciel Chapitre 1 Concepts avancés du génie logiciel 1.1 Métriques 1.2 Qualité du logiciel 1.3 Risque 1-3

1.1 Métriques 1.1 Métriques Définitions Différents types de métriques Rôle des métriques en gestion de projet Exemples de métriques 1-4

Définitions IFT3902 Développement, maintenance de logiciels 1.1 Métriques Lorsque vous pouvez mesurer ce dont vous parlez et l exprimer en nombres, vous savez quelque chose à son sujet; mais lorsque vous ne pouvez l exprimer en nombres, votre connaissance est maigre et peu satisfaisante: c est peut-être le début de la connaissance mais dans vos pensées, vous avez à peine progressé jusqu au stade de la science Lord Kelvin (traduction approximative) Mesure logicielle Mesure logicielle: application d un aspect du monde logiciel dans un ensemble, habituellement, un ensemble de nombres. Exemples: KLOC, # erreurs, complexité cyclomatique. Métrique Petit Robert: théorie de la mesure dans un espace. Métrique du logiciel: mesure logicielle + théorie de la mesure sur l espace dans lequel on mesure. Exemple: KLOC: spécifier le langage, quelles lignes compter, ne pas compter A quoi sert une métrique du logiciel A quantifier une propriété du monde logiciel. Exemple: nombre d erreurs dans un programme: permet de quantifier la qualité du programme. 1-5

1.1 Métriques Différentes classifications des métriques Métriques directes/métriques indirectes Métrique directe: Résultat direct de l observation. Exemple: KLOC. Métrique indirecte Résulte d une transformation des résultats de l observation. Exemple: nombre de complexité cyclomatique. Métriques de produit/métriques de processus Métriques de produit Décrivent une propriété du logiciel lui-même. Exemples: KLOC, complexité cyclomatique. Métriques de processus Décrivent une propriété du processus relatif au logiciel (développement, maintenance, tests, etc). Exemples: effort de développement, productivité. 1-6

1.1 Métriques Rôle des métriques en gestion de projet Savoir où on en est (temps, coût, risque). Evaluer le travail effectué (pertinence, quantité, productivité). Evaluer le produit (pertinence, qualité). Détecter des problèmes imminents ou potentiels. Faire des prévisions. L utilisation des métriques est une nécessité pour un chef de projet logiciel. L utilisation de métriques dans un projet doit être prévue à l avance. 1-7

Exemples de métriques Lignes de code (KLOC) Justification existe pour tout projet logiciel, tout le monde connaît, métrique directe, facile à compter. Problèmes IFT3902 Développement, maintenance de logiciels 1.1 Métriques quelles lignes de code (commentaires, lignes blanches, échafaudage)? langage, type de langage? effets pervers. Réalité: métrique très utilisée commentaires, lignes blanches, échafaudages exclus, code réutilisé compté. Exemples d utilisation en gestion de projet estimation d effort, expression de la productivité, mesure de complexité. 1-8

Exemples de métriques Points de fonction (FP) IFT3902 Développement, maintenance de logiciels 1.1 Métriques Proposé par Albrecht et Gafney vers 1980 pour contourner le problème de non-disponibilité des KLOCs au début du projet. Les FPs tentent de compter les fonctionalités attendues du logiciel. Prévus à l origine pour les applications de gestion. Choses à mesurer 1. Type d entrée externe 2. Type de sortie externe 3. Fichier logique 4. Type de fichier d interface externe vers d autres systèmes 5. Type de requète externe Chaque item peut être considéré comme simple, moyen, complexe. Les entreprises ont développé des heuristiques pour classer un type. Habituellement, basé sur le nombre d éléments de données du type considéré. 1-9

1.1 Métriques Points de fonction: grille de calcul Type d'item Nombre Simple Moyen Complexe Résultat Entrées externes * 3 * 4 * 6 Sorties externes * 4 * 5 * 7 Fichiers logiques * 7 * 10 * 15 Interfaces vers d'autres systèmes * 5 * 7 * 10 requètes externes * 3 * 4 * 6 Total des points de fonction non ajustés 1-10

1.1 Métriques Points de fonction: Facteurs d'influence 0: absent ou sans influence 1: influence insignifiante 2: influence modérée 3: influence moyenne 4: influence notable 5: influence très forte 1 Communication de donnée 8 Mise à jour en ligne: 2 Fonctions distribuées: 9 Traitements complexes: 3 Exigences de performance 10 Réutilisation: 4 Configuration très utilisée: 11 Facilité d'installation: 5 Taux de transactions: 12 Facilité d'opération: 6 Saisie de données en ligne 13 Sites multiples: 7 Efficacité pour l'usager: 14 Facilité de changement: TOTAL: 1-11

Points de fonction: Valeur finale IFT3902 Développement, maintenance de logiciels 1.1 Métriques Facteur d ajustement = 0.65 + 0.01* total facteurs d influence FPs = FPs non ajustés * Facteur d ajustement 1-12

1.1 Métriques Métriques orientées-objet (Chidamber et Kemerer) Métrique WMC DIT NOC CBO RFC LCOM Définition Weighted Methods per Class : Somme pondérée de toutes les méthodes de la classe. Pondération : compléxité de la méthode. Si pondération = 1, WMC = nombre de méthodes de la classe. Depth of Inheritance Tree : longueur du chemin le plus long, de la classe à la racine de l arbre d héritage. Number of Children : nombre de classes immédiatement sous la classe dans l arbre d héritage. Coupling Between Object Classes : nombre de classes auquelles la classe considérée est couplée. Deux classes sont couplées si les méthodes de l une utilisent des méthodes ou des variables d instance de l autre. Response for a Class : nombre de méthodes qui peuvent être éxécutées en réponse à un message reçu par la classe, pour tous les messages qu un objet de la classe peut recevoir. Lack of Cohesion of a Class : différence entre le nombre de paires de méthodes ne partageant aucune variable d instance et le nombre de paires de méthodes partageant une ou plusieurs variables d instance. 1-13

1.2 Qualité du logiciel 1.2 Qualité du logiciel Définitions Approches de qualité Le modèle de maturité de processus 1-14

1.2 Qualité du logiciel Définitions de la qualité du logiciel 1 Conformité à des besoins fonctionnels et de performance explicités, à des standards professionnels de développement explicitement documentés, à des caractéristiques implicites attendues de tout logiciel développé de manière professionnelle (traduit de Pressman). Des aspects absents; des aspects pas très clairs. 2 La totalité des caractéristiques d un produit ou service, qui influent sur sa capacité à satisfaire des besoins explicites ou implicites (Sanders et Curran). Ce sont les besoins des usagers qui déterminent les caractérisrtiques importantes de la qualité. Elles peuvent donc varier d un cas à l autre. Tentative de synthèse: Conformité aux besoins qualité du processus de développement conformité à des critères explicités de qualité prise en compte de l après-vente 1-15

1.2 Qualité du logiciel Caractéristiques de qualité Conformité: conforme à la spécification et permet à l usager de remplir sa mission. Fiabilité: aptitude à fonctionner sans pannes. Efficacité: quantité de ressources ordinateur et assimilées requises par le fonctionnement opérationnel. Intégrité: Protection contre les accès non autorisés. Usabilité: facilité d apprentissage, de mémorisation, d emploi. Maintenabilité: Facilité de correction et de modification. Testabilité: facilité de test. Portabilité: facilité de changement de plate-forme. Réutilisabilité: aptitude du logiciel ou de certaines parties à être réutilisées pour d autres applications. Inter-opérabilité: facilité de couplage avec d autres systèmes. 1-16

1.2 Qualité du logiciel Qualité produit/qualité processus Qualité produit: exemples nombre d erreurs résiduelles par unité de temps, temps d attente moyen par transaction Qualité processus: exemples utilisation UML, plan de tests d intégration dérivé de conception générale. Hypothèse implicite à l approche qualité: La qualité d un logiciel est en grande partie déterminée par la qualité du processus utilisé pour le produire et le maintenir. 1-17

Approches de qualité: IFT3902 Développement, maintenance de logiciels 1.2 Qualité du logiciel prévention, détection et correction précoce des erreurs, élimination des causes d erreurs. Pratiques: injection de qualité dans toutes les activités, ajout d activités dédiées à l amélioration de qualité, ajout d activités de contrôle de qualité, évaluation quantitative si possible. 1-18

1.2 Qualité du logiciel Assurance de la qualité du logiciel Définition L assurance de la qualité du logiciel est une approche systématique adoptée par une entreprise afin d obtenir de la qualité dans les logiciels. Organisation Grande entreprise: Groupe AQL. PME: une personne (?) Projet informatique: une personne, une équipe, le chef de projet, suivant la taille du projet. Principales activités Méthodes et techniques. Normes et mise en œuvre. Tests. Mesures. Revues, inspections etc. 1-19

1.2 Qualité du logiciel Le modèle des niveaux de maturité (CMM) Origine SEI (Université Carnégie Mellon). Objectifs évaluer le niveau d aptitude d un centre informatique à produire des logiciels de qualité. Idées sous-jacentes au modèle La qualité d un produit dépend surtout du processus de fabrication. Notion de contrôle statistique: un processus est sous contrôle statistique si sa performance est prévisible dans des limites pré-établies. Principe de base pour contrôle statistique: mesure. Rôle primordial de la gestion. Potentiel d amélioration. Notion de niveau de maturité. 1-20

1.2 Qualité du logiciel Le modèle des niveaux de maturité: description générale du modèle Initial (1) Répétable (2) Défini (3) Géré (4) Optimisé (5) 1-21

1.2 Qualité du logiciel Le modèle des niveaux de maturité: explication des niveaux (1-3) Niveau 1 (initial) Peu de processus, tant du point vue technique que de gestion. Processus ad-hoc, parfois chaotique. Si processus, abandonné en cas de crise. Succès rares, imprévisibles, dûs aux individus. Niveau 2 (répétable) Processus de projet sous contrôle d un système de gestion de projet. Politiques de gestion de projet et procédures d implantation en place. Planification et gestion de projet basées sur expérience. Standards définis et effort suivi. Niveau 3 (défini) Processus standardisé, documenté, intégré dans l entreprise. Caractéristiques d un processus bien définies. Utilisation version adaptée mais approuvée du processus standard. Utilisation de pratiques de génie logiciel. Groupe responsable du processus génie logiciel. Programme de formation à l échelle de l entreprise. 1-22

1.2 Qualité du logiciel Le modèle des niveaux de maturité: explication des niveaux (4,5) Niveau 4 (géré) Processus prévisible car fonctionnant dans limites mesurables. Objectifs quantitatifs de qualité pour produit et processus. Programme de mesures (productivité et qualité) à l échelle de l entreprise. Mesures mises dans BD et analysées. Au niveau projet, contrôle obtenu en diminuant les variations de performance de processus. Niveau 5 (optimisé) Amélioration continuelle du processus (toute l entreprise). Rendue possible par données quantitatives. Les données d efficacité utilisées pour effectuer des analyses coûts-bénéfices des nouvelles technologies. Analyse des fautes pour déterminer leurs causes. 1-23

1.2 Qualité du logiciel Le modèle des niveaux de maturité: discussion Aspects positifs cadre exceptionnel, cadre intégrateur, idées sous-jacentes saines et éprouvées. Aspects discutables trop d emphase sur gestion, absence totale de rôle pour la technique absence totale de considération du rôle de la compétence des humains, taille unique. Et la PME? Lent et cher: environ 2 ans par niveau. Le jeu en vaut-il la chandelle? 1-24

1.3 Risque 1.3 Risque Concept de risque Gestion de risque Analyse de risque Contrôle de risque 1-25

1.3 Risque Concept de risque Concept intuitif Risque: de faire échouer un projet. Idée de risque à priori. Facteur majeur de risque en développement informatique: incertitude. Définition Eventualité d un événement ne dépendant pas exclusivement de la volonté des parties et pouvant causer la perte d un objet ou tout autre dommage. Événement possible. En partie indépendant de la volonté des participants. Conséquences défavorables. 1-26

1.3 Risque Catégories de risques Catégorie Éléments à risque Exemple Risque projet côut, échéance dépassement de délais Risque technique facettes techniques convivialité Risque d'affaires viabilité, réception, succès produit concurrent 1-27

1.3 Risque Gestion de risque Analyse de risque Contrôle de risque Identification Estimation Planification Contrôle Evaluation Suivi 1-28

1.3 Risque Analyse de risque: identification Identifier les risques potentiels. Sources: folklore/traditions, analogies avec cas bien connus, bon sens, tests, expériences, données statistiques. Approche pratique: concept des top ten. 1-29

1.3 Risque Exemple de candidats pour une liste de top ten calendrier trop ambitieux performances trop ambitieuses budget trop optimiste exigences de fiabilité trop ambitieuses exigences d interface usager trop ambitieuses exigences d interopérabilité problèmes de compréhension avec l usager changements continuels de spécifications spécifications inadéquates, incomplètes, etc direction de projet mal formée, inexpérimentée personnel mal formé, inexpérimenté niveau de maturité incompatible avec exigences méthodes, techniques de génie logiciel, inadéquates ou absentes modèle de processus de développement absent ou inadéquat absence de soutien politique absence de besoin de l usager (ou absence de marché) obolescence précoce scientifiquement au-delà des possibilités 1-30

Estimation Avoir une estimation quantitative Concept de Risk Exposure (RE) RE = P*D P = probabilité du risque D = dommage Evaluation IFT3902 Développement, maintenance de logiciels 1.3 Risque Théorie: définir un niveau de risque acceptable, pour chaque risque, pour le projet. Pratique: sélectionner et ordonner les top ten. 1-31

1.3 Risque Contrôle de risque: Planification Trouver des approches de résolution de risque et planifier leur mise en œuvre. Stratégies de résolution de risque Réduction de risque Objectifs: diminuer la probabilité du risque ou l ampleur de ses conséquences. Protection Limiter l effet du risque. Transfert Partager les conséquences du risque avec quelqu un d autre. Epargne Financer le risque soit constituer une réserve, un fonds de contingence. 1-32