59
1 Gestion de projet Gestion de projet 2- 2- Introduction Introduction au au Génie Génie Logiciel Logiciel Préparé par : Gérard Préparé par : Gérard Battarel Battarel Pour : l’Université René Pour : l’Université René Descartes Descartes Octobre 2006 Octobre 2006 © Copyright 2004 Gérard Battarel - Reproduction interdite sans autorisation de l’auteur

1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

Embed Size (px)

Citation preview

Page 1: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

11

Gestion de projet Gestion de projet 2- 2- IntroductionIntroduction au au Génie Génie Logiciel Logiciel

Préparé par : Gérard BattarelPréparé par : Gérard Battarel

Pour : l’Université René Pour : l’Université René DescartesDescartes

Octobre 2006Octobre 2006© Copyright 2004 Gérard Battarel - Reproduction interdite sans autorisation de l’auteur

Page 2: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

22

ObjectifsObjectifs

Comprendre le rôle du génie Comprendre le rôle du génie logiciellogiciel

Comprendre le cycle de base d’un Comprendre le cycle de base d’un projet informatiqueprojet informatique

Comprendre les limites de Comprendre les limites de l’approche classique et aborder l’approche classique et aborder les méthodes « modernes »les méthodes « modernes »

Aborder quelques outils et Aborder quelques outils et méthodesméthodes

Page 3: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

33

Les projets informatiquesLes projets informatiques

Projet informatique =Projet informatique =– Projet dont une partie au moins du produit Projet dont une partie au moins du produit

résultant se compose de logiciels et/ou de résultant se compose de logiciels et/ou de matériels informatiques matériels informatiques

– Projet dont les services résultants Projet dont les services résultants consistent à faire fonctionner des logiciels consistent à faire fonctionner des logiciels et/ou des matériels informatiqueset/ou des matériels informatiques

Exemples :Exemples :– Centre d’appels ? Maintenance d’un Centre d’appels ? Maintenance d’un

système ?système ?

Page 4: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

44

Les projets informatiquesLes projets informatiques

Rappel de la complexitéRappel de la complexité– Nombre d’acteurs et de compétences différents Nombre d’acteurs et de compétences différents

mis en œuvre mis en œuvre – Complexité des besoinsComplexité des besoins

Logiciel « professionnel »Logiciel « professionnel »– Production efficaceProduction efficace– Maintenance facileMaintenance facile– Évolutivité (?)Évolutivité (?)– Réutilisation du savoir-faire dans le cadre de Réutilisation du savoir-faire dans le cadre de

l’organisation productricel’organisation productrice– Caractéristiques non fonctionnellesCaractéristiques non fonctionnelles

Page 5: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

55

Variété des problèmes

Prédominance des données (« gestion »)– Application bancaire (édition de relevés)– Data mining

Prédominance des traitements (« scientifique »)– Calculs de primes d’assurances– Calculs de structures (résistance des matériaux)

Prédominance des événements (« temps réel »)– Contrôleur d’un réacteur nucléaire– Application graphique

Page 6: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

66

Pathologies des projets Pathologies des projets informatiquesinformatiques

Mauvais contrôle du périmètreMauvais contrôle du périmètre

Erreurs détectées trop tardErreurs détectées trop tard

Planning trop optimistesPlanning trop optimistes

Tâches oubliéesTâches oubliées

Incompréhension entre acteursIncompréhension entre acteurs

Page 7: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

77

A quoi sert le génie logicielA quoi sert le génie logiciel

Produire des logiciels de qualité, Produire des logiciels de qualité, qui répondent aux besoins des qui répondent aux besoins des utilisateursutilisateurs

Fournir des Fournir des outilsoutils et et méthodesméthodes pour anticiper les pathologies, … pour anticiper les pathologies, … mais pas de remède miraclemais pas de remède miracle

Page 8: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

88

A quoi sert le génie logicielA quoi sert le génie logiciel

Processus formalisés = Processus formalisés = réutilisation du savoir-faireréutilisation du savoir-faire

Communication entre acteurs du Communication entre acteurs du projetprojet

Maîtrise de la qualité (cohérence, Maîtrise de la qualité (cohérence, complétude et conformité)complétude et conformité)

Automatisation = efficacitéAutomatisation = efficacité

Page 9: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

99

Le génie logiciel a mauvaise Le génie logiciel a mauvaise pressepresse

Souvent perçu comme cher et peu Souvent perçu comme cher et peu productifproductif

