Introduction au Génie Logiciel - lmb.univ-fcomte.fr · PLAN 1 Génie logiciel 2 Cycle de vie du logiciel Etapes Modèles, méthodes Méthodes historiques Méthodes itératives Les

Post on 12-Sep-2018

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related