SlideShare uma empresa Scribd logo
1 de 29
Chapitre 2. Cycles de vie d’un
            logiciel
            Préparé par :
       Jalila BEN GHORBEL
                  Et
             Rabia AZIZA
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éation
d’un logiciel

       Analyse des
                     Conception
         besoins



        Codage          Test



      Déploiement    Maintenance
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)
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
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.
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.
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
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
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
   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
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     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
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
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
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
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 é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
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
Cycles de vie classiques
Modè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
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
Cycles de vie classiques
 Modèle en V
Expression 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
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
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 finie
Spécification   Conception     Codage           Tests   Incrément 1


Spécification   Conception     Codage           Tests   Incrément 2



Spécification   Conception     Codage           Tests   Incrément N
                                .............
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
Cycles de vie classiques
Modèle en Spirale
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

Mais conteúdo relacionado

Mais procurados

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logicielMajid CHADAD
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesMohammed Amine Mostefai
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Modèle en v
 Modèle en v Modèle en v
Modèle en vbouye2209
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 
Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPSarah
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011agnes_crepet
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisationAmir Souissi
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessZakaria Bouazza
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe espritAmine Chahed
 

Mais procurados (20)

Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 
Rapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XPRapport exposé eXtreme Programming XP
Rapport exposé eXtreme Programming XP
 
Modelisation agile 03122011
Modelisation agile  03122011Modelisation agile  03122011
Modelisation agile 03122011
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 

Semelhante a Cycles de vie d'un logiciel

Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciellauraty3204
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Microsoft
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUGFabrice Bellingard
 
2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciellauraty3204
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012Sellami Ahmed
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMJason De Oliveira
 
Industrialisation des développements CRM 2011
Industrialisation des développements CRM 2011Industrialisation des développements CRM 2011
Industrialisation des développements CRM 2011Microsoft
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php ALTER WAY
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 
7-Cours de Géniel Logiciel
7-Cours de Géniel Logiciel7-Cours de Géniel Logiciel
7-Cours de Géniel Logiciellauraty3204
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptFatiMa243348
 
Klee Group Présentation Urbanisation DIRISI
Klee Group Présentation Urbanisation DIRISIKlee Group Présentation Urbanisation DIRISI
Klee Group Présentation Urbanisation DIRISISamuel Mingot
 
12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciel12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciellauraty3204
 

Semelhante a Cycles de vie d'un logiciel (20)

Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel
 
Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010Les tests fonctionnels avec Visual Studio 2010
Les tests fonctionnels avec Visual Studio 2010
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG2009-09-15 Squale au Paris JUG
2009-09-15 Squale au Paris JUG
 
2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel2-Cours de Géniel Logiciel
2-Cours de Géniel Logiciel
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
TechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALMTechDays 2012 - Windows Azure - ALM
TechDays 2012 - Windows Azure - ALM
 
Industrialisation des développements CRM 2011
Industrialisation des développements CRM 2011Industrialisation des développements CRM 2011
Industrialisation des développements CRM 2011
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Industrialisez vos projets Php
Industrialisez vos projets Php Industrialisez vos projets Php
Industrialisez vos projets Php
 
Lecon 1.1
Lecon 1.1Lecon 1.1
Lecon 1.1
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
7-Cours de Géniel Logiciel
7-Cours de Géniel Logiciel7-Cours de Géniel Logiciel
7-Cours de Géniel Logiciel
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
 
Klee Group Présentation Urbanisation DIRISI
Klee Group Présentation Urbanisation DIRISIKlee Group Présentation Urbanisation DIRISI
Klee Group Présentation Urbanisation DIRISI
 
12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciel12-Cours de Géniel Logiciel
12-Cours de Géniel Logiciel
 

Cycles de vie d'un logiciel

  • 1. Chapitre 2. Cycles de vie d’un logiciel Préparé par : Jalila BEN GHORBEL Et Rabia AZIZA
  • 2. Plan  Les étapes principales de création d’un logiciel  Les cycles de vies
  • 3. Les étapes principales de création d’un logiciel
  • 4. Les étapes principales de création d’un logiciel Analyse des Conception besoins Codage Test Déploiement Maintenance
  • 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. 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. 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. 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. 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. 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. Conception  La conception peut contenir :  Conception architecturale :  Exemples : Architecture orientée composants
  • 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. Conception  La conception peut contenir :  Conception de l’architecture matérielle  Exemple : Architecture 3 tiers
  • 14. Conception  La conception peut contenir :  Conception de l’architecture matérielle  Exemple :
  • 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. 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. 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. 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. Les cycles de vie d’un logiciel
  • 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. 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. Cycles de vie classiques Modè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. 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. Cycles de vie classiques Modèle en V Expression 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. 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. 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 finie Spécification Conception Codage Tests Incrément 1 Spécification Conception Codage Tests Incrément 2 Spécification Conception Codage Tests Incrément N .............
  • 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. Cycles de vie classiques Modèle en Spirale
  • 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