Cours Génie Logiciel 1 - Chapitre 1: Introduction au Génie Logiciel

1/45
100%

<!-- Slide number: 1 -->

Cours Génie Logiciel 1Chapitre 1: Introduction au génie Logiciel

![C:\Users\user\Desktop\IsetBizerte.jpg](Picture2.jpg)

Parcours: DSI2Année Universitaire: 2014/2015

Notes:

<!-- Slide number: 2 -->

Objectifs du cours GL

Savoir :

Le rôle du GL dans le quotidien

Le processus de développement logiciel

Le génie logiciel

L’impact de la qualité logiciel

Familiarisation avec le module

S’initier avec le jargon GL

Il n’y a pas de prérequis.

Notes:

<!-- Slide number: 3 -->

Sommaire

Section 1: le logiciel

Section 2: le développement logiciel

Section 3: la crise du logiciel

Section 4: le Génie Logiciel

Notes:

<!-- Slide number: 4 -->

Section 1: Le Logiciel

1.1. Où se trouve le logiciel ?

![C:\Users\User\Desktop\charter-avion-1024x682.jpg](Picture4.jpg)

![C:\Users\User\Desktop\Dans-les-coulisses-de-l-autoroute-A-10_reference.jpg](Picture6.jpg)

![C:\Users\User\Desktop\Capture-d’écran-2012-11-03-à-15.37.16-300x155.png](Picture2.jpg)

![C:\Users\User\Desktop\inserm_44770.jpg](Picture5.jpg)

![C:\Users\User\Desktop\Android_L_design_interface.png](Picture3.jpg)

4

Notes:

<!-- Slide number: 5 -->

Section 1: Le Logiciel

Le logiciel est omniprésent.

Bureautique, voyage, surveillance, loisirs, médecine,

administration, agriculture, esthétique….

Par conséquent, notre vie dépend étroitement par le

logiciel.

Question : Quel impact porte le logiciel sur notre vie quotidienne?

5

Notes:

<!-- Slide number: 6 -->

Section 1: Le Logiciel

1.2. Impacts Positifs du logiciel

Le logiciel a amélioré le quotidien de plusieurs manières:

Accélérer les traitements même les plus compliqués et les plus lourds.

Le logiciel ne se lasse pas.

Grande capacité de stockage et de calcul.

Faciliter les échanges et la communication.

![C:\Documents and Settings\khaoula\Bureau\positif.jpg](Picture2.jpg)

6

Notes:

<!-- Slide number: 7 -->

Section 1: Le Logiciel

1.3. Impacts négatifs du logiciel

Plusieurs désastres ont été causé par des erreurs dans le logiciel.

Le bug du Mariner-1 en 1962 : Une fusée spatiale a dérouté de sa trajectoire à cause d’une formule mathématique qui a été mal transcrite en code source.

1991, pendant la guerre du golfe : Un missile américain tue 22 soldats américains au lieu d’intercepter un missile ennemi. Cause : une erreur de fonction d’arrondi.

2000 Panama, machine médicale traitement de cancer . Le logiciel a permis de dessiner cinq zones protégées alors que la machine ne tolérait que quatre. Résultat : des tissus sains ont été irradiés et huit personnes au moins décédées,

7

Notes:

<!-- Slide number: 8 -->

Section 1: Le Logiciel

Du double dosage pour Multidata Systems: Multidata System International a conçu un logiciel destiné à calculer la quantité de radiation que des patients doivent recevoir. Toutefois, ce logiciel avait certaines limitations et les médecins ont tenté de contourner le problème en jouant quelque peu avec les données. Le logiciel a commencé à doubler la quantité de radiation aux patients. Dédommager les victimes a coûté très cher.

Logiciel comptable défaillant: l'Agence de traitement des pensions alimentaires d'Angleterre a demandé de créer un système de gestion, mais la firme présenta un produit horriblement complexe et truffé d'erreurs d'incompatibilité. Une perte d'un milliard de dollars.

![C:\Users\User\Desktop\site-web-erreurs-a-eviter.jpg](Picture2.jpg)

8

Notes:

<!-- Slide number: 9 -->

Section 1: Le Logiciel

1.3. Le logiciel = ?

Un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un outil informatique.

Un logiciel est un « transformateur » d’information

Un logiciel est un produit qui a :

  • Une forme exécutable: séquence d'instructions exécutables par une machine
  • Une forme non exécutable: documentation (développement, installation, utilisation et maintenance), Des données.

9

Notes:

<!-- Slide number: 10 -->

Section 1: Le Logiciel

Le logiciel = ?

![C:\Documents and Settings\khaoula\Bureau\logiciel_imagestock.jpg](Picture6.jpg)

![C:\Documents and Settings\khaoula\Bureau\execut.png](Picture5.jpg)

![C:\Documents and Settings\khaoula\Bureau\software.PNG](Picture2.jpg)

