70
Génie logiciel – Introduction © 2005-2007 Renaud Marlet 1 Génie Logiciel Génie Logiciel Introduction Introduction Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 21/03/2006

Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

  • Upload
    vucong

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 1

Génie LogicielGénie Logiciel

IntroductionIntroduction

Renaud Marlet

LaBRI / INRIA

http://www.labri.fr/~marlet

màj 21/03/2006

Page 2: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 2

Qu'est-ce que le génie logiciel ?Qu'est-ce que le génie logiciel ?

?

Page 3: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3

IngénieriesIngénieries

● Les « génies » traditionnels :– civil, militaire, maritime, mécanique, chimique– production, fabrication, construction

● Ingénierie :– science de l'ingénieur / art– théories, méthodes, techniques, outils

● Génie Logiciel (GL) :– software engineering

Page 4: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 4

Le génie logiciel, c'est...Le génie logiciel, c'est...

l'art

de bien faire

de bons programmes

techniquecréativité

réussite

rentabilité

performancefiabilité

...

...

...

esthétique

Page 5: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 5

Pourquoi c'est importantPourquoi c'est importantpour vous ?pour vous ?

● Dans votre vie professionnelle– participation à des projets incluant de l'informatique– gestion de projets incluant de l'informatique– vos besoins individuels de programmation

● Plus généralement (pas seulement en informatique)

– organisation et planification– structuration et contrôle

Page 6: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 6

L'importance du logicielL'importance du logiciel

Informatique en France (2003) :– Édition logicielle

● 11 milliards d'euros de chiffre d'affaire● 33.000 salariés (80% cadres)

– Services informatiques● 56 milliards d'euros de chiffre d'affaire● 485.000 emplois● 3,7% du PIB

– Technologies de l'information ● ¼ de la croissance (1987-1998)

Page 7: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 7

Dans cette salle...Dans cette salle...

● Combien de microprocesseurs ?

● Combien de programmes ?

Page 8: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 8

Nombre de CPU / de programmes Nombre de CPU / de programmes dans cette salledans cette salle

● PC : Linux ~ 5000 programmes● Vidéo-projecteur● Téléphones mobiles : OS, MIDlet, ...● Baladeurs : MP3, CD, ...● Cartes à puce : CB/Visa, Vitale, transport, ...● PDA● Clés USB● Montres digitales● Calculatrices, ...

Page 9: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 9

L'importance du logicielL'importance du logiciel

● Informatisation généralisée– ordinateurs / microprocesseurs– omniprésents, omnipotents...

● Économie des pays développés– facteur de croissance

– instrument de pouvoir ()

☛ Maîtrise de la production de logiciels

Page 10: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 10

La réussite des projets La réussite des projets informatiquesinformatiques

Les projets informatiques ont la réputation d'être des gouffres financiers

Qu'en est-il vraiment ?

Page 11: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 11

Comment juger de la réussiteComment juger de la réussited'un projet informatique ?d'un projet informatique ?

Succès :– ...

Mitigé :– ...

Échec :– ...

Page 12: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 12

Jugement de la réussite des Jugement de la réussite des projets informatiquesprojets informatiques

Succès– livré à temps, à l'intérieur des budgets et des

spécifications originales

Mitigé– livré et opérationnel mais à moins de fonctions que

prévu et dépassent le budget et/ou les échéanciers

Échec– abandonné en cours de route, ou résultat livré mais

jamais utilisé

(étude Standish Group)

Page 13: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 13

La réussite des projets La réussite des projets informatiquesinformatiques

Selon vous, quelle est la proportion des projets informatiques qui sont des réussites ou des échecs ?

– succès : ... %– mitigé : ... %– échec : ... %

Page 14: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 14

La réussite des projets La réussite des projets informatiquesinformatiques

Taux de succès en hausse depuis 10 ans

Année Succès Mitigé Échec

1995 16% 53% 31%

2000 28% 49% 23%

2004 29% 53% 18%

(étude Standish Group)

Page 15: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 15

L'objectif de ce coursL'objectif de ce cours(ou en tout cas ce qu'on peut en dire/faire en 24h...)(ou en tout cas ce qu'on peut en dire/faire en 24h...)

● Transmettre de bonnes recettes– méthodologies– trucs à savoir, choses à ne pas faire– outils pour produire, pour comprendre

● Susciter/développer certains sens/goûts– structuration, organisation– planification, anticipation

● Vous faire réfléchir (☺)

Page 16: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 16

Le génie logiciel, c'est...Le génie logiciel, c'est...

l'art

de bien faire

de bons programmes

Page 17: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 17

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

?

Page 18: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 18

Tout d'abordTout d'abordQui a affaire avec un programme ?Qui a affaire avec un programme ?

?

Page 19: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 19

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 20: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 20

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 21: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 21

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme programme pour l'pour l'utilisateurutilisateur ? ?

