You are on page 1of 31

ATELIER GNIE Logiciel

Pr. A. Zahi
Dpartement Informatique
FSTF

1 Atelier Gnie Logiciel Sance 1


Objectifs du cours

Acqurir les principes du gnie logiciel

Manipuler les outils du gnie logiciel

Connatre le processus qualit

2 Atelier Gnie Logiciel Sance 1


Plan du cours
Introduction au Gnie Logiciel
Cycle de vie dun logiciel
Ateliers du Gnie logiciel
Techniques de spcification
Techniques de Conception
Tests

3 Atelier Gnie Logiciel Sance 1


Introduction
Le logiciel
La crise du logiciel
La solution de la crise

4 Atelier Gnie Logiciel Sance 1


Le logiciel Dfinition

Regroupe les activits sur linformation au


Systme sein dune organisation Gestion,
dinformation Stockage, traitement, transport et
diffusion .

Systme
informatique
Moyens matriels et logiciels destins au
traitement automatique des donnes.

Systme
dinformation
automatis Partie du systme informatique qui incarne
(logiciel) le systme dinformation.

5 Atelier Gnie Logiciel Sance 1


Le logiciel Dfinition

Un logiciel est un produit qui couvre un


ensemble organis de :

Programmes,
Procds processus, rgles, etc.
Documentation,
Services,

6 Atelier Gnie Logiciel Sance 1


Le logiciel Caractristiques
le logiciel est un produit unique et facile reproduire

Leffort est concentr dans le dveloppement


dune seule copie.

le logiciel est un produit intangible immatriel, invisible,


abstrait

- Ne se manifeste qu'au travers du matriel.


- Leffort et le dlai de dveloppement sont
difficile estimer.

le logiciel est un produit mallable

Facile modifier mais difficile de le faire correctement.

7 Atelier Gnie Logiciel Sance 1


Le logiciel Caractristiques
le logiciel est un produit qui ne s'use pas

devient obsolte par rapport aux :

concurrents,
contexte technique architecture, environnement
matriel et logiciel.
besoins extensibilit.
changements factorisation.

les fonctionnalits dun logiciel sont difficiles figer au


dpart et souvent remises en cause.

la plupart des logiciels sont personnaliss.


8 Atelier Gnie Logiciel Sance 1
Le logiciel Catgories

Systme Scientifique
Compilateurs, Simulation
Editeurs, Conception assist par
Systmes dexploitation ordinateur
Calcul numrique intensif
Temps rels (Real-time)
Contrle de machine

Traitement de donnes Bureautique


SGBD (Oracle)
ERP

Embarqu Intelligence artificielle


Systme expert
Aronautique
Web Smantique
Auto-contrle

9 Atelier Gnie Logiciel Sance 1


Le logiciel Historique

1945 1970 2000

1965 1990 2004-


Aujourdhui

Code binaire et en assembleur


Dveloppement bas sur lIntuition

10 Atelier Gnie Logiciel Sance 1


Le logiciel Historique

Prise de conscience de la crise du logiciel


Nouvelle discipline : le gnie logiciel

1945 1970 2000

1965 1990 2004-


Aujourdhui

11 Atelier Gnie Logiciel Sance 1


Le logiciel Historique

1945 1970 2000

1965 1990 2004-


Aujourdhui

Programmation structure
Mthodes de dveloppement

12 Atelier Gnie Logiciel Sance 1


Le logiciel Historique
Approche oriente objets
Rutilisation de logiciels

1945 1970 2000

1965 1990 2004-


Aujourdhui

13 Atelier Gnie Logiciel Sance 1


Le logiciel Historique

1945 1970 2000

1965 1990 2004-


Aujourdhui

Model Driven Architecture


Programmation par composants

14 Atelier Gnie Logiciel Sance 1


Le logiciel Historique

Web
Donnes massives
Traitement parallle

1945 1970 2000

1965 1990 2004-


Aujourdhui

15 Atelier Gnie Logiciel Sance 1


La crise du logiciel Symptmes

utilis aprs modif.


3%

19% utilis, modif.


Abandonn

47% 2% utilis avec succs

pay, non livr

29%
livr, utilis
sans succs

16 Atelier Gnie Logiciel Sance 1


La crise du logiciel Symptmes

la crise se manifeste en termes de :

Dpassement des budgets allous au


