Académique Documents
Professionnel Documents
Culture Documents
Processus de
développement de logiciel
Objectifs
2
Plan
3. Modèle en spirale
Étude de faisabilité
Spécification Intégration et Tests
Conception Exploitation
Codage Maintenance
4
Activités de production de logiciel
Étude de faisabilité
But : Déterminer si le logiciel est à la fois faisable
(techniquement) et rentable (économiquement)
Cette activité consiste à déterminer les avantages et
les inconvénients que procureraient la réalisation et
l’utilisation d’un nouveau logiciel. Elle est destinée
aux décideurs qui :
valident les orientations
chiffrent l’effort, coût de réalisation, gestion des délais,
temps de formation des utilisateurs, coût d’achat de
nouveaux matériels, récupération des anciennes données
5
Activités de production de logiciel
Spécification
Spécification
8
Activités de production de logiciel
Conception
But : Enrichir la première description du logiciel
de détails d'implémentation
Codage
10
Activités de production de logiciel
Intégration et tests
20% programmation,
13
Processus de développement
14
Processus de développement
Modèle en cascade
Modèle en V
Modèle en spirale
16
Modèle en cascade
Faisabilité
Analyse des besoins
Planification
Conception du
produit
Conception
détaillée
Codage
Intégration
Installation
Exploitation et
17
maintenance
Modèle en cascade
Années 1970
Linéaire, flot descendant
Principe très simple : chaque phase se termine
à une date précise par la production de certains
documents ou programmes.
Résultats définis sur la base des interactions
entre étapes et activités.
On ne passe à la phase suivante que si les
résultats sont jugés satisfaisants.
Retour limité à une phase en amont Dans la
pratique, c’est absurde !!!!
18
Modèle en cascade
Faisabilité
Analyse des besoins
Planification
Conception du
produit
Conception
détaillée
Codage
Intégration
Installation
Exploitation et
19
maintenance
Modèle en cascade
22
Validation & vérification (V&V)
23
Modèle en V
Conception Test
détaillée unitaire
Programmation
24
Modèle en V
Principe de ce modèle :
Avec toute décomposition doit être décrite la
recomposition
Toute description d'un composant est
accompagnée de tests pour s'assurer qu'il
correspond à sa description.
Préparation des dernières phases (V&V) par les
premières (construction du logiciel)
On distingue deux sortes de dépendances :
Enchaînement et itération
Préparation des phases ultérieures
25
Modèle en V
Conséquences :
26
Modèle en V
27
Modèle en spirale
28
Modèle en spirale
Défaillance de personnel
Calendrier et budget irréalistes
Volatilité des besoins
Développement de fonctions inappropriées
Développement d’interfaces utilisateurs
inappropriées
Changement de technologie en cours de route
Problèmes de performances
Exigences démesurées par rapport à la technologie
Incompréhension des fondements de la technologie
… etc.
31
Modèle en spirale
32
Modèles par incréments
33
Modèles par incréments
Risques :
Cas de remise en cause du noyau ou des
incréments précédents
Ne pas pouvoir intégrer de nouveaux
incréments
35
Processus unifié – UP
Caractéristiques
Itérations et risque
Une itération est un mini-projet, comporte toutes
les activités, terminée par un point de contrôle,
conduit à une version montrable implémentant un
certain nombre de CU, dure entre quelques
semaines et 9 mois
On ordonne les itérations à partir des priorités
établies pour les CU et de l’étude du risque
plan des itérations
chaque prototype réduit une part du risque et est évalué
comme tel
les priorités et l’ordonnancement de construction des
prototypes peuvent changer avec le déroulement du plan
37
Processus unifié – UP
38
Processus unifié – UP
45
Processus unifié – UP
4 Phases
1. Initialisation (Inception)
Définir la vision du projet, sa portée, sa faisabilité
Poursuite ou arrêt.
2. Elaboration : 3 objectifs
Identifier et décrire la majeure partie des besoins utilisateurs
Construire l’architecture de base du système
Lever les risques majeurs du projet
3. Construction
Concevoir et implémenter l’ensemble des éléments
opérationnels Ressources et effort
4. Transition
Faire passer l’application des développeurs aux users finaux
(formation, déploiement, béta-tests) 46
Processus unifié – UP
Phases
49
Méthodes Agile – Evolution
Développement adaptatif
Caractéristiques
Itératif Incrémental
52
Méthodes Agile – Historique
Années 90
réaction contre les grosses méthodes
priseen compte de facteurs liés au développement
logiciel
Fin années 90 : méthodes, d’abord des pratiques
liées à des consultants, puis des livres (XP,
Scrum, FDD, Crystal, …)
2001 : les principaux méthodologues s’accordent
sur le «Agile manifesto»
Années 2000 : projets Agile mixent des éléments
des principales méthodes 53
Méthodes Agile – Principes
5-12 personnes
Regroupés sur un seul site
A temps plein (semaine de 40h)
Systèmes interactifs
Architecture définie
Criticité faible ou modérée
Management accommodant
Nouveau développement
55
Méthodes Agile – Caractéristiques
Simplicité
Légèreté
Orientées participants plutôt que plan
Nombreuses (XP est la plus connue)
Pas de définition unique
Mais un manifeste
56
Méthodes Agile – Comparaison
57
Méthodes Agile – Manifeste
63
Méthodes Agile – Points forts
Caractéristiques principales
Le client pilote lui-même le projet, de très près grâce à des
cycles itératifs extrêmement courts (1 ou 2 semaines).
L’équipe du projet livre très tôt une première version du
logiciel, et les livraisons de nouvelles versions s’enchaînent à
un rythme soutenu pour obtenir un feedback maximal sur
l’avancement des développements.
L’équipe s’organise elle-même pour atteindre ses objectifs,
en favorisant une collaboration maximale entre ses
membres.
L’équipe met en place des tests automatiques pour toutes
les fonctionnalités qu’elle développe, ce qui garantit au
produit un niveau de robustesse très élevé.
Les développeurs améliorent sans cesse la structure interne
du logiciel pour que les évolutions y restent faciles et
66
rapides.
Méthodes Agile – XP
Vue d’ensemble
67
Méthodes Agile – XP
Le client décide :
Objectif
Priorité
Composition de la version
Date de livraison de la version
L’équipe de développement décide :
Estimations
Conséquences
Processus
Planning détaillé
Méthodes Agile – XP
Recaftoring
69
Méthodes Agile – XP
70
Méthodes Agile – XP
71
Méthodes Agile – XP
72
Méthodes Agile – XP
73
Méthodes Agile – XP
Avantages
Inconvénients
Caractéristiques principales
Caractéristiques principales
77
Scrum – Product Owner (PO)
78
Scrum – Scrum Master (SM)
79
Scrum – Team (T)
81
Scrum – Processus
83
Scrum – Processus
Scrum – Processus
85
Daily Standup
86
Sprint Review
Sprint backlog
87
Sprint Retrospective
88
Anatomie d’un Sprint
Conception
Codage / Test
Intégration
Sprint Review
Sprint Retrospective
89