0% ont trouvé ce document utile (0 vote)
121 vues119 pages

Cycle de Vie du Logiciel et Gestion de Projet

Le document présente le cycle de vie du logiciel, détaillant ses phases essentielles telles que l'analyse des besoins, la conception, le développement, les tests, le déploiement, la maintenance et la fin de vie. Il aborde également différents modèles de développement, notamment le modèle en cascade et le cycle en V, en soulignant leurs caractéristiques, avantages et inconvénients. Enfin, le document met en lumière l'importance de la gestion de projet et des outils associés pour assurer le succès des projets logiciels.

Transféré par

paroles fr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
121 vues119 pages

Cycle de Vie du Logiciel et Gestion de Projet

Le document présente le cycle de vie du logiciel, détaillant ses phases essentielles telles que l'analyse des besoins, la conception, le développement, les tests, le déploiement, la maintenance et la fin de vie. Il aborde également différents modèles de développement, notamment le modèle en cascade et le cycle en V, en soulignant leurs caractéristiques, avantages et inconvénients. Enfin, le document met en lumière l'importance de la gestion de projet et des outils associés pour assurer le succès des projets logiciels.

Transféré par

paroles fr
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

cycle de vie logiciel

Présentée par :
Professeur Permanent El BAKKAL Salma

10/11/2024
plan global
Partie 1

• Notion sur « PROJET »


• Découpage d’un PROJET
• Processus logiciel d’un PROJET

Partie 2

• Rappel : UML
• Partie pratique : UML

10/11/2024 2
partie 1

Notion sur Découpage Processus


projet d’un projet logiciel
•Fondamentaux d’un projet •Découpage Structurel : PERT / GANT : • Les cycles de vie
•Acteurs MS PROJECT • Processus unifié
•Management d’un projet •Découpage temporel : WBS • Les méthodes itératives et agilité
•…

10/11/2024 3
partie 2

UML – Théorie Conception


• Modèles UML UML – Pratique
• Compléments • Outil de Etude
• L’architecture modélisation de cas
MDA • TP

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 ?

◦ On parle de projet tous les jours : trop large !!


Temporaire : un début et une fin
Par étapes, qui se prépare
Résultat : un livrable

10/11/2024 8
pourquoi des projets ?

Une façon de lutter contre le fonctionnement


bureaucratique des organisations

Un moyen de s’adapter aux changements

Une façon d’impliquer les acteurs

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

Effort ponctuel et coordonné pour atteindre un objectif déterminé avec


des moyens adaptés (hommes, matériels, budget) dans un délai
déterminé.

10/11/2024 14
des facteurs à prendre en compte

Tout projet est cependant confronté à des facteurs de risques


entraînant des conséquences plus ou moins graves sur le projet.

l’environnement ou les changements importants, les valeurs de l’entreprise…


les rôles des acteurs du projet, leur disponibilité
les délais, l’impact des échéances non respectées
La validation des différentes phases (étude d’opportunité…)…

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 :

Quel besoin doit satisfaire le résultat du projet ?

Les objectifs doivent être :


Réalistes, Mesurables, Positifs, Motivants, Clairs, Compris par tous.

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 :

◦ MOA – Maitre d’ouvrage


◦ MOE – Maitre d’oeuvre

10/11/2024 17
par Des acteurs…
Critères MOA - ouvrAge MOE- oEuvre

Donneur d'ordres et Exécutant technique


Description
commanditaire du projet du projet

Structure et cadre les besoins Responsable des choix


fonctionnels du projet. Définit techniques et
Objectif
les objectifs ainsi que les technologiques, et de
contraintes la qualité des livrables

Type de
Pilotage stratégique Pilotage opérationnel
pilotage

10/11/2024 18
Dans un contexte précis…

Un projet se déroule toujours dans un contexte spécifique


caractérisé par :

« ici » usages, valeurs, histoire de l’entreprise…


et « maintenant » relations hiérarchiques,
forces, faiblesses…

10/11/2024 20
pour un Délai Donné…
Tout projet se délimite dans le temps.

Il comporte une durée (évaluée avec une précision


raisonnable)

et des dates calendaires (début et fin de chaque tâche)

10/11/2024 21
avec Des moyens Définis…
Un moyen est une ressource mise à la disposition du projet.