Exécutable

![C:\Documents and Settings\khaoula\Bureau\18395.png](Picture3.jpg)

![C:\Documents and Settings\khaoula\Bureau\document.png](Picture7.jpg)

Documentation

10

Notes:

<!-- Slide number: 11 -->

Section 1: Le Logiciel

1.4. classification de logiciels

Deux grandes catégories :

Logiciel générique : systèmes autonomes vendus

au grand public. logiciels système/de base

Logiciel sur mesure : systèmes autonomes développés

pour les besoins d’un client Applications

11

Notes:

<!-- Slide number: 12 -->

Section 1: Le Logiciel

![](Picture2.jpg)

12

Notes:

<!-- Slide number: 13 -->

Publicité

Section 1: Le Logiciel

Exemple de classification

Logiciels systèmes

Logiciels temps réels

Logiciels de gestion

Logiciels scientifiques et logiciels d’ingénierie

Logiciels embarqués (aéronautique, train, auto…)

Logiciels pour ordinateur personnel

Logiciels d’intelligence artificielle

Logiciels d’applications Web

13

Notes:

<!-- Slide number: 14 -->

Section 1: Le Logiciel

1.5. Classification des projets logiciels

projet trivial:

1 programmeur, 1 à 4 semaines, moins de 500 lignes

petit projet:

1 programmeur, 1 à 6 mois, l'000 à 2'000 lignes

projet moyen:

2 à 5 programmeurs, 1 à 2 ans, 5'000 à 50'000 lignes

grand projet:

5 à 20 programmeurs,e 2 à 3 ans, 50'000 à 100'000 lignes

très grand projet:

100 à 1'000 programmeurs, 4 à 5 ans, environ un million de lignes

extrêmement grand projet:

projet impliquant 2'000 à 5'000 programmeurs, 5 à 10 ans, 1 à 10

de lignes

14

<!-- Slide number: 15 -->

Section 1: Le Logiciel

  • Différence entre petits et grands logiciels

Logiciels complexes :

plusieurs milliers de lignes de code

plusieurs unités

Développement par plusieurs personnes

de coordination),

