introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... ·...

114
Introduction enie logiciel Projet informatique ethode de d´ eveloppement Qualit´ e Introduction au d´ eveloppement du logiciel Vers le g´ enie logiciel Pascal ANDRE MIAGE Universit´ e de Nantes Master Miage M1 Pascal ANDRE MIAGE eveloppement de logiciel

Upload: others

Post on 17-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Introduction au developpement du logicielVers le genie logiciel

Pascal ANDRE

MIAGEUniversite de Nantes

Master Miage M1

Pascal ANDRE MIAGE

Developpement de logiciel

Page 2: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Plan

1 Introduction

2 Genie logiciel

3 Projet informatique

4 Methode de developpement

5 Qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 3: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Bibliographie sommaire

� Generalites et techniques de base

[AV01a] Pascal Andre and Alain Vailly.Conception de Systemes d’Information, Panorama des methodes et destechniques, volume 1 of Collection Technosup.Editions Ellipses, 2001.ISBN 2-7298-0479-X.

[MR93] Jose Morejon and Jean-Rene Rames.Conduite de projets informatiques.InterEditions, 1993.Principes et techniques s’appuyant sur la methode MERISE, ISBN2-7296-0457-X.

[Vil95] Francoise Villeneuve.Conduite de projet.CNRS, 1995.http://dsi-val.dsi.cnrs.fr/

bureau qualite/qualite/conduit.htm.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 4: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Introduction

De l’idee au code

exprimerprogrammerverifier

Pascal ANDRE MIAGE

Developpement de logiciel

Page 5: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Introduction

De l’idee au code

exprimerprogrammerverifier

avec methode...

dans le bon ordreeviter l’anarchietravailler en groupe

Pascal ANDRE MIAGE

Developpement de logiciel

Page 6: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Introduction

De l’idee au code

exprimerprogrammerverifier

avec methode...

dans le bon ordreeviter l’anarchietravailler en groupe

... et qualite

modeles (correct, fiable, evolutif...)processus (efficace, rentable...)

Pascal ANDRE MIAGE

Developpement de logiciel

Page 7: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Introduction

De l’idee au code

exprimerprogrammer → MODELESverifier

avec methode...

dans le bon ordre PROCESSUSeviter l’anarchie → GESTION DE PROJETtravailler en groupe

... et qualite

modeles (correct, fiable, evolutif...)processus (efficace, rentable...) → QUALITE

Pascal ANDRE MIAGE

Developpement de logiciel

Page 8: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

Programmation incrementale et iterative sur le test

⇒ problemes a grande echelle

magma d’organisation

durees aleatoiresexperience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 9: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

oubliserreurs tardives → manque de reflexion

Programmation incrementale et iterative sur le test

⇒ problemes a grande echelle

magma d’organisationdurees aleatoires

experience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 10: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

Programmation incrementale et iterative sur le test

⇒ problemes a grande echelle

magma d’organisationdurees aleatoiresexperience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 11: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

Programmation incrementale et iterative sur le test

nombreux allers/retoursreactivite → manque d’organisation

⇒ problemes a grande echelle

magma d’organisationdurees aleatoiresexperience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 12: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

Programmation incrementale et iterative sur le test

⇒ problemes a grande echelle

magma d’organisationdurees aleatoiresexperience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 13: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement individuel

→ methodes ”agiles”, XP

Analyse legere ou dans la ”tete”

Programmation incrementale et iterative sur le test

⇒ problemes a grande echelle

magma d’organisationdurees aleatoiresexperience et capitalisation individuelle

⇒ pas de travail de groupe, pas rationnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 14: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 15: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 16: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 17: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 18: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 19: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 20: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement en groupe

etablir les taches et les resultats

definir les acteurs

organiser le developpement

gerer la communication (documents, media, ...)

superviser le developpement

ameliorer la qualite

⇒ pour qui ?

Pascal ANDRE MIAGE

Developpement de logiciel

Page 21: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 22: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

analyse de couts : financier, temporel, humain...analyse de competence : technologies requises (formation ?)analyse de performance : rentabilite...

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 23: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 24: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

etude d’opportuniteetudes de faisabiliteanalyse de risquesgestion des risquesdecisions

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 25: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 26: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

role du clientspecificationvalidationdecisions

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 27: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 28: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement pour un client

1 ajouter une dimension cout

2 ajouter de nouvelles etapes

3 modifier le developpement

4 prevoir l’assurance qualite, l’automatisation...

