Académique Documents
Professionnel Documents
Culture Documents
UP GL-BD
Objectifs du Chapitre 3
Partie 1
▪ Définir les étapes d’un cycle de vie logiciel.
▪ Expliquer différents modèles de cycles de vie
logiciel.
▪ Choisir le cycle de vie adapté pour un type de
projet donné.
GL & AGL 2
Partie 1 : Modèles de cycles de vie
I. Introduction
II. Définition du Cycle de vie logiciel
III. Modèles de cycle de vie logiciel :
✔Modèle de cycle de vie en cascade
✔Modèle de cycle de vie en V
✔Modèle de cycle de vie par prototypage
✔Modèle de cycle de vie incrémental
✔Modèle de cycle de vie en spirale
GL & AGL 3
Introduction
Question : Que va-t-on faire pour construire un logiciel de qualité?
Réponse : Adopter des bonnes pratiques
Ateliers de
Processus de génie logiciel
développement
Cycle de vie
logiciel Méthodes de
Méthodologies de
développement
développement
Outils de
développement
GL & AGL 4
Définition : Cycle de vie logiciel
GL & AGL 5
Modèle de Cycle de vie logiciel
Modèle de cycle de vie :
• Modélisation conventionnelle de la succession d’étapes
qui préside à la mise en œuvre d’un produit logiciel.
• Plusieurs modèles : en cascade, en V, en spirale, par
prototypage, incrémental, etc.
7
Modèles de cycles de vie
● Modèles classiques
▪ Modèles linéaires
▪ Modèle en cascade
▪ Modèle en V
▪ … etc
● Modèles itératifs et incrémentaux
▪ Modèle par prototypage
▪ Modèle de développement incrémental
▪ Modèle de développement en spirale
▪ … etc
8
Modèle en cascade
Spécification
et analyse
V&V Conception
globale
V&V Conception
détaillée
V&V Codage
[Royce70] I Test
V&V
V&V Maintenance
• Avantages :
✔Simple à mettre en place.
✔Permet de garantir l'existence d'une documentation
bien structurée
• Inconvénients :
✔Détection tardive des erreurs => Augmentation du coût
de la correction, etc.
✔N’est pas efficace pour les projets qui exigent la prise en
considération de risques.
Exigences
Composants
Préparation des scénarios de test
Conception Tests
détaillée unitaires
Les fonctions
Flux Flux
descendants ascendants
Modèle en V
Avantages
✔ Une meilleure spécification
▪ évite d’énoncer une propriété qu’il est impossible de vérifier objectivement une
fois le logiciel réalisé.
✔ Prévenir les erreurs
▪ l’obligation de concevoir les jeux de tests et leurs résultats oblige à une
réflexion et à des retours sur la description en cours.
✔ Une meilleure planification du projet:
▪ Les étapes de la branche droite du V peuvent être mieux préparés et planifiés.
Inconvénients
✔ Le client ne reçoit pas de résultats concrets pendant le développement d’un
logiciel
✔ Les validations intermédiaires n’empêchent pas la transmission des
insuffisances des étapes précédentes.
✔ Adapté aux problèmes sans zones d’ombre
▪ Idéal quand les besoins sont bien connus et quand l’analyse et la conception
sont claires et stables.
Modèles linéaires
Modèle en cascade
Analyse
Concepti
on
Codage
Test
Modèle en V
Analyse Test
Concepti
Test
on
Codage Test
▪ L’utilisateur est placé devant des situations d’utilisation concrètes. Il est partenaire du projet.
▪ L’intégration est progressive et permet d’éviter l’effet « big bang » (découverte de nombreux bogues à
corriger et déploiement retardé) à l’approche de la date de livraison.
▪ Les progrès se mesurent par des programmes démontrables et non par des documents ou
estimations.
Évaluation
expérimentation
État satisfaisant
Expression claire
des besoins réels
Avantages
❖ Pour le client: Une approche où domine l ’écoute total du client.
⮚ Le client reçoit des résultats tangibles rapidement ;
⮚ Le client peut exprimer ses besoins plus facilement;
⮚ Le client peut changer d’avis sans conséquences dramatiques.
❖ Pour l’ utilisateur:
⮚ Expérimentation rapide par les utilisateurs et feedback immédiat.
⮚ Former les utilisateurs avant la livraison du système final.
❖ Pour l’ équipe de développement:
⮚ Meilleure clarification des spécifications
⮚ Amélioration de la COMMUNICATION entre d’une part le client et
l’analyste, d’autre part l’analyste et le concepteur
Inconvénients
❖ Impatience du client qui croît avoir un logiciel final.
❖ Problème relatif à la gestion de projet ( planification, estimation des coûts, etc.)
Modèle incrémentale
Conception Conception
Incrément Incrément
Code Code
Test Test
Maintenance Maintenance
Modèle incrémentale
Avantages
❖ Des livraisons et des mises en service possible après chaque
intégration d’ incrément ;
❖ Faire accepter progressivement un logiciel par les utilisateurs
❖ Intégration allégée: les intégrations et leurs tests sont progressifs ;
❖ Maintenance allégée ( par incrément)
Inconvénients
❖ un risque majeur de ce modèle est de voir remettre en cause le noyau ou les
incréments précédents ( définition globale des incréments et de leurs interactions
dès le début du projet).
❖ Complexité croissante de l ’ intégration de nouveaux incréments;
❖ Pour chaque version à développer après la 1 ère version livrée, il faut arbitrer
entre les demandes de correction et on et
❖ les nouvelles fonctionnalités à développer.
Modèle en spirale
Modèle en spirale
❖ fondée sur l’analyse et la gestion des risques, puis la conception et la réalisation de prototypes
évolutifs en fonction de l’avancement du projet.
❖ Au dernier tour de la spirale, le produit est totalement défini, les risques résolus et le produit
développé.
Modèle en spirale
Principe
La première spire résulte de la spécification du logiciel, les tâches à réaliser
pour cette spécification :
Avantages
✔ Modèle réaliste et naturel
✔ Conserve le caractère « étapiste » du modèle en cascade mais l’ intègre
dans une approche itérative
✔ Le risque est un facteur qui est tenu en compte explicitement dans ce modèle.
Inconvénients
✔ Il est difficile de faire comprendre au client le mode d’opération de ce modèle
✔ L’ évaluation des risques exige une expertise spécifique
Objectifs Partie 2 :
Méthodes de développement
• Distinguer entre une méthodologie lourde et une
méthodologie agile.
GL & AGL 32
Unified Process : UP
L'objectif d'un processus unifié est de maîtriser la complexité des
projets informatiques en diminuant les risques
QUI ?
participe au projet
QUOI ? COMMENT ?
Le produit livré Processu
s Unifié doit-il être réalisé
QUAND ?
est réalisé
chaque livrable 33
Unified Process : UP
Les cas
Architecture Les risques
d’utilisation
piloté par centré sur guidé par
RUP 2TUP
34
Unified Process : UP
UP est itératif et incrémental
Le processus itératif permet de :
35
Unified Process : UP
Vue
Vue logique implémentation
Vue cas
d’utilisation
Vue composants Vue déploiement
⮚ Définir une architecture simplifiée qui répond aux besoins classés comme
prioritaires
Les 4 phases
Etude d’opportunité
▪ Etudier la faisabilité du projet, les Elaboration
frontières du système et les risques ▪ Reprise des résultats de
▪ Fournir une vision globale des la phase d’incubation.
exigences, fonctionnalités clés et ▪ Spécification détaillée
contraintes des cas d’utilisation.
▪ Établir une estimation initiale des ▪ Détermination de
risques, un "Project Plan", un l’architecture de référence
"Business Model"
Construction
Transition ▪ Construction d’une première
▪ Test et correction des version du produit (version bêta
anomalies. ainsi qu’une version du manuel
▪ Préparer la version finale utilisateur).
du produit. ▪ Construction de tous les cas
▪ Déploiement du produit. d’utilisation.
39
Unified Process : UP
Les activités
Expression des besoins
▪ Identification des besoins fonctionnels et non fonctionnels
Analyse
▪ Formalisation du système à partir des besoins.
▪ Modélisations de diagrammes statiques et dynamiques.
▪ Vue logique du système.
Conception
▪ Définition de l’architecture du système.
▪ Étendre les diagrammes d’analyse.
▪ Prise en compte des contraintes de l’architecture technique.
Implémentation
▪ Production du logiciel : Composants, Bibliothèques, Fichiers, etc.
Test
▪ Vérifier l’implémentation de tous les besoins (fonctionnels et non
fonctionnels).
▪ Vérifier l’interaction entre les objets.
▪ Vérifier l’intégration de tous les composants.
▪ Différents niveaux de tests (unitaires, d’intégration, de performance, 40
etc.).
UP-Implémentation
✔ ….
41
Rational Unified Process : RUP
Activités
Itérations
(temps)
42
Rational Unified Process : RUP
44
Rational Unified Process : RUP
45
Rational Unified Process : RUP
46
Rational Unified Process : RUP
Avantages
✔ Traçabilité à partir des Uses Cases jusqu’au déploiement grâce à
l’utilisation de l’UML,
✔ Approche basée sur l’architecture
✔ Les risques sont atténués dès le début du projet
✔ Planification est complète et détaillée
✔ Cadre propice à la réutilisation
✔ Possibilité de recadrer le projet après une itération
✔ Vérification constante de la qualité
Inconvénients
✔ Coût de personnalisation souvent élevé
✔ Vision non évidente ni immédiate
✔ Management lourd à mettre en place
✔ Ne convient à un projet de petite envergure.
47
2 Track Unified Process : 2TUP
50
2 Track Unified Process : 2TUP
51
2 Track Unified Process : 2TUP
⮚ S’intéresser au métier de
l’utilisateur.
52
2 Track Unified Process : 2TUP
53
2 Track Unified Process : 2TUP
54
2 Track Unified Process : 2TUP
55
2 Track Unified Process : 2TUP
Lourdes
Agiles
57
Méthodologie lourde ou Agile
• Inconvénients du PU :
• Fait tout, mais lourd.
• Parfois difficile à mettre en œuvre de façon spécifique.
• UP pour les gros projets qui génèrent beaucoup de documentation.
• Quelles activités pouvons-nous abandonner tout en produisant des logiciels
de qualité?
• Comment mieux travailler avec le client pour nous focaliser sur ses besoins les
plus prioritaires et être aussi réactifs que possible ?
Processus unifié vs SCRUM
• RUP 4 fois plus lent que Scrum : jusqu’à 27 rôles !
beaucoup plus de réunions
beaucoup plus de reportings
beaucoup plus d’efforts de communication
58
Pourquoi Agile ?
62
Méthode Scrum
• Elle vise à satisfaire au mieux les besoins du client tout en
maximisant les probabilités de réussite du projet.
• Un projet utilisant Scrum est composé d'une suite d'itérations
courtes de l'ordre de 2 à 4 semaines appelées sprints.
• A la fin d'un sprint, l'équipe livre au client un incrément de
logiciel fini potentiellement livrable.
• Le projet peut être réorienté par le client à la fin de chaque
sprint.
63
Méthode Scrum
64
Méthode Scrum
65
Artefacts Scrum
• Product Backlog : liste ordonnancée des exigences fonctionnelles et
non fonctionnelles du projet. Le travail à faire durant un sprint est
listé dans le backlog du sprint.
66
Outils Scrum
• Les outils dédiés au management de projets agiles
exemple IceScrum, Xplanner, Trello, Jira, etc.
67
Méthode Kanban
• Terme japonais signifie
« carte », « étiquette » ou
encore« panneau d’affichage ».
• inspiré de lean et basé sur la
demande plutôt que sur l’offre.
• Elle se fait en flux tendu, et
implique l’implémentation
quasiment en temps réel
des feedbacks clients.
• Suivre clairement et
visuellement le projet grâce à
un système de tableau et de
post-it constitué d’étiquettes
(ou kanbans).
68
Méthode Scrumban
• Tous les avantages de Scrum + Kanban.
• Elle conserve l’approche de Scrum tout en permettant
de mener des projets en flux continu.
• adaptée à des projets mixtes et peut s’appliquer sur
plusieurs équipes différentes.
• Possède une méthode de travail proche de celle de
Kanban.
• Les itérations sont limitées, tout comme les tâches à
effectuer, afin de permettre aux équipes de s’adapter et
modifier un plan d’actions si nécessaire.
• S’appuie sur une planification basée sur la demande, les
équipes ne prévoient plus des tâches pour un sprint
complet mais doivent désormais les prioriser au fur et à
mesure de l’avancement du projet.
69
Méthode Extreme Programming
• Pousser les valeurs de l’agile à l’extrême (itérations de
développement très courtes), ce qui permet une grande
flexibilité.
70
Safe
⮚Le Framework SAFe (Scaled Agile Framework): permet
l'implémentation de la méthode agile à l'échelle de
l'organisation.
⮚La méthode se base sur des principes et connaissances pour
favoriser l'alignement, la collaboration et la livraison au sein
d'un grand nombre d'équipes agiles.
⮚l'approche la plus largement utilisée pour la l'agilité à l'échelle
(37%), suivie de Scrum (9%).
Less
⮚Large-Scale Scrum
⮚ est un framework de développement de produit qui vient étendre
la mise en place du Scrum sur plusieurs équipes.
⮚Autres méthodologies scrum large scale: Nexus, spotify…
73