Pourquoi :Pourquoi :– Outils lourds et peu flexibles : carcanOutils lourds et peu flexibles : carcan– Coûts de mise en œuvre élevés Coûts de mise en œuvre élevés

(formation)(formation)– Retour sur investissement sur le long Retour sur investissement sur le long

terme terme

On a tendance à l’oublier quand On a tendance à l’oublier quand les choses deviennent plus les choses deviennent plus difficilesdifficiles

Page 10: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1010

Outils de génie logicielOutils de génie logiciel

Périmètre : Périmètre : – Mise en œuvre de méthodologiesMise en œuvre de méthodologies– Gestion du risqueGestion du risque– Gestion de projetGestion de projet– Gestion de configurationGestion de configuration– Gestion de documentationGestion de documentation

Page 11: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1111

Gestion de configurationGestion de configuration

Objectifs :Objectifs :– Définir les relations de composition entre parties Définir les relations de composition entre parties

d’un produitd’un produit– Définir de nouvelles versions d’un produit ou sous-Définir de nouvelles versions d’un produit ou sous-

ensemble (variantes, évolutions)ensemble (variantes, évolutions)– Définir des relations entre un produit final et ses Définir des relations entre un produit final et ses

livrables intermédiaires (spec fonctionnelle - spec livrables intermédiaires (spec fonctionnelle - spec technique - modules logiciels – jeux de tests)technique - modules logiciels – jeux de tests)

– Déterminer l’impact d’un changement : traçabilitéDéterminer l’impact d’un changement : traçabilité– Partager et communiquer ces définitionsPartager et communiquer ces définitions

Page 12: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1212

MéthodologieMéthodologie

DéfinitionDéfinition Ensemble de règles permettant de structurer Ensemble de règles permettant de structurer

le déroulement d’un projet et d’améliorer la le déroulement d’un projet et d’améliorer la prévisibilité du résultat prévisibilité du résultat

Structurer : les tâches, leurs résultats Structurer : les tâches, leurs résultats (livrables), les rôles et responsabilités des (livrables), les rôles et responsabilités des acteursacteurs

Page 13: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1313

TerminologieTerminologie

PhasePhaseCorrespond à un ou plusieurs livrables majeursCorrespond à un ou plusieurs livrables majeurs

ActivitéActivitéLiée à une fonction du projet (ex : tests) pouvant Liée à une fonction du projet (ex : tests) pouvant déborder les limites d’une phasedéborder les limites d’une phase

TâcheTâcheÉlément d’une phase (ou d’une activité) produisant Élément d’une phase (ou d’une activité) produisant un livrableun livrable

Livrable : Livrable : Produit intermédiaire ou final du projet : matériel, Produit intermédiaire ou final du projet : matériel, logiciel ou service (formation, doc) géré par la logiciel ou service (formation, doc) géré par la gestion de configurationgestion de configuration

Page 14: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1414

Rôles et responsabilitésRôles et responsabilités

Objectif des rôles :Objectif des rôles :– Indépendance des individusIndépendance des individus– Définition des compétences requisesDéfinition des compétences requises– Clarification des interfacesClarification des interfaces

Page 15: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1515

Rôles et responsabilitésRôles et responsabilités

Responsabilités :Responsabilités :– Associées à une tâcheAssociées à une tâche– Responsable, participe, valide, est Responsable, participe, valide, est

informé (R, P, V, I)informé (R, P, V, I)– Contraintes sur la responsabilité et Contraintes sur la responsabilité et

la validation :la validation : Un seul responsableUn seul responsable On ne peut pas être juge et partieOn ne peut pas être juge et partie La responsabilité peut être déléguée La responsabilité peut être déléguée

mais le devoir de contrôle subsistemais le devoir de contrôle subsiste

Page 16: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1616

Exercice : trouver les erreursExercice : trouver les erreurs

VPObtenir l’accord client

PRRéaliser des corrections

VPPRPrésenter le prototype

PPIConstruire des exercices

PRVDévelopper un proto du support

RIIRDéfinir le contenu du support

CltBACP

Page 17: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1717

Le cycle en V (waterfall)Le cycle en V (waterfall)

Méthodologie de base pour le Méthodologie de base pour le développement de solutions développement de solutions informatiquesinformatiques– Base pour d’autres méthodesBase pour d’autres méthodes– Séquence ordonnée d’activités sans Séquence ordonnée d’activités sans