qualite des resultats (validite, robustesse) = satisfaire le clientqualite du processus = respecter delais et couts

Pascal ANDRE MIAGE

Developpement de logiciel

Page 29: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 30: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

analyse de couts : financier, temporel, humain...analyse de competence : technologies requises (formation ?)analyse de performance : rentabilite...

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 31: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 32: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

formationsmaintenance des applications (corrective, evolutive)

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 33: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 34: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

gestion des ressources humaines (formations, carrieres)gestion commerciale ou interne des applications

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 35: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 36: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

developper en serie (portabilite, evolutivite, generalite)developper en partie (reutilisabilite)automatiser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 37: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

Pascal ANDRE MIAGE

Developpement de logiciel

Page 38: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Empilement

Le developpement par un prestataire

1 ajouter une dimension production

2 ajouter de nouvelles etapes

3 prendre en compte d’autres preoccupations

4 rentabiliser la production

⇒ produire du logiciel de qualite, rationaliser ledevelopperment, rentabiliser les investissements

� besoin de methodes et d’outil de developpement� besoin de methodes et d’outil de gestion de projets=⇒ une reponse : le Genie logiciel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 39: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Plan

1 Introduction

2 Genie logiciel

3 Projet informatique

4 Methode de developpement

5 Qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 40: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 41: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

mettre en œuvre des moyens pour realiser du logi-ciel de qualite en respectant des contraintes decouts.

definitionlarge spectre : des langages de programmation a la gestiond’organisationssoumis a l’evolution des technologies et des metiersAtelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 42: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 43: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definitionLe Genie Logiciel est l’art de construire indus-triellement du logiciel.

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiersAtelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 44: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 45: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 46: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 47: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Le Genie logiciel

objectifs

definition

large spectre : des langages de programmation a la gestiond’organisations

soumis a l’evolution des technologies et des metiers

Atelier GL indispensable

editionverificationgeneration automatiquedocumentationreutilisationpersonnalisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 48: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Evolution du Genie logiciel

Langage machine

SGBD relationnels

Entité- Associations

Langages de spécification

Outils d'analyse

Assembleur

Fortran

Algo

Cobol

SGBD

Lisp

Prolog

Pascal

Smalltalk

ADA

Langages de conception

1945

1950

1955

1960

1965

1970

1975

1980

1985

1990

XX

Evolution

Langages intégrés ?

?

Bases de connaissances

symbolisme

algorithmique traitement des listes

traitement des données maintenance

programmation structurée

systèmes d'information

mécanisme d'inférence

réutilisation abstraction types abstraits modularité généricité

approche descendante

objet sémantique

sémantique

Pascal ANDRE MIAGE

Developpement de logiciel

Page 49: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Plan

1 Introduction

2 Genie logiciel

3 Projet informatique

4 Methode de developpement

5 Qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 50: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

Pascal ANDRE MIAGE

Developpement de logiciel

Page 51: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques

Pascal ANDRE MIAGE

Developpement de logiciel

Page 52: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

Une methode est une technique de resolution de problemes[Lau86].Un aspect cle de la methode est de privilegier l’etude (l’analyse)avant de commencer a concevoir le logiciel.Il faut bien poser le probleme pour bien le resoudre.Le terme de methode recouvre plusieurs notions.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 53: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

philosophie (approche du probleme)demarche (processus)notation (norme, langage)outils

Pascal ANDRE MIAGE

Developpement de logiciel

Page 54: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

Merise

philosophie (approche du probleme)BD relationnelles, Prog structuree

demarche (processus)par niveau, par etapes

notation (norme, langage)E-A-P, Petri, SCOM...

outilsAMCD, WinDesign...

Pascal ANDRE MIAGE

Developpement de logiciel

Page 55: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels

Pascal ANDRE MIAGE

Developpement de logiciel

Page 56: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projet

La conduite de projet (gestion de projet, management de pro-jet) ”definit l’environnement necessaire pour que le projet sederoule dans les meilleurs conditions de cout, de delais ainsique de qualite des resultats produits” [MR93].En plus des methodes et techniques de developpement, desmethodes et techniques de gestion de projet sont mises en œu-vre pour reussir le projet.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 57: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projet

”La conduite de projet est un processus difficile amaıtriser car interviennent plusieurs facteurs de risque tels queles couts et les delais a respecter, les technologies a maıtriser,les ressources humaines a gerer.” [Vil95].

Pascal ANDRE MIAGE

Developpement de logiciel

Page 58: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projet