?

Page 22: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 22

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Un programme qui fonctionne...

Étude du gouvernement américain

2% - Fonc-tionnent à la livraison

3% - Fonc-tionnent après modifications

20% - Utilisés après modifica-tions majeures

45% - Jamais uti-lisés

30% - Payés mais jamais livrés

Page 23: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 23

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Adéquation / satisfaction des besoins :– cahier des charges (si commande spécifique)– besoins actuels du marché (hors commande)– capacité d'évolution

(« besoins » des utilisateurs au sens large)

☛ Les besoins, ça se crée ()

Page 24: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 24

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Qualité des résultats produits :– précision– optimalité– pertinence– présentation

Ex. :– météo, compilateur, optimiseur (logistique...), ...

Page 25: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 25

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Facilité d'installation / utilisation / mise à jour : – intuitif / convivial / ergonomique– standard de présentation, d'interaction– qualité de la documentation

● documents papier, aide en ligne, messages d'erreur

Page 26: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 26

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Vitesse :– seuil d'utilisabilité– garantie de temps réel

☛ Acceptabilité de confort : carte à puce (< 1s)

☛ Applications critiques : avion, train, ...

Page 27: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 27

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Consommation raisonnée des ressources :– temps CPU– threads, processus– espace mémoire (programme/données, RAM/disque)– charge du réseau– périphériques, ports– ...

Page 28: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 28

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Fiabilité, sûreté, résistance aux pannes :– pas de plantage– si erreur, rattrapage / poursuite de l'exécution– si plantage, rattrapage des données– si plantage local, pas d'arrêt global (réseau)

☛ Risques humains :– avion, centrale nucléaire, ...

Page 29: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 29

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Robustesse, passage à l'échelle :– capacité à traiter de grandes quantités– résistance aux cas limites (pics de comportement)

Ex. :– central téléphonique, serveur web, ...

Page 30: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 30

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Sécurité :– intégrité– confidentialité, authentification– déni de service

☛ Risques économiques, sociaux :– transactions boursières, central téléphonique, virus,

données privées...

Page 31: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 31

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Interopérabilité– Programme :

● disponibilité/compatibilité sur divers environnements, OS, ...

– Données :● standards, formats d'échange

– Programme + données :● protocoles

Page 32: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 32

Un Un bonbon programme programmepour l'pour l'utilisateurutilisateur

Et aussi :– Pas cher– Bon rapport qualité / prix– Réactivité du service de maintenance– Existence de livres, de formations, ...– ...

Page 33: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 33

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 34: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 34

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme programme pour le pour le programmeurprogrammeur ? ?

?

Page 35: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 35

Un Un bonbon programme programmepour le pour le programmeurprogrammeur

Qualités intrinsèques (hors de tout contexte) :– facile à comprendre

– structuration, commentaires, documentation, ...

– facile à vérifier / valider– hypothèses explicites, autotest, accès interne en debug, ...

– facile à modifier– corrections, extensions, ...

– facile à réutiliser– généricité, encapsulation, ...

– facile à porter– structuration en couches, ...

Page 36: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 36

Un Un bonbon programme programmepour le pour le programmeurprogrammeur

Implémentation :– bonne conception– bonne architecture– bon codage– bien testé / vérifié

Page 37: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 37

Un Un bonbon programme programmepour le pour le programmeurprogrammeur

Informations :– de bons commentaires– une bonne documentation de développement– une bonne traçabilité

Page 38: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 38

Un Un bonbon programme programmepour le pour le programmeurprogrammeur

Environnement de programmation / exécution :– une bonne gestion de la compilation– un bon environnement de debug– une bonne gestion de l'exécution des tests– une bonne gestion de l'historique :

● documentation et archivage du code, des bugs, ...

– une bonne gestion du travail coopératif

Page 39: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 39

Un Un bonbon programme programmepour le pour le programmeurprogrammeur

Un bon programme est souvent aussi...

...un programme bien fait

☛ Voir plus loin « bien faire un programme »

Page 40: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 40

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 41: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 41

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme programme pour le fournisseur / l'éditeur ?pour le fournisseur / l'éditeur ?

?

Page 42: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 42

Un Un bonbon programme programmepour le fournisseurpour le fournisseur

● Coût réduit (→)

– développement + maintenance● Délai tenu

– contrat– marché : arriver le premier, « fenêtre » à ne pas rater

● Production avec des risques maîtrisés● Qualité conforme aux exigences● ... succès de vente

Page 43: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 43

Dépassement des coûts et délaisDépassement des coûts et délais

● IBM, 24 projets d'envergure en TI (1992) :– 55% des systèmes coûtent plus que prévu– 68% dépassent les délais prévus– 88% ont été considérablement redesignés

● Standish Group, 8000 projets en TI (1994) :– Seulement 10% des projets sont livres selon le

