Académique Documents
Professionnel Documents
Culture Documents
(SOFTWARE ENGINEERING)
http://perso.univ-st-etienne.fr/jacquene/gl/
Francois.Jacquenet@univ-st-etienne.fr
Plan de cette partie de cours
2
Le modèle en cascade
Modèle en V
Développement incremental (prototypage)
Modèle orienté réutilisation
Le modèle en spirale
En pratique : mélange de divers modèles
Le modèle en cascade
7
Etude
préalable
Spécification
Conception
générale
Conception
détaillée
codage
intégration
Validation
recette
diffusion
exploitation
Les étapes du modèle en cascade
8
Etude
préalable
Spécification
Conception
générale
Conception
détaillée
codage
intégration
Validation
recette
diffusion
exploitation
Les étapes du modèle en cascade
10
Etude
préalable
Spécification
Conception
générale
Conception
détaillée
codage
intégration
Validation
recette
diffusion
exploitation
Les étapes du modèle en cascade
12
Codage (coding)
Écriture des textes des programmes
Intégration
Regroupement des divers modules
Construction de l’architecture générale
Validation globale/recette
Diffusion
Préparation et distribution des différentes versions
Exploitation
Mise en place du système dans son environnement
opérationnel
Le modèle en cascade
13
Deux interprétations
Neutre : c’est une description
Volontariste : on doit suivre ces étapes
On doit suivre TOUTES les étapes
L’ordre doit être respecté
On passe à l’étape n que lorsque l’étape n-1 est
terminée
Les remises en cause font remonter d’un seul niveau
Principale faiblesse : difficulté à s’adapter aux
changements une fois le processus lancé
Documents produits par les étapes du
modèle en cascade
14
Étude préalable
Phase exploratoire
Dossier d’entretiens
Décisions (faire, ne pas faire, faire faire, acheter)
Budget approximatif
Phase conceptuelle
Cahier des charges
Plan général du projet
Budget précis
Définition des contraintes
Spécification
Document de spécification (fonctions et performances)
Première version du manuel utilisateur
Plan détaillé du reste du projet
Plan de validation
Documents produits par les étapes du
modèle en cascade
15
Conception générale
Définition des principales structures de données
Décomposition du système en modules (architecture)
Description du rôle de chaque module
Conception détaillée
Description détaillée des structures de données et des modules
Codage
Texte des programmes
Chaque module est vérifié séparémment
Validation globale, recette
Compte rendu de recette
Rapports d’inspection et de validation
Diffusion
Versions des programmes et de leur documentation adaptées
Exploitation
Programme en fonctionnement
Rapports d’incidents et de correction
Le modèle en cascade
16
Etude
préalable
Spécification
Conception
générale
Conception
détaillée
codage
intégration
Validation
recette
diffusion
exploitation
Spécification
17
Etude
préalable
Spécification
Conception
générale
Conception
détaillée
codage
intégration
Validation
recette
diffusion
exploitation
Conception et implémentation
20
Conception de l’architecture
Identification de la structure globale du système
Les principaux composants
Leurs relations
Conception des interfaces
On définit les interfaces du système
Conception des composants
Conception de chaque composant de façon
indépendante
Conception de la base de données
Conception de la structure de la base de données
Vérification et Validation
23
Vérification
Le système est conforme à la spécification
(are we doing the product right?)
Validation
Le système répond aux exigences du client
(are we doing the right product?)
Inspections et tests
Tests
On exécute le système avec des cas de tests issus de
la spécification de données réelles du système futur
Les phases de test
24
Tests unitaires
Les composants sont testés individuellement
Tests d’intégration
Test du système global
Tests de recette
Test avec des données clients pour vérifier que le
système répond aux exigences du client
Les phases de test
25
Problèmes du modèle en cascade
26
Etude
exploitation
préalable
Validation
Spécification
recette
Conception Tests
générale d’intégration
Conception Tests
détaillée unitaires
codage
Modèle en V
28
Evolution du logiciel
29
Développement incremental
On développe le système par incrément. Chaque incrément est
évalué avant de commencer le développement de l’incrément
suivant
C’est la démarche usuelle dans les méthodes agiles
Evaluation réalisée par utilisateur/client
Livraison incrémentale
On déploit un incrément pour un utilisateur final
Approche délicate pour les systèmes de remplacement car alors
les incréments possèdent moins de fonctionnalités que le
système à remplacer
Livraison incrémentale
48
Avantage de la livraison
incrémentale
49