gestion du besoin (definition, validation, evolution)gestion des ressources et des couts (planification, suivi,optimisation, capitalisation)gestion des risques (evaluation, suivi, decision)gestion de la communication entre acteursgestion de la qualite des resultats produits

Pascal ANDRE MIAGE

Developpement de logiciel

Page 59: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projetProjet informatique

gestion du besoin (definition, validation, evolution)reunions, revues, cahiers des charges

gestion des ressources et des couts (planification, suivi,optimisation, capitalisation)

humains, materiels, financiersgestion des risques (evaluation, suivi, decision)gestion de la communication entre acteursgestion de la qualite des resultats produits

certification, controle qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 60: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projet

→ domaine complexe

Pascal ANDRE MIAGE

Developpement de logiciel

Page 61: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet informatique

Projet d’informatisation =

aspects techniques ⇒ methode de developpement

aspects organisationnels ⇒ gestion de projet

Dans ce qui suit, on se focalise sur le developpement (la methodeau sens large).

La gestion de projet est hors contexte, voir des pointeurs ahttp://www.sciences.univ-nantes.fr/info/perso/

permanents/andre/COURS/cours.html

Pascal ANDRE MIAGE

Developpement de logiciel

Page 62: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 63: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 64: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

stockage volumineuxnombreux traitements triviaux (consultation, mises-a-jour)quelques traitements complexes en mise-a-jourassurer la coherence des informationssoumis aux evolutions technologiques (distribution,persistance, IHM)

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 65: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 66: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

reactivite fortequalite (surete, fiabilite...)traitements souvent simples mais conditions complexesassurer la coherence des evenements (role du temps)soumis aux evolutions materielles (capteurs, actionneurs,environnement)

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 67: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 68: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

algorithmes complexesbases d’information plus ou moins importantesqualite : efficacitepeu soumis aux evolutions technologiques (techniques deprogrammation, IHM)

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 69: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

Pascal ANDRE MIAGE

Developpement de logiciel

Page 70: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Projet - Variantes

Les applications informatiques peuvent se classer en troiscategories majeures :

1 Systemes d’information de gestion SIG

2 Systemes temps reel STR

3 Systemes intelligents, calcul scientifique SI, CS

il y en a d’autres

differents besoins =⇒ differentes methodes

Pascal ANDRE MIAGE

Developpement de logiciel

Page 71: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Plan

1 Introduction

2 Genie logiciel

3 Projet informatique

4 Methode de developpement

5 Qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 72: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (en bref)

Methode =

Modeles, produits

+ Processus

+ Outils

Pascal ANDRE MIAGE

Developpement de logiciel

Page 73: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (en bref)

Methode =

Modeles, produits

+ Processus

+ Outils

Pascal ANDRE MIAGE

Developpement de logiciel

Page 74: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (en bref)

Methode =

Modeles, produits

+ Processus

+ Outils

Pascal ANDRE MIAGE

Developpement de logiciel

Page 75: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Un modele est une interpretation explicite par son utilisateurde l’idee qu’il se fait d’une situation.

Il peut etre exprime par des mathematiques, des symboles, desmots, mais, essentiellement, c’est une description d’entites etde relations entre elles.

Un modele est correct s’il permet de repondre aux questionsqu’on se pose.

Un modele est operationnel s’il peut etre execute par unemachine.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 76: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Un modele est une interpretation explicite par son utilisateurde l’idee qu’il se fait d’une situation.

Il peut etre exprime par des mathematiques, des symboles, desmots, mais, essentiellement, c’est une description d’entites etde relations entre elles.

Un modele est correct s’il permet de repondre aux questionsqu’on se pose.

Un modele est operationnel s’il peut etre execute par unemachine.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 77: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Un modele est une interpretation explicite par son utilisateurde l’idee qu’il se fait d’une situation.

Il peut etre exprime par des mathematiques, des symboles, desmots, mais, essentiellement, c’est une description d’entites etde relations entre elles.

Un modele est correct s’il permet de repondre aux questionsqu’on se pose.

Un modele est operationnel s’il peut etre execute par unemachine.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 78: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Un modele est une interpretation explicite par son utilisateurde l’idee qu’il se fait d’une situation.

Il peut etre exprime par des mathematiques, des symboles, desmots, mais, essentiellement, c’est une description d’entites etde relations entre elles.

Un modele est correct s’il permet de repondre aux questionsqu’on se pose.

Un modele est operationnel s’il peut etre execute par unemachine.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 79: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 80: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 81: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

informationsstructurecontraintesrepartition

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 82: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 83: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