budget et l'echeancier initial

Page 44: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 44

Un Un bonbon programme programmepour le fournisseurpour le fournisseur

● Coût réduit (←)

– développement + maintenance (→)

● Délai tenu– contrat– marché : arriver le premier, « fenêtre » à ne pas rater

● Production avec des risques maîtrisés● Qualité conforme aux exigences● ... succès de vente

Page 45: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 45

Vie du logicielVie du logiciel

Temps

Coûts

Revenus

développement maintenance

1ère livraison

amortissement gain

équilibre

fin de vie

(d'après J. Printz)

Page 46: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 46

Un Un bonbon programme programmepour le fournisseurpour le fournisseur

● Coût réduit– développement + maintenance (←)

● Délai tenu (→)

– contrat– marché : arriver le premier, « fenêtre » à ne pas rater

● Production avec des risques maîtrisés● Qualité conforme aux exigences● ... succès de vente

Page 47: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 47

Dépassement des délaisDépassement des délais

90% des projets de haute technologie réalisés aux États-Unis ne sont pas complétés dans les délais (et selon le budget prévu)

Étude du Standish Group (1995)

10% - Complété selon le budget prévu

30% - Dépasse le temps prévu jusqu'à x 2

20% - Dépasse le temps prévu de x 2 à x 3

10% - Dépasse le temps prévu de plus de x 3

30% - Jamais terminé

Page 48: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 48

Un Un bonbon programme programmepour le fournisseurpour le fournisseur

● Coût réduit– développement + maintenance

● Délai tenu (←)

– contrat– marché : arriver le premier, « fenêtre » à ne pas rater

● Production avec des risques maîtrisés (→)

● Qualité conforme aux exigences● ... succès de vente

Page 49: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 49

Dépassement des délais et des coûts :Dépassement des délais et des coûts :Nouvel aéroport international de DenverNouvel aéroport international de Denver

Devait être une merveille d'ingénierie moderne– 140 km2 (4 ou 5ème plus grand au monde —

aujourd'hui encore le 10ème)– convoyeur de bagages sous-terrain « intelligent »,

193 millions de $– 33 km de rails, 4000 trajets, 5000 capteurs optiques,

400 récepteurs radio, 100 ordinateurs en réseau, 56 lecteurs de code barre, etc.

(Scientifc American, 1994)

Page 50: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 50

Dépassement des délais et des coûts :Dépassement des délais et des coûts :Nouvel aéroport international de DenverNouvel aéroport international de Denver

● Objectif : aéroport opérationnel pour 29/10/1993● En juin 1994, système de convoyage en retard :

– pertes = 1,1 million de $ par jour– responsables incapables de prévoir quand le système serait

suffisamment stable pour que l'aéroport ouvre● Ouverture de l'aéroport : 28/02/1995

– 16 mois de retard– 5,2 milliards de $ au lieu de 2 milliards

● Fini : septembre 1995– convoyage des bagages encore en grande partie manuel

● Système abandonné en 2005– jamais utilisé pour avions arrivants– 1 million de $ de maintenance par mois

(Scientifc American, 1994)

Page 51: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 51

Un Un bonbon programme programmepour le fournisseurpour le fournisseur

● Coût réduit– développement + maintenance

● Délai tenu– contrat– marché : arriver le premier, « fenêtre » à ne pas rater

● Production avec des risques maîtrisés (←)

● Qualité conforme aux exigences● ... succès de vente

Page 52: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 52

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 53: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 53

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme programme pour la pour la hotlinehotline ? ?

?

Page 54: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 54

Un Un bonbon programme programmepour la pour la hotlinehotline

Facilité de diagnostic :– reproductibilité du problème– identification du problème– administration à distance

Page 55: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 55

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme ? programme ?

Différents points de vue :– l'utilisateur (ce que ça fait)– le programmeur (comment ça le fait)– le fournisseur (combien ça coûte)– la hotline (pourquoi ça ne le fait pas/plus)– le juriste (à qui est l'idée pour le faire)

Page 56: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 56

Qu'est-ce qu'un Qu'est-ce qu'un bonbon programme programme pour le pour le juristejuriste ? ?

?

Page 57: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 57

Un Un bonbon programme programmepour le pour le juristejuriste

Questions de propriété intellectuelle :– Utiliser des brevets détenus par la société

● reproduction / contournement difficile par concurrents● argument commercial : prestige, prix, ...

☛ ☛ Attention, effet néfaste possible sur l'innovation ! Attention, effet néfaste possible sur l'innovation !

– Utiliser des idées publiques– Éviter d'utiliser les idées des autres

● brevets, droits d'auteurs (données)● look and feel, noms, marques, ...

– Sauf si l'on peut prouver une antécédence● mais... (→)

Page 58: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 58

Un Un bonbon programme programmepour le pour le juristejuriste

