Chapitre 2. Cycles de vie d’un            logiciel            Préparé par :       Jalila BEN GHORBEL                  Et  ...
Plan Les étapes principales de création d’un logiciel Les cycles de vies
Les étapes principales de  création d’un logiciel
Les étapes principales de créationd’un logiciel       Analyse des                     Conception         besoins        Co...
Analyse des besoins Appelée aussi Spécification des besoins Ce que peut contenir cette phase :   Mise du logiciel dans ...
Analyse des besoins Ce que peut contenir cette phase :   Description des besoins et conditions qui doivent être    respe...
Conception La  conception utilise les spécifications pour  décider des solutions proposées La conception peut contenir :...
Conception La conception peut contenir :   Conception architecturale : L’architecture logicielle de   l’application    ...
Conception La conception peut contenir :   Conception architecturale :     Exemples : Architecture par couches         ...
Conception La conception peut contenir :   Conception architecturale :     Exemples : Architecture orientée objets (d’u...
Conception La conception peut contenir :   Conception architecturale :     Exemples : Architecture orientée composants
Conception La conception peut contenir :   Conception des interfaces     Plan de navigation     Charte graphique   Co...
Conception La conception peut contenir :   Conception de l’architecture matérielle     Exemple : Architecture 3 tiers
Conception La conception peut contenir :   Conception de l’architecture matérielle     Exemple :
Codage Le codage transforme les solutions proposées lors  de la conception en un code opérationnel Les      techniques  ...
Test Phase de test et de validation Les tests déterminent   Les    bugs techniques : erreurs dans le code ou    comport...
Déploiement Appelée aussi ‘phase de livraison’ ou ‘phase de  mise en exploitation’ La phase de déploiement regroupe tout...
Maintenance La maintenance consiste à modifier le produit après  sa livraison au client La maintenance peut avoir un but...
Les cycles de vie d’un logiciel
Cycle de vie Un projet réalisation d’un système d’information est  composé d’étapes Le     découpage d’un projet en étap...
Cycle de vie Il existe deux types de méthodes :          Méthodes             Méthodologies          classiques          ...
Cycles de vie classiquesModèle en Cascade      Spécification                   Validation          Conception           gé...
Cycles de vie classiques    Modèle en Cascade       Avantages                     Inconvénients• Facile à utiliser et à   ...
Cycles de vie classiques Modèle en VExpression des                                Validation des   besoins                ...
Cycles de vie classiques   Modèle en V     Avantages              Inconvénients• Met l’accent sur les   • Ne gère pas les ...
Cycles de vie classiques     Modèle Incrémental      Chaque incrément est une construction partiel le       du logiciel  ...
Cycles de vie classiques    Modèle Incrémental       Avantages                      Inconvénients• Développement de       ...
Cycles de vie classiquesModèle en Spirale
Cycles de vie classiques    Modèle en Spirale       Avantages                   Inconvénients• Inclut l’analyse de risque ...
Prochain SlideShare
Chargement dans…5
×

Cycles de vie d'un logiciel

22 206 vues

Publié le

Publié dans : Technologie
2 commentaires
28 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
22 206
Sur SlideShare
0
Issues des intégrations
0
Intégrations
158
Actions
Partages
0
Téléchargements
0
Commentaires
2
J’aime
28
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cycles de vie d'un logiciel

  1. 1. Chapitre 2. Cycles de vie d’un logiciel Préparé par : Jalila BEN GHORBEL Et Rabia AZIZA
  2. 2. Plan Les étapes principales de création d’un logiciel Les cycles de vies
  3. 3. Les étapes principales de création d’un logiciel
  4. 4. Les étapes principales de créationd’un logiciel Analyse des Conception besoins Codage Test Déploiement Maintenance
  5. 5. Analyse des besoins Appelée aussi Spécification des besoins Ce que peut contenir cette phase :  Mise du logiciel dans son contexte : type de produit, nouveau/altéré, etc.  Étude de l’existant :  Étude des produits similaires dans le marché (national ET international)  Critiquer les produits concurrents (points positifs et négatifs)  Étude du processus/logiciels existants à l’entreprise  Comment fonctionnait l’entreprise avant le produit à créer ?  la description du fonctionnement du processus de l’entreprise peut aider à la conception du produit (étape suivante)
  6. 6. Analyse des besoins Ce que peut contenir cette phase :  Description des besoins et conditions qui doivent être respectées  Besoins fonctionnels : les fonctionnalités que le produit doit automatiser  Exemple : lister les produits, calculer le panier, trier, etc.  Besoins non fonctionnels :  Besoins de performance (disponibilité, rapidité de calcul, rapidité de réponse, taille en mémoire, sécurité, ergonomie, etc.)  Besoins logiciels : si l’entreprise exige l’utilisation d’un outil logiciel  Peu contenir un cahier des charges  Dans les grands projets, le cahier des charges est signé Phase difficile car le client et les informaticiens (développeurs, analystes, concepteurs, etc.) ne parlent pas le même langage
  7. 7. Conception La conception utilise les spécifications pour décider des solutions proposées La conception peut contenir :  Description des fonctionnalités de l’application (le déroulement des processus)  Les fonctionnalités précisées lors de la spécification des besoins sont les objectifs à réaliser (de point de vue fonctionnel). La conception décrit COMMENT arriver à effectuer ces fonctionnalités  Exemple : la fonctionnalité ‘Lister les produits’ : on doit se connecter à la BD, sélectionner les produits à lister, organiser la liste (trie ou autre), transférer cette liste à l’interface finale, parcourir cette liste élément par élément et afficher sous forme d’un tableau le nom du produit, sa catégorie, son prix, sa remise, sa disponibilité, etc.
  8. 8. Conception La conception peut contenir :  Conception architecturale : L’architecture logicielle de l’application  On peut trouver différents types d’architecture :  Architecture en couches  Architecture centrée sur les données  Architecture orientée objets  Architecture orientée agents  Architecture orientée composants  Architecture orientée services  Etc.
  9. 9. Conception La conception peut contenir :  Conception architecturale :  Exemples : Architecture par couches Couche de présentation Couche métier Couche d’accès aux données Base(s) de données
  10. 10. Conception La conception peut contenir :  Conception architecturale :  Exemples : Architecture orientée objets (d’une application web) Couche de présentation (interfaces utilisateur) Html/... Reporting Pdf Couche de contrôle Couche métier Entités Gestion Couche d’accès aux données Data transfer object Data acces object (DTO) (DAO) Base(s) de données
  11. 11. Conception La conception peut contenir :  Conception architecturale :  Exemples : Architecture orientée composants
  12. 12. Conception La conception peut contenir :  Conception des interfaces  Plan de navigation  Charte graphique  Conception des données  Type de la base de données : BDR (relationnelle), DWH (entrepôt de données), BDXML, BDOO (orientée objet), etc.  La structure de la base : quelles entités composent la base de données et quelles sont les relations entre elles  Conception de l’architecture matérielle  Les composants matériels de l’architecture et la relation entre ces composants
  13. 13. Conception La conception peut contenir :  Conception de l’architecture matérielle  Exemple : Architecture 3 tiers
  14. 14. Conception La conception peut contenir :  Conception de l’architecture matérielle  Exemple :
  15. 15. Codage Le codage transforme les solutions proposées lors de la conception en un code opérationnel Les techniques de codage dépendent intrinsèquement du langage de programmation utilisé et du paradigme On peut arriver à cette phase sans connaitre d’avance quels outils / langages de programmation on va utiliser Le codage doit être bien conforme à la conception
  16. 16. Test Phase de test et de validation Les tests déterminent  Les bugs techniques : erreurs dans le code ou comportement anormal d’un processus  Les bugs fonctionnels : si le logiciel fait ce qu’on attend de lui par rapport aux spécifications  La qualité du logiciel Plusieurs types de test :  Les tests unitaires : orientés code  Les tests d’acceptation vérifient les attentes d’un produit logiciel  Etc. On peut utiliser des logiciels de tests, des techniques, des benchmarks, des fiches de tests
  17. 17. Déploiement Appelée aussi ‘phase de livraison’ ou ‘phase de mise en exploitation’ La phase de déploiement regroupe toutes les activités qui mènent à l’installation et mise en marche de l’application développée  Installation des serveurs : serveur web, serveur d’application, serveur de données, serveur FTP, serveur d’authentification, etc.  Setup et configuration des composants du logiciel développé  Tests de déploiement : pour se rassurer de la bonne connectivité et exécution du système
  18. 18. Maintenance La maintenance consiste à modifier le produit après sa livraison au client La maintenance peut avoir un but  Correctif : rectifier les anomalies et corriger les erreurs du système  Évolutif : modifier le système pour rajouter des fonctionnalités ou prendre en compte les demandes dévolution des utilisateurs Le degré de maintenance dépend de la qualité de la conception
  19. 19. Les cycles de vie d’un logiciel
  20. 20. Cycle de vie Un projet réalisation d’un système d’information est composé d’étapes Le découpage d’un projet en étapes et l’organisation de ces étapes varie selon le modèle utilisé On appel cycle de vie d’un logiciel l’ensemble des étapes à suivre lors de la création du logiciel ainsi que leur enchaînement
  21. 21. Cycle de vie Il existe deux types de méthodes : Méthodes Méthodologies classiques Agiles  Modèle en cascade  Modèle en V  Modèle incrémental  Modèle en spirale
  22. 22. Cycles de vie classiquesModèle en Cascade Spécification Validation Conception générale Vérification Conception détaillée Vérification Codage Tests unitaires Intégration Tests d’intégration Mise en production Validation Maintenance
  23. 23. Cycles de vie classiques Modèle en Cascade Avantages Inconvénients• Facile à utiliser et à • Sensibilité aux nouveaux comprendre besoins : refaire tout le• Structure simple pour une procédé équipe inexpérimentée • Une phase ne peut• Fonctionne bien quand la démarrer que si l’étape qualité est beaucoup plus précédente est finie importante que les couts et • Le produit n’est visible qu’à le temps la fin • Les risques se décalent vers la fin • Très faible implication du client
  24. 24. Cycles de vie classiques Modèle en VExpression des Validation des besoins besoins Spécification Validation fonctionnelle fonctionnelle Modélisation Validation des conceptuelle concepts Tests par Conception modules et Tests (modules) du système Codage
  25. 25. Cycles de vie classiques Modèle en V Avantages Inconvénients• Met l’accent sur les • Ne gère pas les tests et la activités parallèles validation et donc • Ne gère pas les accroît la qualité changements des• Chaque livrable spécifications doit être testable • Ne contient pas• Facile à utiliser et d’activités planifier d’analyse de risque
  26. 26. Cycles de vie classiques Modèle Incrémental  Chaque incrément est une construction partiel le du logiciel  Trie les spécifications par priorités  Chaque incrément implémente un ou plusieurs spécifications jusqu’à ce que la totalité du produit soit finieSpécification Conception Codage Tests Incrément 1Spécification Conception Codage Tests Incrément 2Spécification Conception Codage Tests Incrément N .............
  27. 27. Cycles de vie classiques Modèle Incrémental Avantages Inconvénients• Développement de • Exige une bonne fonctionnalités à risque planification et une en premier bonne conception• Chaque incrément donne • Exige une vision sur le un produit fonctionnel produit fini pour pouvoir• Le client intervient à la fin bien le diviser en de chaque incrément incréments• Utiliser l’approche « • Le coût total du système diviser pour régner » peut être cher• Le client entre en relation avec le produit très tôt
  28. 28. Cycles de vie classiquesModèle en Spirale
  29. 29. Cycles de vie classiques Modèle en Spirale Avantages Inconvénients• Inclut l’analyse de risque • L’évaluation des risques et le prototypage peut prendre beaucoup de• Fonctions critiques temps développées en premier • Le modèle est très• Feedback rapide du cl ient complexe• Une évaluation continue du procédé• Chaque cycle est composé des même activités que du modèle en cascade

×