0% ont trouvé ce document utile (0 vote)
33 vues49 pages

Cours GL 2024 Chap2

Le chapitre traite des cycles de vie du logiciel, en détaillant les phases et activités nécessaires à son développement, de l'analyse des besoins à la maintenance. Il présente différents modèles de cycle de vie, tels que le modèle en cascade, le modèle en V, et le prototypage, chacun ayant ses avantages et limites. L'importance de la documentation, de la vérification et validation, ainsi que de la gestion de configuration est également soulignée.

Transféré par

azizkhayri341
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues49 pages

Cours GL 2024 Chap2

Le chapitre traite des cycles de vie du logiciel, en détaillant les phases et activités nécessaires à son développement, de l'analyse des besoins à la maintenance. Il présente différents modèles de cycle de vie, tels que le modèle en cascade, le modèle en V, et le prototypage, chacun ayant ses avantages et limites. L'importance de la documentation, de la vérification et validation, ainsi que de la gestion de configuration est également soulignée.

Transféré par

azizkhayri341
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours Génie Logiciel

2ème GI
ACADEMIE MILITAIRE
2024-2025

CHAPITRE 2:
CYCLES DE VIE D’UN
LOGICIEL
11/09/2024 2

Plan du chapitre
1. Introduction
2. Le cycle de vie d’un logiciel
3. Les activités
4. Les modèles de cycle de vie
 Modèle en cascade
 Modèle en V
 Modèle par prototypage (par incrément, en spirale, …)
11/09/2024 3

1. Introduction
• Dans la réalisation d'un programme simple, fait par
une personne, il est possible de distinguer 3 phases:
1. la phase d'analyse du problème;
2. la phase de codage et de mise au point;
3. la phase d'opération (le programme est opérationnel).

• Cette approche n'est pas appropriée pour un projet


important impliquant plusieurs personnes.
• On n’arrive plus à maitriser le processus de développement
• Le client n’est pas satisfait
• C’est difficile et couteux de maintenir après
• …
• Solution: l’arrivée du GL et la proposition de cycles de
vie de logiciels
11/09/2024 4

2. Cycle de vie du logiciel


• Cycle de Vie du Logiciel (CVL)
• démarre par la décision de développement d’un logiciel
• se termine par la mise en service du logiciel
• Décrit les principales phases de son développement et les produits
livrables

• Processus logiciel
• Un processus ou un procédé logiciel (software process) est un
ensemble d’activités conduisant à la production d’un logiciel
• Décrit les tâches bas niveau qui le composent ainsi que leur
enchaînement, les artefacts nécessaires et les acteurs responsables
de ces différentes tâches
11/09/2024 5

2. Cycle de vie du logiciel


En anglais : Software Development Life Cycle (SDLC)
11/09/2024 6

2. Cycle de vie du logiciel


Apports du SDLC :

• Réduire le coût de développement des logiciels


• Améliorer la qualité des logiciels fournis
• Raccourcir les délais
• Aider les développeurs à mieux comprendre le Pourquoi?

Limites et risques du SDLC :

• Réduire la communication et la collaboration entre les départements


(l’organisation consiste à ne passer à une étape que si on a terminé et
validé l’étape avant)
• Non flexible (processus linéaire)
• Risque de défaillance : si l’équipe n’évalue pas correctement à la 1ère
phase, les besoins du marché, cela peut conduire à un échec du produit
11/09/2024 7

2. Cycle de vie du logiciel


Avant-projet Exploitation &
Développement Maintenance
Retrait
de projet
Gestion

Initiation Planification, Pilotage & Suivi


du projet Gestion de qualité Évaluation

Analyse
Activités techniques

Conception

Implémentation

Étude Tests Maintenance


&
préalable
Installation Assistance

Documentation
Vérification et Validation (V&V)
Gestion des configurations
11/09/2024 8

3. Les activités de développement


• Plusieurs activités :

• Analyse des besoins

• Conception globale

• Conception détaillée

• Implémentation

• Tests

• Installation

• Maintenance

• Activités Parallèles, Processus globaux


11/09/2024 9

3.0 Etude Préalable


Le Pourquoi ?

• Définition globale du problème


• Évaluation des stratégies possibles

Documents élaborés dans cette phase


