Cycle de Vie du Logiciel et Gestion de Projet
Cycle de Vie du Logiciel et Gestion de Projet
Présentée par :
Professeur Permanent El BAKKAL Salma
10/11/2024
plan global
Partie 1
Partie 2
• Rappel : UML
• Partie pratique : UML
10/11/2024 2
partie 1
10/11/2024 3
partie 2
10/11/2024 4
objectifs
Comprendre ce que c’est un projet;
Se familiariser avec la gestion de projet;
Découvrir que nous sommes tous des chefs de projets;
Connaitre les méthodes et pratiques utilisées en gestion de projet;
Appréhender quelques outils qui nous aident à mieux gérer nos
projets.
10/11/2024 5
partie 1
10/11/2024 6
le concept de projet
10/11/2024 7
projet ?
10/11/2024 8
pourquoi des projets ?
10/11/2024 10
De l’étuDiant au professionnel …
Un étudiant :
◦ Seul
◦ Un problème isolé, abstrait …
◦ Clairement défini : les données sont disponibles
◦ Bien posé : à solution unique.
Professionnel :
◦ En équipe, pour un client
◦ Des problèmes liés, concrets
◦ Mal définis
◦ Ayant de nombreuses solutions possibles.
10/11/2024 11
Qu’est-ce Qu’un projet ?
10/11/2024 12
vue simpliste du projet
Besoin
Projet
Résultat
Ex : réaliser une gestion des stocks en temps réel
10/11/2024 13
définition du projet
10/11/2024 14
des facteurs à prendre en compte
10/11/2024 15
un objectif à
réaliser…
Un projet a pour finalité l’atteinte d’objectifs précis impliquant
des enjeux pour l’entreprise. Chacun de ces objectifs doit
permettre de répondre à la question suivante :
10/11/2024 16
par Des acteurs…
Différents types d’acteurs peuvent intervenir dans un projet. Ces
acteurs ont des rôles et des responsabilités qui doivent être
clairement précisés avant le démarrage du projet :
10/11/2024 17
par Des acteurs…
Critères MOA - ouvrAge MOE- oEuvre
Type de
Pilotage stratégique Pilotage opérationnel
pilotage
10/11/2024 18
Dans un contexte précis…
10/11/2024 20
pour un Délai Donné…
Tout projet se délimite dans le temps.
10/11/2024 21
avec Des moyens Définis…
Un moyen est une ressource mise à la disposition du projet.
10/11/2024 22
nécessitant l’utilisation
D’outils appropriés…
Le chef de projet doit utiliser un certain nombre d’outils techniques tout au long du
management du projet dont il a la responsabilité :
10/11/2024 23
les sept facettes du management
de projet
Un objectif à
réaliser…
Management
Nécessitant
l’utilisation
de projet Dans un
contexte
d’une
précis…
démarche…
10/11/2024 24
la conduite de tout projet
présente cinq étapes successives :
10/11/2024 25
les étapes du projet
Étape 1 : initialisation
10/11/2024 26
les étapes du projet
Étape 2 : préparation
• étude de faisabilité
• composition de l’équipe projet
• calendrier
• budget prévisionnel
• macro planning
• définition de la politique de communication
10/11/2024 28
les étapes du projet
Étape 4 : pilotage et réalisation
• lancement du projet
• suivi de l’évolution
• actions correctives
• communication
10/11/2024 29
les étapes du projet
Étape 5 : clôture ou achèvement
10/11/2024 30
Definition d’un cycle de vie
• Le cycle de vie d'un logiciel est un ensemble de phases qui décrivent les étapes
successives de la création, du développement, de la maintenance et de l'abandon
d'un logiciel.
• Il est souvent représenté sous forme de modèle pour guider les équipes de
développement à chaque étape du processus. Les modèles les plus couramment
utilisés sont le modèle en cascade, le modèle en V, le modèle agile et d'autres
encore.
les principales phases du cycle de vie
d'un logiciel
• Déploiement : Une fois que le logiciel a été testé et validé, il est déployé
chez le client ou mis à disposition des utilisateurs finaux. Cela peut inclure
l'installation du logiciel sur des machines et la formation des utilisateurs.
les principales phases du cycle de vie
d'un logiciel
• Fin de vie (ou retrait) : À un certain moment, le logiciel peut atteindre la fin
de sa durée de vie. Cela peut se produire si le logiciel n'est plus utile, s'il est
remplacé par une nouvelle version, ou si son support technique est arrêté.
Cycle de vie en cascade
• Le cycle de vie en cascade, également appelé modèle en cascade, est l'un des
premiers modèles de développement logiciel et suit une approche linéaire et
séquentielle. Chaque phase du cycle doit être terminée avant que la suivante
puisse commencer, et il n'y a généralement pas de retour en arrière possible
sans conséquences majeures.
Caractéristiques
Linéarité : Chaque phase doit être terminée avant que la
suivante puisse commencer.
Spécifications
Conception
Développement
Tests
Maintenance
41
Cycle de vie en cascade
Avantages Inconvénients
Elle fixe l’objectif final plus tôt Elle repousse les tests à la fin de la mise
du projet
42
Projet où l'on peut appliquer le cycle en
cascade :
• Exemple : Développement d'un logiciel pour une machine industrielle
• Les exigences sont bien définies dès le début du projet et sont peu susceptibles de changer au cours
du développement.
• La machine industrielle a des fonctionnalités spécifiques, des normes strictes et des protocoles de
sécurité à respecter, ce qui nécessite une conception détaillée et une documentation exhaustive.
• La linéarité du modèle en cascade permet une progression structurée avec peu de risque de
changements imprévus.
• Le projet nécessite une grande stabilité, et les erreurs doivent être identifiées et corrigées avant la
mise en production pour éviter des risques importants
Projet où l'on ne peut pas appliquer le cycle en cascade :
Conclusion
• Projets adaptés au modèle en cascade : Ceux où les exigences sont bien définies,
peu susceptibles de changer et où une documentation complète est essentielle.
• Projets non adaptés au modèle en cascade : Ceux où les exigences sont incertaines
ou évoluent souvent et où une adaptation continue est nécessaire (ex : applications
mobiles, projets de développement web innovants).
Cycle en V
• Exemple : Décider d'utiliser une base de données relationnelle pour stocker les
informations de stock.
Cycle en V
• Exemple : Assurer que l'ajout d'un produit se reflète correctement dans le stock
total.
Cycle en V
environnement réel.
• Exemple : Tester l'application avec des données réelles pour voir comment elle
se comporte en production.
Cycle en V
Développement
Différences entre le cycle en V et le modèle en
cascade
• Structure :
• Cycle en V : Il est également linéaire, mais les phases de test sont planifiées
en parallèle aux phases de développement, ce qui crée une structure en "V".
Différences entre le cycle en V et le modèle en
cascade
• Phases de test :
• Modèle en cascade : Les tests sont souvent effectués à la fin du projet, après
l'implémentation.
• Flexibilité :
• Modèle en cascade : Il est moins flexible pour les changements une fois qu'une
phase est terminée.
• Cycle en V : Il est également rigide, mais le fait de planifier les tests en amont peut
aider à identifier les problèmes plus tôt.
Exemple concret
• Modèle en cascade : Vous recueillez d'abord les besoins, puis concevez le logiciel,
implémentez le code, et finalement, vous effectuez les tests. Si un problème est détecté,
vous devez souvent revenir en arrière dans le processus, ce qui est coûteux et prend du
temps.
• Cycle en V : Dès la conception des besoins, vous prévoyez comment vous testerez chaque
fonctionnalité. Par exemple, pendant que vous définissez les exigences pour la recherche de
livres, vous planifiez également comment tester cette fonctionnalité. Cela permet d'identifier
les problèmes plus tôt et de les résoudre de manière plus efficace.
Cycle en V
Avantages Inconvénients
L’élaboration d’un plan de tests dès le début du projet Le cycle en V est une méthodologie rigide. Si les
spécifications fonctionnelles initiales viennent à changer (si
par exemple le client change d’avis en cours de projet), c’est
l’ensemble des prévisions qui doivent être revues, y compris
les tests
La qualité et fiabilité du produit sont maximisés Point commun avec le modèle en cascade, chaque étape est
plus ou moins cloisonnée. Si une phase comporte des
erreurs ou des oublis, la suivante s’en retrouve affectée et il
est coûteux de revenir en arrière
Grâce à ces mêmes tests, les risques associés à la gestion Le cycle en V devient inutile, voire contre-productif, si votre
de projet (retards dû aux bugs, etc.) sont minimisés. client tend à changer régulièrement d’avis ou veut un produit
évolutif sur le court terme.
10/11/2024 61
Cycle en Y
• Supposons que vous développiez un système de contrôle pour une voiture autonome.
• Développement matériel :
• Analyse des besoins matériels : Vous définissez les capteurs, les caméras, les processeurs
et les unités de contrôle nécessaires pour le véhicule.
• Conception matérielle : Vous concevez les schémas des capteurs et des composants
électroniques pour le traitement des données en temps réel.
• Développement logiciel :
• Analyse des besoins logiciels : Vous identifiez les algorithmes de vision par
ordinateur, les systèmes de navigation et les logiciels de contrôle du véhicule.
• Intégration et validation :
• Le cycle de vie itératif est une approche de gestion de projet, souvent utilisée dans le
développement logiciel, où le processus de développement est divisé en petites
parties appelées "itérations". Chaque itération est un mini-cycle de développement
qui inclut la planification, la conception, le développement, les tests et la révision.
Voici les principales étapes du cycle de vie itératif :
Cycle itératif
Les étapes du cycle itératif
• Détection précoce des problèmes : Les tests et les révisions sont effectués
à chaque itération, ce qui permet d'identifier et de corriger les problèmes tôt.
Développement
10/11/2024 84
cycle de vie en spirale
Avantages Inconvénients
Mieux adapté aux grands projets
Flexible aux exigences dynamiques
uniquement
10/11/2024 85
processus unifié - définition
10/11/2024 86
processus unifié - caractéristiques
• Itératif et incrémental,
10/11/2024 87
Itératif et incrémental
Exemple : on découpe le projet en ‘mini-projet’, chacun développé en une itération. L’ensemble des
itérations réalisent le système complet.
10/11/2024 88
Itératif et incrémental
89
Itératif et incrémental
• Anti-cascade, spirale
• Construction progressive du système
• Chaque itération permet de maitriser une partie des risques et apporte une preuve tangible
de faisabilité
• Produit un système partiel opérationnel (exécutable, testé et intégré) avec une qualité
égale à celle d’un produit fini
• Une itération
• Est un mini projet
• Plan pré-étable et objectifs pour le prototype, critères d’évaluation,
• Comporte toutes les activités (mini-cascade)
• Dure entre quelques semaines et 9 mois (au delà :danger)
10/11/2024 90
Conduit par les cas d’utilisation
11/10/2024 92
Centré sur l’architecture
• Dés le démarrage du processus, il faut se faire une idée sur l’architecture à mettre
en place.
• L’architecture peut être décrite comme les différentes vues du système qui doit
être construit.
10/11/2024 93
Centré sur l’architecture
• Une architecture logicielle est une aussi représentation abstraite d’un système exprimée
essentiellement à l’aide de composants logiciels et/ou matériel en interaction via des connecteurs.
10/11/2024 94
Centré sur les risques
10/11/2024 95
Processus Unifié - caractéristiques
11/10/2024 96
concepts processus unifié
Le processus Unifié permet de répondre aux questions : qui fait quoi, quand et comment .
10/11/2024 97
Processus Unifié
• UP gère le processus de développement par deux axes.
10/11/2024 98
Processus Unifié Gérer chaque cycle de développement
comme une projet ayant quatre phases
10/11/2024 99
Processus Unifié
11/10/2024 100
Processus Unifié
11/10/2024 101
Processus Unifié
11/10/2024 102
Processus Unifié
11/10/2024 103
méthodes agiles
Toutes les méthodes agiles prennent en compte dans leur modèle de cycle de vie
trois exigences :
1) Une forte participation entre développeurs et utilisateurs.
2) Des livraisons fréquentes de logiciel.
3) Et une prise en compte de possibles changements dans les besoins des
utilisateurs au cours du projet.
C’est pourquoi toutes font appel, d’une façon ou d’une autre, à un modèle itératif
et incrémental. De plus, elles préconisent en général des durées de cycle de vie
des projets ne dépassant pas un an.
10/11/2024 104
méthodes agiles
Les méthodes agiles sont des méthodologies essentiellement dédiées à la gestion de projets en
informatiques. Elles reposent sur des cycles de vie itératifs et adaptatifs en fonction des besoins
évolutifs du client. Elles permettent notamment d’impliquer l’ensemble des collaborateurs ainsi
que le client dans le développement du projet.
Respectent 4 valeurs fondamentales déclinée en 12 principes qui forment la base de la pratique
Agile.
10/11/2024 105
agile manifesto
4 valeurs
Ecrit en février 2001 par 17 développeurs indépendants qui continuent de trouver de meilleures façons de
développer des logiciels et sont arrivés à un consensus autour de quatre principales valeurs sont :
◦ Les individus et leurs interactions sont plus importants que les processus et les outils,
◦ Un logiciel fonctionnel est plus important qu'une documentation exhaustive,
◦ La collaboration avec les clients est plus importante que la négociation contractuelle,
◦ L'adaptation au changement est plus importante que l'exécution d'un plan.
10/11/2024 106
12 principaux D’agilité
Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande
valeur ajoutée.
Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le
changement pour donner un avantage compétitif au client.
Livrez fréquemment un logiciel fonctionnel, dans des cycles de quelques semaines à quelques mois, avec une préférence
pour les plus courts.
Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du
projet.
Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont elles ont besoin et
faites-leur confiance pour atteindre les objectifs fixés.
La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à
l’intérieur de celle-ci est le dialogue en face à face.
10/11/2024 107
12 principaux D’agilité
Un logiciel fonctionnel est la principale mesure de progression d'un projet.
Les processus agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les
développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant
Une attention continue à l'excellence technique et à un bon design.
La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées.
À intervalles réguliers, l'équipe réfléchit aux moyens possibles de devenir plus efficace. Puis elle s'adapte et modifie son
fonctionnement en conséquence.
10/11/2024 108
les méthodes agiles
Les méthodes Agiles les plus populaires en usage aujourd’hui sont:
◦ l’eXtrême Programming (XP),
◦ Scrum,
◦ Feature Driven Development (FDD),
◦ Lean Software Development,
◦ Agile Unified Process (Agile UP ou AUP),
◦ Crystal
◦ et Dynamic Systems Development Method (DSDM) .
10/11/2024 109
scrum
SCRUM est un processus agile qui nous permet de mettre l’accent sur des
livrables de très haute qualité en très peu de temps. On peut inspecter les livrables
rapidement et souvent (aux deux semaines, au mois). La compagnie définit les
priorités et les équipes se gèrent elles- mêmes sur la meilleure façon pour livrer
les taches les plus prioritaires. À la fin de chaque itération, un livrable peut être
remis.
10/11/2024 110
scrum
La méthode SCRUM tire son nom du monde du rugby, scrum = mêlée.
Le principe de base étant d’être toujours prêt à réorienter le projet au fil de son
avancement.
C’est une approche dynamique et participative de la conduite du projet.
10/11/2024 111
composant du scrum
Les rôles du Scrum
10/11/2024 112
Les éléments du SCRUM
10/11/2024 113
product owner
Les Product Owners sont les champions de leur produit. Leur priorité est de comprendre les
exigences du business, des clients et du marché, puis de prioriser le travail de l'équipe d'ingénierie
en conséquence. Les Product Owners efficaces :
◦ créent et gèrent le backlog produit ;
◦ travaillent en étroite collaboration avec le business et l'équipe pour s'assurer que tous savent en quoi consistent les
tâches du backlog produit ;
◦ fournissent à l'équipe des orientations claires sur les prochaines fonctionnalités à livrer ;
◦ décident du moment où le produit doit être livré, avec une prédisposition pour des livraisons plus fréquentes.
10/11/2024 114
scrum master
Les Scrum Masters sont les champions de Scrum au sein de leur équipe. Ils
coachent l'équipe, les Product Owners et le business sur le processus Scrum et
cherchent les façons d'affiner leur pratique en la matière.
10/11/2024 115
backlog product
10/11/2024 117
daily meeting
Réunion quotidienne de 15 min
◦ Scrum master avec les développeurs doivent répondre aux 3 questions essentielles :
◦ Qu’avez-vous accompli hier ?
◦ Qu’allez vous accomplir aujourd’hui ?
◦ Avez-vous des obstacles ?
10/11/2024 118
scrum board
10/11/2024 119
sprint rétrospective
Lorsque le projet est terminé :
◦ On doit vérifier si les taches sont bien réaliser, les problèmes détecter
◦ Les choses à améliorer pour le prochain tour ou Sprint.
10/11/2024 120
scrum
10/11/2024 121
scrum game
10/11/2024 122