Il se traduit par des dépenses de personnel et l’acquisition d’outils


ou de matériels.

L’ensemble de ces dépenses constitue le budget 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é :

◦ Outils pour organiser le projet :


◦ L’organigramme technique du projet (projet → sous-projets →tâches)
◦ La méthode PERT
◦ Le planning de GANTT

◦ Outils pour gérer le projet :


◦ Le tableau de bord
◦ Le tableau des risques (identification, probabilité, impact)

◦ Outils pour animer le projet :


◦ Les rapports d’avancement
◦ Le plan de communication

10/11/2024 23
les sept facettes du management
de projet
Un objectif à
réaliser…

Et d’outils Par des


appropriés. acteurs…

Management
Nécessitant
l’utilisation
de projet Dans un
contexte
d’une
précis…
démarche…

Avec des Pour un


moyens délai
définis… donné…

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

• Passer de l’idée (produit de l’imaginaire) au projet (plan


d’actions concret)

• Donner un nom au projet

• Nommer le chef de projet

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

Rédaction de la note de cadrage


et/ou du cahier des charges
10/11/2024 27
les étapes du projet
Étape 3 : planification

• liste des tâches


• durée et charge de travail / tâche
• liens entre tâches
• mobilisation des ressources
• utilisation des outils (Gantt, Pert)

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

• remise du projet au commanditaire


• réunion officielle de clôture du projet
• réunion de bilan du projet
• déploiement
• assistance utilisateurs
• communication

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

• 1 Analyse des besoins (ou spécifications) : Cette phase consiste à


comprendre et à documenter les exigences et les besoins du client ou de
l'utilisateur final. On identifie ce que le logiciel doit faire, quelles
fonctionnalités il doit inclure et quelles contraintes il doit respecter.
les principales phases du cycle de vie
d'un logiciel

• 2 - Conception : Dans cette phase, les spécifications sont transformées en


une architecture logicielle. Les développeurs créent une conception
technique détaillée qui définit comment le logiciel sera structuré et
comment ses composants interagiront.
les principales phases du cycle de vie
d'un logiciel

• Développement (ou implémentation) : C'est la phase où les développeurs


écrivent le code source du logiciel en suivant la conception réalisée
précédemment. C'est également le moment où l'on crée les différentes
fonctionnalités du logiciel.
les principales phases du cycle de vie
d'un logiciel

• Tests : Cette étape consiste à vérifier que le logiciel fonctionne


correctement et qu'il respecte les exigences spécifiées. Des tests
unitaires, des tests d'intégration, des tests fonctionnels et des tests de
performance sont effectués pour identifier et corriger les erreurs.
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

• Maintenance : Après le déploiement, le logiciel entre dans une phase de


maintenance. Cela inclut la correction des bugs, les mises à jour pour
améliorer les fonctionnalités, l'adaptation à de nouvelles exigences et la
gestion des problèmes de performance.
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.

Pas de chevauchement : Il n'y a généralement pas de


chevauchement entre les phases.

Retour limité : Si une erreur est trouvée dans une phase


ultérieure, il peut être difficile et coûteux de revenir en arrière
pour la corriger.
Cycle de vie en cascade
Expression des besoins

Spécifications

Conception

Développement

Tests

Maintenance

41
Cycle de vie en cascade
Avantages Inconvénients

Elle utilise une structure claire Elle complique les changements

Elle fixe l’objectif final plus tôt Elle repousse les tests à la fin de la mise
du projet

Elle communique efficacement les Elle exclut le client et/ou l’utilisateur


informations

Livrable spécifique à chaque phase Cycle de vie coûteux et plus long

42
Projet où l'on peut appliquer le cycle en
cascade :
• Exemple : Développement d'un logiciel pour une machine industrielle

• Pourquoi c'est approprié :

• 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

• Le cycle en V est une extension du modèle en cascade, où la phase de


développement et les phases de test sont associées. Ce modèle est structuré
en forme de "V", où chaque étape de développement a une phase de test
correspondante.

• Voici une description du cycle en V avec des étapes et des exemples :


Cycle en V

• Analyse des besoins : Recueillir les besoins du client.

• Exemple : Un client demande une application de gestion de stock. Vous