(pbs. de communication

et

structure

difficile

Aucune personne ne peut comprendre l'intégralité de la

de

Et

La

conception, et par conséquent la modification

on doit recourir à la documentation

possibilité de repartir à zéro est exclue.

devient

15

<!-- Slide number: 16 -->

Section 1: Le Logiciel

1.6. Spécificité du logiciel

La réalisation d’un objet complexe nécessite des schémas, des plans.

La réalisation d’un logiciel de grande taille ne peut s’envisager sans une spécification de ses caractéristiques.

Un Logiciel : objet impalpable, visibilité très tardive.

Création intellectuelle

Le produit logiciel ne s’use pas mais se détériore.

 Changements réguliers.

Mais modifier un logiciel est un phénomène ni continu ni localisé.

Donc un changement mineur peut avoir des implications énormes.

16

Notes:

<!-- Slide number: 17 -->

Section 1: Le Logiciel

1.7. Qualité du logiciel

Deux types :

‹ Externes : Observables par l’utilisateur

‹ Internes : concerne le développeur du logiciel

Facteurs de qualité d’un bon logiciel:

‹ logiciel conforme

répond aux besoins de l’utilisateur

‹ logiciel fiable

ne doit pas tomber en panne, plus qu’il n’est autorisé

‹ logiciel efficace

pas de gaspillage de ressources

‹ logiciel maintenable

doit pouvoir évoluer pour s’adapter aux besoins changeants des utilisateurs

‹ logiciel utilisable

interface conviviale + une bonne documentation

17

<!-- Slide number: 18 -->

Section 1: Le Logiciel

L’importance de ces facteurs de qualité variera selon la nature du

projet de développement.

Il est difficile d’optimiser tous ces facteurs car ils s’excluent mutuellement.

Les Facteurs

sont

sujets

à

la

loi

de

la

diminution

des

gains

(compromis)

18

<!-- Slide number: 19 -->

Section 2: Le Développement Logiciel

Le développement d’un logiciel est la transformation d’un besoin exprimée d’une manière explicite en un logiciel fonctionnel.

L’idée est produite par un client (utilisateur) et développée par un fournisseur.

Idée = besoin

Transformation

=

Publicité

Développement

Exploitation

=

Mise en fonction

![](Picture2.jpg)

![](Picture3.jpg)

fournisseur

Client

19

Notes:

<!-- Slide number: 20 -->

Section 2: Le Développement Logiciel

D’un point de vue client

Peu couteux

Livré dans les délais

Un bon logiciel

De qualité

Fais exactement ce qui souhaité

20

Notes:

<!-- Slide number: 21 -->

Section 2: Le Développement Logiciel

D’un point de vue fournisseur

Minimise le coût

Minimise les délais

Un bon logiciel

Répond aux objectifs fixés

Maximise les profits

21

Notes:

<!-- Slide number: 22 -->

Section 2: Le Développement Logiciel

Que faut il pour développer?

![C:\Documents and Settings\khaoula\Bureau\travail-equipe.jpg](Picture2.jpg)

Une équipe de développement:

L’équipe n’est pas uniquement composée de programmeurs mais d’autres acteurs : chefs de projets, testeurs, fonctionnels,…

Des outils relatifs au développement :

compilateurs, environnements de tests, éditeurs,…

La communication est essentielle dans un projet de développement.

![C:\Documents and Settings\khaoula\Bureau\outils-e-marketing-ventes.jpg](Picture3.jpg)

![C:\Documents and Settings\khaoula\Bureau\comm7.jpg](Picture5.jpg)

22

Notes:

<!-- Slide number: 23 -->

Section 2: Le Développement Logiciel

Industrialisation

des

développements

logiciels

Développements de +

en

+

ambitieux

Pression des délais

Qualité …

Délocalisation

23

<!-- Slide number: 24 -->

Section 2: Le Développement Logiciel

![](Picture4.jpg)

La communication

24

Notes:

<!-- Slide number: 25 -->

Section 3: La Crise du Logiciel

3.1. Les Symptômes

Inadéquation

Logiciels réalisés # besoins utilisateurs

Délais

Logiciels souvent livrés en retard

Coûts

Dépassement du budget prévu

Fiabilité

Logiciels souvent en panne

Maintenance

Complexe et coûteuse

![C:\Documents and Settings\khaoula\Bureau\taux.jpg](Picture2.jpg)

25

<!-- Slide number: 26 -->

Section 3: La Crise du Logiciel

Inadéquation

1979: USA, Government Accounting Office,

certain nombre de projets

enquête

sur

un

„ [47%] délivré, jamais utilisé

„ [29%] payé, non fourni

„ [19%] utilisé puis modifié ou abandonné

„ [3%] utilisé après quelques retouches

„ [2%] utilisé tel quel

Cours GL-2006 © / YJ & IBH

26

<!-- Slide number: 27 -->

Section 3: La Crise du Logiciel

Inadéquation

Il faudra des traitements automatiques !

Réalisateur

Client

nous vous fournirons des

traitements auto - matiques

MAIS NON ! je veux des

traitements au-to-ma-tiques !!!

AH ! Bon ...

Je croyais que vous vouliez des traitements automatiques

Publicité

27

<!-- Slide number: 28 -->

Section 3: La Crise du Logiciel

Inadéquation

28

<!-- Slide number: 29 -->

Section 3: La Crise du Logiciel

Délai & Coût

Enquête dans les années 70 sur 100 programmes:

‹ délais dépassés de 52%

‹ budgets logiciels dépassés de 72%

‹ budgets matériels dépassés de 15%

Exemple de projets

L'OS-360 d'IBM fut livré en retard, nécessitait

plus de mémoire

que prévu, son coût dépassait les estimations et il comportait

nombreuses erreurs (années 60 - Fred Brooks)

de

Le développement d'un compilateur PL1 chez Control

aboutit (années 70)

Data n'a

jamais

29

<!-- Slide number: 30 -->

Section 3: La Crise du Logiciel

Délai & Coût

1+1=3

30

<!-- Slide number: 31 -->

Section 3: La Crise du Logiciel

Fiabilité

Enquête dans les années 70 sur 100 programmes:

‹ qualité insuffisante: 30 à 85 erreurs par k instructions

Exemples de projets non fiables

‹ Sonde Mariner I vers Vénus perdue suite à une erreur d'un programme

Fortran (62)

‹ Expérience météorologique en France: 72 ballons contenant des

instruments de mesures furent détruits suite à une erreur de

programmation (71)

‹ Un défaut logiciel retarde le lancement de la navette spatiale américaine

(1981)

‹ Un changement de version logiciel des centraux téléphoniques ATT

empêche les appels longue distance (90)

31

<!-- Slide number: 32 -->

Section 3: La Crise du Logiciel

Maintenabilité

maint. : 40%

-

75% du budget

global

Coût

Coût

de la

d’une

modification

!

60-100 x

1.5-6 x

1 x

définition

développement

Après installation

32

<!-- Slide number: 33 -->

Section 3: La Crise du Logiciel

3.2. Constations: Comparaison entre génie civil et informatique

![C:\Users\user\Desktop\pont.jpg](Picture2.jpg)

„ Le pont de Verrazano Narrow Bridge à New York (1959)

‹ prix estimé à 325 millions de $ pour 1965.

‹ terminé en novembre 1964 et le budget ne fut pas dépassé;

„ le projet OS/360 d'IBM a eu des années de retard.

Pourquoi

la prévision pour la construction d'un pont est-elle

exacte,

alors qu'il y a de tels problèmes avec le logiciel ?

un ingénieur en génie civil voit plus facilement le surplus de

complexité lié à la réalisation d'un énorme pont, qu'un informaticien

ne voit la complexité d'un énorme programme.

33

<!-- Slide number: 34 -->

Section 3: La Crise du Logiciel

3.3. Les causes de la crise

1) Science, technologie trop jeune