rapport d’analyse préliminaire + cahier des charges du projet
11/09/2024 10

3.1 Analyse des besoins


Le Quoi ?

• Objectif : exprimer les besoins de l’utilisateur sous forme


précise

• Définition : l’analyse comprend les étapes suivantes:


• Étude d’un problème dont les limites sont définies
• Le choix d’une solution
• La définition et l’élaboration de cette solution en vue d’un traitement
informatique (fonctions, données, entrées/sorties et caractéristiques
utilisateurs)
11/09/2024 11

3.1 Analyse des besoins


• Entrée
Cahier des charges du projet
• Tâches
analyse des besoins de l’utilisateur
spécification du logiciel à réaliser

• Sortie
spécification du logiciel :
fonctions du logiciel
performances requises
interfaces (utilisateur, autres logiciels, matériel)
contraintes de réalisation

• Documents élaborés dans cette phase


• Cahier des charges du logiciel, document de spécification
(Spécifications globales du système & Spécifications des sous-systèmes)
11/09/2024 12

Le Comment ?
3.2 Conception globale
 Processus durant lequel on doit IMAGINER, PROPOSER
une architecture pour satisfaire les spécifications
(objectifs et contraintes)
 Décomposition en modules, et mise en évidence des
frontières entre ces modules, structuration de l’ensemble
 Recherche de plusieurs solutions, comparaison et choix
entre les différentes alternatives de conception
 A la fin de cette étape on doit disposer d’un modèle :
 COMPLET
 COHERENT
 MAINTENABLE
 TESTABLE
11/09/2024 13

3.2 Conception globale


 Entrée
Document de spécification
 Tâches
Trouver une solution pour réaliser le logiciel
Définir l’architecture du logiciel :
 les composants de l’architecture
 les interfaces entre les composants
 Sortie
Architecture du logiciel à réaliser
 Documents élaborés dans cette phase
 document de conception globale
11/09/2024 14

3.3 Conception détaillée


• Étape qui achève la conception globale, sur le plan
ALGORITHMIQUE et STRUCTURATION de DONNEES,
jusqu’à un niveau satisfaisant pour permettre le
CODAGE.

• Les principales activités sont :


• Description précises des traitements, des données et
des interfaces de chaque module
• Résolution des algorithmes
11/09/2024 15

3.3 Conception détaillée


• Entrée
Document de conception globale
• Tâches
• raffiner la décomposition jusqu’à aboutir à des
composants élémentaires
• détailler chaque composant élémentaire
• Sortie
description détaillée de chaque composant :
 interfaces
 Algorithmes
• Documents élaborés dans cette phase
• document de conception détaillée
11/09/2024 16

3.4 Implémentation
• Entrée
Document de conception détaillée
• Tâches
Transformation des descriptions des composants
en code, écrit dans un langage de programmation
• Sortie
Composants logiciels compilés

• Documents élaborés dans cette phase


Document technique d’implémentation
11/09/2024 17

3.5 Tests & intégration


Tests unitaire
Tests des modules

Tests d’intégration
Composition progressive des modules
Tests des regroupements

Tests du système
Test en vraie grandeur du système complet
 Documents : rapport de test

Tests de non régression


 A la suite d'une modification, montrer que le logiciel n'est pas altéré par rapport à sa
version précédente.
11/09/2024 18

3.6 Installation
• Entrée
logiciel assemblé
• Tâches
Installer le logiciel chez le client, dans son
environnement d’exploitation
Effectuer les tests de réception en utilisant un
document de validation
• Sortie
• logiciel installé
• fourniture des documents :
• manuel d’installation
• manuel d’exploitation
11/09/2024 19

3.7 Exploitation et Maintenance


• Il y a différents types de maintenance :
• La correction des défauts résiduels (Maintenance
CORRECTIVE : 20%)
• L’adaptation du logiciel à un nouvel environnement
(Maintenance ADPATATIVE : 20%)
• La mise à jour du logiciel à la suite de modification des
spécification d’un point de vue fonctionnel ou
performance (Maintenance EVOLUTIVE : 60%)

• La maintenabilité ou la facilité de la maintenance


est préparée lors des étapes de conception.
11/09/2024 20

