Académique Documents
Professionnel Documents
Culture Documents
d’un logiciel
http://lotfiabdelhadi.wixsite.com/site
2
Introduction
À la discipline
Cycle de vie ?
Ensemble séquentiel de phases, dont
le nom et le nombre sont déterminés
en fonction des besoins du projet,
permettant généralement le
développement d’un service ou d’un
produit
http://lotfiabdelhadi.wixsite.com/site
3
Ingénierie
des besoins
Pourquoi ?
• Manque de participation des utilisateur
• Identification incomplète des besoins
• Besoins qui changent au cours du projet
http://lotfiabdelhadi.wixsite.com/site
4
Ingénierie
des besoins
Prévenir vs Guérir
• Le succès ou l’échec d’un développement se jouent dans les
phases amont du développement d’un logiciel,
Correction ,,,
• Coût d’une correction tardive = 200 fois le coût d’une correction
initiale,
http://lotfiabdelhadi.wixsite.com/site
Coût du changement
250
200
200
150
100
50
50
5 10
1
0
Règles utiles
• Les besoins devraient exprimer le Quoi et non le Comment
• Seuls les clients ont des besoins, ces besoins devant guider
la spécification
• Tous les besoins exprimés par le client doivent être
implémentés
http://lotfiabdelhadi.wixsite.com/site
7
Conception
Définir le comment ?
http://lotfiabdelhadi.wixsite.com/site
8
Implémentation
de la conception
Objectif
• Implantation de la solution conçue
Important
• Choix de l'environnement de développement,
du/des langage(s) de programmation, de normes de
développement...
http://lotfiabdelhadi.wixsite.com/site
9
Validation
Phase cruciale
& vérification
Validation
• S’assurer que les besoins du client sont satisfaits (au
niveau de la spécification, du produit fini)
Concevoir le bon logiciel
Vérification
• S’assurer que le logiciel satisfait sa spécification
Concevoir le logiciel correctement
http://lotfiabdelhadi.wixsite.com/site
10
Maintenance
3 types :
Correction
• Identifier et corriger des erreurs trouvées après la livraison
du logiciel
Adaptation
• Adapter le logiciel aux changements dans l'environnement
(format des données, environnement d'exécution...)
Perfection
• Améliorer la performance, ajouter des fonctionnalités,
améliorer la maintenabilité du logiciel
http://lotfiabdelhadi.wixsite.com/site
11
Répartition
Estimation
de l’effort
7% Spécification
19% 6%
Conception
8% Maintenance
Implémentation
V&V
60%
http://lotfiabdelhadi.wixsite.com/site
12
Modèles de développement
Modèle en cascade (waterfall)
Spécification
Conception
Implémentation
Test
Maintenance
http://lotfiabdelhadi.wixsite.com/site
13
Modèles de
Modèle en cascade (watterfall)
développement
Caractéristiques
Appelé aussi modèle linéaire séquentiel
Architecture séquentielle
Terminer chaque phase avant de commencer la suivante
Très facile pour les utilisateurs non expérimentés
http://lotfiabdelhadi.wixsite.com/site
14
Modèles de
Modèle en cascade (watterfall)
développement
Utilisation
Besoins biens définis
Définition stable du produit
Technologie bien maitrisée
Nouvelle version d’un produit existant
http://lotfiabdelhadi.wixsite.com/site
15
Modèles de
Modèle en cascade (watterfall)
développement
Avantages
+ Facile à comprendre et à utiliser
+ Implémentation facile
+ Trouver les erreurs très tôt
+ Bon choix si la qualité est plus importante que le délais et le
coût
+ Chaque phase est bien documentée
http://lotfiabdelhadi.wixsite.com/site
16
Modèles de
Modèle en cascade (watterfall)
développement
Inconvénients
- Difficulté d’estimer le coût et le temps
- Pas de livrable jusqu’à la fin
- Impossible de faire un retour arrière
- Pas de changement dans les besoins
- Niveau de risque très élevé
- Aucun moyen pour gérer les changements dynamiques
http://lotfiabdelhadi.wixsite.com/site
17
Modèles de développement
Modèle en spirale
http://lotfiabdelhadi.wixsite.com/site
18
Modèles
Modèle en spirale
de développement
Avantages
+ Réduction du risque
+ Ajouter des fonctionnalités facilement
+ Production précoce dans le cycle de vie
+ Feed-back précoce
http://lotfiabdelhadi.wixsite.com/site
19
Modèles
Modèle en spirale
de développement
Inconvénients
- Expertise spécifique pour analyser le risque
- Dépend grandement sur l’analyse du risque
- Très compliqué / watterfall
http://lotfiabdelhadi.wixsite.com/site
20
Modèles de
Prototypage évolutionnel
développement
Prototype Concevoir et Redéfinir le prototype Compléter et
Initial implementer le jusqu’à son acceptation publier le
prototype initial prototype
http://lotfiabdelhadi.wixsite.com/site
21
Modèles de
Prototypage évolutionnel
développement
Avantages
+ L’effort de prototypage n’est pas gaspillé
+ Plus rapide que le watterfall
+ Grande participation du client
+ Réduire le risque grâce à la détection précoce des erreurs
+ Idéal pour les projets instables
+ Idéal pour concevoir les interfaces utilisateur (front-end)
http://lotfiabdelhadi.wixsite.com/site
22
Modèles de
Prototypage évolutionnel
développement
Inconvénients
- Faible documentation
- Les changements continus peuvent facilement corrompre le
système
- Maintenance difficile
- Difficile de diviser les tâches équitablement (planification)
- La complexité augmente avec la taille du projet
http://lotfiabdelhadi.wixsite.com/site
23
Modèles
Modèle agile
de développement
Début
Planification Planification
du sprint du sprint
Test Test
Déploiement Déploiement
http://lotfiabdelhadi.wixsite.com/site
24
Modèles
Modèle agile
de développement
Avantages
+ Satisfaction du client par la livraison rapide
+ Les clients, les développeurs et les testeurs interagissent constamment
entre eux
+ Le logiciel est livré fréquemment (semaines plutôt que mois)
+ Une attention constante à l'excellence technique et une bonne
conception
+ Adaptation régulière à l'évolution des circonstances
+ Même les changements tardifs dans les exigences sont les bienvenus
http://lotfiabdelhadi.wixsite.com/site
25
Modèles
Modèle agile
de développement
Inconvénients
- Difficile d'évaluer l'effort requis au début du cycle de
développement pour les grands projets
- Manque d'accent sur la conception et la documentation
- Seuls les programmeurs seniors sont capables de prendre le
type de décisions nécessaires au cours du processus de
développement.
- Pas de place pour les programmeurs débutants, sauf si
combiné avec des ressources expérimentées
http://lotfiabdelhadi.wixsite.com/site
26
Modèles
Choisir le bon modèle
de développement
Facteurs à considérer
Compréhension des exigences
Temps prévu
Niveau du risque
Contraintes de planification
Interaction avec les clients
Niveau d’expertise des participants
http://lotfiabdelhadi.wixsite.com/site
27
Modèles
Erreurs classiques
de développement
http://lotfiabdelhadi.wixsite.com/site
28
Modèles
Erreurs classiques
de développement
Liés au processus
Erreurs de planification
Mauvais choix du modèle
http://lotfiabdelhadi.wixsite.com/site
29
Modèles
Erreurs classiques
de développement
Liés au produit
Ajouter plus de fonctionnalités que nécessaire
Ajouter des options non demandées
Ajouter des parties de recherche au projet
Recherche ≠ développement
http://lotfiabdelhadi.wixsite.com/site
30
Modèles
Erreurs classiques
de développement
Liés à la technologie
Reposer trop sur une nouvelle technologie
Changer/ajouter les outils
Pas de système de contrôle de versions
http://lotfiabdelhadi.wixsite.com/site
31
Conclusion
Du chapitre I
Exigences
A vous de conclure …
Maintenance Spécification
Test Conception
Implémentation
http://lotfiabdelhadi.wixsite.com/site