Mais un brevet n'est pas une garantie !– La protection est théorique– En cas de procès

● Le gagnant est souvent celui qui a les meilleurs avocats !● Les grosses sociétés pèsent plus que les petites

– Valeur juridique pratique ≈ preuve d'antécédence

– Les bureaux d'enregistrement vérifient peu l'originalité

☛ ☛ Attention! Attention! Il reste toujours un risque ((☹☹))une grosse société peut en étouffer une petiteune grosse société peut en étouffer une petite

Page 59: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 59

Un Un bonbon programme programmepour le pour le juristejuriste

● Droits d'exploitation : – Gestion des licences logicielles :

● licences par machine, par site, flottantes, ...

– Contrôle :● numéro d'enregistrement, dongle, ...

● Conditions d'utilisation– Acceptation par l'utilisateur

● Pack physique : « en brisant ce sceau, vous acceptez ... »● Accord électronique : boutons « I accept » / « I refuse »

Page 60: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 60

Un Un bonbon programme programmepour le pour le juristejuriste

● Dispositions légales : – loi informatique et liberté (CNIL)– incitation à la violence, à la haine raciale, ...– interdiction d'accès aux mineurs– ...

● Règles éthiques, déontologie, ...

Page 61: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 61

Un bon Un bon programme pour qui ?programme pour qui ?DDes contraintes souvent antagonistes...es contraintes souvent antagonistes...

– Utilisateur :● besoins, performance, convivialité, fiabilité, sécurité, ...

– Programmeur :● facile à comprendre, vérifier, modifier, porter, réutiliser, ...

– Fournisseur :● marché, délai, coût, risques, ventes

– Hotline :● facilité de diagnostic

– Juriste :● propriété industrielle, dispositions légales

Page 62: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 62

Le génie logiciel, c'est...Le génie logiciel, c'est...

l'art

de bien faire

de bons programmes

Page 63: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 63

Qu'est-ce que Qu'est-ce que bien fairebien faireun programme ?un programme ?

● ...● ...● ...

Page 64: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 64

Qu'est-ce que Qu'est-ce que bien fairebien faireun programme ?un programme ?

– Bonne organisation● découpage en tâches / répartition des rôles● coopération

– Bonnes procédures● pour produire● pour contrôler la production

– Bonnes personnes● compétence, formation, ...

– Bons outils● matériel, logiciel

Page 65: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 65

Réussite des projets informatiques Réussite des projets informatiques (rappel)(rappel)

Mais quels sont les facteurs de succès ?

Année Succès Mitigé Échec

1995 16% 53% 31%

2000 28% 49% 23%

2004 29% 53% 18%

(étude Standish Group)

Page 66: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 66

Facteurs de succès des projets Facteurs de succès des projets informatiques (par ordre d'importance)informatiques (par ordre d'importance)

– engagement de la direction– implication des utilisateurs– expérience du chef de projet– formulation des objectifs d'affaires– envergure limitée aux besoins essentiels– infrastructure technologique normalisée– spécifications précises et stables– utilisation de méthodologies (formelles)– estimations fiables et rigoureuses– autres : découpage des livraisons, compétence du personnel, ...

(étude Standish Group)

Page 67: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 67

Facteurs d'échecFacteurs d'échecdes projets informatiques des projets informatiques

Facteurs d'échec Réponses

1. Manque d'implication de l'utilisateur 12,8%

2. Exigences et spécifications incomplètes 12,3%

3. Changements aux exigences et spécifications 11,8%

4. Manque de soutien de la direction 7,5%

5. Incompétence technologique 7,0%

6. Manque de ressources 6,4%

7. Attentes irréalistes 5,9%

8. Objectifs mal définis 5,3%

9. Calendrier irréaliste 4.3%

10. Nouvelle technologie 3,7%

Autres 23,0%

(étude Standish Group)

Page 68: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 68

Des souhaits et des réalisations...Des souhaits et des réalisations...

ce que la direction demande

ce que demande le chef de

projet

ce qui est conçu

ce qui est programmé

ce qui est installé ce que

l'utilisateur souhaitait

Page 69: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 69

À retenir...À retenir...

● Le génie logiciel, c'est– l'art de bien faire de bons programmes

● Un programme n'est pas « bon » dans l'absolu,– ça dépend pour qui

● On se trompe presque toujours (coût, délai, contenu, ...)

☛ essayer de « se tromper le moins possible »

Page 70: Génie Logiciel - IMAGINEimagine.enpc.fr/~marletr/LaBRI/teaching/GenLog/slides/GenLogIntro.pdf · Génie logiciel – Introduction © 2005-2007 Renaud Marlet 3 Ingénieries Les «

Génie logiciel – Introduction © 2005-2007 Renaud Marlet 70

À suivreÀ suivre

Vision d'ensemble :– cycle de vie du logiciel