recouvrementrecouvrement– Contrôle en fin de chaque phaseContrôle en fin de chaque phase– Conduite par les documentsConduite par les documents

Page 18: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1818

Schéma du cycle en VSchéma du cycle en V

• Cycle en V (waterfall)– Correspond à une exécution séquentielle des

activités, donc en principe à un risque minimal– Correspond en principe à un coût minimal– Suppose des besoins bien définis

Visibilité maîtrise d’ouvrage

_

+

Temps

AnalyseConceptiontechnique

Codage

Intégration

Recette

Page 19: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

1919

Phases et livrables du cycle en VPhases et livrables du cycle en V

Définition du besoinDéfinition du besoin Analyse Analyse

fonctionnellefonctionnelle

Conception Conception techniquetechnique

Codage et Codage et intégrationintégration

RecetteRecette [Déploiement] [Déploiement]

[Maintenance][Maintenance]

Cahier des chargesCahier des charges Spec. fonctionnelle, Spec. fonctionnelle,

Cahier de recetteCahier de recette Architecture et Architecture et

specs. techniquesspecs. techniques Code, résultats de Code, résultats de

testtest Résultats de recetteRésultats de recette Plan, formation, doc Plan, formation, doc

d’exploitationd’exploitation

Spec. de service de Spec. de service de maintenancemaintenance

Page 20: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2020

TerminologieTerminologie

AnalyseAnalyse– Initialement, étude du fonctionnement de Initialement, étude du fonctionnement de

l’entreprisel’entreprise– Ensuite, distinction analyse fonctionnelle Ensuite, distinction analyse fonctionnelle

(description des fonctions) et organique (description des fonctions) et organique (description de la solution logicielle)(description de la solution logicielle)

– Usage actuel : spécification de ce qui est Usage actuel : spécification de ce qui est attendu du système (maîtrise d’ouvrage, attendu du système (maîtrise d’ouvrage, cahier des charges)cahier des charges)

Page 21: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2121

TerminologieTerminologie

Conception :Conception :– Apparue dans les années 80, liée au Apparue dans les années 80, liée au

système d’information dont elle décrit les système d’information dont elle décrit les éléments (acteurs, règles, flux éléments (acteurs, règles, flux d’information)d’information)

– Usage actuel : développement de Usage actuel : développement de l’architecture et des composants de la l’architecture et des composants de la solution informatiquesolution informatique

Page 22: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2222

Cahier des chargesCahier des charges

DéfinitDéfinit : :– La raison d’être du projetLa raison d’être du projet– Les attentes des futurs utilisateursLes attentes des futurs utilisateurs– Les contraintes de diverses natures de la Les contraintes de diverses natures de la

maîtrise d’ouvrage (temps, budget, …)maîtrise d’ouvrage (temps, budget, …) Il est écrit par la maîtrise d’ouvrageIl est écrit par la maîtrise d’ouvrage

– Pour approbation internePour approbation interne– Pour communication à une maîtrise Pour communication à une maîtrise

d’œuvre d’œuvre

Page 23: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2323

Cahier des chargesCahier des charges

Contexte : pourquoi un projetContexte : pourquoi un projet EnvironnementEnvironnement Objectifs : résultats attendus (du système)Objectifs : résultats attendus (du système) Périmètre : fonctionnalités attenduesPérimètre : fonctionnalités attendues Facteurs critiques (définition des Facteurs critiques (définition des

conditions de succès du projet)conditions de succès du projet) ContraintesContraintes ÉchéancesÉchéances Budget (?)Budget (?)

Page 24: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2424

ExerciceExercice

Cahier des chargesCahier des charges

Page 25: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2525

Spécifications fonctionnellesSpécifications fonctionnelles

Définissent :Définissent :

– L’ensemble des règles et caractéristiques L’ensemble des règles et caractéristiques (fonctionnelles ou non) auxquelles (fonctionnelles ou non) auxquelles satisferont la solution à construire et son satisferont la solution à construire et son contexte d’utilisationcontexte d’utilisation

– Les contraintes initiales, retraduites en Les contraintes initiales, retraduites en termes de solutiontermes de solution

– Éventuellement, des indicateurs et Éventuellement, des indicateurs et objectifs de résultatobjectifs de résultat

– Une méthodologie et un plan de projetUne méthodologie et un plan de projet

Page 26: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2626

Spécifications fonctionnellesSpécifications fonctionnelles