dveloppement du logiciel.

Dpassement des dlais de livraison prvues ou le


logiciel nest pas livr.

Non qualit; la qualit du logiciel livrable est


discutable.

17 Atelier Gnie Logiciel Sance 1


La crise du logiciel Symptmes

Exemples dchec de logiciel

Perte de la premire sonde Mariner vers Venus suite une


erreur de programmation dans un programme Fortran.

Abandon du logiciel Socrate cause de la non convivialit de


son interface.

200 millions de dollars pour fabriquer OS-360.

Abandon du projet dinformatisation de la bourse londonienne


aprs 4 ans de travail et plusieurs 100 M de pertes.

Windows 95 qui sortait avec 2 ans de retard.

18 Atelier Gnie Logiciel Sance 1


La crise du logiciel Causes

Complexit des applications en termes de taille et


dexigences.

Absence dun cadre mthodologique standard de


dveloppement.

Absence d'outils de gestion de projets pour la


planification et lestimation des cots et des dlais.

Absence de mtrologie de la qualit des processus et


des produits logiciels.
19 Atelier Gnie Logiciel Sance 1
Rponse la crise
En octobre 1968 lors dune confrence de lOTAN
Garmisch-Partenkirchen en Allemagne.

Une nouvelle discipline est ne: Le gnie


logiciel

Respecter les Respecter les


contraintes de temps contraintes de cots

base sur la
Rgle CQFD

Satisfaire les
Haute qualit
exigences

20 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Dfinition
Ensemble de moyens mis en uvre pour la
construction de logiciels.

Procd reposant sur les principes de lingnierie:

Description laide de schmas, modles, lois mathmatiques,


etc.

Utilisation des outils logiciels pour accompagner les diffrentes


activits du procd.

Prise en compte des aspects Techniques, conomiques,


Financires, et Sociaux dans ltude globale.

21 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Dfinition
Ensemble de moyens mis en uvre pour la
construction de logiciels.

Procd industriel qui se base sur les principes


dingnierie
description laide de schmas, modles , lois mathmatiques

Utilise des outils logiciels pour accompagner les diffrentes


activits du procd

Prend en compte les aspects suivants dans ltude globale:


Techniques,
conomiques,
Financires,
Sociaux.

22 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Domaines

23 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Rigueur
Sparation
Abstraction
Modularit
Gnricit
Construction incrmentale
Anticipation des changements

24 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Rigueur
tre capable dvaluer rigoureusement avec des
critres prcis et exact, les rsultats des activits
de cration dun logiciel

Formalisation laide
des lois mathmatiques
techniques formelles

Rle lever lambigit

25 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Sparation Diviser pour rgner


Considrer sparment diffrents aspects dun
problme.

Plusieurs critres
le temps cycle de vie du logiciel.
qualits que lon cherche satisfaire
vues que lon peut avoir dun systme statique,
dynamique, fonctionnelle, utilisateur
Structures architecture

Rle matriser la complexit

26 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Modularit Dcoupage en modules


Construire un systme complexe en plusieurs sous-
systmes simples

Supporte bien lapplication de la sparation dans un


module on ignore les dtails des autres modules

Rle assurer
une forte cohsion interne
Un faible couplage entre les modules

27 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Abstraction
Considrer les aspects importants et ignorer les
dtails

Cas particulier de la sparation

Analyse : se concentrer sur ce que doit faire le


logiciel ignorer comment doit-on le faire.

Rle assurer la modularit

28 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Construction incrmentale
Procder progressivement dans la construction dun
produit

Aller de lessentiel vers le secondaire:


Construire un noyau avec les fonctions essentiels,
Ajouter progressivement les fonctions secondaires

Prototypage: construire une srie de prototypes


simulant le systme envisag

Rle Satisfaction des exigences

29 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Gnricit
Ramener la rsolution un problme plus gnral

Regrouper les entits semblables (structure ou


comportement) par des solutions paramtrables ou
adaptables

Utiliser des Patrons STL de C++

Rle Assurer une bonne rutilisabilit

30 Atelier Gnie Logiciel Sance 1


Le gnie logiciel Principes

Anticipation des changements

Prvoir les volutions futures

Utiliser les composants logiciels framesworks,


bibliothques, etc.

Rle Assurer lvolutivit

31 Atelier Gnie Logiciel Sance 1