La Documentation
• C'est l'enregistrement de tout ce qui pourrait être connu à
propos d'un système.
• Elle permet la communication entre les différents intervenants :
analystes, concepteurs, développeurs, testeurs, …
• Indication de l'évolution et du comportement du système :
Gestion du projet
• Trace de toute prise de décision, toutes les informations du
système : Maintenance
• Utilisation et administration du système : Utilisateurs
• etc..

• Il y a plusieurs types de documentation (principalement le


manuel d’utilisation et le document technique de conception et
développement)
11/09/2024 21

Vérification & Validation (V&V)


Vérification : « Est ce que nous construisons bien le
produit? »
Validation : « Est ce que nous construisons le bon
produit? »
A la livraison du logiciel:
 Validation des besoins
 => Contrôle du respect des spécifications du logiciel et des besoins
 => Démonstration que les performances réelles sont conformes aux
spécifications de performances
 Vérification de tous les éléments constituant la fourniture
du logiciel : code, rapports, manuels, documentation,
jeux de tests, etc.
11/09/2024 22

Gestion de configuration
Par cette activité on cherche à gérer l’ensemble des
composants d’un logiciel.

• Entrée: les composants + description des configurations


• Tâches: gérer les composants du système, leur évolution,
leur mise à jour, leur intégration.
• Sortie: documents décrivant:
• les exécutables
• les configurations
11/09/2024 23

Approche traditionnelle avec les activités


définies
POURQUOI ? Pré-Analyse Non => Abandon
Oui + Cahier des charges du Projet

QUOI ? Analyse

Cahier des Charges

COMMENT ? Conception
Découpage en modules Développement

Implémentation
Code

Test
Logiciel opérationnel

Maintenance
11/09/2024 24

4. Modèles de Cycle de vie du logiciel


Plusieurs modèles de cycle de vie existent:

 Modèle de la cascade (plusieurs variantes)

 Modèle en V

 Modèle du prototypage

 Modèle en spirale

Modèle incrémental

 Modèle Agile

 A l’avenir ….. ??
25

4. Modèles de Cycle de vie du logiciel


Il existe deux types de modèles dans lesquels s’insèrent deux classes de
méthodes:
26

4. Modèles de Cycle de vie du logiciel


Choix d’un Modèle

Aucun modèle n’est meilleur que l’autre

Le choix se fait selon certains critères tels que la nature du projet, sa
taille, la nature du client et les compétences de l’équipe
11/09/2024 27

4.1 Modèle de la cascade


Analyse V&V Royce70, Boehm76
• Documents à la fin de chaque phase

Conception V&V

Codage V&V

Tests unitaires V&V

Intégration
et Tests V&V

Exploitation /
Maintenance
11/09/2024 28

4.1 Modèle de la cascade


• Chaque fin d’étape est matérialisée par un événement où s’exerce une
activité de contrôle (VERIFICATION et VALIDATION) afin d’éliminer au
plus tôt les anomalies des produits réalisés. Le passage à l’étape suivante
est conditionné par le résultat de contrôle (acceptation, rejet, ajournement)
• Autant que possible, les retours en arrière sur les étapes précédentes se
limitent à un retour sur l’étape immédiatement antérieure.

• Avantages
• Facile à comprendre (bien structuré et clair)
• Le plus utilisé dans l’industrie

• Limites
• Rigide aux changements: Il est rare que le client puisse fournir toutes les
spécifications dès le début du projet.
• Le client ne reçoit pas les résultats concrets pendant le développement du
logiciel et il ne voit rien qu’à la fin
11/09/2024 27

4.2 Modèle en V
Installation
Analyse
et Tests

V&V
Conception Intégration
Globale et Tests

Conception
Tests unitaires
Détaillée

Codage
11/09/2024 30

Modèle en V : Principe
• Les premières étapes du cycle doivent préparer les
dernières étapes, essentiellement les activités de
vérification et de validation.

• Deux sortes de dépendances entre étapes :


• Traits continu : correspondent à l’enchaînement et à l’itération éventuelle
du modèle de la cascade, les étapes se déroulent séquentiellement en
suivant le V de gauche à droite
• Traits non continus : Une partie des résultats de l’étape de départ est
utilisée directement par l’étape d’arrivée.
Par exemple : à l’issue de la conception, le protocole d’intégration et les
jeux de tests d’intégration doivent être complètement décrits.
11/09/2024 29