evenementsactionscontraintes temporellesconcurrence

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 84: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 85: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Modeles)

Les elements d’un systeme peuvent se classer selon trois aspectsmajeurs :

1 Structure, donnees =⇒ Point de vue statique

2 Evolution dans le temps =⇒ Point de vue dynamique

3 Traitements =⇒ Point de vue fonctionnel

algorithmestransactions et securiteassertions (contraintes)parallelisme

Pascal ANDRE MIAGE

Developpement de logiciel

Page 86: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Types de specification

Les specifications peuvent etre classees selon leur forme ou leurdegre de formalisme.

les specifications informelles, en langue naturelle, redigees sanscontraintes de forme,

les specifications standardisees, en langue naturelle, mais avecune structure, un format et des regles precises (notations,glossaire, index, historique...),

les specifications semi-formelles, utilisant un langage despecification textuel ou graphique, dote d’une syntaxe preciseet d’une semantique assez faible),

les specifications formelles, exprimees dans un langage asyntaxe et semantique precises, construites sur une basetheorique solide.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 87: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Types de specification

Les specifications peuvent etre classees selon leur forme ou leurdegre de formalisme.

les specifications informelles, en langue naturelle, redigees sanscontraintes de forme,

les specifications standardisees, en langue naturelle, mais avecune structure, un format et des regles precises (notations,glossaire, index, historique...),

les specifications semi-formelles, utilisant un langage despecification textuel ou graphique, dote d’une syntaxe preciseet d’une semantique assez faible),

les specifications formelles, exprimees dans un langage asyntaxe et semantique precises, construites sur une basetheorique solide.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 88: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Types de specification

Les specifications peuvent etre classees selon leur forme ou leurdegre de formalisme.

les specifications informelles, en langue naturelle, redigees sanscontraintes de forme,

les specifications standardisees, en langue naturelle, mais avecune structure, un format et des regles precises (notations,glossaire, index, historique...),

les specifications semi-formelles, utilisant un langage despecification textuel ou graphique, dote d’une syntaxe preciseet d’une semantique assez faible),

les specifications formelles, exprimees dans un langage asyntaxe et semantique precises, construites sur une basetheorique solide.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 89: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Types de specification

Les specifications peuvent etre classees selon leur forme ou leurdegre de formalisme.

les specifications informelles, en langue naturelle, redigees sanscontraintes de forme,

les specifications standardisees, en langue naturelle, mais avecune structure, un format et des regles precises (notations,glossaire, index, historique...),

les specifications semi-formelles, utilisant un langage despecification textuel ou graphique, dote d’une syntaxe preciseet d’une semantique assez faible),

les specifications formelles, exprimees dans un langage asyntaxe et semantique precises, construites sur une basetheorique solide.

Pascal ANDRE MIAGE

Developpement de logiciel

Page 90: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Le processus (la demarche) precise

les taches (activites) a realiser,

les resultats attendus (modeles, produits, specifications),

l’ordre qui organise les taches (le cycle de developpement).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 91: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Le processus (la demarche) precise

les taches (activites) a realiser,

les resultats attendus (modeles, produits, specifications),

l’ordre qui organise les taches (le cycle de developpement).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 92: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Le processus (la demarche) precise

les taches (activites) a realiser,

les resultats attendus (modeles, produits, specifications),

l’ordre qui organise les taches (le cycle de developpement).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 93: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Processus : le cycle de reference

modèleutilisateur

modèlearchitectural

d’implantationmodèle

vérification

Exploitation

et tests

Conception Testsunitaires

codageConstruction

modulaire

Intégration

ValidationFinition

Maintenance

Conceptiondu système

du systèmeSpécification

Etude desbesoins

Pascal ANDRE MIAGE

Developpement de logiciel

Page 94: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Modeles de processus

Principaux cycles

lineaires (cascade, V, fontaine),

contractuels (methodes formelles),

iteratifs (spirale),

variantes (X, Y).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 95: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Modeles de processus

Principaux cycles

lineaires (cascade, V, fontaine),

contractuels (methodes formelles),

iteratifs (spirale),

variantes (X, Y).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 96: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Modeles de processus

Principaux cycles

lineaires (cascade, V, fontaine),

contractuels (methodes formelles),

iteratifs (spirale),

variantes (X, Y).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 97: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Modeles de processus

Principaux cycles

lineaires (cascade, V, fontaine),

contractuels (methodes formelles),

iteratifs (spirale),

variantes (X, Y).

Pascal ANDRE MIAGE

Developpement de logiciel

