SlideShare une entreprise Scribd logo
1  sur  32
Génie Logiciel
CYCLE DE VIE DU LOGICIEL
Quand commence la construction
d'un logiciel ?
 Lorsqu’on écrit la première ligne de code
 Lorsqu’on a planifié son développement
 Lorsqu’on a écrit la spécification
 Lorsqu’on a écrit le cahier des charges
 Lorsqu’on a terminé l'étude de marché
Quand un logiciel est-il terminé ?
 Lorsqu’on a fini de le programmer
 Lorsqu’on l'a compilé
 Lorsqu’il s'exécute sans se planter
 Lorsqu’on l'a testé
 Lorsqu’on l'a documenté
 Lorsqu’il est livré au premier client
 Lorsqu’il n'évolue plus
 Lorsqu’il n'est plus maintenu
Vie du logiciel
(d’après Jacques Pritz)
Pourquoi se préoccuper
d'un « cycle de vie » ?
 C'est un processus
 phases : création, distribution, disparition
 But du découpage
 maîtrise des risques
 maîtrise des délais et des coûts
 contrôle que la qualité est conforme aux exigences (→)
Quelques chiffres
(d'après B. Boehm)
 Logiciel de réservation aérienne d'United Airlines
 56 millions de dollars
 Faille : nombre d'instructions par transaction
 146.000 au lieu de 9.000 prévues
 Inutilisable
 Problèmes: analyse des besoins et étude de faisabilité
 Ce qui aurait pu être évité
 Inspections et revues intermédiaires
Cycle de vie du logiciel
1. Définition des besoins (cahier des charges)
2. Analyse des besoins (spécification)
3. Planification (gestion de projet)
4. Conception
5. Développement (codage, test, intégration)
6. Validation
7. Qualification (mise en situation)
8. Distribution
9. Support
Phase de Définition des besoins
 Activité (du client, externe ou interne) :
 consultation d'experts et d'utilisateurs potentiels
 questionnaire d'observation de l'usager dans ses tâches
 Production :
 cahier des charges (les « exigences »)
 fonctionnalités attendues
 contraintes non fonctionnelles
 qualité, précision, ...
 temps de réponse, contraintes de taille, de volume de traitement, ...
Phase d’Analyse des besoins /
Spécification
 Productions :
 dossier d'analyse
 spécifications fonctionnelles
 spécifications non-fonctionnelles
 ébauche du manuel utilisateur (interface attendue)
 première version du glossaire
 À l'issue :
 client et fournisseur OK sur produit et contraintes
Phase de Planification / Gestion de
projet
 Activités :
 tâches : découpage, enchaînement, durée, effort (→)
 choix : normes qualité(norme IEEE 730), méthodes de conception
 Productions :
 plan qualité
 plan projet destiné aux développeurs
 estimation des coûts réels, devis
 liste de dépendances extérieures
Unité de mesure de l'effort
 Travail d'un homme pendant 1 mois (ou 1 an)
 homme(s)-mois/ man-month
 homme(s)-an(s)/ man-year
☛ Attention : ≠ durée de développement
Quiz : combien d'hommes-ans pour
la navette spatiale (logiciels) ?
?
Quiz : combien d'hommes-ans pour
la navette spatiale (logiciels) ?
> 1000 hommes-ans
Unité de mesure de l'effort
Attention! (☹)
 1 homme ≠ 1 homme
 1 mois ≠ 1 mois
 tendance naturelle à les sous-estimation
A voir dans le module 6
Exercice
 Hypothèse : on a évalué qu'un logiciel nécessitait 18
hommes-mois de développement
 Question : combien de personnes faut-il pour le réaliser en
6 mois?
 N < 3
 N = 3
 N > 3
 Réf
Phase de Conception (globale,
détaillée)
 Activités :
 architecture du logiciel
 interface entre les différents modules
 Productions :
 dossier de conception
 plan d'intégration
 plans de tests
 planning mis à jour
Phase de Codage et tests unitaires
 Activités :
 chaque module codé et testé indépendamment
 Productions :
 modules codés et testés (→)
 documentation de chaque module
 résultats des tests unitaires
 planning mis à jour
Unité de mesure de la taille (volume)
 Nombre de lignes de code source
 y compris commentaires et lignes vides
 anglais : source line of code (LOC ou SLOC)
 facile à calculer
 mais approximatif
 en pratique, pas d'écarts énormes entre codeurs
Quiz : combien de LOC
pour la navette spatiale ?
?
Quiz : combien de LOC
pour la navette spatiale ?
2,2 millions de LOC
(~ 50.000 pages)
Quelques chiffres évolution de la taille
de Windows
Millions de lignes de code source (LOC)
Coût d'une ligne de code
 Dans les années 1990, pour un projet de Taille moyenne (32KDSI)
 100 $US / ligne
 Pour un projet complexe comme la refonte du système de gestion du
trafic aérien de la FAA (Federal Aviation Administration)
 budgété : 500 $US / ligne
 réalisé : 800 $US / ligne
Phase Intégration
 Activités :
 modules testés intégrés suivant le plan d'intégration
 test de l'ensemble conformément au plan de tests
 Productions :
 logiciel testé
 jeu de tests de non-régression
 manuel d'installation
 version finale du manuel utilisateur (→)
Informations sur le
logiciel pour l'utilisateur
 Manuel d'installation
 guide dans les choix d'installation
 Tutoriel :
 introduction pédagogique, exemples d'utilisation
 Manuel de l'utilisateur (user's guide)
 comment faire « ça », non exhaustif
 Manuel de référence (reference manual)
 liste exhaustive de chaque fonctionnalité
