introduction au génie...
TRANSCRIPT
Introduction au Génie Logiciel
F. Langrognet
F. Langrognet Génie logiciel Septembre 2016 1 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 2 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 3 / 28
Le Génie Logiciel
DéfinitionLe génie logiciel est une science de génie industriel qui étudie les méthodesde travail et les bonnes pratiques.
Le génie logiciel s’intéresse en particulier aux procédures qui permettent deproduire des logiciels qui
correspondent aux attentes du client, aux besoins
soient fiables
aient un coût d’entretien réduit et de bonnes performances
respectent les délais et les coûts de construction
F. Langrognet Génie logiciel Septembre 2016 4 / 28
1re étape : Bien se comprendre
DifficultésMultiplicité des acteurs, des rôles
I Client, utilisateur (ce n’est pas forcément le même)I Informaticiens
F Chef de projetF ArchitecteF DéveloppeurF TesteurF Maintenance, documentation, ...
I Marketing, diffusion, formation
Langages, vocabulaires différents
F. Langrognet Génie logiciel Septembre 2016 5 / 28
How Projects Really Work (version 1.5) Create your own cartoon at www.projectcartoon.com
How the customerexplained it
How the project leaderunderstood it
How the analystdesigned it
How the programmerwrote it
What the beta testersreceived
How the businessconsultant described it
How the project wasdocumented
What operationsinstalled
How the customer wasbilled
How it was supported What marketingadvertised
What the customerreally needed
F. Langrognet Génie logiciel Septembre 2016 6 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 7 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 8 / 28
Les étapes (1)
Liste (non exhaustive...)
Définition des besoins-> Dans le langage du client
SpécificationsTraduction des besoins dans un langage plus informatique-> Ce que doit faire le logiciel (et non comment il le fait)
ConceptionTraduction des spécifications en termes de concepts logiciels
Codage-> Traduction de la conception en code
Tests
I unitaires (Test de chaque module individuellement)I d’intégration (Test de la composition de plusieurs modules)
F. Langrognet Génie logiciel Septembre 2016 9 / 28
Les étapes (2)
Liste (non exhaustive...)
Validation - VérificationAvons-nous construit le bon logiciel ? ->ValidéAvons-nous bien construit le logiciel ? ->Vérifié
Livraison / Diffusion
Support, formation
Maintenance
Evolution (nouvelles versions, ....)
F. Langrognet Génie logiciel Septembre 2016 10 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 11 / 28
Modèles - Méthodes
Cycle de vieLe cycle de vie désigne toutes les étapes du développement d’un logiciel, desa conception à sa disparition.
ModèlesLes modèles décrivent les liens, les relations entre les différentes étapes ducycle de vie du logiciel.
MéthodesLes méthodes permettent de mettre en oeuvre un développement logicielselon un modèle en organisant les différentes étapes du cycle de vie dulogiciel.
F. Langrognet Génie logiciel Septembre 2016 12 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 13 / 28
Cycle en cascade
F. Langrognet Génie logiciel Septembre 2016 14 / 28
Cycle en V
F. Langrognet Génie logiciel Septembre 2016 15 / 28
Méthodes tradtionnelles
Avantages
Aisé à comprendre et à mettre en œuvre
Forte structuration : définition puis réalisation
InconvénentsModèle idéalisé, ne tient pas compte de la nature itérative d’un projet
Logiciel délivré seulement à la fin du projet
I Attente du clientI Conformité, validation tardiveI Coût élevé en cas de non-conformité
F. Langrognet Génie logiciel Septembre 2016 16 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 17 / 28
Cycle itératif (ou en spirale)Evolution vers des méthodes plus souples, plus itératives
F. Langrognet Génie logiciel Septembre 2016 18 / 28
Cycle itératif
Avantages
Combine les avantages des modèles en cascade/V
Tient compte de la nature itérative d’un projet
Bonne visibilité au cours du cycle de vie
InconvénentsDifficile à comprendre sans être expert technique
Nécessite une capacité à bien analyser les risques
F. Langrognet Génie logiciel Septembre 2016 19 / 28
Agilité et TDD
Le test au coeur du processusDans le TDD (Test Driven Development) : on écrit les tests avant le code
Les méthodes agiles reposent sur ce concept et intègre des règles pourdiminuer les délais de mise à disposition d’une nouvelle version (’petits pas’)
F. Langrognet Génie logiciel Septembre 2016 20 / 28
PLAN
1 Génie logiciel
2 Cycle de vie du logicielEtapesModèles, méthodesMéthodes historiquesMéthodes itérativesLes tests au coeur du processus de développement
F. Langrognet Génie logiciel Septembre 2016 21 / 28
Développement et tests
F. Langrognet Génie logiciel Septembre 2016 22 / 28
Coût de résolution de bugsTests et développement
Tests unitaires-> 50% du coût total du projet
Tests d’intégration (lors composition des modules, ou composants)-> 10 fois le coût d’un bug détecté lors des tests unitaires
Tests système, validation (adéquation aux spécifications)->100 fois le coût d’un bug détecté lors des tests unitaires
F. Langrognet Génie logiciel Septembre 2016 23 / 28
F. Langrognet Génie logiciel Septembre 2016 24 / 28
Introduction au Génie Logiciel
F. Langrognet
F. Langrognet Génie logiciel Septembre 2016 25 / 28