2) Complexité inhérente

Trop de liens de communications

Trop interrelations entre modules

Trop importants pour être appréhendés par une seule personne.

Trop de modification

Extrapolations difficiles

34

<!-- Slide number: 35 -->

Section 4: Le génie Logiciel

![](Picture2.jpg)

Le génie logiciel est née en Europe à

Garmish-Partenkirchen (Allemagne )

Conférence en 1968 sous le patronage de l’OTAN.

46 ans déjà, seulement !

Pour répondre à un certain nombre de problèmes dans le développement de logiciels.

35

Notes:

<!-- Slide number: 36 -->

De quoi est composé le GL ?

Section 4: Le génie Logiciel

Le terme génie logiciel (en anglais software engineering) désigne l'ensemble des méthodes, des techniques et outils concourant à la production d'un logiciel, au-delà de la seule activité de programmation. Wikipédia

![](Picture2.jpg)

36

Publicité

Notes:

<!-- Slide number: 37 -->

Section 4: Le génie Logiciel

4.1. Qu’est ce que le génie logiciel ?

Est une activité qui implique la solution des problèmes.

Est une activité qui implique l’acquisition des connaissances.

Est une activité pilotée par des motivations et des raisons.

Est une activité qui applique les principes de l’ingénierie.

![C:\Documents and Settings\khaoula\Bureau\GL\GL.jpg](Picture2.jpg)

Introduction

23

37

<!-- Slide number: 38 -->

Section 4: Le génie Logiciel

Définitions Génie Logiciel (GL)

Le génie logiciel ? Boehm (1979)

C’est l’application pratique de connaissance scientifiques dans la conception et la construction de programmes ainsi que la documentation associée, requise pour le développement, l’exploitation et la maintenance.

Le génie logiciel ? AFCIQ (Arrêté ministériel du 30-déc-83)

Ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationnaliser la production du logiciel et son suivi.

38

<!-- Slide number: 39 -->

Section 4: Le génie Logiciel

4.2. Rôle et objectifs du GL

Le génie logiciel est l’application des principes de l’ingénierie au développement des logiciels.

C’est l’établissement et l’application des approches méthodiques et quantifiables au développement et à la maintenance es logiciels dans le but d’obtenir des systèmes logiciels économiques, fiables et efficaces dans un contexte de fonctionnement pratique.

Qualité

Coût

délai

39

<!-- Slide number: 40 -->

Section 4: Le génie Logiciel

Le génie Logiciel

Améliorer la

PRODUCTIVITE

Améliorer la

QUALITE

DEVELOPPER ET MAINTENIR

BESOINS

LOGICIEL

Outils

Normes

Méthodes

Techniques

Principes, règles

40

<!-- Slide number: 41 -->

Section 4: Le génie Logiciel

Le génie Logiciel

Principe = loi générale régissant un ensemble de phénomènes et vérifiée par l’exactitude de ses conséquences.

Règle = prescription qui s’impose à qcq dans un cas donné.

Technique = qui a trait à la pratique, au savoir-faire dans une activité

Méthode = ensemble ordonné de manière logique permettant de parvenir à un résultat

Norme = règle fixant le type d’un objet fabriqué, les conditions technique de fabrication

Outils

supportent

Méthodologie

Regroupent et appliquent

Méthodes et techniques

Sont basées sur

Relation entre principes, techniques, Méthodes, Méthodologie et outils.

Principes

41

<!-- Slide number: 42 -->

Section 4: Le génie Logiciel

Normes

AFNOR=Association Française de Normalisation

AFCIQ = Association Française d’Assurance Qualité

ANSI = American National Standard Institute

ISO = International Standard Organisation

42

<!-- Slide number: 43 -->

Section 4: Le génie Logiciel

4.3. Les acteurs du génie logiciel

Eléments clef: la communication

Une personne peut assumer plusieurs

rôles.

Plusieurs personnes peuvent assumer un

même rôle.

besoins

Responsable

développement

besoins

logiciel

Ingénieur

informaticien

client

utilisateur

43

<!-- Slide number: 44 -->

Section 4: Le génie Logiciel

Des équipes de développement diversifiées

Développeur

Architecte

Solution

Architecte

d’Infrastructure

Testeur

Chef de Project

Utilisateur

44

<!-- Slide number: 45 -->

![C:\Documents and Settings\khaoula\Bureau\merci.jpg](Picture2.jpg)

Merci…

Cours Génie Logiciel 1 - Chapitre 1: Introduction au Génie Logiciel

