Vous êtes sur la page 1sur 38

Processus :

Activités du développement logiciel


modèles de processus

Génie Logiciel
Cours 3: Les processus de développement logiciel

COULIBALY MOHAMED

Université de Ségou

23 septembre 2020

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

1 Processus :

2 Activités du développement logiciel


Analyse des besoins
Spécification
Conception
Programmation
Validation et vérification
Maintenance

3 modèles de processus

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Processus

« Ensemble d’activités coordonnées et régulées, en partie


ordonnées, dont le but est de créer un produit. »

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Processus

« Ensemble d’activités coordonnées et régulées, en partie


ordonnées, dont le but est de créer un produit. »
Définition (processus de développement logiciel)
Ensemble d’activités successives, organisées en vue de la production
d’un logiciel.

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Processus

« Ensemble d’activités coordonnées et régulées, en partie


ordonnées, dont le but est de créer un produit. »
Définition (processus de développement logiciel)
Ensemble d’activités successives, organisées en vue de la production
d’un logiciel.

Il n’existe pas de processus idéal.


La plupart des entreprises adapte les processus existants à
leurs besoins.
Ces besoins varient en fonction du domaine, des contraintes de
qualité, des personnes impliquées.

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Activités du développement logiciel

Les activités des processus de développement logiciels se


regroupent en catégories :
1 Analyse des besoins
2 Spécification
3 Conception
4 Programmation
5 Validation et vérification
6 Livraison
7 Maintenance
Pour chaque activité, utilisation et la production de document est
nécessaire.
COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log
Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Analyse des besoins

Objectif : comprendre les besoins du client


Les objectifs généraux, environnement du futur système, ressources
disponibles, contraintes de performance...

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Analyse des besoins

Objectif : comprendre les besoins du client


Les objectifs généraux, environnement du futur système, ressources
disponibles, contraintes de performance...

Entrée : Fournies par le client


Expert du domaine d’application, futur utilisateur

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Analyse des besoins

Objectif : comprendre les besoins du client


Les objectifs généraux, environnement du futur système, ressources
disponibles, contraintes de performance...

Entrée : Fournies par le client


Expert du domaine d’application, futur utilisateur

Document produit :
Cahier des charges (+ manuel d’utilisation préliminaire)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Spécification

Objectifs :
Établir une description claire de ce que doit faire le logiciel
(fonctionnalités détaillées, exigences de qualité, interface...)
Clarifier le cahier des charges (ambiguïtés, contradictions)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Spécification

Objectifs :
Établir une description claire de ce que doit faire le logiciel
(fonctionnalités détaillées, exigences de qualité, interface...)
Clarifier le cahier des charges (ambiguïtés, contradictions)

Entrée :
Cahier des charges + considérations de faisabilité ?

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Spécification

Objectifs :
Établir une description claire de ce que doit faire le logiciel
(fonctionnalités détaillées, exigences de qualité, interface...)
Clarifier le cahier des charges (ambiguïtés, contradictions)

Entrée :
Cahier des charges + considérations de faisabilité ?

Document produit :
Cahier des charges fonctionnel

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Conception

Objectif : Élaborer une solution concrète réalisant la spécification


Description architecturale en composants (avec interface et
fonctionnalités)
Réalisation des fonctionnalités par les composants
(algorithmes, organisation des données)
Réalisation des exigences non-fonctionnelles (performance,
sécurité...)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Conception

Entrée :
Cahier des charges fonctionnel

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Conception

Entrée :
Cahier des charges fonctionnel

Document produit :
Dossier de conception

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Programmation

Objectif : Implantation de la solution conçue


Choix de l’environnement de développement, du/des langage(s) de
programmation, de normes de développement...

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Programmation

Objectif : Implantation de la solution conçue


Choix de l’environnement de développement, du/des langage(s) de
programmation, de normes de développement...

Entrée :
Dossier de conception

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Programmation

Objectif : Implantation de la solution conçue


Choix de l’environnement de développement, du/des langage(s) de
programmation, de normes de développement...

Entrée :
Dossier de conception

Document produit :
Code documenté + manuel d’utilisation

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Validation et vérification