définissez tous les besoins spécifiques comme le suivi des produits, les alertes
de faible stock, etc.
Cycle en V

• Spécification fonctionnelle : Documenter les fonctions que le logiciel doit


accomplir.

• Exemple : Définir les fonctionnalités telles que l'ajout de nouveaux produits, la


mise à jour des stocks et la génération de rapports.
Cycle en V

• Conception système et architecture : Planifier l'architecture générale du


système.

• Exemple : Décider d'utiliser une base de données relationnelle pour stocker les
informations de stock.
Cycle en V

• Conception détaillée : Créer des schémas détaillés du logiciel (comme les


algorithmes ou les modèles de données).

• Exemple : Créer un diagramme de classe pour les objets comme Produits,


Commandes et Clients.
Cycle en V

• Implémentation : Développer le code source selon les spécifications.

• Exemple : Écrire le code en utilisant un langage de programmation comme Java ou


C++ pour implémenter les fonctionnalités définies.
Cycle en V

• Tests unitaires : Tester chaque module ou composant individuellement.

• Exemple : Tester les fonctions comme l'ajout de produits dans la base de


données pour s'assurer qu'elles fonctionnent correctement.
Cycle en V

• Tests d'intégration : Vérifier l'interaction entre les différents modules.

• Exemple : Assurer que l'ajout d'un produit se reflète correctement dans le stock
total.
Cycle en V

• Tests de validation : Valider que le logiciel répond aux exigences


initiales du client.

• Exemple : S'assurer que l'application respecte tous les besoins


énoncés par le client.
Cycle en V

• Tests de système : Vérifier l'application dans son ensemble dans un

environnement réel.

• Exemple : Tester l'application avec des données réelles pour voir comment elle

se comporte en production.
Cycle en V

Avant-projet Bilan fin de projet

Spécification des besoins Tests de performance

Conception globale Tests d’intégration

Conception détaillée Tests unitaires

Développement
Différences entre le cycle en V et le modèle en
cascade

• Structure :

• Modèle en cascade : Il suit une progression linéaire où chaque phase doit


être terminée avant de passer à la suivante.

• 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.

• Cycle en V : Chaque phase de développement est associée à une phase de test


correspondante, ce qui permet une vérification continue.
Différences entre le cycle en V et le modèle en
cascade

• 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

• Supposons que vous développiez un logiciel de gestion d'une bibliothèque.

• 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

• Le cycle en Y est une méthodologie de développement de systèmes qui


est moins connue que les cycles en cascade ou en V, mais qui se
concentre sur l'intégration des systèmes matériels et logiciels. Ce
modèle est principalement utilisé dans les projets complexes, souvent
dans des industries comme l'automobile ou l'aérospatiale, où
l'intégration entre le matériel et le logiciel est cruciale.
Structure du Cycle en Y

• Le cycle en Y se décompose en trois branches qui représentent les


processus parallèles de développement et d'intégration du matériel et
du logiciel. L'idée est que chaque branche du "Y" est dédiée à une
composante spécifique : une branche pour le matériel, une pour le
logiciel, et la base du "Y" pour leur intégration.

• Voici les étapes typiques du cycle en Y :


Structure du Cycle en Y

• Développement matériel (branche gauche) :Analyse des besoins


matériels : Comprendre et documenter les exigences matérielles.

• Conception matérielle : Créer les spécifications et les schémas pour le


matériel.

• Implémentation matérielle : Construire le matériel ou les circuits


électroniques.
Structure du Cycle en Y

• Développement logiciel (branche droite) :

• Analyse des besoins logiciels : Identifier les exigences fonctionnelles


du logiciel.

• Conception logicielle : Concevoir l'architecture du logiciel.

• Implémentation logicielle : Développer le code et les algorithmes


nécessaires.
Structure du Cycle en Y

• Intégration et validation (base du Y) :

• Intégration matériel-logiciel : Associer le matériel et le logiciel pour s'assurer


qu'ils fonctionnent ensemble.

• Tests d'intégration système : Tester l'ensemble du système dans un


environnement réel pour vérifier que toutes les composantes interagissent
correctement.

• Validation et vérification : Valider que le système complet répond aux


exigences initiales et vérifier que les performances sont conformes.
Exemple concret du 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.

