Chapitre 2 Cycle de Vie Du Développement Logiciel
Chapitre 2 Cycle de Vie Du Développement Logiciel
Chapitre 2 Cycle de Vie Du Développement Logiciel
2
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
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
• La collection des exigences
• L’étude du préalable (faisabilité ou opportunité)
• Définition et analyse de besoins (Spécification)
• La conception du logiciel
• Le codage
• Les tests
• L’intégration
• L’installation
• La maintenance
• La disposition
3
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.1 Communication
4
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.2. La collection des exigences
7
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.4. Définition et analyse des besoins
8
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.4. Définition et analyse des besoins
Il est judicieux de préparer pendant la phase d’analyse les procédures qui seront
mises en œuvre pour vérifier que le logiciel, une fois construit, est conforme à la
spécification, que nous l’appellerons test de réception (acceptance test). Durant la
phase d’analyse, on produit également une version provisoire des manuels
d’utilisation et d’exploitation du logiciel. Les Points clés :
• Pour les gros systèmes, il est difficile de formuler une spécification définitive. C’est
pourquoi on supposera que les besoins initiaux du système sont incomplets et
inconsistants.
9
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.4. Définition et analyse des besoins
• La définition des besoins est un énoncé, en langue naturelle, des services que le
système est sensé fournir à l’utilisateur. Il doit être écrit de manière à être
compréhensible par les décideurs côté client et côté contractant, ainsi que par les
utilisateurs et acheteurs potentiels du système.
• La spécification des besoins est un document structuré qui énonce les services de
manière plus détaillée. Ce document doit être suffisamment précis pour servir de
base contractuelle entre le client et le fournisseur du logiciel. On peut utiliser des
techniques de spécification formelle pour rédiger un tel document, mais cela
dépendra du bagage technique du client.
10
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.4. Définition et analyse des besoins
• Les besoins changent inévitablement. Le cahier des charges doit donc être conçu
de manière à être facilement modifiable
11
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.5. Conception du logiciel
12
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.5. Conception du logiciel
13
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.5. Conception du logiciel
14
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.5. Conception du logiciel
15
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.6. Codage
Après avoir achevé la phase de conception détaillée, on peut progresser vers la phase
de codage, parfois désignée comme la phase de construction ou d'implémentation.
Au cours de cette étape, la conception détaillée est concrétisée à travers la rédaction
du code source dans un langage de programmation donné.
16
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.7. Tests
La phase d'implémentation est ensuite suivie par la phase de test. Au cours de cette
étape, les éléments du logiciel sont examinés, intégrés, et l'ensemble du logiciel est
évalué pour vérifier s'il répond aux spécifications établies lors de la phase d'analyse.
Souvent, cette phase est subdivisée en plusieurs étapes distinctes.
17
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.7. Tests
Les tests unitaires ont pour objectif de vérifier que chaque petite unité de code
(généralement une fonction ou une méthode) fonctionne correctement, en isolant
cette unité du reste du système. Ils permettent de s'assurer que chaque composant
individuel du logiciel produit les résultats attendus.
Framework de tests : Pour écrire et exécuter des tests unitaires de manière efficace,
les développeurs utilisent généralement des frameworks de tests, tels que JUnit pour
Java, NUnit pour .NET, pytest pour Python, etc. Ces frameworks facilitent la création,
l'exécution et la gestion des tests unitaires.
18
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.8. Intégration
Une fois que la phase de test de tous les composants a été menée à bien, on peut
passer à l'assemblage de ces composants, une étape réalisée au cours de la phase
d'intégration. Durant cette phase, on vérifie également la cohérence et le bon
fonctionnement des composants assemblés, ce que l'on appelle le test d'intégration.
Les actions suivantes peuvent donc être distinguées :
• construire par assemblage un composant à partir de composants plus petits ;
• exécuter les tests pour le composant assemblé et enregistrer les résultats ;
• comparer les résultats obtenus aux résultats attendus ;
• si le composant n’est pas conforme, engager la procédure de modification ;
• si le composant est conforme, rédiger les comptes-rendus du test d’intégration et
archiver sur support informatique les sources, objets compilés, images
exécutables, les jeux de tests et leurs résultats.
19
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.9. Installation
Une fois que le logiciel a été intégré, on peut le déployer dans son environnement de
production ou dans un environnement de simulation similaire, puis le soumettre à
des tests pour vérifier s'il fonctionne conformément aux exigences définies dans la
spécification élaborée lors de la phase d'analyse.
20
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.9. Maintenance
21
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.9. Maintenance
22
Développeur d’Applications Web & Mobile M. Hamidi
1. Étapes du cycle de vie du développement d’un logiciel
1.10. Disposition
Le temps joue un rôle crucial dans le développement des produits logiciels. Il est
essentiel de surveiller le logiciel, car sa performance peut se dégrader avec le temps.
Il peut devenir complètement obsolète ou nécessiter une mise à jour importante.
Cette phase de gestion comprend des activités telles que l'archivage des données, la
gestion des composants logiciels, la fermeture du système, la planification des
activités et la terminaison du système, y compris le moment approprié pour mettre
fin au logiciel. Cette phase est liée à la gestion des versions du logiciel
23
Développeur d’Applications Web & Mobile M. Hamidi