Informations sur le
logiciel pour l'utilisateur
 Dans le logiciel :
 aide en ligne
 thématique (proche du manuel de l'utilisateur)
 par index (proche du manuel de référence)
 recherche
 messages d'erreur
 bulles d'aide
 trucs et astuces
Phase Qualification
 Activités :
 test en vraie grandeur dans les conditions normales d'utilisation
 Production :
 diagnostic OK / KO
Phase Support
 Activités :
 formation (documents, cours, vidéos, ...)
 maintenance
 Productions :
 utilisateurs formés
 logiciel maintenu
Phase Maintenance
 Activités :
 maintenance corrective : correction des bugs
 maintenance évolutive : adaptative ou perfective
 Productions :
 logiciel corrigé
 mises à jour
 documents corrigés
Phase Maintenance
Capitalisation sur :
 la qualité de l'auto-diagnostic
 les efforts de documentation
 la qualité de l'architecture
 la qualité du codage
 la gestion de l'historique
 la facilité à rejouer les tests
 ...
Quiz : combien coûte la
maintenance (en proportion) ?
Maintenance
=
jusqu'à 2/3 du coût total !
Ne jamais sous-estimer
la maintenance
Coûts
 maintenance = jusqu'à 67% du coût total
 dont 48 % consacrés à réparer des défauts
NB.60% des défauts correspondent à des erreurs de spécification et de
conception
☛ Ce sont des moyennes, ça peut varier d'un contexte à un autre...
FIN
MERCI

Contenu connexe

Tendances

Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logicielSylvain Leroy
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitésoregh
 
5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciellauraty3204
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test Imen Turki
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciellauraty3204
 
Cours génie logiciel
Cours génie logicielCours génie logiciel
Cours génie logicielaraddaoui
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logicieldanaobrest
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...TelecomValley
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 

Tendances (20)

Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Qualite1
Qualite1Qualite1
Qualite1
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
Metrique
MetriqueMetrique
Metrique
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Cours génie logiciel
Cours génie logicielCours génie logiciel
Cours génie logiciel
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
CM processus-unifie
CM processus-unifieCM processus-unifie
CM processus-unifie
 
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
Soirée du Test Logiciel - Intelligence Artificielle dans le test - J. VAN QUA...
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 

Similaire à 2-Cours de Géniel Logiciel

1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppthbadir
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfJordaniMike
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfHervKoya
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciellauraty3204
 
Metrixware Rencontre Utilisateurs Projet Cobos
Metrixware Rencontre Utilisateurs Projet CobosMetrixware Rencontre Utilisateurs Projet Cobos
Metrixware Rencontre Utilisateurs Projet Cobosmetrixware
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxssuserec8501
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 

Similaire à 2-Cours de Géniel Logiciel (20)

1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdf
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdf
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
PrésQL.pdf
PrésQL.pdfPrésQL.pdf
PrésQL.pdf
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Gl intro
Gl introGl intro
Gl intro
 
4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel4-Cours de Géniel Logiciel
4-Cours de Géniel Logiciel
 
Metrixware Rencontre Utilisateurs Projet Cobos
Metrixware Rencontre Utilisateurs Projet CobosMetrixware Rencontre Utilisateurs Projet Cobos
Metrixware Rencontre Utilisateurs Projet Cobos
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 

Dernier

CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 

Dernier (8)

CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 

2-Cours de Géniel Logiciel

  • 1. Génie Logiciel CYCLE DE VIE DU LOGICIEL
  • 2. Quand commence la construction d'un logiciel ?  Lorsqu’on écrit la première ligne de code  Lorsqu’on a planifié son développement  Lorsqu’on a écrit la spécification  Lorsqu’on a écrit le cahier des charges  Lorsqu’on a terminé l'étude de marché
  • 3. Quand un logiciel est-il terminé ?  Lorsqu’on a fini de le programmer  Lorsqu’on l'a compilé  Lorsqu’il s'exécute sans se planter  Lorsqu’on l'a testé  Lorsqu’on l'a documenté  Lorsqu’il est livré au premier client  Lorsqu’il n'évolue plus  Lorsqu’il n'est plus maintenu
  • 5. Pourquoi se préoccuper d'un « cycle de vie » ?  C'est un processus  phases : création, distribution, disparition  But du découpage  maîtrise des risques  maîtrise des délais et des coûts  contrôle que la qualité est conforme aux exigences (→)
  • 6. Quelques chiffres (d'après B. Boehm)  Logiciel de réservation aérienne d'United Airlines  56 millions de dollars  Faille : nombre d'instructions par transaction  146.000 au lieu de 9.000 prévues  Inutilisable  Problèmes: analyse des besoins et étude de faisabilité  Ce qui aurait pu être évité  Inspections et revues intermédiaires
  • 7. Cycle de vie du logiciel 1. Définition des besoins (cahier des charges) 2. Analyse des besoins (spécification) 3. Planification (gestion de projet) 4. Conception 5. Développement (codage, test, intégration) 6. Validation 7. Qualification (mise en situation) 8. Distribution 9. Support
  • 8. Phase de Définition des besoins  Activité (du client, externe ou interne) :  consultation d'experts et d'utilisateurs potentiels  questionnaire d'observation de l'usager dans ses tâches  Production :  cahier des charges (les « exigences »)  fonctionnalités attendues  contraintes non fonctionnelles  qualité, précision, ...  temps de réponse, contraintes de taille, de volume de traitement, ...
  • 9. Phase d’Analyse des besoins / Spécification  Productions :  dossier d'analyse  spécifications fonctionnelles  spécifications non-fonctionnelles  ébauche du manuel utilisateur (interface attendue)  première version du glossaire  À l'issue :  client et fournisseur OK sur produit et contraintes
  • 10. Phase de Planification / Gestion de projet  Activités :  tâches : découpage, enchaînement, durée, effort (→)  choix : normes qualité(norme IEEE 730), méthodes de conception  Productions :  plan qualité  plan projet destiné aux développeurs  estimation des coûts réels, devis  liste de dépendances extérieures
  • 11. Unité de mesure de l'effort  Travail d'un homme pendant 1 mois (ou 1 an)  homme(s)-mois/ man-month  homme(s)-an(s)/ man-year ☛ Attention : ≠ durée de développement
  • 12. Quiz : combien d'hommes-ans pour la navette spatiale (logiciels) ? ?
  • 13. Quiz : combien d'hommes-ans pour la navette spatiale (logiciels) ? > 1000 hommes-ans
  • 14. Unité de mesure de l'effort Attention! (☹)  1 homme ≠ 1 homme  1 mois ≠ 1 mois  tendance naturelle à les sous-estimation A voir dans le module 6
  • 15. Exercice  Hypothèse : on a évalué qu'un logiciel nécessitait 18 hommes-mois de développement  Question : combien de personnes faut-il pour le réaliser en 6 mois?  N < 3  N = 3  N > 3  Réf
  • 16. Phase de Conception (globale, détaillée)  Activités :  architecture du logiciel  interface entre les différents modules  Productions :  dossier de conception  plan d'intégration  plans de tests  planning mis à jour
  • 17. Phase de Codage et tests unitaires  Activités :  chaque module codé et testé indépendamment  Productions :  modules codés et testés (→)  documentation de chaque module  résultats des tests unitaires  planning mis à jour
  • 18. Unité de mesure de la taille (volume)  Nombre de lignes de code source  y compris commentaires et lignes vides  anglais : source line of code (LOC ou SLOC)  facile à calculer  mais approximatif  en pratique, pas d'écarts énormes entre codeurs
  • 19. Quiz : combien de LOC pour la navette spatiale ? ?
  • 20. Quiz : combien de LOC pour la navette spatiale ? 2,2 millions de LOC (~ 50.000 pages)
  • 21. Quelques chiffres évolution de la taille de Windows Millions de lignes de code source (LOC)
  • 22. Coût d'une ligne de code  Dans les années 1990, pour un projet de Taille moyenne (32KDSI)  100 $US / ligne  Pour un projet complexe comme la refonte du système de gestion du trafic aérien de la FAA (Federal Aviation Administration)  budgété : 500 $US / ligne  réalisé : 800 $US / ligne
  • 23. Phase Intégration  Activités :  modules testés intégrés suivant le plan d'intégration  test de l'ensemble conformément au plan de tests  Productions :  logiciel testé  jeu de tests de non-régression  manuel d'installation  version finale du manuel utilisateur (→)
  • 24. Informations sur le logiciel pour l'utilisateur  Manuel d'installation  guide dans les choix d'installation  Tutoriel :  introduction pédagogique, exemples d'utilisation  Manuel de l'utilisateur (user's guide)  comment faire « ça », non exhaustif  Manuel de référence (reference manual)  liste exhaustive de chaque fonctionnalité
  • 25. Informations sur le logiciel pour l'utilisateur  Dans le logiciel :  aide en ligne  thématique (proche du manuel de l'utilisateur)  par index (proche du manuel de référence)  recherche  messages d'erreur  bulles d'aide  trucs et astuces
  • 26. Phase Qualification  Activités :  test en vraie grandeur dans les conditions normales d'utilisation  Production :  diagnostic OK / KO
  • 27. Phase Support  Activités :  formation (documents, cours, vidéos, ...)  maintenance  Productions :  utilisateurs formés  logiciel maintenu
  • 28. Phase Maintenance  Activités :  maintenance corrective : correction des bugs  maintenance évolutive : adaptative ou perfective  Productions :  logiciel corrigé  mises à jour  documents corrigés
  • 29. Phase Maintenance Capitalisation sur :  la qualité de l'auto-diagnostic  les efforts de documentation  la qualité de l'architecture  la qualité du codage  la gestion de l'historique  la facilité à rejouer les tests  ...
  • 30. Quiz : combien coûte la maintenance (en proportion) ? Maintenance = jusqu'à 2/3 du coût total !
  • 31. Ne jamais sous-estimer la maintenance Coûts  maintenance = jusqu'à 67% du coût total  dont 48 % consacrés à réparer des défauts NB.60% des défauts correspondent à des erreurs de spécification et de conception ☛ Ce sont des moyennes, ça peut varier d'un contexte à un autre...