• Implémentation matérielle : Vous construisez les circuits électroniques et assemblez les


composants matériels.
Exemple concret du Cycle en Y

• 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.

• Conception logicielle : Vous développez l'architecture logicielle, définissant les


modules de traitement des images, de prise de décision et de commande du
véhicule.

• Implémentation logicielle : Vous écrivez le code pour chaque module et les


intégrez dans un système logiciel complet.
Exemple concret du Cycle en Y

• Intégration et validation :

• Intégration matériel-logiciel : Vous connectez les capteurs matériels au


logiciel pour s'assurer qu'ils transmettent les données correctement.

• Tests d'intégration système : Vous testez le véhicule autonome dans des


conditions simulées et réelles pour vérifier son comportement.

• Validation et vérification : Vous validez que le système respecte les


exigences de sécurité et de performance.
Avantages du Cycle en Y

• Approche intégrée : Il offre une approche systématique pour combiner le


développement matériel et logiciel, ce qui est crucial pour les systèmes
embarqués complexes.

• Détection précoce des erreurs : Comme le modèle en V, le cycle en Y permet


de détecter les erreurs plus tôt grâce à l'intégration et aux tests effectués dès
que possible.

• Gestion des dépendances : Il permet de mieux gérer les dépendances et les


interactions entre le matériel et le logiciel.
Différences avec le Cycle en V

• Focalisation sur l'intégration : Le cycle en V se concentre principalement sur


le développement et les tests de logiciels, alors que le cycle en Y est conçu
spécifiquement pour les projets où l'intégration du matériel et du logiciel est
essentielle.

• Structure tripartite : Le cycle en Y a une structure qui divise le développement


en trois parties (matériel, logiciel et intégration), contrairement au cycle en V
qui se divise principalement en phases de développement et de test.
Conclusion

• Le cycle en Y est particulièrement utile pour les projets complexes qui


nécessitent une forte collaboration entre le matériel et le logiciel, comme dans
les systèmes embarqués, les appareils électroniques, et les véhicules
intelligents.
Cycle itératif

• 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

• Planification de l'itération : On planifie les fonctionnalités à


développer pendant l'itération. On identifie les tâches spécifiques,
les ressources nécessaires et les délais.
Les étapes du cycle itératif

• Analyse et conception : On analyse les exigences et on


conçoit les fonctionnalités spécifiques à implémenter dans
cette itération. On crée des modèles ou des prototypes pour
guider le développement.
Les étapes du cycle itératif

• Développement : Les développeurs commencent à coder


les fonctionnalités prévues dans cette itération. Le code est
souvent écrit de manière modulaire pour permettre des
ajustements et des améliorations futures.
Les étapes du cycle itératif

• Test : Les fonctionnalités développées sont testées pour


vérifier leur bon fonctionnement et s'assurer qu'elles
répondent aux exigences définies. Les tests permettent
également de détecter et de corriger les bogues.
Les étapes du cycle itératif

• Révision et ajustement : Les résultats de l'itération sont


analysés et comparés aux objectifs initiaux. Si des
ajustements sont nécessaires, ils sont identifiés et pris en
compte dans les prochaines itérations.
Les étapes du cycle itératif

• Amélioration continue : Le processus se répète pour


chaque itération suivante, en intégrant les leçons apprises et
en améliorant progressivement le produit.
Avantages du cycle de vie itératif

• Flexibilité : Permet de s'adapter aux changements des exigences pendant le


développement.

• 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.

• Amélioration progressive : Chaque itération apporte une version améliorée


et plus complète du produit.
Inconvénients du cycle de vie itératif

• Gestion complexe : La planification et la gestion des


multiples itérations peuvent être difficiles.

• Besoins en ressources : Peut nécessiter plus de ressources


en termes de temps et d'efforts par rapport à un modèle de
développement traditionnel.
cycle de vie en spirale

Analyse des risques

Planification du cycle suivant Prototypage

Validation des besoins Conception

Développement

10/11/2024 84
cycle de vie en spirale

Avantages Inconvénients
Mieux adapté aux grands projets
Flexible aux exigences dynamiques
uniquement

Meilleure gestion des risques en


Des professionnels hautement qualifiés
divisant et en développant
sont requis
produit en plus petites pièces

Coûteux et chronophage en raison de


