Académique Documents
Professionnel Documents
Culture Documents
Génie Logiciel
– et utilisation de ressources
● Pourquoi un processus ?
– Impose une démarche cohérente et la structuration des activités
– Guide les actions en permettant d’examiner, de comprendre, de
contrôler et d'améliorer les activités qui composent le processus
3
Cycles de vie du logiciel
Modèles de processus : définition et motivations
● Modèle : représentation de l’enchaînement des étapes jusqu’au résultat
souhaité (entrées et résultats des étapes généralement connus)
● Existence de plusieurs modèles de processus : certains sont des
prescriptions et d’autres sont des descriptions
●
Pourquoi modéliser un processus ?
–
Un modèle constitue pour l’équipe une compréhension commune des activités, des
contraintes et des ressources
4
Cycles de vie du logiciel
Définition et importance
● Cycle de vie du logiciel (CdV) = modèles de processus de
développement et d’exploitation du logiciel (Représentation
de l’enchaînement des étapes pour créer et exploiter un
logiciel)
● Le CdV facilite
– Planification et gestion du projet
– Contrôle de la qualité
– Communication
– Identification des métiers et des techniques propres à chaque étape
5
Cycles de vie du logiciel
Classes de CdV
●
Cycles spécifiques liés à des environnements ou
outils particuliers
6
Cycles de vie du logiciel
CdV séquentiels : généralités
● Caractéristiques
– date de fin des étapes précisément définies : tout est planifié au début
– production de documents bien définis à chaque étape
– étape i se termine complètement avant le début de l’étape i + 1
– résultats de l’étape i sont utilisés dans l’étape i + 1
– les problèmes d’une étape remettent en cause l’étape précédente
– Mettent plus l’accent sur les phases en amont du codage
● Principaux avantages
– Simplicité
– La planification se fait une seule fois
– Possibilité de faire la conception détaillée et le codage en parallèle
● Principaux inconvénients
– Rigidité des spécifications
– Effet tunnel possible
37
Cycles de vie du logiciel
CdV séquentiels : cascade (waterfall)(1)
Analyse des besoins
(validation)
Conception
générale
(vérification)
Conception détaillée
(vérification)
Codage (tests
unitaires)
Intégration (tests
d’intégration)
Qualification (tests
de validation)
Exploitation &
maintenance 8
Cycles de vie du logiciel
CdV séquentiels : cascade (waterfall)(2)
● Autres inconvénients
– validation se fait sur des documents uniquement et tard dans le
processus
– coût d’une erreur est d’autant plus élevée qu’elle est
découverte tard
●
Adapté pour les petits projets aux contours bien
maîtrisés
9
Cycles de vie du logiciel
CdV séquentiels : cycle en V (1)
Analyse des Test
besoins d’acceptation
Spécifications Test
externes système
Conception Test
générale d’intégration
Conception Tests
détaillée unitaires
Codage 10
Cycles de vie du logiciel
CdV séquentiels : cycle en V(2)
● Autres caractéristiques
– Chaque étape de conception prépare une étape de validation et vérification
Autres avantages
– Toute description est associée aux tests y relatifs
Autres inconvénients
– Absence de maintenance
– Pas de maintenance
● Cycle le plus utilisé
Cycles de vie du logiciel
CdV itératifs : généralités
●
Idée : lever les inconvénients des modèles
séquentiels pour
– minimiser les risques d’inadéquation
– prendre en compte les évolutions des besoins
● Avantages
– Intégrations progressives
– Développements moins complexes
– Meilleure visibilité dans planification itérations
● Inconvénient
– Planification à chaque itération
13
Cycles de vie du logiciel
CdV itératifs : modèle incrémental
Cycles de vie du logiciel
CdV itératifs : modèle incrémental
● Autres caractéristiques
– Itération sur les étapes conception détaillée, codage, tests : la
réalisation se fait par incréments de fonctionnalité
● Autres avantages
– Permet de prendre en compte l’analyse des risques
– Les changements pour les utilisateurs peuvent être progressifs
●
Convient pour les grands projets (potentiellement
nombre important d’itérations)
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
● Prototype
– Définition : mouture incomplète du logiciel en
développement ; il en offre
● Les principales fonctions
● Une architecture provisoire
– Trois types
● Prototype rapide ou maquette
● Prototype exploratoire
● Prototype évolutif
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
● Prototype
– Définition
– Trois types
● Prototype rapide ou maquette :
– modèle réduit présentant les éléments d’interface ainsi que
l’enchaînement des écrans : la maquette a l’apparence externe du
logiciel mais n’en offre aucune fonction
– Permet d’avoir une idée des fonctionnalités à partir de l’interface
– Utilisé dans les phases d’analyse des besoins et de spécifications
● Prototype exploratoire
● Prototype évolutif
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
● Prototype
– Définition
– Trois types
● Prototype rapide ou maquette
● Prototype exploratoire ou expérimental
– Mise en œuvre test de certaines fonctions (critiques) pour s’assurer
de leur faisabilité et valider les options de conception
– Utilisé dans la phase de conception
– Généralement jetable
● Prototype évolutif
– Mise en œuvre partielle des résultats de conception
– La première version constitue l’embryon du logiciel.
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
● Idées maîtresses
– Expérimenter pour acquérir de la connaissance et comprendre
– N e pas travailler en aveugle
– Utilisateurs seuls à savoir c e que doit faire le logiciel
● Validation impossible à partir de documents
● Nécessité de voir fonctionner
– Possibilités d’accroître progressivement les fonctions
● cycles spécification – conception – fabrication – installation
● Découpage vertical de l’ensemble des tâches
– Utilisation technologies du début des années 80
● Langage de haut niveau
● Interface utilisateur graphique
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
Cycles de vie du logiciel
CdV itératifs : modèle avec prototypage
Cycles de vie du logiciel
CdV itératifs : modèle en spirale
● Quelques risques répertoriés
– Risques répertoriés Défaillance
– de personnel Calendrier
– irréaliste
– Développement de fonctions inappropriées Développement
– d’interfaces utilisateurs inappropriées Produit « plaqué or »
– Volatilité des besoins Composants
– externes manquants Tâches externes
– défaillantes Problèmes de
– performances
– Exigences démesurées par rapport à la technologie
Cycles de vie du logiciel
CdV itératifs : modèle en spirale
● Caractéristiques
– Chaque cycle (itération) comporte quatre phases
● Détermination des objectifs, alternatives et contraintes
● Analyse et évaluation des risques et des alternatives
● Développement et vérification de la solution retenue
● Revue des résultats et planification du cycle suivant
● Avantages
– validation concrète sur prototype
–
limitation du risque
– flexibilité
●
Inconvénients
– mise en œuvre assez lourde
– pas assez documenté
● Adapté pour les projets innovants à risques et grands enjeux
Cycles de vie du logiciel
Résumé comparaison CdV séquentiels et itératifs
● Les deux familles de CdV donnent lieu à deux classes de méthodes
Clas s iq u e s A gile s
Cycles de vie Séquentiels Itératif et incrémental
Planification Prédictive Adaptative
Documentation Quantité importante Réduite au strict nécessaire
Contrôle qualité A la fin Précoce et permanent
G e s t i o n de Mise à jour planning Mise à jour planning Mise à jour Mise à jour
projets/planifi planning planning
cation
A s s u ra n c e et
contrôle
qualité –
g es t i o n des
versions
P ro d u c t io n de Dossier de Rapport de tests Rapport test Rapport de test,
d o c u men t s conception détaillée, unitaires d’intégration mise à jour de
plan des tests documents
unitaires, mise à
jour manuel
utilisateur
Cycles de vie du logiciel
Retenir
●
Il existe de nombreux modèles de processus de
développement logiciel
●
Chaque processus est plus ou moins approprié pour
des circonstances données
●
Quelque soit le processus adopté, il doit être
explicitement documenté : les entrées et les
résultats des différentes activités doivent être
clairement décrits.
QUESTIONS?