Le contexte d’utilisation de la solution Le contexte d’utilisation de la solution inclut :inclut :

– Les utilisateurs finals du système et leur Les utilisateurs finals du système et leur organisationorganisation

– Les processus métier au cours desquels la Les processus métier au cours desquels la solution est utiliséesolution est utilisée

– Les personnes chargées du Les personnes chargées du fonctionnement opérationnel de la solutionfonctionnement opérationnel de la solution

– Les systèmes avec lesquels la solution Les systèmes avec lesquels la solution s’interfaces’interface

Page 27: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2727

Exemple de contexte Exemple de contexte d’utilisationd’utilisation

Pour un système informatisé de Pour un système informatisé de contrôle radar, le contexte inclut :contrôle radar, le contexte inclut :– Les protagonistes : police, fabricants de radar, Les protagonistes : police, fabricants de radar,

constructeurs auto, organisme chargé de constructeurs auto, organisme chargé de l’émission et du recouvrement des PV, juristes, l’émission et du recouvrement des PV, juristes, gestionnaires du système informatique gestionnaires du système informatique

– Les processus : verbalisation, recouvrement, Les processus : verbalisation, recouvrement, recours, reporting aux administrationsrecours, reporting aux administrations

– Les interfaces avec des systèmes : radar, Les interfaces avec des systèmes : radar, embarqué, fichier des cartes grises, …embarqué, fichier des cartes grises, …

Page 28: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2828

Spécifications fonctionnellesSpécifications fonctionnelles

Les spécifications fonctionnelles Les spécifications fonctionnelles présentent les grandes lignes de la présentent les grandes lignes de la solution. On doit à ce niveau :solution. On doit à ce niveau :– S’assurer de la faisabilité techniqueS’assurer de la faisabilité technique– S’assurer que la maîtrise d’œuvre en sait assez S’assurer que la maîtrise d’œuvre en sait assez

pour concevoir la solution détailléepour concevoir la solution détaillée– Ne pas créer trop de contraintes de réalisationNe pas créer trop de contraintes de réalisation

Les spécifications fonctionnelles sont Les spécifications fonctionnelles sont développées conjointement et validées développées conjointement et validées par la maîtrise d’ouvragepar la maîtrise d’ouvrage

Page 29: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

2929

Spécifications techniquesSpécifications techniques

Définissent la solution dans le détailDéfinissent la solution dans le détail– Le contenu dépend de la technologie Le contenu dépend de la technologie

utilisée (ex : UML en environnement utilisée (ex : UML en environnement objet)objet)

– Il doit décrire tout ce qui est nécessaire Il doit décrire tout ce qui est nécessaire à l’opération et à la maintenance du à l’opération et à la maintenance du système:système:

Structure interne de l’application, Structure interne de l’application, comportement statique et dynamiquecomportement statique et dynamique

Caractéristiques techniques et packaging des Caractéristiques techniques et packaging des composantscomposants

Interfaces avec l’extérieur (acteurs, Interfaces avec l’extérieur (acteurs, systèmes)systèmes)

Lancement, sauvegarde, repriseLancement, sauvegarde, reprise

Page 30: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3030

Plan de recettePlan de recette

Définit les conditions selon Définit les conditions selon lesquelles on détermine qu’une lesquelles on détermine qu’une solution répond aux besoinssolution répond aux besoins– Processus de recetteProcessus de recette– Rôles et responsabilitésRôles et responsabilités– Conditions d’acceptationConditions d’acceptation– Configuration et données de testConfiguration et données de test– Jeux de testsJeux de tests– PlanningPlanning

Page 31: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3131

Les inconvénients du cycle en VLes inconvénients du cycle en V

La concurrence a le temps de créer de La concurrence a le temps de créer de nouveaux besoinsnouveaux besoins

Les utilisateurs ont le temps de Les utilisateurs ont le temps de changer d’avischanger d’avis

On ne découvre le produit qu’à la finOn ne découvre le produit qu’à la fin Les erreurs découvertes tardivement Les erreurs découvertes tardivement

coûtent chercoûtent cherVisibilité utilisateurs

_

+

Temps

AnalyseConceptiontechnique

Codage

Intégration

Recette

Page 32: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3232

Étude de cas : application du Étude de cas : application du cycle en Vcycle en V

Discuter les choix du chef de Discuter les choix du chef de projet. Discuter des scénarios projet. Discuter des scénarios alternatifs et leurs conditions de alternatifs et leurs conditions de mise en œuvremise en œuvre