Page 98: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Ne pas oublier

Verification : c’est controler que le produit respecte le cahierdes charges. La verification est donc plus une “affaire” despecialistes.

Validation : c’est controler que le (produit) resultatcorrespond a ce qui etait attendu. La validation est uncontrole qui fait intervenir largement les “utilisateurs”.

Moyens

Revues

Tests

Preuves

Prototypage

Pascal ANDRE MIAGE

Developpement de logiciel

Page 99: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Ne pas oublier

Verification : c’est controler que le produit respecte le cahierdes charges. La verification est donc plus une “affaire” despecialistes.

Validation : c’est controler que le (produit) resultatcorrespond a ce qui etait attendu. La validation est uncontrole qui fait intervenir largement les “utilisateurs”.

Moyens

Revues

Tests

Preuves

Prototypage

Pascal ANDRE MIAGE

Developpement de logiciel

Page 100: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Methode de developpement (Processus)

Ne pas oublier

Verification : c’est controler que le produit respecte le cahierdes charges. La verification est donc plus une “affaire” despecialistes.

Validation : c’est controler que le (produit) resultatcorrespond a ce qui etait attendu. La validation est uncontrole qui fait intervenir largement les “utilisateurs”.

Moyens

Revues

Tests

Preuves

Prototypage

Pascal ANDRE MIAGE

Developpement de logiciel

Page 101: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Plan

1 Introduction

2 Genie logiciel

3 Projet informatique

4 Methode de developpement

5 Qualite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 102: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Pascal ANDRE MIAGE

Developpement de logiciel

Page 103: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

⇒ eviter

le bruitle silencela sur-specificationla contradictionl’ambiguitela reference avantle vœu pieu

Pascal ANDRE MIAGE

Developpement de logiciel

Page 104: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Pascal ANDRE MIAGE

Developpement de logiciel

Page 105: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

la validitela robustessel’extensibilitela reutilisabilitela compatibilite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 106: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

la validitela robustessel’extensibilitela reutilisabilitela compatibilite

D’autres qualites du logiciel sont moins cruciales :l’efficacite, la portabilite, la verifiabilite, l’integrite, lafacilite d’utilisation

Pascal ANDRE MIAGE

Developpement de logiciel

Page 107: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Pascal ANDRE MIAGE

Developpement de logiciel

Page 108: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

sureteterminaisonrigueurcoherence, completudesouplesseaccessibiliterentabilite

Pascal ANDRE MIAGE

Developpement de logiciel

Page 109: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Plus de details ⇒ [AV01]

Pascal ANDRE MIAGE

Developpement de logiciel

Page 110: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Plus de details ⇒ [AV01]

Ameliorer la qualite :

Pascal ANDRE MIAGE

Developpement de logiciel

Page 111: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Plus de details ⇒ [AV01]

Ameliorer la qualite :

rigueur

structuration modulaire

Pascal ANDRE MIAGE

Developpement de logiciel

Page 112: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Plus de details ⇒ [AV01]

Ameliorer la qualite :

rigueur methodes formelles

structuration modulaire methodes a objets

Pascal ANDRE MIAGE

Developpement de logiciel

Page 113: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Qualite

Qualite des specifications

Qualite du logiciel

Qualite du processus

Plus de details ⇒ [AV01]

Ameliorer la qualite :

rigueur methodes formelles Z

structuration modulaire methodes a objets UML

Pascal ANDRE MIAGE

Developpement de logiciel

Page 114: Introduction au d eveloppement du logicielpagesperso.lina.univ-nantes.fr/~andre-p/download... · 2010-12-15 · 1 Introduction 2 G enie logiciel 3 Projet informatique 4 M ethode de

Introduction Genie logiciel Projet informatique Methode de developpement Qualite

Pascal Andre and Alain Vailly.Conception de systemes d’information ; Panorama des methodes et des techniques,volume 1 of Collection Technosup.Editions Ellipses, 2001.ISBN 2-7298-0479-X.

Jean.-Louis Lauriere.Resolution de problemes par l’Homme et la machine.Eyrolles, 1986.

Jose Morejon and Jean-Rene Rames.Conduite de projets informatiques.InterEditions, 1993.Principes et techniques s’appuyant sur la methode MERISE, ISBN2-7296-0457-X.

Francoise Villeneuve.Conduite de projet.CNRS, 1995.http://dsi-val.dsi.cnrs.fr/bureau qualite/qualite/conduit.htm.

Pascal ANDRE MIAGE

Developpement de logiciel