Vous êtes sur la page 1sur 25

+

UniQ
Université Quisqueya
Faculté des Sciences, de Génie et
d’Architecture (FSGA)

Introduction au Génie
Logiciel (Chap2)
Jean Andris ADAM, Charge de cours
+

Cycle de vie du logiciel


+
Cycle de vie du développement

Définition

Le Cycle de vie du développement d’un logiciel (SDLC : Software


development Life Cycle) 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 a proposition ou la décision de
développer un logiciel et se termine avec sa mise hors service.
+
Cycle de vie du développement

Origine

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.

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.
+
Cycle de vie du développement

Etapes

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) ;
+
Cycle de vie du développement

Etapes
 La conception du logiciel ;
 Le codage;
 Les tests;
 L’íntégration;
 L’installation
 La maintenance
 La disposition
+
Cycle de vie du développement

Etapes
+
Etapes du Cycle de vie

Etapes

On retrouve généralement ces étapes dans tout projet logiciel accompgné


aussi d’une étape ou d’une phase de planification de projet.

 Planification du projet
 Analyse et Spécification
 Conception
 Implémentation
 Vérification
 Installation
 Maintenance
+
Activités de Développement (2/2)

Etapes

En continu on a les activités suivantes :

 La documentation
 La vérification et la validation
 La Gestion
+
1. Planification(Etude Preliminaire)

 Question : Est-ce possible ?

 Définition globale du problème


 Confirmer la faisabilité
 Evaluation des stratégies possibles
 Evaluation des ressources, coûts et délais
 Produire le calendrier du projet
 Trouver le personnel
 Lancer le projet

 Documents à produire :
1. Etude de faisabilité
2. Rapport de planification du projet
+
2. Analyse des besoins (1/2)

 Question : Quoi faire ?

 Cueillette d’informations
 Exigences fonctionnelles
 Qualites non-fonctionnelles(containtes)
 Spécification du Système
 Accord entre le developpeur du systeme et le client
(l’utilisaeur)
 Construction de prototypes (Pour élaborer la spécification)
 Prioriser les éléments de la spécification
 Produire et évaluer des solutions alternatives
 Examiner les recommandations avec le chef de projet
+
2. Analyse des besoins (2/2)

 Question : Quoi faire ?

 Documents à produire
 Cahier des charges technique / Document de
spécification
 Document d’analyse
 Le prototype
 Le plan de Test
+
3. Conception (1/2)

 Question : Comment faire ?

 Conception architecturale globale


 Decomposition et organisation de l’application en
modules plus simples definis par une interface.
 Ex: base de donnees, environnement d’exploitation,
interfaces, …
 Conception détaillée
 Pour chaque module, description de la manière dont
les services et fonctions seront réalisés.
• Présenter les Algorithmes essentiels
• Les Structures de données à utilisees, etc …
+
3. Conception (2/2)

 Question : Comment faire ?

 Documents à fournir
 Document de conception (Spécification)
 Prototype
 Plan de test global
 Plan de test par module
+
4. Implementation

 Traduction de la conception dans les langages de


programmation ou mise en œuvre en utilisant des
outils de développement
 Construire les composantes logicielles
 Documents a fournir
 dossiers de programmation
 code source commenté
 le prototype ou le logiciel complet
+
5. Verification

 Question : Est-ce bien fait?

 Évaluation de la solution en fonction de la spécification


 Différents niveaux de tests
 Tests unitaires: par module
 Tests d'intégration: composition de modules
 Tests de système: logiciel entier
 Tests d’acception: définis par le client
 Tests beta : pour les progiciels
 Documents a fournir
 Rapport de vérification par test
+
6. Installation/déploiement

 Mise en fonctionnement opérationnel chez les utilisateurs


/ ou commercialisation du progiciel
 Conversion des données
 Configuration de l’environnement
 Le déploiement peut parfois être restreint à des utilisateurs
sélectionnés
 beta testing
 Pilote

 Préparation du : guide utilisateur


+
7. Maintenance

1. Maintenance corrective: corriger les erreurs


2. Maintenance adaptative: s’adapter à des
changements d’environnement
3. Maintenance perfective: améliorations
4. Maintenance préventive: pour faciliter les opérations
de maintenance à Venir
+
8. Activites en continu (1/3)

 Gestion

 Du processus de développement (suivi de projet,


révision, etc.)
 De la configuration: politique de gestion des versions,
des documents, politique de réutilisation
 Des ressources humaines
 Du risque
+
8. Activites en continu (2/3)

 Verification : Construit-on le produit comme il faut ?

 Le produit est-il correct (Par rapport a la specification)


 S’assurer de la qualite du produit (revisions et
inspections)
+
8. Activites en continu (3/3)

 Validation : Construit-on le bon produit ?

 Le produit repond-il aux besoins du client ?

 Document a fournir :
 Tracabilité.
+

L’equipe
de developpemet
+
Equipe de developpement

 Analyste
 Concepteur
 Programmeur
 Testeur
 Formateur (Training specialist)
+
Equipe de developpement(roles)

Planification Analyste
Analyse Analyste
Conception
Architecturale Analyste, Concepteur
detaillee Concepteur, Programmeur
Implementation Programmeur
Tests
Unitaires Programmeur, testeur
Integration Testeur
Systeme Testeur
Installation Formateur
+

Fin

Vous aimerez peut-être aussi