Page 33: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3333

Premières alternatives au Premières alternatives au cycle en V cycle en V

Développer des méthodes qui assurent Développer des méthodes qui assurent plus de réactivité : plus de réactivité :

Mais attention :Mais attention :– Ceci ne veut pas dire, sans méthode, au contraireCeci ne veut pas dire, sans méthode, au contraire– Ceci ne veut pas dire sans documentationCeci ne veut pas dire sans documentation

Car il existe une chose Car il existe une chose économiquement plus importante que économiquement plus importante que la conception et la programmation : la la conception et la programmation : la maintenancemaintenance

Page 34: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3434

Les méthodologies oublient la Les méthodologies oublient la maintenance…maintenance…Maintenance curativeMaintenance curative

Les application sont de plus en Les application sont de plus en

plus stratégiques, donc tolèrent de plus stratégiques, donc tolèrent de

moins en moins les interruptions moins en moins les interruptions

de service. Les erreurs bloquantes de service. Les erreurs bloquantes

doivent donc être résolues doivent donc être résolues

« immédiatement »« immédiatement »

Si un défaut d’un système est Si un défaut d’un système est

détecté en analyse avec un coût détecté en analyse avec un coût

de résolution de 1 unité, sa de résolution de 1 unité, sa

détection pendant la phase de détection pendant la phase de

programmation coûtera 10 unités, programmation coûtera 10 unités,

sa détection pendant les tests sa détection pendant les tests

d’intégration coûtera 100 unités, d’intégration coûtera 100 unités,

sa détection en production sa détection en production

coûtera 1000 unitéscoûtera 1000 unités

Analyse Dévelop-pement

Tests Produc-tion

Coût derésolution

1000

100

10

1

Échell

e log

arith

miq

ue

Page 35: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3535

Coder et débuguerCoder et débuguer

« Code and fix », la méthode des gens « Code and fix », la méthode des gens peu enclins à la formalisationpeu enclins à la formalisation

Combinaison informelle de (spec) Combinaison informelle de (spec) design, code et testdesign, code et test

Management minimalManagement minimal Peut fonctionner pour :Peut fonctionner pour :

– des projets « simples », de courte durée, ne des projets « simples », de courte durée, ne nécessitant pas une grosse équipe (<3)nécessitant pas une grosse équipe (<3)

– des équipes peu sophistiquéesdes équipes peu sophistiquées Ne peut pas fonctionner pour :Ne peut pas fonctionner pour :

– des projets mal définis, stratégiques ou sous de des projets mal définis, stratégiques ou sous de fortes contraintes de tempsfortes contraintes de temps

Page 36: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3636

Les variantes du waterfallLes variantes du waterfall

Waterfall avec recouvrementWaterfall avec recouvrement– Principe : admettre du recouvrement entre Principe : admettre du recouvrement entre

phasesphases– Introduit de nouveaux risques (suivi plus Introduit de nouveaux risques (suivi plus

complexe, problèmes de communication)complexe, problèmes de communication)

Waterfall avec sous-projetsWaterfall avec sous-projets– Principe : une fois l’architecture technique Principe : une fois l’architecture technique

définie, lancer des sous-projets en définie, lancer des sous-projets en parallèleparallèle

– Danger : dépendances inattendues entre Danger : dépendances inattendues entre sous-projetssous-projets

Page 37: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3737

Les variantes du waterfallLes variantes du waterfall

Waterfall avec maquettage ou prototypeWaterfall avec maquettage ou prototype

Objectif : limiter les risques en Objectif : limiter les risques en augmentant la visibilité de certains augmentant la visibilité de certains aspects en début de cycleaspects en début de cycle

Maquette et prototypeMaquette et prototype– Un Un prototypeprototype crée un sous-ensemble du système crée un sous-ensemble du système

projeté développé sans tenir compte de l’aspect projeté développé sans tenir compte de l’aspect industrialisationindustrialisation

– Une Une maquettemaquette est une présentation en trompe l’œil est une présentation en trompe l’œil de l’apparence externe du système (ex : navigation de l’apparence externe du système (ex : navigation d’un site Web)d’un site Web)

Page 38: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3838

MaquettageMaquettage

Le maquettage :Le maquettage :– Remplace des descriptions complexesRemplace des descriptions complexes– Ne couvre pas toutes les spécifications Ne couvre pas toutes les spécifications

