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