Cycles de Vie du Logiciel LFI2 Genie Logiciel/ Gestion de Projets
Download
Report
Transcript Cycles de Vie du Logiciel LFI2 Genie Logiciel/ Gestion de Projets
Cycles de Vie du
Logiciel
LFI2
Genie Logiciel/ Gestion de Projets
Septembre 2008
Cycle de Vie
Un ensemble structure d’activites requises
pour developer un systeme
Specification;
Conception;
Validation;
Evolution.
Classes de Cycles de Vie
Chute d’Eau
Sequence de phases.
Developpement Evolutif
Specification, development et validation
sont simultanes.
CBSE: GL a base de composantes
Assemblage de composantes existantes.
Variations sur ces themes..
Cycle en Chute d’Eau
Phases et Activites
Inconvenients de la Chute
d’Eau
Non realiste
Non flexible
Ne rend pas compte des interactions
entre phases
Ne tolere pas les modification du cahier
des charges
Applicable dans des situations
exceptionnelles a enjeu eleve.
Developpement Evolutif
Prototypage Exploratoire
Demarrer avec un concept vague du
cahier des charges. Le faire evoluer au fur
et a mesure du feedback usager. Finir
avec un produit operationnel fini.
Prototypage Disposable
Demarrer avec un concept vague du
cahier des charges. Le faire evoluer au fur
et a mesure du feedback usager. Finir
avec un cahier des charges complet.
Developpement Evolutif
Prototypage Exploratoire
Carateristiques
Conception ad hoc.
Systeme difficile a maintenir.
Processus manque de transparence.
Applicabilite
Systemes de taille petite ou moyenne
Longevite reduite
Enjeu limite
Prototypage Disposable
Caracteristiques
Couteux
Ad Hoc
Necessite validation intense pour etre utilise sur
des systemes a grand enjeux.
Applicabilite
Trop couteuse pour les systemes a petits
enjeux
Trop risquee pour les systemes a grands
enjeux.
Developpement base sur les
composantes
Reutilisation systematique avec les
composantes COTS (Commercial-off-the-shelf).
Etapes du processus
Analyse des composantes;
Ajustement du cahier des charges;
Conception avec la reutilisation (descendante ou
ascendante);
Developpement et integration.
De plus en plus utilisable quand elle est
pratique.
Processus de developpement
COTS
Cycles de Vie Iteratifs
Les CC des logiciels evoluent toujours
avec le temps, meme durant la periode
du projet.
Necessite de processus iteratifs.
Iteration peut etre appliquee a chacun
des processus discutes ci dessus.
Deux approches iteratives reliees.
Developpement Incremental;
Developpement en Spirale.
Developpement Incremental
Systeme est developpement en increments de
fonctionalite.
Increments les plus importants en premier.
Chaque increment procede sur un cycle de vie
sequentiel.
Une fois un increment demarre, sa specification
ne change plus.
Specifications d’increments ulterieurs peuvent
continuer a evoluer.
Developpement Incremental
Caracteristiques du
development incremental
Livraison a temps de fonctionalites a
l’usager.
Premiers increments peuvent servir de
prototype pour solliciter des clause pour
les increments qui suivents.
Premiers incerments (les plus
importants) sont testes plus que les
autres.
Risque d’echec faible.
Developpement en Spirale
Spirale plutot que sequence.
Chaque boucle represente une phase.
Boucle choisies selon ce dont le
processus a besoin.
Risques explicitement analyses et
resolus.
Spirale a quatre secteurs
Quatre secteurs
Enonce de l’objectif.
Enonce et analyse de risques.
Developpement et validation.
Planification.
Activites du Processus
specification de logiciels.
Conception et implementation de
logiciels.
Validation de logiciels.
Evolution de logiciels.
Pecification des Logiciels
Services requis et contraintes de
livraison des services.
Processus de l’ingenieurie des besoins
Etude faisabilite;
Collecte et analyse des besoins;
Specification des besoins;
Validation des specifications/ des besoins.
Processus de l’ingenieurie des
besoins
Conception et implementation
de logiciels
Convertir les specifications en une
implementation.
Conception
Concevoir une structure qui satisfait les
specifications;
Implementation
Traduire cette structure en un programme;
Activites de conception
Conception Architecturale
Specification abstraite
Conception d’interfaces
Conception des composantes
Conception des structures de donnees.
Conception algorithmique
Processus de Conception
Implementation des logiciels
Transformer les conceptions en
programme executable.
Test unitaire.
Debugging.
Validation de Logiciels
Verification et validation (V & V)
Validation: spec reflete les besoins
usagers
Verification: implementation satisfait la
spec.
Implique des processus de review et de
testing.
Test: executer le systeme dans des
conditions similaires a son usage.
Validation de logiciels
Types de Test
Test unitaire
A l’echelle de la composante/ module.
Unite/ objet.
Test Systeme
Teste l’integration des composantes.
Test d’Acceptarion
A la livraison.
Phases du Test
Evolution du Logiciel
SW est flexible/ malleable.
Maintenance adaptative; besoins
evolutifs de l’usager.
Fusion entre developpement et
maintenance.
Evolution du Logiciel