(cas de fonctionnement normaux)(cas de fonctionnement normaux)– Sert à figer la définition d’une interfaceSert à figer la définition d’une interface– Est « jetable »Est « jetable »

Page 39: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

3939

PrototypagePrototypage

A la différence d’une maquette, un A la différence d’une maquette, un prototype réalise une fonctionprototype réalise une fonction

Deux cas :Deux cas :– Prototype jetable : on utilise un langage ou des Prototype jetable : on utilise un langage ou des

modes de développement rapides. L’objectif est de modes de développement rapides. L’objectif est de montrer la faisabilité (technique, de performance, montrer la faisabilité (technique, de performance, etc.)etc.)

– Prototype non jetable : sert de base au Prototype non jetable : sert de base au développement du reste du produit, et correspond développement du reste du produit, et correspond donc à un premier incrément d’un systèmedonc à un premier incrément d’un système

Page 40: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4040

Prototype jetablePrototype jetable

Objectif : accélérer un projet et en Objectif : accélérer un projet et en réduire les risques en explorant réduire les risques en explorant certains aspects critiques en début de certains aspects critiques en début de cyclecycle

Exemples :Exemples :– Validation d’une interface avec un système Validation d’une interface avec un système

existantexistant– Étude du comportement d’une base de données Étude du comportement d’une base de données

sous forte chargesous forte charge– Présentation de résultatsPrésentation de résultats– Partie critique d’un système temps réelPartie critique d’un système temps réel

Page 41: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4141

Risques associés au prototype Risques associés au prototype jetablejetable

1.1. Le prototype devient la base du Le prototype devient la base du systèmesystème

2.2. Le prototypage devient un projet Le prototypage devient un projet ouvert et consommateur de ouvert et consommateur de ressourcesressources

3.3. Les utilisateurs ont l’impression que Les utilisateurs ont l’impression que le produit final n’est pas loinle produit final n’est pas loin

Parade : considérer le prototype Parade : considérer le prototype comme un projet séparécomme un projet séparé

Page 42: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4242

Étude de cas n° 1 : choix de Étude de cas n° 1 : choix de méthodologie méthodologie

Scénario PrototypageScénario Prototypage

Page 43: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4343

Itération et incrémentationItération et incrémentation

Itération : le système (ou sous-ensemble) Itération : le système (ou sous-ensemble) est fabriqué par itérations successives est fabriqué par itérations successives correspondant au raffinement de correspondant au raffinement de fonctionnalités (introduction de variantes, fonctionnalités (introduction de variantes, optimisations, etc.)optimisations, etc.)

Incrémentation : le système est d’abord Incrémentation : le système est d’abord livré avec des fonctionnalités limitées, mais livré avec des fonctionnalités limitées, mais totalement développées ; d’autres totalement développées ; d’autres fonctionnalités sont ensuite ajoutées.fonctionnalités sont ensuite ajoutées.

Itération et incrémentation peuvent être Itération et incrémentation peuvent être combinéescombinées

Page 44: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4444

Cycle en spirale (incrémental)Cycle en spirale (incrémental)

Principe : raccourcir la longueur du Principe : raccourcir la longueur du cycle en V en ayant plusieurs cycle en V en ayant plusieurs incréments, dont le contenu est défini incréments, dont le contenu est défini par une gestion du risque privilégiant :par une gestion du risque privilégiant :– Les fonctions à plus grande valeur ajoutéeLes fonctions à plus grande valeur ajoutée– Les fonctions dont la mise en œuvre est la plus Les fonctions dont la mise en œuvre est la plus

risquéerisquée

Le premier cycle est plus long car il Le premier cycle est plus long car il définit l’architecture technique sur définit l’architecture technique sur laquelle reposent les suivants.laquelle reposent les suivants.

Page 45: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4545

Cycle en spirale : avantagesCycle en spirale : avantages

Réduction de la longueur de cycle = Réduction de la longueur de cycle = meilleure visibilité des utilisateursmeilleure visibilité des utilisateurs

Résultats intermédiaires = meilleure Résultats intermédiaires = meilleure motivation de l’équipemotivation de l’équipe

Planification plus aisée à partir de la Planification plus aisée à partir de la seconde incrémentationseconde incrémentation

Page 46: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4646

Cycle en spirale : risquesCycle en spirale : risques

Suppose les fonctionnalités Suppose les fonctionnalités relativement stables et bien définiesrelativement stables et bien définies