Modèle en V : Avantages & Limites


• Avantages :
• Avec toute décomposition doit être décrite la recomposition, toute
description d’un composant est accompagnée de tests .
• Principe qui évite un écueil (obstacle) bien connu de la spécification : on
énonce une propriété qu’il est impossible de vérifier objectivement une
fois le logiciel réalisé.
• L’obligation de concevoir les jeux de tests et leurs résultats oblige à une
réflexion et à des retours sur la description en cours.
• Les étapes de la branche droite du V peuvent être mieux préparés et
planifiés.
• Bien adapté pour les projets bien définis et les projets à haut risque
(Industrie aérospatiale, médicale ou automobile)

• Limites:
• Pas de résultats intermédiaires dont on peut discuter avec le client.
• Le client est toujours isolé après l’analyse et refait apparition à la livraison.
• Demande plus de temps et d’argent
11/09/2024 30

4.3 Modèles - Prototypage


Analyse
Spécifications et sélection
préliminaire des nouvelles État non
des besoins satisfaisant
fonctions
Construction
du prototype
Évaluation
expérimentation
État satisfaisant

Expression claire
des besoins réels

Spécifications
définitives
11/09/2024 31

Modèle du Prototypage
• Principe
• Initialement, les spécifications données par le client sont d’ordre général
• Raffinement des spécifications, des fonctionnalités et performances par
des prototypes successifs.

• Plusieurs techniques de réalisation


(langage de spécif. exécutable, L4G, langages de très haut niveau, etc.)

On distingue 3 catégories de prototypes:

1- Maquette (ou prototype jetable)

2- Prototype exploratoire
(permet de choisir entre plusieurs solutions)

3- Prototype évolutif
(prototype évoluant vers la solution finale)
11/09/2024 32

Modèle du Prototypage
Situations favorables au prototypage:
1- Utilisateur incapable de graduer ses besoins

2- Besoins mouvants

3- Souplesse exigée: incapacité de pointer les parties


stables et paramétrisables

4- Système très interactif, convivialité critique de l’interface

5- Système informationnel
11/09/2024 33

Modèle du Prototypage
Situations favorables au prototypage (suite):
6- Système rarement actif, performance non essentielle mais
importance des facteurs humains

7- Usagers réticents à se familiariser avec les outils


informatiques

8- Nécessiter de vérifier des concepts nouveaux

9- Nouveau domaine d’application pour l’informaticien

10- Usager souhaitant utiliser rapidement une version


incomplète du système.
11/09/2024 34

Modèle du Prototypage
Situations défavorables au prototypage:
1- Trop grande urgence et importance critique du système
(système électoral, système de gestion des jeux olympiques,
etc…).

2- Carence d’outils informatiques adéquats pour le prototypage.

3- Opposition de la direction ou du chef de projet.

4- Non disponibilité de l’utilisateur final pour collaborer.


11/09/2024 35

Modèles Prototypage : avantages et limites


Avantages
• Le client participe activement dans le développement du produit;
• Le client reçoit des résultats tangibles rapidement ; expérimentation rapide
ou des fonctions voulue par les utilisateurs
• Introduction d’un feedback immédiat de la part des utilisateurs
• Amélioration de la COMMUNICATION entre d’une part le client et
l’analyste, d’autre part l’analyste et le concepteur
• Le prototype peut servir d’apprentissage pour les futurs utilisateurs

Limites
- Le prototype est un prétexte pour la non application des approches
méthodologiques ;
- - Risque de tomber dans le syndrome du « jamais fini »
11/09/2024 36

Modèle du Prototypage
Critères d’arrêt du cycle de prototypage:
1- Temps limité pour la réalisation du système ou disponibilité
limitée de l’utilisateur.

2- Limites budgétaires.

3- Qualité suffisante des résultats ( obtention d’un consensus).

4- Economie d’échelle: comparaison des gains escomptés par


une autre itération versus le coût de celle-ci.

5- Atteinte des objectifs.


11/09/2024 37

4.4 Modèle enPlanification


spirale
Communication Analyse des risques
avec le client

Ingénierie
Évaluation par
le client
Construction et
déploiement
11/09/2024 38

Modèle en spirale : Principe


 Modèle plus général que les autres modèles
 Il met l’accent sur une activité particulière : l’analyse des