Objectifs :
Validation : assurer que les besoins du client sont satisfaits (au
niveau de la spécification, du produit fini...)
Vérification : assurer que le logiciel satisfait sa spécification

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Maintenance

Types de maintenance :
Correction : identifier et corriger des erreurs trouvées après la
livraison

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Maintenance

Types de maintenance :
Correction : identifier et corriger des erreurs trouvées après la
livraison
Adaptation : adapter le logiciel aux changements dans
l’environnement (format des données, environnement
d’exécution...)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Analyse des besoins
Spécification
Processus :
Conception
Activités du développement logiciel
Programmation
modèles de processus
Validation et vérification
Maintenance

Maintenance

Types de maintenance :
Correction : identifier et corriger des erreurs trouvées après la
livraison
Adaptation : adapter le logiciel aux changements dans
l’environnement (format des données, environnement
d’exécution...)
Perfection : améliorer la performance, ajouter des
fonctionnalités, améliorer la maintenabilité du logiciel

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

modèles de processus

Il existe différents modèles de processus qui organisent de façon


différentes les activités :

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Modèle en cascade
Chaque phase doit se terminer pour commencer la suivante.
Des documents sont produits pour concrétiser la réalisation de
chaque phase.

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Caractéristiques :

Hérité des méthodes classiques d’ingénierie

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Caractéristiques :

Hérité des méthodes classiques d’ingénierie


Découverte d’une erreur entraîne retour à la phase à l’origine
de l’erreur et nouvelle cascade, avec de nouveaux documents...

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Caractéristiques :

Hérité des méthodes classiques d’ingénierie


Découverte d’une erreur entraîne retour à la phase à l’origine
de l’erreur et nouvelle cascade, avec de nouveaux documents...
Coût de modification d’une erreur est important, donc choix
en amont cruciaux (typique d’une production industrielle)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Caractéristiques :

Hérité des méthodes classiques d’ingénierie


Découverte d’une erreur entraîne retour à la phase à l’origine
de l’erreur et nouvelle cascade, avec de nouveaux documents...
Coût de modification d’une erreur est important, donc choix
en amont cruciaux (typique d’une production industrielle)
Il n’est pas toujours adapté à une production logicielle, en
particulier si besoins du client changeants ou difficiles à spécifier

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Modèle processus en V

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Niveaux de test

Test unitaire : test de chaque unité de programme (méthode,


classe, composant), indépendamment du reste du système

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Niveaux de test

Test unitaire : test de chaque unité de programme (méthode,


classe, composant), indépendamment du reste du système
Test d’intégration : test des interactions entre composants
(interfaces et composants compatibles)

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Niveaux de test

Test unitaire : test de chaque unité de programme (méthode,


classe, composant), indépendamment du reste du système
Test d’intégration : test des interactions entre composants
(interfaces et composants compatibles)
Test système : test du système complet par rapport à son
cahier des charges

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Niveaux de test

Test unitaire : test de chaque unité de programme (méthode,


classe, composant), indépendamment du reste du système
Test d’intégration : test des interactions entre composants
(interfaces et composants compatibles)
Test système : test du système complet par rapport à son
cahier des charges
Test d’acceptation (recette) : fait par le client, validation par
rapport aux besoins initiaux

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Caractéristiques :

Variante du modèle en cascade


Mise en évidence de la complémentarité des phases menant à
la réalisation et des phases de test permettant de les valider

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Développement par prototypage

Principe :
Développement rapide d’un prototype avec le client pour
valider ses besoins
Écriture de la spécification à partir du prototype, puis
processus de développement linéaire
Avantage : Validation concrète des besoins, moins de risque
d’erreur de spécification

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Développement incrémental

Principe :
Hiérarchiser les besoins du client
Concevoir et livrer au client un produit implantant un
sousensemble de fonctionnalités par ordre de priorité

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

Avantage : Minimiser le risque d’inadéquation aux besoins


Difficulté : Intégration des fonctionnalités secondaires non pensées
en amont

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log


Processus :
Activités du développement logiciel
modèles de processus

COULIBALY MOHAMED Génie Logiciel Cours 3: Les processus de développement log