Suppose que l’architecture élaborée en Suppose que l’architecture élaborée en première incrémentation supportera première incrémentation supportera les futures fonctionnalitésles futures fonctionnalités

Nécessite un travail de gestion Nécessite un travail de gestion (planification, gestion de (planification, gestion de configuration) plus complexe et plus configuration) plus complexe et plus conséquent conséquent

Page 47: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4747

RAD (timebox)RAD (timebox)

Principe : Repose également sur des Principe : Repose également sur des itérations, dont le contenu est fixé par ce itérations, dont le contenu est fixé par ce qu’il est possible de faire à l’intérieur d’un qu’il est possible de faire à l’intérieur d’un volume de temps donnévolume de temps donné

Durée : 2 à 4 mois pour un produit, 1 à 2 Durée : 2 à 4 mois pour un produit, 1 à 2 semaines pour un prototype semaines pour un prototype

Petite équipe, forte implication des Petite équipe, forte implication des utilisateursutilisateurs

Peut s’utiliser pour des sous-ensembles d’un Peut s’utiliser pour des sous-ensembles d’un projet plus grosprojet plus gros

Page 48: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4848

Schéma du RADSchéma du RADCahier des charges

Définition du système

Prototype

Revue des utilisateurs et demandes de changements

Construire et faire évoluer le prototype

Demandes de changement

Évaluer le système

DéveloppementAcceptation

Évolution majeure

Refus

Développement en temps contraint

Source : Rapid Development (McConnell 1996)

Page 49: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

4949

RAD : avantagesRAD : avantages

Focus sur l’efficacitéFocus sur l’efficacité Très bonne visibilité des utilisateursTrès bonne visibilité des utilisateurs Cycle court, donc bonne réaction au Cycle court, donc bonne réaction au

changementchangement Tire le meilleur parti des outils de Tire le meilleur parti des outils de

production de logicielproduction de logiciel

Page 50: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5050

RAD : risquesRAD : risques

S’applique mal au développement S’applique mal au développement externeexterne

Suppose une équipe fortement Suppose une équipe fortement mobiliséemobilisée

Suppose des utilisateurs très Suppose des utilisateurs très disponiblesdisponibles

Suppose que l’on sache estimer les Suppose que l’on sache estimer les charges correctementcharges correctement

Risque de sacrifier la qualité au timingRisque de sacrifier la qualité au timing

Page 51: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5151

Exemples d’évolution d’un SIExemples d’évolution d’un SI

Évolution fonctionnelle :Évolution fonctionnelle : Un fabricant de pièces détachées de moto signe un Un fabricant de pièces détachées de moto signe un accord commercial avec Honda : le SI doit refléter accord commercial avec Honda : le SI doit refléter cet accordcet accord

Évolution technologique :Évolution technologique :Il décide de mettre son catalogue sur le WebIl décide de mettre son catalogue sur le Web

Il décide de migrer vers une architecture JavaIl décide de migrer vers une architecture Java

Évolution combinée : Évolution combinée : Il décide de vendre à travers une place de marchéIl décide de vendre à travers une place de marché

Page 52: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5252

Choix d’une méthodologieChoix d’une méthodologie

Choisir une méthodologie que l’on sera Choisir une méthodologie que l’on sera en mesure d’appliqueren mesure d’appliquer

Volatilité des besoinsVolatilité des besoins Complexité et taille du projetComplexité et taille du projet Risques métier : importance du facteur Risques métier : importance du facteur

« temps » et des facteurs « métier »« temps » et des facteurs « métier » Risques technologiquesRisques technologiques Outils disponiblesOutils disponibles

Page 53: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5353

Comparaison des Comparaison des méthodologiesméthodologies

B e s o in ma l dé fini

B e s o in trè s

é v o lutif

G ra nde ta ille

Te mps c ritique

Te c hno lo gie no uv e lle

C ulture G L é lé me nta ire

P a s d'o utils

G L a da pté s

W a te rfa ll -- -- + -- -- + +C o de & F ix -- - -- - - + ++W a te rfa ll a v e c re c o uv re me nt

- -- + - -- - -

W a te rfa ll a v e c pro to ty pe ++

-- + - ++ - +

S pira le + + ++ + + - -R AD - ++ - ++ + -- --

Page 54: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5454

Outils de génie logicielOutils de génie logiciel

Il n’y a pas d’outil qui procure un gain Il n’y a pas d’outil qui procure un gain de productivité de 25% ou plus sur un de productivité de 25% ou plus sur un projetprojet