plusieurs itérations

10/11/2024 85
processus unifié - définition

Elle définit un processus intégrant


toutes les activités de conception et
Le processus unifié (PU), ou « unified
de réalisation au sein de cycles de
process (UP) » en anglais, ou « Unified Elle se caractérise par une démarche
développement composés d'une
Software Development Process itérative et incrémentale, pilotée par
phase de création, d'une phase
(USDP) » est une famille de méthodes les cas d'utilisation, et centrée
d'élaboration, d'une phase de
de développement de sur l'architecture et les modèles UML.
construction et d'une phase de
logiciels orientés objets.
transition, comprenant chacune
plusieurs itérations

10/11/2024 86
processus unifié - caractéristiques

• Tout processus UP doit répondre aux caractéristiques suivantes :

• Utilise le langage UML,

• Itératif et incrémental,

• Conduit par les cas d’utilisation,

• Centré sur l’architecture,

• Guidé par les risques.

10/11/2024 87
Itératif et incrémental

• Un processus UP n’a pas un déroulement linéaire avec un début et une fin.

• Il se déroule d’une manière itérative (répétitive) sur plus d’une dimension.

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.

• Chaque itération, réalise un certain nombre de cas d’utilisation (/ architecture)

• Chaque itération, apporte une différence delta qui est l’incrément.

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

• Le processus UP est guidée par les cas d’utilisation :


• Le système à construire se définit d’abord avec les utilisateurs.
• Il faut rendre service à ses utilisateurs
• Les utilisateurs source d’expression des besoins.
• Il faut par conséquent bien comprendre les désirs et les besoins des futurs utilisateurs.
• UP est donc centré sur l’utilisateur.
• La modélisation des besoins se fait grâce au diagramme de cas d’utilisation.
• Cas d’Utilisation utilisés tout au long du cycle
• Validation des besoins avec l’utilisateur
• Point de départ pour l’analyse (découverte des objets, de leurs relations, de leur comportement) et la
conception(sous-systèmes)
• Guide pour la construction des interfaces
• Guide pour la mise au point des plans de tests.
10/11/2024 91
Conduit par
les cas
d’utilisation

11/10/2024 92
Centré sur l’architecture

• Le rôle de l’architecture logicielle est comparable à celle que joue l’architecte


dans la construction d’un bâtiment.

• 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.

• l’architecture sert de lien pour l’ensemble des membres du projet

10/11/2024 94
Centré sur les risques

• Risque que le projet de construction du système soit un échec.


• Risque de contre-sens par rapport aux besoins
• Le risque de développements infinis, indéfinis, mal définis ou inachevés
• Différentes natures de risques pour un projet
• Besoins / technique
• Ex :
• Le système construit n’est pas le bon
• Architecture inadaptée, utilisation de technologies mal maitrisées, performances
insuffisantes
• Personnel insuffisant, problèmes commerciaux ou financiers

10/11/2024 95
Processus Unifié - caractéristiques

11/10/2024 96
concepts processus unifié

• Les principaux concepts d’UP :

Le processus Unifié permet de répondre aux questions : qui fait quoi, quand et comment .

• QUI participe au projet ?

• QUOI, qu'est-ce qui est produit durant le projet ?

• COMMENT doit-il être réalisé ?

• QUAND est réalisé chaque livrable ?

10/11/2024 97
Processus Unifié
• UP gère le processus de développement par deux axes.

• L'axe vertical représente les principaux enchaînements d'activités,


qui regroupent les activités selon leur nature. Cette dimension rend
compte l'aspect statique du processus qui s'exprime en termes de
composants, de processus, d'activités, d'enchaînements, d'artefacts et
de travailleurs.

• L'axe horizontal représente le temps et montre le déroulement du


cycle de vie du processus; cette dimension rend compte de l'aspect
dynamique du processus qui s'exprime en termes de cycles, de
phases, d'itérations et de jalons.

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

Liste des fonctionnalités que le projet doit réaliser,


Des user stories : des éléments qui vont nécessiter du travail
pour l’équipe.
10/11/2024 116
sprint

Chaque sprint contient des taches à réaliser dans un délai pré-


precis plus au moins une période entre 2 à 4 semaines

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

Vous aimerez peut-être aussi