Software Engineering · notes

Voir tous les documents en génie logiciel

<!-- Slide number: 1 -->

Cours Génie Logiciel 1Chapitre 1: Introduction au génie Logiciel

![C:\Users\user\Desktop\IsetBizerte.jpg](Picture2.jpg)

Parcours: DSI2Année Universitaire: 2014/2015

Notes:

<!-- Slide number: 2 -->

Objectifs du cours GL

Savoir :

Le rôle du GL dans le quotidien

Le processus de développement logiciel

Le génie logiciel

L’impact de la qualité logiciel

Familiarisation avec le module

S’initier avec le jargon GL

Il n’y a pas de prérequis.

Notes:

<!-- Slide number: 3 -->

Sommaire

Section 1: le logiciel

Section 2: le développement logiciel

Section 3: la crise du logiciel

Section 4: le Génie Logiciel

Notes:

<!-- Slide number: 4 -->

Section 1: Le Logiciel

1.1. Où se trouve le logiciel ?

![C:\Users\User\Desktop\charter-avion-1024x682.jpg](Picture4.jpg)

![C:\Users\User\Desktop\Dans-les-coulisses-de-l-autoroute-A-10_reference.jpg](Picture6.jpg)

![C:\Users\User\Desktop\Capture-d’écran-2012-11-03-à-15.37.16-300x155.png](Picture2.jpg)

![C:\Users\User\Desktop\inserm_44770.jpg](Picture5.jpg)

![C:\Users\User\Desktop\Android_L_design_interface.png](Picture3.jpg)

4

Notes:

<!-- Slide number: 5 -->

Section 1: Le Logiciel

Le logiciel est omniprésent.

Bureautique, voyage, surveillance, loisirs, médecine,

administration, agriculture, esthétique….

Par conséquent, notre vie dépend étroitement par le

logiciel.

Question : Quel impact porte le logiciel sur notre vie quotidienne?

5

Notes:

<!-- Slide number: 6 -->

Section 1: Le Logiciel

1.2. Impacts Positifs du logiciel

Le logiciel a amélioré le quotidien de plusieurs manières:

Accélérer les traitements même les plus compliqués et les plus lourds.

Le logiciel ne se lasse pas.

Grande capacité de stockage et de calcul.

Faciliter les échanges et la communication.

![C:\Documents and Settings\khaoula\Bureau\positif.jpg](Picture2.jpg)

6

Notes:

<!-- Slide number: 7 -->

Section 1: Le Logiciel

1.3. Impacts négatifs du logiciel

Plusieurs désastres ont été causé par des erreurs dans le logiciel.

Le bug du Mariner-1 en 1962 : Une fusée spatiale a dérouté de sa trajectoire à cause d’une formule mathématique qui a été mal transcrite en code source.

1991, pendant la guerre du golfe : Un missile américain tue 22 soldats américains au lieu d’intercepter un missile ennemi. Cause : une erreur de fonction d’arrondi.

2000 Panama, machine médicale traitement de cancer . Le logiciel a permis de dessiner cinq zones protégées alors que la machine ne tolérait que quatre. Résultat : des tissus sains ont été irradiés et huit personnes au moins décédées,

7

Notes:

<!-- Slide number: 8 -->

Section 1: Le Logiciel

Du double dosage pour Multidata Systems: Multidata System International a conçu un logiciel destiné à calculer la quantité de radiation que des patients doivent recevoir. Toutefois, ce logiciel avait certaines limitations et les médecins ont tenté de contourner le problème en jouant quelque peu avec les données. Le logiciel a commencé à doubler la quantité de radiation aux patients. Dédommager les victimes a coûté très cher.

Logiciel comptable défaillant: l'Agence de traitement des pensions alimentaires d'Angleterre a demandé de créer un système de gestion, mais la firme présenta un produit horriblement complexe et truffé d'erreurs d'incompatibilité. Une perte d'un milliard de dollars.

![C:\Users\User\Desktop\site-web-erreurs-a-eviter.jpg](Picture2.jpg)

8

Notes:

<!-- Slide number: 9 -->

Section 1: Le Logiciel

1.3. Le logiciel = ?

Un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un outil informatique.

Un logiciel est un « transformateur » d’information

Un logiciel est un produit qui a :

  • Une forme exécutable: séquence d'instructions exécutables par une machine
  • Une forme non exécutable: documentation (développement, installation, utilisation et maintenance), Des données.

9

Notes:

<!-- Slide number: 10 -->

Section 1: Le Logiciel

Le logiciel = ?

![C:\Documents and Settings\khaoula\Bureau\logiciel_imagestock.jpg](Picture6.jpg)

![C:\Documents and Settings\khaoula\Bureau\execut.png](Picture5.jpg)

![C:\Documents and Settings\khaoula\Bureau\software.PNG](Picture2.jpg)