risques
 Le modèle est divisé en « région-tâches » qui sont :
 Communication avec le client et détermination des objectifs du cycle, des
alternatives pour les atteindre, les contraintes à partir du résultat
précédent, analyse préliminaire des besoins…
 Planification des activités du projet
 Analyse des risques, évaluation des alternatives…
 Ingénierie nécessaire à la réalisation des activités
 Déploiement des activités
 Vérification de la solution retenue par le client et planification du cycle
suivant.
11/09/2024 39

Modèle en spirale : Principe …


• Les activités du projet commencent par le spiral le plus
profond
• Chaque tour passe par les région tâches
• L’accomplissement des phases du projet est le résultat de
l’application des tâches prescrites par les régions
• Un tour du modèle résulte en un prototype
• On obtient un raffinement du produit en parcourant
plusieurs tours du modèle
11/09/2024 40

Modèle en spirale : Exemple


Planification

Analyse
Communication des risques
avec le client

Les phases du modèle


a) Spécification a
du logiciel b
b) Prototype 1 Évaluation c Ingénierie
c) Prototype 2 par le client d
d) Produit final

Construction et
déploiement
11/09/2024 41

Modèle en spirale : explication de l’exemple


 Le premier tour résulte de la spécification du logiciel, les
tâches à réaliser pour cette spécification :
 Communiquer avec le client pour obtenir les spécifications
 Planifier le projet et les étapes de l’analyse des spécifications
 Évaluer les risques technologiques des techniques d’analyse
 Décider sur les techniques à utiliser pour l’analyse des spécifications
 Réalisation proprement dite de l’analyse des spécifications
 Présenter les résultats au client

 On réalisera les autres tours du modèle de la même


façon
 On profitera de la région « planification » pour réajuster
le plan du projet
11/09/2024 42

Modèle en spirale
D

Barry W. Boehm, A Spiral Model of Software Development and Enhancement,


IEE Computer, May 1988.
11/09/2024 43

Modèle en spirale : Avantages et Limites


AVANTAGES
 Modèle réaliste et naturel
 Conserve le caractère « étapiste » du modèle en cascade
mais l’intègre dans une approche itérative
 Le risque est un facteur qui est tenu en compte
explicitement dans ce modèle.

Limites
 Il est difficile de faire comprendre au client le mode
d’opération de ce modèle
 L’évaluation des risques exige une expertise spécifique
11/09/2024 44

4.5 Modèle Incrémental : Principe


 Développer des application en étendant
PROGRESSIVEMENT ses fonctionnalités.
 Les spécifications du logiciel sont figées et connues,
l’étape de conception globale est terminée
 La stratégie consiste à développer le logiciel par extension
successives à partir d’un produit « Noyau » du logiciel.
 Permet d’éviter de TOUT CONCEVOIR, de TOUT CODER
et de TOUT TESTER comme l’approche en cascade
 Cette technique a des répercussions sur la répartition des
efforts en fonction du temps, puisqu’il existe une possibilité
de recouvrement des étapes.
11/09/2024 45

Modèle Incrémental : Principe


Incrément 1 Conception Conception Programmation Tests
globale détaillée

Conception Conception Programmation …


Incrément 2
globale détaillée

Incrément 3 Conception Conception …


globale détaillée

temps
11/09/2024 46

Modèle Incrémental : Avantages et Limites


AVANTAGES
• Chaque développement est moins complexe
• Les intégrations sont progressives
• Il peut y avoir des livraisons et des mises en service après chaque
intégration d’incrément
• Permet d’optimiser le temps et le partage de tâche (contrairement
aux autres modèles)
• Diminution d’effort pendant la phase de tests d’intégration

Limites
• Le risque majeur de ce modèle est de voir remettre en cause le
noyau ou les incréments précédents (définition globale des
incréments et de leurs interactions dès le début du projet).
• Les incréments doivent être indépendants aussi bien
fonctionnellement qu’au niveau des calendriers de développement.
11/09/2024 49

Question synthèse :

Quel serait d’après vous le meilleur modèle de cycle de


vie pour un projet informatique donné ?

Précisez des critères de choix en fonction des caractéristiques du


projet ainsi que du contexte de développement de ce projet.

Vous aimerez peut-être aussi