Vous êtes sur la page 1sur 28

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 W.Royce,


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

Vous aimerez peut-être aussi