Académique Documents
Professionnel Documents
Culture Documents
CYCLES DE VIE DE
LOGICIELS
Cours1–Cycledeviede
OBJECTIFS DU COURS
logiciels
Objectifs du cours
2
Section 1 :
Activités de Section 2 : Cycle INTRODUCTION
développement de vie AU GÉNIE
LOGICIEL
Cours 1
Section 3 : Cycles de vie
Modèles de Section 4 : de logiciels
procédés Méthodes Agiles
classiques
4
C o u r s 1 – Cycle de vie de SECTION 1 -
logiciels INTRODUCTION
Etapes de développement
5
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Définition
6
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Développement
7
Cours 1 – Cycle de vie de SECTION 1 -
logiciels INTRODUCTION
Support
Correction
Amélioration
8
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Support
9
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
A c t i v i t é s de GL
10
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
P r i n c i p a l e s a c t i v i té s
Analyse de
Conception
besoins
Codage Tests
Maintenance
11
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Analyse de besoins
12
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Conception
13
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Codage
14
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Te s t s
15
Cours1–Cycledeviede SECTION 1 -
logiciels INTRODUCTION
Maintenance
16
Cycles de vie
Section 2 : Cycle de vie de de logiciels
logiciels
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
Procédé Logiciel
19
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
Modèles de procédés
20
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
21
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
Modèles de procédés
Méthodes
classiques
Méthodologie
agiles
22
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
Modèles de procédés
Caractéristiques
23
Cours1–Cycledeviede S EC T IO N 2 – C YC L ES
logiciels DE VIE DE LOGICIELS
24
Cycles de vie
Section 3 : Cycles de vie de logiciels
classiques
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en cascade
27
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en cascade
28
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en cascade
Avantages :
Facile à utiliser et à comprendre
Un procédé structuré pour une équipe inexpérimentée
Idéal pour la gestion et le suivi de projets
Fonctionne très bien quand la qualité est plus importante
que les coûts et les délais
29
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en cascade
Inconvénients :
Les besoins des clients sont très rarement stables et
clairement définis
Sensibilité aux nouveaux besoins : refaire tout le procédé
Une phase ne peut démarrer que si l’étape précédente est
finie
Le produit n’est visible qu’à la fin
Les risques se décalent vers la fin
Très faible implication du client
30
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en cascade
Quand l’utiliser ?
Quand les besoins sont connus et stables
Quand la technologie à utiliser est maîtrisée
Lors de la création d’une nouvelle version d’un produit
existant
Lors du portage d’un produit sur une autre plateforme
31
Questions:
Modèle en V
32
Cours 1 – Cycle de vie de SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en V
33
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en V
Avantages :
Met l’accent sur les tests et la validation et par
conséquent, ça accroît la qualité du logiciel
Chaque livrable doit être testable
Facile à planifier dans une gestion de projets
Facile à utiliser
34
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en V
Inconvénients :
35
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en V
Quand l’utiliser:
Quand le produit à développer à de très hautes exigences
de qualité
Quand les besoins sont connus à l’avance
Les technologies à utiliser sont connues à l’avance
36
Questions:
Prototypage
37
Cours 1 – Cycle de vie de SECTION 3 –
logiciels MODÈLES CLASSIQUES
Prototypage
Ecouter le
client
Evaluer le Développer
prototype le
prototype
38
Cours 1 – Cycle de vie de SECTION 3 –
logiciels MODÈLES CLASSIQUES
Prototypage
Avantages
Implication active du client
Le développeur apprend directement du client
S’adapte rapidement aux changements des besoins
Progrès constant et visible
Une grande interaction avec le produit
39
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Inconvénients
Inconvénients
Le prototypage implique un code faiblement structuré
Degré très faible de maintenabilité
Le processus peut ne jamais s’arrêter
Très difficile d’établir un planning
40
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Inconvénients
Quand l’utiliser ?
Quand les besoins sont instables et/ou nécessitent des
clarifications
Peut être utilisé avec le modèle en cascade pour la
clarification des besoins
Quand des livraisons rapides sont exigées
41
Questions:
Modèle Incrémental
42
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle Incrémental
43
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle Incrémental
Avantages
Développement de fonctionnalités à risque en premier
Chaque incrément donne un produit fonctionnel
Le client intervient à la fin de chaque incrément
Utiliser l’approche « diviser pour régner »
Le client entre en relation avec le produit très tôt
44
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle Incrémental
Inconvénients
Exige une bonne planification et une bonne conception
Exige une vision sur le produit fini pour pouvoir le
diviser en incréments
Le coût total du système peut être cher
45
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle Incrémental
Quand l’utiliser ?
Quand la plupart des spécifications sont connues à
l’avances et vont être sujettes à de faibles évolutions
Quand on veut rapidement un produit fonctionnel
Pour des projets de longues durées
46
Questions:
Modèle en spirale
Modèle itératif
Des incréments sous forme de cycle
À la fin de chaque cycle on détermine les objectifs du
cycle suivant
Chaque cycle est composé des même activités que du
modèle en cascade
Inclut l’analyse de risque et le prototypage
47
Cours 1 – Cycle de vie de SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
48
Cours 1 – Cycle de vie de SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
48
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
49
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
50
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
Développement et test
Contient pratiquement la plupart des activités :
conception, codage, test, … etc.
51
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
Avantages
Identification rapide des risques
Impacts minimaux des risques sur le projet
Fonctions critiques développées en premier
Feedback rapide du client
Une évaluation continue du procédé
52
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
Inconvénients
L’évaluation des risques peut prendre beaucoup de temps
Le modèle est très complexe
La spirale peut s’éterniser
Les développeurs doivent être réaffectés pendant les
phases de non-développement
Les objectifs ne sont pas souvent faciles à formuler
53
Cours1–Cycledeviede SECTION 3 –
logiciels MODÈLES CLASSIQUES
Modèle en spirale
54
Questions:
Cycles de vie
de logiciels
• Quel est le modèle le plus simple et le
plus complexe ?
• Quels sont les critères qui définiront
quel modèle choisir ?
Cycles de vie
Section 4 : Méthodologies de logiciels
Agiles
56
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Apparition
57
Cours 1 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES
Principes agiles
Individus et Logiciel
interactions au fonctionnel au lieu
lieu de processus de documentation
et outils massive
Collaboration du Réagir au
client au lieu de changements au
négociation de lieu de suivre le
contrats plan
58
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Principes
Principes
60
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Principes
61
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Principes
RÉAGIR AUX CHANGEMENTS AU LIEU DE SUIVRE UN PLAN
Un logiciel ne peut pas être planifié très loin dans le futur
Tout change : technologie, environnement et surtout les
besoins
Les chefs de projets classiques fonctionnent sur la base de
GANTT, PERT et le système de tâches
Avec le temps, les diagrammes se dégradent car des tâches
s’ajoutent et d’autres deviennent non nécessaires
Une meilleure stratégie est de planifier très court (02
semaines à 01 mois)
Plannings détaillés pour la semaine à venir, rigoureux pour les
trois mois et très vagues au-delà
62
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Principes
63
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Principes
64
Cours 1 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES
Dynamic
Rapid Application
Software Scrum
Development
Development (RAD)
Method (DSDM)
Extreme
Programming
(XP)
65
Cours 1 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES
Méthodologie XP
eXtreme Programming
Créée en 1995 Kent Beck and Ward Cunningham
XP est un moyen léger, efficace, à bas risques, flexible,
et scientifique de développer des logiciels
Destinée à des équipes de moyenne taille avec des
spécifications incomplets et / ou vagues
Le codage est le noyau de XP
66
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Méthodologie XP - Fondamentaux
Itérations
Programmation courtes et
par paires livraisons
fréquentes
67
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Tests
Codage
(pendant le
(noyau de XP) codage)
68
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
1- LE JEU DE PLANNING :
Le client et les développeurs décident quoi mettre dans la
prochaine livraison en triant les spécifications par priorité
L’estimation est la responsabilité du développeur, pas du chef
de projet ni du client
2 – DE PETITES ET FRÉQUENTES LIVRAISONS :
D’abord livrer un système minimaliste puis le faire évoluer à
travers des versions à des délais très courts
69
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
3- LES MÉTAPHORES
Exprimer de manière naturelle et très simples des fonctions
du système
Le client et les développeurs doivent s’accorder sur les
métaphores
4 – CONCEPTION SIMPLE
Le système doit être conçu de la manière la plus simple possible
5 – TESTS
Les développeurs rédigent les tests unitaires d’une manière
continue, Le client rédige les tests d’acceptation des
fonctionnalités,
70
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
71
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
10 – intégration continue
Construire le système à chaque fois qu’une tâche est terminée.
11 – Le client est sur site
Le client est tout le temps présent avec l’équipe pour participer
et répondre aux questions
12 – Les standards de codage
À cause de la propriété collective, des standards (une charte de
codage) doivent être établis et adhérés par l’équipe de
développement
Ex: organisation des fichiers, style d'indentation, conventions de
nommage, commentaires, Recommandations sur la déclaration des
variables, Recommandations sur l'écriture des instructions, des
structures de contrôle et l'usage des parenthèses dans les expressions.
72
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Méthodologie XP – Avantages
73
C o u r s 1 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES
Méthodologie XP – Inconvénients
74
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Méthodologie Scrum
75
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Simple Empirique
• Peut être combiné avec • Itérations courtes (sprints)
d’autres méthodes • Feedback continu
• Compatible avec les best
practices
Optimisation
• Détection rapide des
anomalies
• Organisation simple
• Requiert l’ouverture et la
visibilité
76
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
Equipe Réunions
• Scrum Master • Scrum quotidien
• Product Owner • Planning
• Team • Revue
• Users and stakeholders • Rétrospective
Suivi
• Rapports
• Vélocité
78
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
77
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
77
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
77
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
77
Cours 1 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES
79
Cours1–Cycledeviede SECTION 4 –
logiciels MÉTHODES AGILES
80
Questions:
• Quelles sont les différences entre une
méthode agile et une méthode classique ? Cycles de vie
de logiciels
• Qu els sont les points forts des méthodes
agiles ?
• Quels en sont les points faibles ?
• Qu elle est la différence entre Scru m et XP ?
• Est-ce que Scrum et XP peuvent -elles être
combinées ?
Cycles de vie
Section 5 : Processus Unifié de logiciels
UP
83
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Implémentations
Agile Unified
RUP (Rational Basic Unified
Process (AUP)
Unified Process) Process (BUP)
par Scott W.
par IBM
Ambler
Oracle Unified
Method (OUM),
84
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Principes
UP - Principes
86
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP - Principes
87
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP - Principes
88
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP - Principes
89
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
90
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
91
C o u rs 1 – Cyc l e d e v i e de SECTION 5 –
l o g i ci e ls MÉTHODOLOGIE UP
U P – C yc l e d e v i e
92
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
93
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
PHASE D’ÉLABORATION
Capturer la majorité des cas d’utilisation
Valider l’architecture du système
Eliminer les facteurs de risque
Peut décider de ne pas aller au-delà
Livrable : prototype exécutable d’architecture
Livrable : un planning détaillé et précis sur la phase de
construction
94
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
PHASE DE CONSTRUCTION
La phase la plus longue du projet
Le reste du système est développé durant cette phase
Chaque itération produit un incrément vers le système final
95
Cours 1 – Cycle de vie de SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Cycle de vie
PHASE DE TRANSITION
Le système est déployé chez les utilisateurs
Les feedbacks récoltés serviront à améliorer le système
96
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
U P – A c t i v i té s
Expression de besoins
Recenser les besoins fonctionnels et non fonctionnels du
système
Le diagramme UML de cas d’utilisation est utilisé pour cette
phase
97
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
U P – A c t i v i té s
Analyse
Détaille les besoins en spécifications détaillées
Une ébauche de la conception
98
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
U P – A c t i v i té s
Conception
Décide comment sera construit le système durant
l’implémentation
Définition des sous-systèmes et composants
Création d’abstractions de la solution
99
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
U P – A c t i v i té s
Implémentation
Traduire les résultats de la conception en un système
opérationnel
Livrables : code source, exécutables, …etc.
100
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
U P – A c t i v i té s
Tests
Vérification et validation des résultats de l’implémentation
101
Cours1–Cycledeviede SECTION 5 –
logiciels MÉTHODOLOGIE UP
UP – Avantages
Méthodologie complète
Identification rapide des risques
Largement adoptée en entreprise
Intégration avec UML
Séparation concise des phases et des livrables
Des formations / livres / tutoriaux disponibles
102
Questions:
• La méthode UP est-elle une méthode
agile ? Cycles de vie
de logiciels
• C’est une méthode bidimensionnelle,
pourquoi ?
• C’est une méthode itérative et
incrémentale, pourquoi ?
• Pourquoi est-elle largement adoptée à
votre avis ?
103
Section 6 : Outils de Cycles de vie
supports (CASE – Computer- de logiciels
Aided Software
Engineering)
Cours1–Cycledeviede
OUTILS CASE
logiciels
Introduction
105
Cours1–Cycledeviede
OUTILS CASE
logiciels
106
Cours1–Cycledeviede
OUTILS CASE
logiciels
107
Cours1–Cycledeviede
OUTILS CASE
logiciels
Classification fonctionnelle
108
Cours1–Cycledeviede
OUTILS CASE
logiciels
Classification fonctionnelle
109
Cours1–Cycledeviede
BIBLIOGRAPHIE
logiciels
B i b l i o g ra p h i e
114