L’adoption d’un outil est une L’adoption d’un outil est une entreprise risquée, dont le coût entreprise risquée, dont le coût d’acquisition n’est qu’un élément du d’acquisition n’est qu’un élément du coût totalcoût total

L’acquisition d’outils relève d’un choix L’acquisition d’outils relève d’un choix stratégique de l’organisation, et d’un stratégique de l’organisation, et d’un processus défini sur le long terme, pas processus défini sur le long terme, pas de celui d’un projet isoléde celui d’un projet isolé

Page 55: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5555

Outils de génie logicielOutils de génie logiciel

Il existe des statistiques décourageantesIl existe des statistiques décourageantes– 30% ne satisfont pas aux besoins de manière efficace30% ne satisfont pas aux besoins de manière efficace– 10% ne servent pas après l’achat10% ne servent pas après l’achat– 25% sont sous-utilisés par manque de formation25% sont sous-utilisés par manque de formation– 15% sont incompatibles avec les outils existants15% sont incompatibles avec les outils existants

Cependant, Cependant, – L’acquisition d’outils garde tout son sens si elle est L’acquisition d’outils garde tout son sens si elle est

intégrée à un processus d’amélioration de la qualité et intégrée à un processus d’amélioration de la qualité et de la productivité incluant les équipes et les processusde la productivité incluant les équipes et les processus

– Le passage de l’informatique au stade post-artisanal Le passage de l’informatique au stade post-artisanal passe par des outils impactant la totalité du cycle du passe par des outils impactant la totalité du cycle du projetprojet

Page 56: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5656

Outils de génie logicielOutils de génie logiciel

Les véritables gains peuvent se Les véritables gains peuvent se trouver dans une bonne combinaison trouver dans une bonne combinaison d’outils ; des outils simples et adaptés d’outils ; des outils simples et adaptés peuvent apporter un gain marginalpeuvent apporter un gain marginal

L’effet d’un outil sur la productivité ne L’effet d’un outil sur la productivité ne se fait sentir qu’au terme d’une durée se fait sentir qu’au terme d’une durée d’apprentissage : les (bons) outils ne d’apprentissage : les (bons) outils ne sont effectifs que s’ils sont utilisés de sont effectifs que s’ils sont utilisés de manière répétitivemanière répétitive

Page 57: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5757

Outils de génie logicielOutils de génie logiciel

Critères de sélectionCritères de sélection– Gain estimé (attention aux promesses)Gain estimé (attention aux promesses)– Crédibilité du fabricantCrédibilité du fabricant– Qualité (essayer)Qualité (essayer)– Maturité du produit (attention à la version Maturité du produit (attention à la version

1)1)– Effort d’apprentissageEffort d’apprentissage– Compatibilité avec l’existantCompatibilité avec l’existant– Perspectives d’évolutionPerspectives d’évolution

Page 58: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5858

Étude de cas n° 2 : choix de Étude de cas n° 2 : choix de méthodologieméthodologie

Prise en compte des Prise en compte des exigences de la MOAexigences de la MOA

Page 59: 1 Gestion de projet 2- Introduction au Génie Logiciel Préparé par : Gérard Battarel Pour : lUniversité René Descartes Octobre 2006 © Copyright 2004 Gérard

5959

Ce qu’il faut retenirCe qu’il faut retenir Le génie logiciel n’est pas un luxe, ni une Le génie logiciel n’est pas un luxe, ni une

garantie, mais il augmente sensiblement les garantie, mais il augmente sensiblement les chances de succèschances de succès

Sa mise en œuvre nécessite du doigté : il y a Sa mise en œuvre nécessite du doigté : il y a toujours des (mauvaises) raisons pour s’en toujours des (mauvaises) raisons pour s’en passerpasser

Il existe de nombreuses méthodologies : Il existe de nombreuses méthodologies : aucune n’est adaptée à tous les casaucune n’est adaptée à tous les cas

L’avènement des technologies objet conduit L’avènement des technologies objet conduit à des processus de développement à des processus de développement standardisés supportés par des outilsstandardisés supportés par des outils

Les outils ne déterminent pas la qualité d’un Les outils ne déterminent pas la qualité d’un projet, mais un processus d’acquisition sur le projet, mais un processus d’acquisition sur le long terme peut amener des gains s’il long terme peut amener des gains s’il s’intègre dans une démarche d’améliorations’intègre dans une démarche d’amélioration