Exécutable

![C:\Documents and Settings\khaoula\Bureau\18395.png](Picture3.jpg)

![C:\Documents and Settings\khaoula\Bureau\document.png](Picture7.jpg)

Documentation

10

Notes:

<!-- Slide number: 11 -->

Section 1: Le Logiciel

1.4. classification de logiciels

Deux grandes catégories :

Logiciel générique : systèmes autonomes vendus

au grand public. logiciels système/de base

Logiciel sur mesure : systèmes autonomes développés

pour les besoins d’un client Applications

11

Notes:

<!-- Slide number: 12 -->

Section 1: Le Logiciel

![](Picture2.jpg)

12

Notes:

<!-- Slide number: 13 -->

Publicité

Section 1: Le Logiciel

Exemple de classification

Logiciels systèmes

Logiciels temps réels

Logiciels de gestion

Logiciels scientifiques et logiciels d’ingénierie

Logiciels embarqués (aéronautique, train, auto…)

Logiciels pour ordinateur personnel

Logiciels d’intelligence artificielle

Logiciels d’applications Web

13

Notes:

<!-- Slide number: 14 -->

Section 1: Le Logiciel

1.5. Classification des projets logiciels

projet trivial:

1 programmeur, 1 à 4 semaines, moins de 500 lignes

petit projet:

1 programmeur, 1 à 6 mois, l'000 à 2'000 lignes

projet moyen:

2 à 5 programmeurs, 1 à 2 ans, 5'000 à 50'000 lignes

grand projet:

5 à 20 programmeurs,e 2 à 3 ans, 50'000 à 100'000 lignes

très grand projet:

100 à 1'000 programmeurs, 4 à 5 ans, environ un million de lignes

extrêmement grand projet:

projet impliquant 2'000 à 5'000 programmeurs, 5 à 10 ans, 1 à 10

de lignes

14

<!-- Slide number: 15 -->

Section 1: Le Logiciel

  • Différence entre petits et grands logiciels

Logiciels complexes :

plusieurs milliers de lignes de code

plusieurs unités

Développement par plusieurs personnes

de coordination),

