Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement d’un logiciel
Le cycle de vie d’un logiciel
Documents relatifs à un logiciel
Modèles de cycle de vie
Mme Sonia Guerbouj
1
« La qualité du processus de fabrication est
garante de la qualité du produit »
Pour obtenir un logiciel de
qualité, il faut en maîtriser le
processus d’élaboration.
Mme Sonia Guerbouj
2
1
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Le processus de développement logiciel
désigne l'ensemble des activités nécessaires
au développement et à la maintenance d'un
logiciel.
Il s'agit d'un processus variable (selon le type
d'application) et complexe, composé de
différentes phases interdépendantes.
Il n’existe pas de processus idéal ; la plupart
des entreprises adaptent les processus
existants à leurs besoins.
Mme Sonia Guerbouj
3
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
N’importe quel processus doit comporter les
activités suivantes :
◦ Spécification : on définit les fonctionnalités du
système.
◦ Conception : on définit l’organisation du système.
◦ Implémentation : on réalise le logiciel.
◦ Validation : on vérifie que le système respecte bien
les spécifications exprimés au début.
◦ Evolution : on adapte le système aux changements
des besoins du client.
Mme Sonia Guerbouj 4
2
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
La vie d’un logiciel est composée de
différentes étapes.
La succession de ces étapes forme le cycle de
vie du logiciel.
Le but du découpage en étapes est de :
- Maîtriser les risques,
- Maîtriser au mieux les délais et les coûts,
- Obtenir une qualité conforme aux
exigences.
Mme Sonia Guerbouj
5
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Etude de
faisabilité
Maintenance Spécification
Livraison Organisation
Tests Conception
Implémentation
Mme Sonia Guerbouj 6
3
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Il s’agit de déterminer si le développement
proposé vaut la peine d’être mis en œuvre,
compte tenu des attentes et de la difficulté de
développement.
◦ Etude de marché déterminer s’il existe un
marché potentiel pour le produit.
Mme Sonia Guerbouj
7
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Déterminer les fonctionnalités que doit
posséder le logiciel.
(QUOI?)
Lors de cette étape :
◦ Collecte des exigences : obtenir de l’utilisateur ses
exigences pour le logiciel
◦ Analyse du domaine : déterminer les tâches et les
structures qui se répètent dans le problème
Mme Sonia Guerbouj 8
4
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Problèmes liés à la spécification
◦ L’ambiguïté : s’exprimer de façon qui peut être
interprétées de plusieurs manières (souvent dû à une
spécification informelle)
◦ La contradiction : exprimer des idées contradictoires
◦ Le bruit : exprimer une information inutile à l’instant
où elle est énoncée
◦ La sur-spécification : donner trop de détails
◦ Le silence : oublier de définir certaines notions
Mme Sonia Guerbouj
9
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Il consiste à déterminer comment développer le projet.
◦ Analyse des coûts : estimer le prix du projet.
◦ Planification : établir un calendrier de
développement.
◦ Assurance qualité du logiciel : déterminer les actions
qui permettront de s'assurer de la qualité du produit
fini.
◦ Répartition des tâches : hiérarchiser les tâches et
sous-tâches nécessaires au développement du
logiciel.
Mme Sonia Guerbouj 10
5
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Déterminer la façon dont le logiciel fournit les
différentes fonctionnalités recherchées.
(Le COMMENT ?)
Il y a deux sous-étapes :
- Conception générale
- Conception détaillée
Mme Sonia Guerbouj
11
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Conception générale
◦ Conception architecturale :
- Décomposer le logiciel en composants plus simples.
- Fournir une description de la structure du système.
◦ Conception des interfaces : déterminer la façon dont
les différentes parties du système agissent entre
elles.
Mme Sonia Guerbouj 12
6
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Conception détaillée :
◦ Raffinement des éléments précédents jusqu’à
l’obtention d’une forme permettant d’écrire
immédiatement les algorithmes pour les différentes
parties du système.
Mme Sonia Guerbouj
13
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Remarques :
◦ La frontière entre spécification et conception est
souvent floue car il est difficile de spécifier un
système indépendamment de toute considération de
sa faisabilité.
◦ La conception commence souvent pendant la
spécification.
◦ Des contraintes de la réalisation peuvent anticiper
sur la conception au moment de la spécification.
Mme Sonia Guerbouj 14
7
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Traduire le résultat de la conception en un
ensemble de programmes ou de composants de
programmes.
Ecrire le code, configurer les outils, …
(COMMENT DIRE ?)
Il y a parfois une étape d’intégration
(regroupement des différents modules)
Dans cette étapes on fait les choix techniques :
langage de programmation, logiciels utilisés…
Mme Sonia Guerbouj
15
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
IEEE / le top 10 des langages
de programmation 2016
Mme Sonia Guerbouj 16
8
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Essayer le logiciel sur des données d’exemple
pour s’assurer qu’il fonctionne correctement.
Utiliser un cahier des tests établi selon les
spécifications du système.
Mme Sonia Guerbouj
17
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Tests unitaires : faire tester les parties du logiciel par leurs
développeurs.
Tests d’intégration : tester pendant l’intégration.
Tests de validation : tester pour acceptation par l’acheteur.
Tests système : tester dans un environnement proche de
l’environnement de production.
Tests Alpha : faire tester par le client sur le site de
développement.
Tests Beta : faire tester par le client sur le site de production.
Tests de régression : enregistrer les résultats des tests et les
comparer à ceux des anciennes versions pour vérifier si la
nouvelle n’en a pas dégradé d’autres.
Mme Sonia Guerbouj 18
9
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Fournir au client une solution logicielle qui
fonctionne correctement.
La livraison peut inclure :
◦ Installation : rendre le logiciel opérationnel sur le site
du client
◦ Formation : enseigner aux utilisateurs à se servir du
logiciel
◦ Assistance : répondre aux questions des utilisateurs
Mme Sonia Guerbouj
19
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Corriger, mettre à jour et améliorer le logiciel
pour assurer sa pérennité.
la maintenance absorbe un très grosse partie
des efforts de développement :
Mme Sonia Guerbouj 20
10
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Corriger les erreurs : défauts d’utilisabilité,
d’utilité, de fiabilité...
◦ Identifier la défaillance, le fonctionnement.
◦ Localiser la partie du code responsable.
◦ Corriger et estimer l’impact d’une modification.
Attention
◦ La plupart des corrections introduisent de nouvelles
erreurs.
◦ Les coûts de correction augmentent exponentiellement
avec le délai de détection.
La maintenance corrective donne lieu à de
nouvelles livraisons (release).
Mme Sonia Guerbouj
21
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Ajuster le logiciel pour qu’il continue à remplir
son rôle compte tenu du l’évolution des :
◦ Environnements d’exécution
◦ Fonctions à satisfaire
◦ Conditions d’utilisation
Exp : changement de SGBD, de machine, de taux
de TVA, de date (an 2000), de monnaie (euro),...
Mme Sonia Guerbouj 22
11
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Accroître/améliorer les possibilités du logiciel.
Exp : les services offerts, l’interface utilisateur,
les performances...
Donne lieu à de nouvelles versions.
Mme Sonia Guerbouj
23
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Cycle de vie et assurance qualité sont très liés,
il faudra donc en permanence assurer:
la vérification la validation
•Sommes nous en train de •Est ce que nous faisons le
faire le bon produit? produit correctement ?
• S’assurer que le système •S’assurer que le système
est bien construit construit est le bon
Elaborer des documents après chaque étape.
Mme Sonia Guerbouj 24
12
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Une documentation sert à matérialiser l’avancement
des travaux et constitue le support de communication
entre les intervenants (le client, l’équipe de projet, …).
Les documents permettent de garder une trace des
étapes et des résultats réalisés afin d’être révisés en
cas de besoin (correction, amélioration,…).
Mme Sonia Guerbouj
25
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Principaux documents et phases d’élaboration
Mme Sonia Guerbouj 26
13
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Cahier des charges :
◦ Décrit les fonctionnalités désirées.
◦ Généralement écrit par le client
Document de spécification :
◦ Décrit précisément les fonctions que doit offrir le
logiciel.
◦ Scénarios des cas d’utilisation : indiquent les
différents enchaînements possibles du point de vue
de l’utilisateur.
Mme Sonia Guerbouj
27
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Calendrier du projet
◦ Ordonnancement des différentes tâches.
◦ Détails et ressources qu’elles demandent.
Cahier des tests du logiciel
◦ Décrit les procédures de tests appliquées au logiciel
pour contrôler son bon fonctionnement.
◦ Tests de validation : tests choisis par le client pour
déterminer s’il peut accepter le logiciel.
Mme Sonia Guerbouj 28
14
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Plan d’assurance qualité
◦ Décrit les activités mises en œuvre pour garantir la
qualité du logiciel.
Manuel utilisateur
◦ Mode d’emploi pour le logiciel dans sa version
finale.
Code source
◦ Code complet du produit fini
Mme Sonia Guerbouj
29
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Rapport des tests :
◦ Décrit les entrées et sorties (les réactions du
système) pour chaque test effectué.
Rapport des défauts :
◦ Décrit les comportements du système (qui n’ont
pas satisfait le client).
◦ Il s’agit le plus souvent de défaillances du logiciel
ou d’erreurs.
Mme Sonia Guerbouj 30
15
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Plusieurs modèles ont vu le jour afin
d’organiser le cycle de vie d’un logiciel de
manière qui facilite son développement.
Les plus connus sont :
◦ Modèle en cascades (waterfall)
◦ Modèle en V
◦ Modèle incrémental
◦ Modèle en spirale
Mme Sonia Guerbouj
31
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Les remises en cause
font remonter d’un
seul niveau
On ne passe à l’étape
n que lorsque l’étape
n-1 est terminée
Mme Sonia Guerbouj 32
16
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Développé dans les années 1970 par [Link],
ce modèle a été inspiré par les méthodes
classiques de l’ingénierie.
Il se base sur 2 idées fondamentales :
◦ Une étape ne peut pas être débutée avant que la
précédente ne soit achevée.
Des documents sont produits pour concrétiser la
réalisation de chaque phase.
◦ La modification d’une étape du projet a un impact
important sur les étapes suivantes.
Mme Sonia Guerbouj
33
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Simple à mettre en œuvre.
Bien documenté à chaque phase.
Le planning est établi à l’avance le maître
d’ouvrage (client) sait précisément ce qui va
lui être livré et quand.
Mme Sonia Guerbouj 34
17
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Le client est exclu dès la phase de spécification.
La rédaction des documents de validation de
chaque phase demande beaucoup de travail.
Rigide : il est difficile de s’adapter aux besoins
nouveaux ou modifiés des clients
Les tests sont prévus tardivement un
changement tardif coûte cher.
Mme Sonia Guerbouj
35
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Dans quels cas l’utiliser ?
Il est adapté dans le cas où les besoins sont
clairement identifiés et stables Très rare !!
Il est principalement utilisé dans les grands
projets où les systèmes sont développés sur
plusieurs sites ;
◦ Dans ce cas, le modèle en cascade facilite la
planification du projet.
Mme Sonia Guerbouj
36
18
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Phase de Phase
Conception de Tests
Phase de
Réalisation 37
Mme Sonia Guerbouj
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Dérivé du cycle de vie en cascade, il a été mis au
point à l’origine pour le développement de
systèmes satellites en 1980, puis référencé en
1990 par Forsberg et Mooz.
La représentation en V est plus proche de la
réalité, le processus de développement n'est pas
parfaitement séquentiel.
La caractéristique principale de ce processus est
que chaque étape de conception fonctionne en
binôme avec une phase de test ( validation ).
Mme Sonia Guerbouj
38
19
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Il permet d'anticiper sur les phases
ultérieures de développement du produit.
Le travail effectué lors des phases de
conception permet de limiter les risques et
dérives pendant les phases de tests.
Diminuer les risques d’erreur.
Le respect du cahier de charge est mieux
garanti.
Mme Sonia Guerbouj
39
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Il est rigide : en cas de mauvaise maîtrise du
périmètre, il faut refaire la phase de
conception.
Documentation importante : chaque phase
produit des documents parfois en doublons.
Organisation lourde : le modèle fait intervenir
plusieurs responsables.
Son application réelle est très difficile.
Mme Sonia Guerbouj 40
20
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Chaque
incrément est
testé comme un
produit final
Chaque incrément
ajoute de nouvelles
fonctions
Mme Sonia Guerbouj
41
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Diviser le projet en incréments, tel qu’un
incrément est une sous partie fonctionnelle
cohérente du produit final.
Un logiciel noyau est d’abord développé puis
des incréments sont successivement
développés et intégrés.
Mme Sonia Guerbouj 42
21
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Il est possible d’avoir des feedbacks réguliers
du client :
Garantir la satisfaction du client.
S’adapter facilement aux changements des
exigences
Une première version du système est fournie
rapidement Livraison plus rapide par
morceaux.
Mme Sonia Guerbouj
43
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Difficile à gérer : Le processus n’est pas
visible dès le début.
Intégration trop complexe conduire à un
résultat dysfonctionnel.
Il faut attendre longtemps avant de voir le
résultat final.
Ne traite pas toutes les évolutions, surtout
celles qui remettent en cause l’architecture.
Le coût en termes de tests et de validation du
produit final peuvent evenir très importants.
Mme Sonia Guerbouj
44
22
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Dans quel cas l’utiliser ?
Peut être utilisé quand il n’y a pas assez de
ressources disponibles pour une livraison à
temps.
Adapté aux projets de taille moyenne
(inférieur à 100 000 lignes de code)
Mme Sonia Guerbouj
45
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Mme Sonia Guerbouj 46
23
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Modèle itératif, proposé par Boehm en 1968, et
qui met l’accent sur l’analyse des risques.
Le cycle de vie est représenté à l’aide d’une
spirale telle que chaque boucle de la spirale se
déroule en 4 étapes :
◦ Définition des objectifs, alternatives, contraintes
(basé sur la boucle précédente)
◦ Evaluation des risques et plan de gestion
◦ Développement et vérification de la solution retenue
◦ Tests et validation puis planification de la phase
suivante
Mme Sonia Guerbouj
47
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Cette approche continue et régulière minimise
les risques d'échec.
S’adapte à n'importe quel nombre de
changements, qui peuvent se produire.
L'estimation des coûts devient facile à chaque
boucle de la spirale.
Mme Sonia Guerbouj
48
24
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Modèle long et couteux à mettre en place.
Il nécessite des compétences dans
l'évaluation des incertitudes et des risques
associés au projet et leur réduction.
Mme Sonia Guerbouj
49
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Dans quel cas l’utiliser ?
Convient aux projets de grandes envergures.
Adapté à des projets innovants où les risques
sont élevés et les enjeux importants.
Mme Sonia Guerbouj 50
25
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Mme Sonia Guerbouj
51
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Construire un prototype, une version
initiale/intermédiaire pour mieux comprendre
les points floues (exigences, technologies)
Elle permet la validation des spécifications
par expérimentation.
◦ Prototype jetable : maquette développée pour
comprendre les besoins de l’utilisateur.
◦ Prototype évolutif : maquette destinée à être
optimisée dans les prochaines étapes jusqu’à
l’obtention du produit final.
Mme Sonia Guerbouj 52
26
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Permet d’impliquer l’utilisateur et d’éclaircir les
zones peu claires.
Permet d’évaluer les risques
Permet de tester rapidement une solution.
Mme Sonia Guerbouj
53
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Coût mal compris par les managers et les clients
Se focalise sur les exigences fonctionnelles
plutôt que les non fonctionnelles.
Le prototype n’engendre pas de documents
parfois.
Mme Sonia Guerbouj 54
27
Mme Sonia Guerbouj – DSI2 – ISET Nabeul
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Dans quels cas l’utiliser ?
Projets petits ou à courte durée de vie.
Les projets où les besoins ne sont pas
clairement définis
Mme Sonia Guerbouj
55
Le processus de développement Documents relatifs à un logiciel
Le cycle de vie d’un logiciel Modèles de cycle de vie
Remarques
Plusieurs modèles existent mais chacun
présente des avantages et des inconvénients
Certains ne sont plus utilisés mais sont
quand même enseignés à titre informatif.
Dans la plupart des cas, deux ou plus d’un
modèle sont utilisés.
Mme Sonia Guerbouj 56
28