Vous êtes sur la page 1sur 31

Chapitre I Cycle de vie

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

Qu’est ce qu’une exigence (besoin) ?


• Condition à laquelle le système doit satisfaire ou une capacité
dont il doit faire preuve.

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

Etude Conception Implémentation Test Exploitation

Change before you have to!


The world is keep changing. Don’t stay here.
6
Ingénierie
des besoins

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 ?

Les difficultés de la conception


• La conception ne se contente pas d’identifier le problème.
• Elle tente d’y apporter une solution valide.
• La conception est donc un processus créatif et rigoureux.
Conception vs implémentation
• L’implémentation est la mise en œuvre des choix issus de la conception.
• L’implémentation doit pouvoir répondre aux contraintes de réalisation sans
mettre en cause les choix de conception.

Charles Antony Richard Hoare


“There are two ways of constructing a software design : One way is to make it
so simple that there are obviously no deficiencies, and the other way is to
make it so complicated that there are no obvious deficiencies”

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

Demo 1 Dev Demo 2 Dev

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

Liés aux gens


 Une personne veut tout faire
 Environnement non adéquat pour travailler
 Mauvaise gestion des personnes : manque de dirigeants,
dictateurs, …
 Ajouter des employés au projet tardivement

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

Vous aimerez peut-être aussi