(pbs. de communication

et

structure

difficile

Aucune personne ne peut comprendre l'intégralité de la

de

Et

La

conception, et par conséquent la modification

on doit recourir à la documentation

possibilité de repartir à zéro est exclue.

devient

15

<!-- Slide number: 16 -->

Section 1: Le Logiciel

1.6. Spécificité du logiciel

La réalisation d’un objet complexe nécessite des schémas, des plans.

La réalisation d’un logiciel de grande taille ne peut s’envisager sans une spécification de ses caractéristiques.

Un Logiciel : objet impalpable, visibilité très tardive.

Création intellectuelle

Le produit logiciel ne s’use pas mais se détériore.

 Changements réguliers.

Mais modifier un logiciel est un phénomène ni continu ni localisé.

Donc un changement mineur peut avoir des implications énormes.

16

Notes:

<!-- Slide number: 17 -->

Section 1: Le Logiciel

1.7. Qualité du logiciel

Deux types :

‹ Externes : Observables par l’utilisateur

‹ Internes : concerne le développeur du logiciel

Facteurs de qualité d’un bon logiciel:

‹ logiciel conforme

répond aux besoins de l’utilisateur

‹ logiciel fiable

ne doit pas tomber en panne, plus qu’il n’est autorisé

‹ logiciel efficace

pas de gaspillage de ressources

‹ logiciel maintenable

doit pouvoir évoluer pour s’adapter aux besoins changeants des utilisateurs

‹ logiciel utilisable

interface conviviale + une bonne documentation

17

<!-- Slide number: 18 -->

Section 1: Le Logiciel

L’importance de ces facteurs de qualité variera selon la nature du

projet de développement.

Il est difficile d’optimiser tous ces facteurs car ils s’excluent mutuellement.

Les Facteurs

sont

sujets

à

la

loi

de

la

diminution

des

gains

(compromis)

18

<!-- Slide number: 19 -->

Section 2: Le Développement Logiciel

Le développement d’un logiciel est la transformation d’un besoin exprimée d’une manière explicite en un logiciel fonctionnel.

L’idée est produite par un client (utilisateur) et développée par un fournisseur.

Idée = besoin

Transformation

=

Publicité

Développement

Exploitation

=

Mise en fonction

![](Picture2.jpg)

![](Picture3.jpg)

fournisseur

Client

19

Notes:

<!-- Slide number: 20 -->

Section 2: Le Développement Logiciel

D’un point de vue client

Peu couteux

Livré dans les délais

Un bon logiciel

De qualité

Fais exactement ce qui souhaité

20

Notes:

<!-- Slide number: 21 -->

Section 2: Le Développement Logiciel

D’un point de vue fournisseur

Minimise le coût

Minimise les délais

Un bon logiciel

Répond aux objectifs fixés

Maximise les profits

21

Notes:

<!-- Slide number: 22 -->

Section 2: Le Développement Logiciel

Que faut il pour développer?

![C:\Documents and Settings\khaoula\Bureau\travail-equipe.jpg](Picture2.jpg)

Une équipe de développement:

L’équipe n’est pas uniquement composée de programmeurs mais d’autres acteurs : chefs de projets, testeurs, fonctionnels,…

Des outils relatifs au développement :

compilateurs, environnements de tests, éditeurs,…

La communication est essentielle dans un projet de développement.

![C:\Documents and Settings\khaoula\Bureau\outils-e-marketing-ventes.jpg](Picture3.jpg)

![C:\Documents and Settings\khaoula\Bureau\comm7.jpg](Picture5.jpg)

22

Notes:

<!-- Slide number: 23 -->

Section 2: Le Développement Logiciel

Industrialisation

des

développements

logiciels

Développements de +

en

+

ambitieux

Pression des délais

Qualité …

Délocalisation

23

<!-- Slide number: 24 -->

Section 2: Le Développement Logiciel

![](Picture4.jpg)

La communication

24

Notes:

<!-- Slide number: 25 -->

Section 3: La Crise du Logiciel

3.1. Les Symptômes

Inadéquation

Logiciels réalisés # besoins utilisateurs

Délais

Logiciels souvent livrés en retard

Coûts

Dépassement du budget prévu

Fiabilité

Logiciels souvent en panne

Maintenance

Complexe et coûteuse

![C:\Documents and Settings\khaoula\Bureau\taux.jpg](Picture2.jpg)

25

<!-- Slide number: 26 -->

Section 3: La Crise du Logiciel

Inadéquation

1979: USA, Government Accounting Office,

certain nombre de projets

enquête

sur

un

„ [47%] délivré, jamais utilisé

„ [29%] payé, non fourni

„ [19%] utilisé puis modifié ou abandonné

„ [3%] utilisé après quelques retouches

„ [2%] utilisé tel quel

Cours GL-2006 © / YJ & IBH

26

<!-- Slide number: 27 -->

Section 3: La Crise du Logiciel

Inadéquation

Il faudra des traitements automatiques !

Réalisateur

Client

nous vous fournirons des

traitements auto - matiques

MAIS NON ! je veux des

traitements au-to-ma-tiques !!!

AH ! Bon ...

Je croyais que vous vouliez des traitements automatiques

Publicité

27

<!-- Slide number: 28 -->

Section 3: La Crise du Logiciel

Inadéquation

28

<!-- Slide number: 29 -->

Section 3: La Crise du Logiciel

Délai & Coût

Enquête dans les années 70 sur 100 programmes:

‹ délais dépassés de 52%

‹ budgets logiciels dépassés de 72%

‹ budgets matériels dépassés de 15%

Exemple de projets

L'OS-360 d'IBM fut livré en retard, nécessitait

plus de mémoire

que prévu, son coût dépassait les estimations et il comportait

nombreuses erreurs (années 60 - Fred Brooks)

de

Le développement d'un compilateur PL1 chez Control

aboutit (années 70)

Data n'a

jamais

29

<!-- Slide number: 30 -->

Section 3: La Crise du Logiciel

Délai & Coût

1+1=3

30

<!-- Slide number: 31 -->

Section 3: La Crise du Logiciel

Fiabilité

Enquête dans les années 70 sur 100 programmes:

‹ qualité insuffisante: 30 à 85 erreurs par k instructions

Exemples de projets non fiables

‹ Sonde Mariner I vers Vénus perdue suite à une erreur d'un programme

Fortran (62)

‹ Expérience météorologique en France: 72 ballons contenant des

instruments de mesures furent détruits suite à une erreur de

programmation (71)

‹ Un défaut logiciel retarde le lancement de la navette spatiale américaine

(1981)

‹ Un changement de version logiciel des centraux téléphoniques ATT

empêche les appels longue distance (90)

31

<!-- Slide number: 32 -->

Section 3: La Crise du Logiciel

Maintenabilité

maint. : 40%

-

75% du budget

global

Coût

Coût

de la

d’une

modification

!

60-100 x

1.5-6 x

1 x

définition

développement

Après installation

32

<!-- Slide number: 33 -->

Section 3: La Crise du Logiciel

3.2. Constations: Comparaison entre génie civil et informatique

![C:\Users\user\Desktop\pont.jpg](Picture2.jpg)

„ Le pont de Verrazano Narrow Bridge à New York (1959)

‹ prix estimé à 325 millions de $ pour 1965.

‹ terminé en novembre 1964 et le budget ne fut pas dépassé;

„ le projet OS/360 d'IBM a eu des années de retard.

Pourquoi

la prévision pour la construction d'un pont est-elle

exacte,

alors qu'il y a de tels problèmes avec le logiciel ?

un ingénieur en génie civil voit plus facilement le surplus de

complexité lié à la réalisation d'un énorme pont, qu'un informaticien

ne voit la complexité d'un énorme programme.

33

<!-- Slide number: 34 -->

Section 3: La Crise du Logiciel

3.3. Les causes de la crise

1) Science, technologie trop jeune

