Vous êtes sur la page 1sur 28

Ecole Supérieure d’ingénieurs de Gafsa

Génie Logiciel 1

Chapitre2: Processus de développement


logiciel et modèle de processus
(Partie1)
Rim Afdhal

Niveau: Deuxième Année Informatique

2021/2022
1
Plan du cours

1 Introduction

2 Activités du cycle de vie

2
1. Introduction

 Le Cycle de vie d’un logiciel est un ensemble d’étapes de la


réalisation, de l’énoncé des besoins à la maintenance au retrait du
logiciel sur le marché informatique.

 De façon générale, on peut dire que le cycle de vie du logiciel est


la période de temps s’étalant du début à la fin du processus du
logiciel. Il commence donc avec la proposition ou la décision de
développer un logiciel et se termine avec sa mise hors service.

 L’origine de ce découpage provient du constat que les erreurs ont


un coût d’autant plus élevé qu’elles sont détectées tardivement
dans le processus de réalisation.

3
1. Introduction

 C’est ainsi que l’objectif principal du cycle de vie du développement


d’un logiciel est de permettre la détection des erreurs au plus tôt et par
conséquent, maîtriser la qualité du produit, les délais de sa réalisation
et les coûts associés.

4
1. Introduction

Le développement de logiciel impose d’effectuer un certain nombre d’étapes. Il


existe de nombreux modèles de cycle de vie du développement d’un logiciel, les
plus courants comportent les phases suivantes :

 La communication
 L’étude du préalable (faisabilité)
 Définition et analyse de besoins (Spécification)
 La conception du logiciel
 Le codage
 Les tests
 L’installation
 La maintenance
 La disposition

5
1. Introduction

 Le développement et l’évolution d’un système doit être vu comme un processus.

 Processus: un ensemble d’activités coordonnées et contrôlées dont le but est de


créer un produit.
 Processus de développement logiciel: appelé aussi cycle de développement
logiciel est un processus qui conduit à la production d’un logiciel

 Pour obtenir un logiciel de qualité, il faut en maîtriser le processus de


développement:
● Séparer le développement en plusieurs étapes.
● Organiser ces étapes et modéliser le processus de développement.
● Contrôler le processus de développement.

6
2. Activités du cycle de vie

7
2. Activités du cycle de vie
Etude préalable
Cette phase a comme objectif de répondre aux questions suivantes:
• Pourquoi développer le logiciel ?
• Comment procéder pour faire ce développement ?
• Quels moyens faut-il mettre en œuvre ?

Parmi les tâches techniques, groupées sous le terme étude préalable, on peut citer:
 Dresser un état de l’existant et faire une analyse de ses forces et faiblesses
 Identifier les idées ou besoins de l’utilisateur
 Formuler des solutions potentielles
 Faire des études de faisabilité
 Planifier la transition entre l’ancien logiciel et le nouveau, s’il y a lieu
 Affiner ou finaliser l’énoncé des besoins de l’utilisateur (cahier des charges du
projet).

8
2. Activités du cycle de vie
Analyse des besoins
 Lors de la phase d’analyse (phase de spécification), on analyse les besoins de
l’utilisateur et on définit ce que le logiciel devra faire.

 Le résultat de la phase d’analyse est consigné dans un document appelé « cahier


des charges du logiciel ou spécification du logiciel ».
Une spécification comporte les éléments suivants :

o Description de l’environnement du logiciel


o Spécification fonctionnelle qui définit toutes les fonctions que le logiciel doit offrir
o Performances requises (temps de réponse, sécurité de fonctionnement…)
o Les interfaces avec l’utilisateur et avec d’autres logiciels et le matériel
o Contraintes de réalisation (l’environnement de développement, le langage de
programmation à utiliser, les procédures et normes à suivre, etc.)

9
2. Activités du cycle de vie
Conception

la phase de conception, généralement décomposée en deux phases


successives :

 Conception générale

 Conception détaillée

10
2. Activités du cycle de vie
Conception générale
Processus durant lequel on doit:

 Décrire l’architecture de la solution, c’est-à-dire son organisation


en entités, les interfaces de ces entités et les interactions entre ces
entités. Ce processus de structuration doit être poursuivi jusqu’à ce
que tous les éléments du document de spécification aient été pris en
compte.

Le résultat de cette démarche est « un document de conception


générale ».

11
2. Activités du cycle de vie
Conception détaillée
 La conception détaillée affine la conception générale. Elle commence
par décomposer les entités découvertes lors de la conception générale
en entités plus élémentaires.

 Cette décomposition doit être poursuivie jusqu’au niveau où les entités


sont faciles à implémenter et à tester. Ce niveau dépend fortement du
langage de programmation retenu pour l’implémentation. Il faut
ensuite décrire chaque composant logiciel en détail : son interface,
les algorithmes utilisés, le traitement des erreurs, ses performances, etc.

L’ensemble de ces descriptions constitue le document de conception


détaillée.

12
2. Activités du cycle de vie
Implémentation

 Après la conception détaillée, on peut passer à la phase de codage,


également appelée phase de construction, phase de réalisation ou
phase d’implémentation. Lors de cette phase, la conception
détaillée est traduite dans un langage de programmation.

 Sortie de cette phase:


 composants logiciels compilés

