Gl Cours Slides

214
enie Logiciel Principes et Techniques Pierre G´ erard IUT de Villetaneuse - Universit´ e de Paris 13 Licence Pro. FC 2007/2008 L A T E X Pierre G´ erard enie Logiciel

description

cours gl

Transcript of Gl Cours Slides

  • Genie LogicielPrincipes et Techniques

    Pierre Gerard

    IUT de Villetaneuse - Universite de Paris 13

    Licence Pro. FC 2007/2008

    LATEX

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Materiel et logiciel

    Syste`mes informatiques

    80 % de logiciel20 % de materiel

    Depuis quelques annees, la fabrication du materiel est assureepar quelques fabricants seulement

    Le materiel est relativement fiableLe marche est standardise

    Les proble`mes lies a` linformatique sont essentiellement desproble`mes de Logiciel

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Specificites du logiciel

    Un produit immateriel, dont lexistence est independante dusupport physique

    Semblable a` une uvre dart (roman, partition...)

    Un objet technique fortement contraint

    Fonctionne ou ne fonctionne pasStructure complexeRele`ve des modes de travail du domaine technique

    Un cycle de production different

    La reproduction pose peu de proble`mes, seule la premie`re copiedun logiciel a un coutProduction a` luniteSemblable au Genie Civil (ponts, routes...)

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Un processus de fabrication original

    Le logiciel partage des proprietes contradictoires avec lart, lestechnologies et le Genie Civil

    Les possibilites de reutiliser les savoir-faire des autrestechnologies sont (tre`s) limitees

    Compte tenu du cycle de production, il faut bien faire tout desuite

    La qualite du processus de fabrication est garante de laqualite du produit

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    La Crise du logiciel

    Etude sur 8 380 projets (Standish Group, 1995)

    Succe`s : 16 %Problematique : 53 % (bujet ou delais non respectes, defaut defonctionnalites)Echec : 31 % (abandonne)

    Le taux de succe`s decrot avec la taille des projets et la tailledes entreprises

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Le Genie Logiciel

    Conference de lOTAN a` Garmish, Allemagne (1968)

    Linformatique ne repond pas aux attentes quelle susciteLinformatique coute tre`s cher et desorganise les entreprises ouorganisations

    Introduction de lexpression Genie Logiciel (SoftwareEngineering)

    Comment faire des logiciels de qualite ?Quattend-on dun logiciel ? Quels sont les crite`res de qualitepour un logiciel ?

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Utilite

    Adequation entre

    Le besoin effectif de lutilisateurLes fonctions offertes par le logiciel

    Solutions :

    Emphase sur lanalyse des besoinsAmeliorer la communication (langage commun, demarcheparticipative)Travailler avec rigueur

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Utilisabilite

    Effectivite, efficacite et satisfaction avec laquelle desutilisateurs specifies accomplissent des objectifs specifies dansun environnement particulier

    Facilite dapprentissage : comprendre ce que lon peut faireavec le logiciel, et savoir comment le faireFacilite dutilisation : importance de leffort necessaire pourutiliser le logiciel a` des fins donneesSolutions :

    Analyse du mode operatoire des utilisateursAdapter lergonomie des logiciels aux utilisateurs

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Fiabilite

    Correction, justesse, conformite : le logiciel est conforme a` sesspecifications, les resultats sont ceux attendus

    Robustesse, surete : le logiciel fonctionne raisonnablement entoutes circonstances, rien de catastrophique ne peut survenir,meme en dehors des conditions dutilisation prevues

    Mesures :MTBF : Mean Time Between FailuresDisponibilite (pourcentatge du temps pendant lequel le syste`meest utilisable) et Taux derreur (nombre derreurs par KLOC)

    Solutions :Utiliser des methodes formelles, des langages et des methodesde programmation de haut niveauVerifications, testsProgiciels

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Interoperabilite, couplabilite

    Un logiciel doit pouvoir interagir en synergie avec dautreslogiciels

    Solutions :

    Bases de donnees (decouplage donnees/traitements) Externaliser certaines fonctions en utilisant des Middleware avec une API (Application Program Interface)bien definieStandardisation des formats de fichiers (XML...) et desprotocoles de communication (CORBA...)Les ERP (Entreprise Resources Planning)

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Performance

    Les logiciels doivent satisfaire aux contraintes de tempsdexecution

    Solutions :

    Logiciels plus simplesVeiller a` la complexite des algorithmesMachines plus performantes

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Portabilite

    Un meme logiciel doit pouvoir fonctionner sur plusieursmachines

    Solutions :

    Rendre le logiciel independant de son environnementdexecution (voir interoperabilite)Machines virtuelles

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Reutilisabilte

    On peut esperer des gains considerables car dans la plupartdes logiciels :

    80 % du code est du tout venant quon retrouve a` peupre`s partout20 % du code est specifique

    Solutions :

    Abstraction, genericite (ex : MCD generique de reservation)Construire un logiciel a` partir de composants prets a` lemploi Design Patterns

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Facilite de maintenance

    Un logiciel ne suse pas

    Pourtant, la maintenance absobe un tre`s grosse partie desefforts de developpement

    Repartitioneffort dev.

    Origine deserreurs

    Cout de lamaintenance

    Definition desbesoins

    6%56% 82%

    Conception 5% 27% 13%

    Codage 7% 7% 1%

    IntegrationTests

    15% 10% 4%

    Maintenance67%

    (Zeltovitz, De Marco)

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Maintenance corrective

    Corriger les erreurs : defauts dutilite, dutilisabilite, defiabilite...

    Identifier la defaillance, le fonctionnementLocaliser la partie du code responsableCorriger et estimer limpact dune modification

    Attention

    La plupart des corrections introduisent de nouvelles erreursLes couts de correction augmentent exponentiellement avec ledelai de detection

    La maintenance corrective donne lieu a` de nouvelles livraisons(release)

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Maintenance adaptative

    Ajuster le logiciel pour quil continue a` remplir son rolecompte tenu du levolution des

    Environnements dexecutionFonctions a` satisfaireConditions dutilisation

    Ex : changement de SGBD, de machine, de taux de TVA, an2000, euro...

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Maintenance perfective, dextension

    Accrotre/ameliorer les possibilites du logiciel

    Ex : les services offerts, linterface utilisateur, lesperformances...

    Donne lieu a` de nouvelles versions

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Facilite de maintenance

    Objectifs

    Reduire la quantite de maintenance corrective (zero defaut)Rendre moins couteuses les autres maintenances

    Enjeux

    Les couts de maintenance se jouent tre`s tot dans le processusdelaboration du logicielAu fur et a` mesure de la degradation de la structure, lamaintenance devient de plus en plus difficile

    Solutions :

    Reutilisabilte, modulariteVerifier, testerStructures de donnees complexes et algorithmes simplesAnticiper les changements a` venirProgiciels

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Principes utilises dans le Genie Logiciel

    Generalisation : regroupement dun ensemble defonctionnalites semblables en une fonctionnalite parametrable(genericite, heritage)

    Structuration : facon de decomposer un logiciel (utilisationdune methode bottom-up ou top-down)

    Abstraction : mecanisme qui permet de presenter un contexteen exprimant les elements pertinents et en omettant ceux quine le sont pas

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Principes utilises dans le Genie Logiciel

    Modularite : decomposition dun logiciel en composantsdiscrets

    Documentation : gestion des documents incluant leuridentification, acquisition, production, stockage et distribution

    Verification : determination du respect des specificationsetablies sur la base des besoins identifies dans la phaseprecedente du cycle de vie

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Objectif CCM 6 !

    Le Mode`le de Maturite (CMM) du SEI1 Initial2 Reproductible3 Defini4 Matrise5 Optimise

    75% des projets au niveau 1, 25% aux niveaux 2 et 3 selonCurtis

    Pour matriser le processus de developpement logiciel etassurer la qualite du logiciel, il faut :

    Separer le developpement en plusieurs etapesOrganiser ces etapes et modeliser le processus dedeveloppementControler le processus de developpement

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Niveau de maturite 1 : Initial

    Chaotique : plans et controles inefficaces

    Processus essentiellement non controle, non definiLe succe`s depend des individus

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Niveau de maturite 2 : Reproductible

    Intuitif : depend encore des individus

    Procedures de gestion utilisees, gestion des configurations etassurance qualitePas de mode`le formel de processus

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Niveau de maturite 3 : Defini

    Qualitatif : institutionnalise

    Procedures formelles pour verifier que le processus est utilise

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Niveaux de maturite 4 : Matrise

    Quantitatif : Processus de mesures

    Gestion quantitative de la qualite

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Qualites attendues dun logicielPrincipes du Genie LogicielMaturite du processus de developpement logiciel

    Niveaux de maturite 5 : Optimise

    Ameliorations retournees dans le processus

    Strategies damelioration du processus

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Cycle de vie

    La qualite du processus de fabrication est garante de la qualitedu produit

    Pour obtenir un logiciel de qualite, il faut en matriser leprocessus delaboration

    La vie dun logiciel est composee de differentes etapesLa succession de ces etapes forme le cycle de vie du logicielIl faut controler la succession de ces differentes etapes

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Etude de faisabilite

    Determiner si le developpement propose vaut la peine detremis en uvre, compte tenu de attentes et de la difficulte dedeveloppement

    Etude de marche : determiner sil existe un marche potentielpour le produit.

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Specification

    Determiner les fonctionnalites que doit posseder le logiciel

    Collecte des exigences : obtenir de lutilisateur ses exigencespour le logicielAnalyse du domaine : determiner les taches et les structuresqui se repe`tent dans le proble`me

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Organisation du projet

    Determiner comment on va developper le logiciel

    Analyse des couts : etablir une estimation du prix du projetPlanification : etablir un calendrier de developpementAssurance qualite du logiciel : determiner les actions quipermettront de sassurer de la qualite du produit finiRepartition des taches : hierarchiser les taches et sous-tachesnecessaires au developpement du logiciel

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Conception

    Determiner la facon dont dont le logiciel fournit les differentesfonctionnalites recherchees

    Conception generale

    Conception architecturale : determiner la structure du syste`meConception des interfaces : determiner la facon dont lesdifferentes parties du syste`me agissent entre elles

    Conception detaillee : determiner les algorithmes pour lesdifferentes parties du syste`me

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Implementation

    Ecrire le logiciel

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Tests

    Essayer le logiciel sur des donnees dexemple pour sassurerquil fonctionne correctement

    Tests unitaires : faire tester les parties du logiciel par leursdeveloppeursTests dintegration : tester pendant lintegrationTests de validation : pour acceptation par lacheteurTests syste`me : tester dans un environnement proche delenvironnement de productionTests Alpha : faire tester par le client sur le site dedeveloppementTests Beta : faire tester par le client sur le site de productionTests de regression : enregistrer les resultats des tests et lescomparer a` ceux des anciennes versions pour verifier si lanouvelle nen a pas degrade dautres

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Livraison

    Fournir au client une solution logicielle qui fonctionnecorrectement

    Installation : rendre le logiciel operationnel sur le site du clientFormation : enseigner aux utilisateurs a` se servir du logicielAssistance : repondre aux questions des utilisateurs

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Maintenance

    Mettre a` jour et ameliorer le logiciel pour assurer sa perenite

    Pour limiter le temps et les couts de maintenance, il fautporter ses efforts sur les etapes anterieures

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Cahier des charges

    Description initiale des fonctionnalites desirees, generalementecrite par lutilisateur

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Specifications

    Decrit precisement les conditions que doit remplir le logiciel

    Mode`le objet : indique les classes et les documents principauxScenarios des cas dutilisation : indique les differentsenchanements possibles du point de vue de lutilisateur

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Calendrier du projet

    Ordre des differentes taches

    Details et ressources quelles demandent

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Plan de test du logiciel

    Decrit les procedures de tests appliquees au logiciel pourcontroler son bon fonctionnement

    Tests de validation : tests choisis par le client pour determinersil peut accepter le logiciel

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Plan dassurance qualite

    Decrit les activites mises en uvre pour garantir la qualite dulogiciel

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Manuel utilisateur

    Mode dempoi pour le logiciel dans sa version finale

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Code source

    Code complet du produit fini

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Rapport des tests

    Decrit les tests effectues et les reactions du syste`me

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Rapport des defauts

    Decrit les comportements du syste`me qui nont pas satisfait leclient

    Il sagit le plus souvent de defaillances du logiciel ou derreurs

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final

    ImplementationConception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale

    ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale Conception

    Plan dassurance qualite PlanificationCode source Implementation

    Cahier des charges FaisabilitePlan de test Specification

    Manuel utilisateur preliminaire SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite

    PlanificationCode source Implementation

    Cahier des charges FaisabilitePlan de test Specification

    Manuel utilisateur preliminaire SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source

    ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source Implementation

    Cahier des charges FaisabilitePlan de test Specification

    Manuel utilisateur preliminaire SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges

    FaisabilitePlan de test Specification

    Manuel utilisateur preliminaire SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test

    SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test Specification

    Manuel utilisateur preliminaire SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire

    SpecificationConception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee

    ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee Conception

    Estimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts

    PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts Planification

    Calendrier du projet PlanificationRapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet

    PlanificationRapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests

    TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests Tests

    Documentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation

    Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Documents produits dans le cycle de vie

    Document Phase de productionManuel utilisateur final Implementation

    Conception architecturale ConceptionPlan dassurance qualite Planification

    Code source ImplementationCahier des charges Faisabilite

    Plan de test SpecificationManuel utilisateur preliminaire Specification

    Conception detaillee ConceptionEstimation des couts PlanificationCalendrier du projet Planification

    Rapport des tests TestsDocumentation Implementation

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Mode`les lineaires et incrementaux

    Mode`les lineaires

    cascademode`le en V...

    Mode`les non lineaires

    prototypagemode`les incrementauxmode`le en spirale...

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Le cycle de vie en Cascade

    Etudedefaisabilit

    Conceptiondtaille

    Conceptiongnrale

    Spcification

    Codage

    Tests

    Maintenance

    Adapte pour des projets de petite taille, et dont le domaineest bien matrise

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Le cycle de vie en V

    Etudedefaisabilit

    Conceptiondtaille

    Conceptiongnrale

    Spcification

    Codage

    Testsunitaires

    Validation

    Maintenance

    Testsd'intgration

    Adapte pour des projets dont le domaine est bien matrise

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Le prototypage

    Prototype : version dessai du logiciel

    Pour tester les differents concepts et exigencesPour montrer aux clients les fonctions que lon veut mettre enuvre

    Lorsque le client a donnne son accord, le developpement suitsouvent un cycle de vie lineaire

    Avantages : Les efforts consacres au developpement dunprototype sont le plus souvent compenses par ceux gagnes a`ne pas developper de fonctions inutiles

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Le mode`le incremental de Parnas

    1 Concevoir et livrer au client un sous-ensemble minimal etfonctionnel du syste`me

    2 Proceder par ajouts dincrements minimaux jusqua` la fin duprocessus de developpement

    3 Avantages : meilleure integration du client dans la boucle,produit conforme a` ses attentes

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Le mode`le en Sprirale de Boehm

    Un mode`le mixte

    A chaque cycle,recommencer :

    1 Consultation du client2 Analyse des risques3 Conception4 Implementation5 Tests6 Planification du

    prochain cycle

    Avantages : meilleure matrise des risques, mais necessite une(tre`s) grande experience

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Modelisation des processus logiciels

    Les mode`les en V, spirale... sont des archetypes de mode`les

    On peut les adapter a` des projets particuliers

    On peut vouloir representer le processus de developpement (etses parties) de manie`re plus fine

    Une modelisation precise limite les risques dambiguite

    Il est necessaire de se doter dun formalisme pour representerle processus de developpement

    Pour ordonner les tachesPour determiner les echanges dinformation entre lesdifferentes tachesPour permettre aux jeunes recrues de mieux travailler

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Mode`le de processus logiciels

    Un mode`le de processus logiciels decrit

    Les tachesLes artefacts (fichiers, documents, donnees...)Les auteursLes decisions (facultatif)

    Re`gles a` observer

    Deux taches doivent etre separees par un artefactUne tache ne peut etre executee tant que ses artefacts dentreenexistent pasIl doit y avoir au moins une tache de debut et une de finIl doit y avoir un trajet depuis chaque tache jusqua` la tache defin

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Exemples de processus logiciels

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Exemples de processus logiciels

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Diagrammes de flots de donnees

    Indique la circulation des donnees a` travers un ensemble decomposants qui peuvent etre

    des tachesdes composants logiciels...

    Re`gles a` observer

    Les processus sont representes par des cases qui contiennentdes phrases verbalesLes fle`ches representent des donnees et doivent etreaccompagnees de phrases nominalesUn processus peut etre une activite ponctuelle ou continueDeux fle`ches sortant dune case peuvent indiquer

    Soit deux sorties simultaneesSoit deux sorties exclusives

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Exemples de diagramme de flots de donnees

    pour representer (x + y) (w + z)

    Pierre Gerard Genie Logiciel

  • MotivationsCycle de vie dun logiciel

    Composantes du cycle de vie dun logicielDocuments courantsMode`les de cycle de vie dun logicielMode`les de processus logiciels

    Exemples de diagramme de flots de donnees

    pour representer (x + y) (w + z)

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Gestion de projets

    Proble`mes souvent humains

    Planifier la progressionMotiver et coordonner un groupe de professionnels

    Techniques souvent communes a` la gestion de projet engeneral

    Proble`me particulier de la visibilite

    Un projet logiciel apparatra souvent a` ses developpeurscomme presque acheve alors quil ne lest qua` 90%

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Pratiques du chef de projet

    Opter pour une gestion des risques continue

    Prevoir des etapes reparties sur lensemble du cycle de vieconsacrees a` lidentification et a` levaluation des risques, ainsique des taches pour y remedier

    Estimer les couts et planifier le projet a` partir de donneesempiriques

    Prevoir une etape au debut du cycle de vie pour evaluer le coutdu projet et une serie detapes ulterieures pour raffiner cetteestimation. Au cours de chaque etape, les donnees devront etrearchivees pour les evaluations ulterieures

    Utiliser des metriques pour la gestion du projet

    Choisir des metriques et prevoir des etapes pour enregistrer lesvaleurs de celles-ci, et dautres pour analyser les progre`s enfonction de ces resultats

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Pratiques du chef de projet

    Suivre levolution de la valeur acquise

    Rechercher les defauts en fonction des objectifs de qualite

    Determiner des objectifs pour le nombre de rapports derreurset prevoir des etapes pour communiquer ces resultats

    Considerer les employes comme la ressource la plusimportante

    Controler lensemble du processus logiciel pour estimer sonimpact sur le programmeur

    Utiliser un outil de gestion de configuration

    Assurer que les modifications du logiciel sont effectuees demanie`re a` minimiser les couts globauxGarder la trace des differences entre les versions pour controlerles nouvelles versions

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Pratiques du chef de projet

    Gerer et suivre levolution des besoins

    Prevoir des etapes pour recueillir les besoins des utilisateurs

    Orienter la conception en fonction du syste`me vise

    Definir et controler les interfaces

    Concevoir plusieurs fois pour ne coder quune seule

    Prevoir des etapes pour controler la conception

    Identifier les elements protentiellement reutilisables

    Controler les specifications

    Organiser les tests comme un processus continu

    Prevoir des etapes de tests dans toutes les phases

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Mesures de base

    CBT : cout budgete du travail

    Quantite de travail estimee pour une tache donnee

    CBTP : cout budgete du travail prevu

    Somme des quantites de travail estimees pour lensemble destaches devant etre achevees a` une date donnee

    CBA : cout budgete a` lache`vement

    Total des CBTP et donc lestimation de la quantite de travailpour le projet entier

    VP : valeur prevue

    Proportion de la quantite de travail totale estimee attribuee a`une tache donneeVP = CBT/CBA

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Mesures de base

    CBTE : cout budgete du travail effectue

    Somme des quantites de travail estimees pour les tachesachevees a` une date donnee

    CRTE : cout reel du travail effectue

    Somme des quantites de travail reelles pour lensemble destaches du projet

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Indicateurs davancement

    VA : Valeur acquise

    VA = CBTE/CBA= somme des VP pour les taches achevees= PA (pourcentage acheve)

    IPT : indicateur de performance temporel

    IPT = CBTE/CBTP

    VE : variance par rapport a` lecheancier

    VE = CBTE CBTPIC : indicateur decart sur les couts

    IC = CBTE/CRTE

    VC : variance par rapport aux couts

    VC = CBTE CRTE

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    Proble`me : calculer les indicateurs davancement au 01/04

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    CBA : somme des estimations des quantites de travail

    CBA = 330jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    Au 01/04, les taches 1,2 et 4 sont achevees

    Le CBTE est la somme des CBT pour ces taches

    CBTE = 70jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    VA = 70/330 = 21.2%

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    Les taches 1 et 2 devraient etre achevees pour le 01/04, etpas 1,2 et 4

    CBTP = 30

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    IPT = 70/30 = 233%

    SV = 70 30 = +40jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    La CRTE est la somme des quantites de travail reelles pourles taches 1,2 et 4

    CRTE = 80jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 1

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 80 15/05

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    IC = 70/80 = 87.5%

    VC = 70 80 = 10jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 2

    Proble`me : que deviennent ces indicateurs, a` supposer que latache 3 a egalement ete achevee avec 140jh de travail et quenous sommes le 01/07 ?

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 2

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 140 15/05 01/07

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 2

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 140 15/05 01/07

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    CBTE = 190jh

    CBTP = 250jh

    CRTE = 220jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 2

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 140 15/05 01/07

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    VA = 190/330 = 57.5%

    IPT = 190/250 = 76%

    VE = 190 250 = 60jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple 2

    Tache Trav. estime(jh)

    Trav. reelaujourdhui

    Date dach.estimee

    Date dach.effective

    1 5 10 25/01 01/02

    2 25 20 15/02 15/02

    3 120 140 15/05 01/07

    4 40 50 15/04 15/04

    5 60 50 01/07

    6 80 70 01/09

    Seules les taches 14 sont realisees, au lieu de 15

    IC = 190/220 = 86.6%

    VC = 190 220 = 30jh

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Suivi des erreurs

    Conserver une trace des

    Erreurs qui se sont produitesDurees entre deux erreurs successives

    Permet de

    Mieux determiner une date de livraisonMotiver les testeurs et les developpeurs

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Taux derreur

    TE : Inverse du temps qui separe deux erreurs successives

    Ex : si une erreur se produit tous les deux jours, TE = 0.5erreurs par jour

    Taux derreur instantane : estimation du taux derreur courant

    Taux derreur cumule : bonne estimation des taux derreur a`venir

    Somme de toutes les erreurs divise par le temps total

    Une representation graphique permet destimer les tendancesdes taux derreur par regression lineaire

    y : taux derreursx : deux possibilites :

    nombre derreurs : donne une estimation du nombre derreursrestantestemps ecoule : donne une estimation du temps avant livraison

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple

    Les durees entre une serie derreurs sont les suivantes : 4, 3, 5,6, 4, 6, 7.

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple

    Les durees entre une serie derreurs sont les suivantes : 4, 3, 5,6, 4, 6, 7.

    Duree 4 3 5 6 4 6 7

    Taux 0.25 0.33 0.20 0.17 0.25 0.17 0.14

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple

    Duree 4 3 5 6 4 6 7

    Taux 0.25 0.33 0.20 0.17 0.25 0.17 0.14

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Pratiques critiques de la gestion de projetAnalyse de la valeur acquiseSuivi des erreurs

    Exemple

    Si on prolonge cette courbe, on voit quelle coupe laxe desabscisses pour une valeur de 11 erreurs environ

    Le taux derreur devrait donc etre nul apre`s le 11e`me erreur

    Comme 7 erreurs ont ete trouvees, il ne devrait plus en resterque 4

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Planification

    Element indispensable de la conduite de projets

    Determiner les taches a` accomplirDeterminer lordre des tachesDecider des ressources allouees a` chaque tache

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Work Breakdown Structure (WBS)

    Objectif : Diviser les taches principales en taches plus petites

    Necessite de :

    Pouvoir identifier leurs differentes partiesTrouver des livrables et des jalons qui permettront de mesurerlavancement du projet

    WBS Work Breakdown Tructure : organigramme technique

    Structure arborescenteLe premier niveau de decomposition correspond souvent aumode`le de cycle de vie adopte

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Re`gles dobtention dun organigramme technique (WBS)

    Structure arborescente

    Pas de boucleLes actions iteratives apparaissent dans le mode`le de processusou dans le mode`le de cycle de vie

    Les descriptions des taches et des livrables doivent etre claireset sans ambiguite

    Chaque livrable doit etre associe a` une tache, sans quoi il nesera pas produit

    Chaque tache doit avoir un crite`re dache`vement

    Le plus souvent un livrable

    Lache`vement de toutes les sous-taches doit entranerlache`vement de la tache

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Mode`le de cycle de vie pour la consommation de tartines

    Mode`le de processus pour cuisiner du pain

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Choisir la recette

    Reunir les ingredients Ingredients reunisCuisiner

    Manger

    Nettoyer

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Choisir la recette

    Choisir les ingredients Liste des ingredientsVerifier leur disponibilite Liste de courses

    Reunir les ingredients Ingredients reunisCuisiner

    Manger

    Nettoyer

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Choisir la recette

    Reunir les ingredients Ingredients reunisCuisiner

    MelangerCuire Pain cuit

    Manger

    Nettoyer

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Choisir la recette

    Reunir les ingredients Ingredients reunisCuisiner

    MelangerAjouter leau Saladier deauAjouter la levure et la farine MelangeFaire la pate PateLaisser lever 1 Pate leveeAjouter le reste de farine et petrir Pate petrieLaisser lever 2 Pate petrie et leveeFormer des miches MichesLaisser lever 3 Miches levees

    Cuire Pain cuitManger

    Nettoyer

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exemple

    Choisir la recette

    Reunir les ingredients Ingredients reunisCuisiner

    Manger

    Decouper en tranches Tranches de painBeurrer Tartines beurreesManger Guout satisfaisant

    Nettoyer

    Nettoyer ustensiles Ustensiles propresNettoyer cuisine Cuisine propre

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    PERT

    Program Evaluation and Review Technique1 Identifier les taches et estimer leur duree2 Ordonner les taches3 Construire le reseau et lexploiter

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Identification des taches et de leur duree

    Tache Duree ReferenceMettre la farine dans un saladier 3 s A

    Mettre deux oeuf 30 s BAjouter le lait doucement et melanger 600 s C

    Dans une poele mettre du rhum 3 s DCouper les bananes en fines lamelles 300 s E

    Les melanger au rhum 30 s FFaire chauffer le melange 120 s G

    Faire flamber 10 s HFaire cuire une crepe 10 s I

    Verser du melange bananes-rhum sur la crepe 10 s JManger 120 K

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Ordonnancement des taches

    Pour faire Il faut faire

    A -

    B A

    C B

    D -

    E -

    F D-E

    G F

    H G

    I C

    J I-H

    K J

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Construction du reseau

    Les taches A, D et E peuvent se faire en paralle`le

    Il faut quelles soient toutes deux finies pour pouvoir debuterF, dou` les taches fictives de duree nulle de 3 a` 4 et de 2 a` 4.

    La crepe doit etre cuite (I) et le melange doit etre flambe (H)pour pouvoir commencer a verser du melange sur la crepe (J)

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Exploitation dun reseau PERT

    1 Calcul des dates au plus tot de chaque etapeQuand se terminera le projet ? Quel est le delai necessaire pouratteindre une etape determinee ?Elles se calculent de gauche a` droite en partant de 0 etrajoutant la duree de la tache a` la date precedente. En cas deconvergence, on prend la valeur la plus elevee

    2 Calcul des dates au plus tard de chaque etapeQuand doit demarrer le projet pour etre acheve a` temps ? Aquelle date chaque etape doit-elle etre atteinte pour que leprojet ne prenne pas de retard ?Elles se calculent de droite a` gauche en partant de la date defin au plus tard et en retranchant la duree de la tache a` la dateprecedente. En cas de convergence comme au 7 niveau onprend la valeur la plus faible

    3 Calcul des marges et du chemin critique

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Calcul des dates et des marges

    Etape Date au plus tot Date au plus tard Marge

    1 0 0 0

    2 300 483 183

    3 3 483 480

    4 300 483 183

    5 3 3 0

    6 33 33 0

    7 330 513 183

    8 633 633 0

    9 450 633 183

    10 643 643 0

    11 653 653 0

    12 773 773 0

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Chemin critique

    On peut des maintenant repondre a` certaines questions

    La crepe sera mangee a la date 773 (soit a peu pre`s 13 mnapre`s le debut de la fabrication)Il faut avoir fini la sauce au plus tard a la date 643 (etape 10)On pourra melanger le rhum et les bananes au plus tot a` ladate 300 (etape 4)

    On remarque aussi que certaines etapes ont une marge nulleet que pour dautres on est plus libre

    Le chemin critique relie les etapes qui nont aucune marge

    Un retard dans une tache sur le chemin critique entranera unretard dans le projet entierLanalyse des temps de batements peut motivier unereaffectation des ressources associees a` chaque tache

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Extensions des reseaux PERT

    PERT Charge pour prendre en compte les ressources affecteesau projet

    Ressource : moyen necessaire au deroulement et a`laboutissement dune tacheLes taches sont caracterisees par des durees et des intensitesde ressources

    PERT Cost pour gerer les coutsPermet doptimiser lecheancier des paiements en

    Jouant sur les surcouts affectant les taches critiquesJouant sur les economies possibles sur les taches non critiques

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Diagrammes de Gantt

    Utilise les dates au plus tot et des dates au plus tard

    Permet detablir un planning en fonction des ressources

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Le mode`le COCOMO de base

    COnstructive COst Model

    Developpe a` la firme TRW (organisme du DoD, USA) parB.W. Boehm et son equipeFonde sur une base de donnees de plus de 60 projets differents

    Mode`le destimation

    du cout de developpement dun logiciel en nombre demois-hommes (E : effort)du temps de developpement en mois (TDEV )en fonction du nombre de lignes de codes en milliers (KLOC )

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Trois types de projets

    Mode organique

    Petites equipesApplications matrisees et proble`mes bien comprisPas de besoins non fonctionnels difficiles

    Mode semi-detache

    Experience variee des membres de lequipe de projetPossibilite lavoir des contraintes non fonctionnellesimportantesType lapplication non matrisee par lorganisation

    Mode embarque

    Contraintes serreesLequipe de projet a, en general, peu lexperience delapplicationProble`mes complexes

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Calcul de leffort

    Formule generale

    E = a KLOC ba et b estimes en fonctions de donnees empiriques

    Organique

    E = 2.4 KLOC 1.05Semi-detache

    E = 3.0 KLOC 1.12Embarque

    E = 3.6 KLOC 1.20

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Calcul du temps de developpement

    Formule generale

    TDEV = a KLOC ba et b estimes en fonctions de donnees empiriques

    Organique

    TDEV = 2.5 KLOC 0.38Semi-detache

    TDEV = 2.5 KLOC 0.35Embarque

    TDEV = 2.5 KLOC 0.32

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Mode`le COCOMO intermediaire

    Estimation modifiant lestimation brute fournie par le mode`leCOCOMO de base en se servant des attributs

    LogicielMaterielProjetPersonnel

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Les attributs du logiciel

    Besoin en fiabilite

    Taille de la Base de Donnees

    Complexite du produit

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Les attributs du materiel

    Contraintes sur le temps lexecution

    Contraintes sur la memoire

    Contraintes sur le stockage

    Contraintes du temps de passage entre deux processus(synchronisation)

    ...

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Les attributs du projet

    Techniques de programmation moderne

    Programmation Orientee ObjetProgrammation Evenementielle

    Utilisation lAteliers de Genie Logiciel (CASE)

    Contraintes de developpement

    DelaisBudget...

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Les attributs du personnel

    Competence de lanalyste

    Competence du programmeur

    Experience dans lutilisation du langage de programmation

    Experience dans le domaine de lapplication

    Experience dans lutilisation du materiel

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Calcul de leffort

    Organique

    E = 3.2 KLOC 1.05Semi-detache

    E = 3.0 KLOC 1.12Embarque

    E = 2.8 KLOC 1.20Les estimations obtenues par la formule ci-dessus sontmultipliees par les 15 facteurs de cout liees aux attributs dulogiciel, du materiel, du projet et du personnel

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Mode`le COCOMO expert

    Inclue toutes les caracteristiques du mode`le intermediaire

    Ajouts :

    Limpact de la conduite des couts sur chaque etape du cycle dedeveloppementLe projet est analyse comme une hierarchie : module,sous-syste`me et syste`me

    COCOMO expert permet une veritable gestion de projet

    Utile pour de grands projetsAjustement des parame`tres possibles en fonction de donneeslocales protant sur les habitudes de developpementProble`me : necessite une estimation de la taille du projet enKLOC

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Analyse en points de fonction

    Plutot que destimer le nombre de lignes de code, il peut etreplus judicieux destimer des points de fonction

    Les elements les plus courants a` prendre en compte sont les :

    Interrogations : paires requete-reponseEntrees : les champs individuels ne sont generalement pascomptes separement (nom, prenom... comptent pour 1)Sorties (comme les entrees)Fichiers internes : fichiers tels que le client les comprendInterfaces externes : donnees partagees avec dautresprogrammes

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Organigramme techniqueLa methode PERTAutres mode`lesEstimation des couts

    Comptage des points de fonction

    Des coefficients sont attribues aux elements, selon leurcomplexite

    Elements Simple Moyens Complexes

    Sorties 4 5 7

    Interrogations 3 4 6

    Entrees 3 4 6

    Fichiers 7 10 15

    Interfaces 5 7 10

    Les coefficients ponde`rent une somme du nombre delementsrecences pour obtenir les points de fonction du logiciel

    Manque de standard pour compter les PFEstimation des coefficients a` faire en interneRelation entre points de fonction et cout a` estimer en interne

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Qualite

    Difficile a` definir

    ISO 8402 : lensemble des caracteristiques dune entite quilui confe`rent laptitude a` satisfaire des besoins exprimes etimplicites Un logiciel est de qualite lorsquil fonctionne comme il estsuppose le faire

    Il est plus facile de mesurer les defauts de qualite

    Mecontentement du clientNombre de rapports derreurs

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Inspections formelles

    Activite formelle et planifiee

    Un concepteur presente des documents sur un projet a` ungroupe dautres concepteurs qui en evaluent les aspectstechniques avec pour objectif de trouver les erreursContole effectue par des personnes techniquement competentesParticipation active de lauteurPorte sur un produit finiInspection periodique au cours du processus de developpement

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Roles pour une inspection

    Le moderateur :

    Il choisit lequipeIl dirige linspection

    Le lecteur :

    Il nest generalement pas lauteur du produitIl guide lequipe dans la structure du produit

    Le secretaire :

    Il consigne le deroulement de linspectionIl note toutes les erreurs trouvees

    Lauteur :

    Il est a` lorigine du produit examineIl repond aux questionsIl corrige les erreurs et fait un rapport au moderateur

    Pierre Gerard Genie Logiciel

  • Gestion de projetsPlanification de projets

    Assurance qualite

    Etapes de linspection

    Presentation generale par lauteur au reste de lequipePreparation

    Les membres de lequipe etudient le produit dans la limite duntemps calcule en fonction du nombre de LOCIls peuvent saider dune liste de controles

    Reunion pour linspectionOrganisee par le moderateurLe lecteur conduit linspectionLe secretaire consigne les proble`mes dans un rapportEn cas de desaccord, il est possible de produire des rapportindividuels

    Integration des remarques : lauteur corrige les erreursSuivi

    Le moderateur controle le rapport et les correctionsSi les crite`res sont satisfaits, linspection prend fin

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Complexite structurelle selon Mc Cabe

    Metrique la plus utilisee apre`s les lignes de code

    Met en evidence la complexite structurelle du code

    On produit un graphe de controle qui represente un codeLe nombre de faces du graphe donne la complexite structurelledu code

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Nombre cyclomatique de Mc Cabe

    C = a n + 2pavec

    a = nombre darcs du graphe de controle

    n = nombre de nuds du graphe de controle

    p = nombre de composantes connexes (1 le plus souvent)

    Ici, n = 8, a = 11 et p = 1 donc

    C = 11 8 + 2 = 5Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Nombre cyclomatique de Mc Cabe

    C = a n + 2pavec

    a = nombre darcs du graphe de controle

    n = nombre de nuds du graphe de controle

    p = nombre de composantes connexes (1 le plus souvent)

    C = 11 8 + 2 = 5C correspond au nombre de faces (en comptant la faceexterieure)

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Calcul direct du nombre de Mc Cabe

    Produire un graphe de controle et lanalyser peut saverer longdans le cas de programmes complexes

    Mc Cabe a introduit une nouvelle manie`re de calculer lacomplexite structurelle

    C = pi + 1

    avec pi le nombre de decisions du code

    Une instruction IF compte pour 1 decision

    Une boucle FOR ou WHILE compte pour 1 decision

    Une instruction CASE ou tout autre embranchement multiplecompte pour une decision de moins que le nombredalternatives

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Nombre de faces et formule de Mc Cabe

    4 decisions doncC = 5 + 1 = 5

    3 decisions doncC = 3 + 1 = 4

    Pourtant, meme nombre de faces : la formule de Mc Cabeserait incorrecte ? Non

    Le second graphe est invalide parce quil ne posse`de pas denoeud darrivee

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Science informatique de Halstead

    Metriques pour la complexite dun programme

    Fondees empiriquementToujours considerees comme valides, contrairement a` sesformules complexes de prediction

    Entites de base

    Operandes : jetons qui contiennent une valeurOperateurs : tout le reste (virgules, parenthe`ses, operateursarithmetiques...)

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Mesures de base 1 et 2 (eta)

    1 : nombre doperateurs distincts

    2 : nombre doperandes distincts

    = 1 + 2 : nombre total de jetons distincts

    Operandes potentiels ?2Ensemble de valeurs minimal pour nimporte quelleimplementationPour comparer differentes implementations du memealgorithmeSobtient generalement en comptant les valeurs qui ne sont pasinitialisees a` linterieur de lalgorithme

    Valeurs lues par le programmeValeurs passees en parame`tresValeurs globales appelees depuis lalgorithme

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Exemple

    z = 0;while x > 0

    z = z + y;x = x - 1;

    end-whileprint (z);

    Operateurs := ; while/end-while > + -print ()1 = 8

    Operandes : = z 0 x y 12 = 5

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Longueur dun programme

    N1 : Nombre total doperateurs

    N2 : Nombre total doperandes

    N = N1 + N2 : Nombre total de jetons

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Exemple

    z = 0;while x > 0

    z = z + y;x = x - 1;

    end-whileprint (z);

    Operandes Operateurs

    = 3 z 4; 5 0 2

    w/ew 1 x 3> 1 y 2+ 1 1 1- 1

    print 1() 1

    N1 = 14, N2 = 12 donc N = 12

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Estimation de la longueur

    Estimation de N a` partir de 1 et de 2

    Nest = 1 + log2(1) + 2 log2(2)

    Dans notre exemple :Nest = 8 log2(8) + 5 log2(5) = 8 3 + 5 2.32 = 35.6

    Ici, Nest >> NEn pratique, Si la difference entre N et Nest est superieure a`30%, il vaut mieux renoncer a` utiliser les autres mesures deHalstead

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Volume

    Estimation du nombre de bits necessaires pour coder leprogramme mesure

    V = N log2(1 + 2)

    Dans notre exemple : V = 26 log2(13) = 26 3.7 = 96, 2

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Autres mesures de Halstead

    Volume potentiel V ?

    Taille minimale dune solution au proble`meV ? = (2 + ?2 ) log2(2 + ?2 )

    Niveau dimplementation LExprime dans quelle mesure limplementation actuelle estproche de limplementation minimaleL = V ?/V

    Mesures presentees pour leur interet historiqueEffort E en emd (elementary mental discrimination)

    Mesure de leffort intellectuel necessaire a` limplementationdun algorithmeE = V /L

    Temps TTemps necessaire pour implementer un algorithmeT = E/S ou` S est le nombre de Stroud. Halstead avait retenuS = 18

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Flux dinformations dHenry-Kafura

    Mesurer la complexite des modules dun programme enfonction des liens quils entretiennent

    On utilise pour chaque module i :

    Le nombre de flux dinformation entrant note iniLe nombre de flux dinformation sortant note outiLe poids du module note poidsi calcule en fonction de sonnombre de LOC et de sa complexite

    HKi = poidsi (outi ini )2

    La mesure totale HK correspond a` la somme des HKi

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Exemple

    A partir des ini et outi ci-dessous, calcul des metriques HK ensupposant que le poids de chaque module vaut 1

    Module a b c d e f g h

    ini 4 3 1 5 2 5 6 1outi 3 3 4 3 4 4 2 6

    HKi 144 81 16 225 64 400 144 36

    HK = 1110

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    Metriques Objet de Chidamber

    Ensemble de metriques (Metric Suite for Object OrientedDesign)

    Evaluation des classes dun syste`meLa plupart des metriques sont calculees classe par classeLe passage au global nest pas clair, une moyenne netant pastre`s satisfaisante

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    M1 : Methodes ponderees par classe

    WMC : Weighted Methods per Class

    WMC = 1n n

    i=0

    ci Mi

    avec C un ensemble de n classes comportant chacune Mimethodes dont la complexite (le poids) est note ci

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    M2 : Profondeur de larbre dheritage

    DIC : Depth of Inheritance Tree

    Distance maximale entre un nud et la racine de larbredheritage de la classe concerneeCalculee pour chaque classe

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    M3 : Nombre denfants

    NOC : Number Of Children

    Nombre de sous-classes dependant immediatement duneclasse donnee, par une relation dheritageCalculee pour chaque classe

    Pierre Gerard Genie Logiciel

  • MetriquesAnalyse et gestion des risques

    Tests logiciels

    Metriques de Mac CabeMetriques de HalsteadMetriques de Henry-KafuraMetriques Objet de Chidamber et KemererMetriques MOOD

    M4 : Couplage entre classes

    Dans un contexte OO, le couplage est lutilisation demethodes ou dattibuts dune autre classe.

    Deux classes son