2) Complexité inhérente

Trop de liens de communications

Trop interrelations entre modules

Trop importants pour être appréhendés par une seule personne.

Trop de modification

Extrapolations difficiles

34

<!-- Slide number: 35 -->

Section 4: Le génie Logiciel

![](Picture2.jpg)

Le génie logiciel est née en Europe à

Garmish-Partenkirchen (Allemagne )

Conférence en 1968 sous le patronage de l’OTAN.

46 ans déjà, seulement !

Pour répondre à un certain nombre de problèmes dans le développement de logiciels.

35

Notes:

<!-- Slide number: 36 -->

De quoi est composé le GL ?

Section 4: Le génie Logiciel

Le terme génie logiciel (en anglais software engineering) désigne l'ensemble des méthodes, des techniques et outils concourant à la production d'un logiciel, au-delà de la seule activité de programmation. Wikipédia

![](Picture2.jpg)

36

Publicité

Notes:

<!-- Slide number: 37 -->

Section 4: Le génie Logiciel

4.1. Qu’est ce que le génie logiciel ?

Est une activité qui implique la solution des problèmes.

Est une activité qui implique l’acquisition des connaissances.

Est une activité pilotée par des motivations et des raisons.

Est une activité qui applique les principes de l’ingénierie.

![C:\Documents and Settings\khaoula\Bureau\GL\GL.jpg](Picture2.jpg)

Introduction

23

37

<!-- Slide number: 38 -->

Section 4: Le génie Logiciel

Définitions Génie Logiciel (GL)

Le génie logiciel ? Boehm (1979)

C’est l’application pratique de connaissance scientifiques dans la conception et la construction de programmes ainsi que la documentation associée, requise pour le développement, l’exploitation et la maintenance.

Le génie logiciel ? AFCIQ (Arrêté ministériel du 30-déc-83)

Ensemble des activités de conception et de mise en œuvre des produits et des procédures tendant à rationnaliser la production du logiciel et son suivi.

38

<!-- Slide number: 39 -->

Section 4: Le génie Logiciel

4.2. Rôle et objectifs du GL

Le génie logiciel est l’application des principes de l’ingénierie au développement des logiciels.

C’est l’établissement et l’application des approches méthodiques et quantifiables au développement et à la maintenance es logiciels dans le but d’obtenir des systèmes logiciels économiques, fiables et efficaces dans un contexte de fonctionnement pratique.

Qualité

Coût

délai

39

<!-- Slide number: 40 -->

Section 4: Le génie Logiciel

Le génie Logiciel

Améliorer la

PRODUCTIVITE

Améliorer la

QUALITE

DEVELOPPER ET MAINTENIR

BESOINS

LOGICIEL

Outils

Normes

Méthodes

Techniques

Principes, règles

40

<!-- Slide number: 41 -->

Section 4: Le génie Logiciel

Le génie Logiciel

Principe = loi générale régissant un ensemble de phénomènes et vérifiée par l’exactitude de ses conséquences.

Règle = prescription qui s’impose à qcq dans un cas donné.

Technique = qui a trait à la pratique, au savoir-faire dans une activité

Méthode = ensemble ordonné de manière logique permettant de parvenir à un résultat

Norme = règle fixant le type d’un objet fabriqué, les conditions technique de fabrication

Outils

supportent

Méthodologie

Regroupent et appliquent

Méthodes et techniques

Sont basées sur

Relation entre principes, techniques, Méthodes, Méthodologie et outils.

Principes

41

<!-- Slide number: 42 -->

Section 4: Le génie Logiciel

Normes

AFNOR=Association Française de Normalisation

AFCIQ = Association Française d’Assurance Qualité

ANSI = American National Standard Institute

ISO = International Standard Organisation

42

<!-- Slide number: 43 -->

Section 4: Le génie Logiciel

4.3. Les acteurs du génie logiciel

Eléments clef: la communication

Une personne peut assumer plusieurs

rôles.

Plusieurs personnes peuvent assumer un

même rôle.

besoins

Responsable

développement

besoins

logiciel

Ingénieur

informaticien

client

utilisateur

43

<!-- Slide number: 44 -->

Section 4: Le génie Logiciel

Des équipes de développement diversifiées

Développeur

Architecte

Solution

Architecte

d’Infrastructure

Testeur

Chef de Project

Utilisateur

44

<!-- Slide number: 45 -->

![C:\Documents and Settings\khaoula\Bureau\merci.jpg](Picture2.jpg)

Merci…