13
2. Activités du cycle de vie
Tests
La phase d’implémentation est suivie de la phase de test. Durant cette phase,
les composants du logiciel sont évalués et intégrés, et le logiciel lui-même est
évalué pour déterminer s’il satisfait la spécification élaborée lors de la phase
d’analyse. Cette phase est en général subdivisée en plusieurs phases.

●Tests unitaires
Tests individuels des composants
●Tests d’intégration
Assemblage progressif des composants
Tests des composants assemblés
●Tests du système
Test en vraie grandeur du système complet

Documents : rapport de test

14
2. Activités du cycle de vie
Installation
Après avoir intégré le logiciel, on peut l’installer dans son environnement
d’exploitation, ou dans un environnement qui simule cet environnement
d’exploitation, et le tester pour s’assurer qu’il se comporte comme requis dans
la spécification élaborée lors de la phase d’analyse.

Entrée
●logiciel assemblé

Sortie
●Logiciel installé
●Fourniture des documents:
Manuel d’utilisation
Manuel d’exploitation

15
2. Activités du cycle de vie

16
2. Activités du cycle de vie
Documentation
Élément essentiel dans le développement d’un logiciel: fait partie du produit.
 Matérialise l’avancement des travaux (chaque phase est concrétisée par la
production d’un ou plusieurs documents).
 Enregistre tout ce qui pourrait être connu à propos d'un système.

 Support de communication entre les différents acteurs.

 On peut distinguer trois types:


●Les documents de gestion de projet;
●Les documents techniques de réalisation;
●Les manuels d’utilisation et d’exploitation

17
2. Activités du cycle de vie
Documents Courants
 Cahier des charges
 Modèle objet
 Calendrier du projet
 Plan de test du logiciel
 Plan d'assurance qualité
 Manuel utilisateur
 Code source
 Rapport des tests
 Rapport des défauts

18
2. Activités du cycle de vie
Vérification & Validation (V&V)

 V&V englobe tous les processus qui permettent de s’assurer que le logiciel
correspond bien à son cahier des charges et que ce cahier des charges répond bien
aux besoins de l’utilisateur.

 Vérification
C’est le fait d’établir la cohérence: « Est ce que nous construisons bien le produit?»
•Vérification de toutes les étapes de développement et les éléments fournis (code,
rapports, manuels, documentation, jeux de tests, etc.).

 Validation
C’est le fait d’établir l’utilité:« Est ce que nous construisons le bon produit?»
●Vérification du respect des spécifications du logiciel et des besoins.

19
2. Activités du cycle de vie
Gestion de la configuration
 La documentation de développement et le logiciel lui-même sont constitués d’un
grand nombre d’éléments qui évolue tout au long du cycle de vie (code, tests,
documentation, etc.).
Le but de la gestion de la configuration est de maîtriser cette évolution.

 Les tâches:

• Identification et définition des éléments de configuration et toutes leurs relations;


• Archivage des éléments de configuration, aussi bien leurs états initiaux que leurs
états successifs;
• Contrôle des modifications des éléments de configuration (autoriser le
changement, vérifier les complétude et la cohérence d’un nouveau état, annoncer la
modification, etc.)
Il vaut mieux utiliser un outil de gestion de la configuration
20
2. Activités du cycle de vie
Gestion de la configuration
Un outil de gestion de la configuration permet de:

●Identifier et archiver les éléments de la configuration;

●Tracer et archiver les changements dans la configuration;

●Identifier et archiver les versions de la configuration;

●Gérer le travail concurrent à plusieurs développeurs sur les


éléments de la configuration.

21
2. Activités du cycle de vie
Maintenance
 Le logiciel est maintenant employé dans son environnement opérationnel, son
comportement est surveillé et, si nécessaire, il est modifié. Cette dernière activité
s’appelle la maintenance du logiciel.

 Il peut être nécessaire de modifier le logiciel pour corriger des défauts, pour
améliorer ses performances ou autres caractéristiques, pour adapter le logiciel à
un nouvel environnement ou pour répondre à des nouveaux besoins ou à des
besoins modifiés.

 On peut donc distinguer entre:


- la maintenance corrective
- la maintenance perfective
- la maintenance adaptative.

22
2. Activités du cycle de vie
Maintenance
 La Maintenance corrective: Corrige les erreurs et les défauts et identifie les
défaillances, et les dysfonctionnements en localisant la partie du code
responsable. Elle Corrige et estime l’impact d’une modification.

 La Maintenance adaptative: Ajuste le logiciel pour qu’il continue à remplir


son rôle compte tenu du l’évolution des Environnements d’exécution, des
Fonctions à satisfaire et des Conditions d’utilisation.

 La Maintenance perfective et d’extension: Sert a accroître et améliorer les


possibilités du logiciel afin de donne lieu à de nouvelles versions. C’est par
exemple ; les services offerts, l’interface utilisateur, les performances...

23
2. Activités du cycle de vie

24
2. Activités du cycle de vie

25
2. Activités du cycle de vie

26
2. Activités du cycle de vie

27
2. Activités du cycle de vie
Retrait
Mettre le logiciel hors service:

●Avertir les utilisateurs


●Arrêter le support du logiciel

28

Vous aimerez peut-être aussi