Notes de l'éditeur

  1. L'ensemble des étapes ou des phases qui interviennent dans le développement d'un logiciel de sa conception à sa disparition constitue le cycle de vie de celui-ci. /Ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi.
  2. L'ensemble des étapes ou des phases qui interviennent dans le développement d'un logiciel de sa conception à sa disparition constitue le cycle de vie de celui-ci. /Ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi.
  3. Le « cycle de vie d'un logiciel » (en anglais software lifecycle), désigne toutes les étapes du développement d'un logiciel, de sa conception à sa disparition.
  4. Cycle de vie: un ensemble d’étapes nécessaires au développement et à la mise au point d’un logiciel; Risque: Danger, inconvénient plus ou moins probable auquel on est exposé. Processus: déroulement, suite d’activités…
  5. Inspection: consiste à analyser le code en vue de trouver des anomalies, elle peut être accompagnée de tests.
  6. Validation: vérifier que le logiciel est conforme aux exigences
  7. Définition des besoins ou Expression des besoins
  8. Plan d’assurance qualité: l’organisation du logiciel, les démarches de développement, la gestion de configuration, la gestion de modification, méthodes et outils, critères de qualité, suivi de l’application du plan qualité logiciel/ Plan Projet: durée, décomposition du temps par tâche, estimation de la taille du projet, plan général et détaillé
  9. Man month: le temps en mois pour le travail nécessaire d’un seul homme
  10. Pour cocomo Homme-mois = 152 heures conversion possible: homme-ans=x12, homme-H=x*152, homme-j=x19
  11. Architecture: désigne la façon dont les éléments constitutifs du logiciel sont assemblés Architecture intégrée: système constitué d’éléments qui ne peuvent pas fonctionner les uns sans les autres; Architecture modulaire: éléments qui peuvent être modifiés, ajoutés, retirés sans interférer avec le fonctionnement des autres éléments Architecture 3 tiers: (Client-serveur/ IHM, Traitement et données séparés)
  12. Test unitaire: faire tester une partie précise du logiciel par chacun des développeurs.
  13. Taille du projet
  14. Boehm propose 5 classes: Petits projets = 2 KDSI; Projets intermédiaires = 8 KDSI; Projets moyens = 32 KDSI; Grands projets = 128 KDSI; Très grands projets = 512 KDSI
  15. Boehm propose 5 classes: Petits projets = 2 KDSI; Projets intermédiaires = 8 KDSI; Projets moyens = 32 KDSI; Grands projets = 128 KDSI; Très grands projets = 512 KDSI
  16. Test de régression: test du programme après une modification, pour s’assurer que des défauts n’ont pas été introduits ou découverts dans les parties non modifiées du logiciel.
  17. Patch: ajout temporaire à un morceau de code, en général pour corriger rapidement un bug
  18. Patch: ajout temporaire à un morceau de code, en général pour corriger rapidement un bug