Vous êtes sur la page 1sur 35

1

Atelier GL
AHMED CHABCHOUB
AHMED.CHABCHOUB@GMAIL.COM
Plan du cours
Concepts fondamentaux de gnie logiciel

Dveloppement dun logiciel


Etapes de dveloppement
Validation du logiciel
Comparaison des moyens de validation
Le cycle de vie du logiciel
1. Le modle en tunnel
2. Le modle en cascade
3. Le modle en V
4. Le modle itratif
4 bis. Le modle en spirale
Critres de qualit dun logiciel
Qualit et Assurance Qualit
Evaluer la qualit

2
Les facteurs de la qualit
Des critres de qualit
Relations entre facteurs et critres
Mesure
Mise en place de la qualit
Test de Logiciel

3
Concepts fondamentaux de gnie
logiciel

ahmed chabchoub
4
Caractristiques du logiciel
Produit unique
conu et fabriqu une seule fois, reproduit
Inusable
dfauts pas dus l'usure mais proviennent de sa
conception
Complexe
le logiciel est fabriqu pour soulager l'humain d'un
problme complexe ; il est donc par nature complexe
Invisible
Fabrication du logiciel=activit purement intellectuelle
difficult de perception de la notion de qualit du
logiciel
Technique non mature
encore artisanal malgr les progrs

ahmed chabchoub 5
Constats
Le cot du dveloppement du logiciel dpasse souvent
celui du matriel,
Les cots dans le dveloppement du logiciel :
20% pour le codage et la mise au point individuelle,
30% pour la conception,
50% pour les tests d'intgration,
Dure de vie d'un logiciel de 7 15 ans,
Le cot de la maintenance volutive et corrective
constitue la part prpondrante du cot total ,
Plus de la moiti des erreurs dcouvertes en phases de
tests proviennent d'erreurs introduites dans les
premires tapes,
La rcupration d'une erreur est d'autant plus coteuse
que sa dcouverte est tardive.
ahmed chabchoub 6
Les plaintes classiques des clients
Non respect du cahier des charges,
Dlais et cots dpassant les prvisions,
Maintenance corrective et volutive difficiles,
Non respect des performances,
Documentations absentes ou peu claires,
Fiabilit discutable.

QUALITE du logiciel, Gnie logiciel

ahmed chabchoub 7
Gnie logiciel
Ensemble des activits de conception et de mise en
uvre des produits et des procdures tendant

ahmed chabchoub
rationaliser la production du logiciel et son suivi.
Arrt ministriel Franaise du 30/12/1983

Procdures, mthodes, langages, ateliers, imposs ou


prconiss par les normes, adapts
l'environnement d'utilisation afin de favoriser la
production et la maintenance de composants logiciels
de qualit.
P. Jaulent

8
Dveloppement dun logiciel

ahmed chabchoub
Caractristiques souhaites :
Adquation avec les besoins
Maintenance aise
Bon march
Rapidement dvelopp
Comment ?
Le gnie logiciel = outils + mthodes

9
Etapes de dveloppement

Analyse (du problme)

ahmed chabchoub
comprendre et recenser les besoins
Spcification (par exemple cahier des charges)
Conception (du logiciel)
Prliminaire
clater le logiciel en sous-parties
dfinir les interfaces entre ces sous-parties
architecture du logiciel

Dtaille
prciser larchitecture des sous-parties
Implantation
- codage

10
Activits du dveloppement de logiciels
Valider le
logiciel

ahmed chabchoub
Assembler les
composants

Dvelopper un
des composants

Dfinir comment
il sera dvelopp

Dfinir ce qui
sera dvelopp

Lorganisation de ces activits et leur enchanement dfinit le


cycle de dveloppement du logiciel

11
Validation du logiciel
Dfinition
assurer la cohrence entre les besoins et le logiciel obtenu

ahmed chabchoub
garantir au mieux labsence derreur
Moyens
prototyper :dvelopper et essayer une partie du logiciel
concevoir
tester : effectuer des essais de fonctionnement et vrifier le
rsultat obtenu par rapport au rsultat attendu
prouver : vrifier mathmatiquement la cohrence de la
conception/du code par rapport la spcification (qui doit
tre formelle)

12
Comparaison des moyens
de validation

ahmed chabchoub
Inconvnie Avantage Cible Ce qui est vrifi
nt
Aucune Intervient trs Dveloppe La bonne comprhension Prototyp
garantie tt urs du problme er
sur rsultat
Intervient la Facilit de Programm Un comportement Tester
fin pas mise en e correct
exhaustif oeuvre excut dans des cas bien prcis
Nombreux
outils
Lourd mettre Garantie Code et/ou La correction par rapport Tester
en place obtenue conception aux
proprits spcifies
formellement
Consquence :
Preuve rserve aux systmes critiques
Test toujours utilis

13
Le cycle de vie du
logiciel

ahmed chabchoub
14
1. Le modle en tunnel

ahmed chabchoub
Problme

Caractristique
absence de modle !
Utilisation
A viter !
rserve aux petits projets

15
2. Le modle en cascade

ahmed chabchoub
Caractristiques
phases bien identifies
test :
intervient tard
est mal cadr

16
3. Le modle en V
Tests Test dune
Analyse

ahmed chabchoub
fonctionnalit
fonctionnels

Conceptio Tests Test de la


composition entre
n dintgration modules

implantati Test s unitaires


on Test de chaque fonction
indpendamment

Programm
e

Caractristiques
Modle en cascade amlior
17
Le plus utilis
4. Le modle itratif

ahmed chabchoub
Principe
A chaque tape, on rajoute de nouvelles fonctionnalits
Caractristiques

Chaque tape est relativement simple


On peut tester et essayer au fur et mesure le logiciel
que lon dveloppe
18
4 bis. Le modle en spirale
Autre vision du modle itratif

ahmed chabchoub
19
Modle en spirale Prototype
Cot cumulatif
incrmental
Dterminer les objectifs, Evaluer les alternatives
les alternatives, les contraintes Analyse Identifier et viter les risques
Progresser par tapes

des
risques
Revue critique Proto
proto3 oprationnel
proto1 proto2
Prvision besoinsConcevoir Simul.
projet
oprations Modles Benchmarks
Organisation Spec.
dveloppement besoins Conception
Conception
Intgration et test Valider dtaille
de l'organisation du projet conception Codage
Tests
Organiser les phases suivantes Accepter
tests Dvelopper et vrifier le
prochain niveau du produit

ahmed chabchoub 20
Introduction au qualit de
logiciel

ahmed chabchoub
21
La qualit
22
UN ENSEMBLE DE PRINCIPES ET DE MTHODES

ahmed chabchoub
ORGANISES EN STRATGIE GLOBALE, VISANT
MOBILISER TOUTE LENTREPRISE, EN FONCTION
DOBTENIR LENTIRE SATISFACTION DU CLIENT,
ET CE AU MOINDRE COT.
DFINITION DE LAFCERQ, ASSOCIATION FRANAISE DES CERCLES DE QUALIT

LA QUALIT, CEST LAPTITUDE DUN PRODUIT


SATISFAIRE LE BESOIN DU CLIENT EN RESPECTANT
SES EXIGENCES DE VOLUME, DE TEMPS, DE LIEU
ET DE COTS.
DFINITION RECONNUE PAR LA PLUPART DES ORGANISATIONS NORD-AMRICAINES
ahmed chabchoub
Selon l'IEEE
La qualit logicielle est:
(1) Le degr avec lequel un systme, un composant ou un
processus satisfait ses exigences spcifies.
(2) Le degr avec lequel un systme, un composant ou un
processus satisfait aux besoins ou attentes de ses
clients/usagers.

23
La qualit 24

QUALITY MEANS MEETING REQUIREMENTS

ahmed chabchoub
WITH THIS DEFINITION, TO HAVE A QUALITY
PRODUCT THE REQUIREMENTS MUST BE
MEASURABLE, AND THE PRODUCTS
REQUIREMENTS WILL EITHER BE MET OR
NOT MET.

SOFTWARE TESTING AND CONTINUOUS QUALITY IMPROVEMENT


WILLIAM E. LEWIS
ahmed chabchoub
la Qualit logicielle
Conformit aux exigences
Sens le plus troit de qualit du logiciel
absence de bugs
bas ratio de dfauts (# de dfauts/unit de taille)
haute fiabilit (nombre de pannes par n heures
d'opration)
Temps Moyen entre Pannes (Mean Time ToFailure MTTF)
probabilit d'opration sans panne dans un temps spcifi

25
ahmed chabchoub
Selon Pressman
La qualit logicielle est:
Conformit aux exigences fonctionnelles et de
performance explicites, aux normes de
developpement explicitement documentes, et aux
caractristiques implicites qui sont attendues de tout
le logiciel professionnellement dvelopp

26
Importance de la qualit du
logiciel

ahmed chabchoub
Logiciel est une composante majeure des systmes
informatiques (environ 80% du cot) utiliss pour
communication (ex. syst. tlphone, syst. email)
sant (monitoring),
transport (ex. automobile, aronautique),
changes conomiques (ex. ecommerce),
entertainment,
etc.

27
28

ahmed chabchoub
Les dfauts du logiciel sont extrmement coteux en
terme
d'argent
de rputation
- de perte de vie
ahmed chabchoub
Plusieurs dsastres historiques attribus au
logiciel
1988 abattage d'un Airbus 320 par l'USS
Vincennes affichage cryptique et confusant du
logiciel de dtection
1991 chec de missile patriot calcul imprcis de
temps d des erreurs arithmtiques
London Ambulance Service Computer Aided
Despatch System plusieurs dcs

29
ahmed chabchoub
Le 3 Juin 1980, North American Aerospace Defense
Command (NORAD) rapporta que les U.S. taient
sous attaque de missiles
Echec du premier lancement oprationnel de la
navette spatiale dont le logiciel d'exploitation
temps rel consiste en environ 500,000 LOC
problme de synchronisation entre les ordinateurs
de contrle de vol
panne de 9 heures du rseau tlphonique longue
distance d'AT&T provoqu par un patch de code
non test

30
ahmed chabchoub
Ariane 5 crash 4 Juin 1996
Vol inaugural du lanceur europen Ariane 5
crash environ 40 secondes aprs dcollage
Perte d'environ milliards de dollars
L'explosion tait le rsultat d'une erreur
logiciel

31
32

ahmed chabchoub
Exception non capture due une erreur de floating
point:
conversion d'entier 64bit entier 16bit signed integer
appliqu un nombre plus large que suppos
Le module tait rutilis sans avoir t test
convenablement d'Ariane 4
Erreur n'tait pas suppos survenir avec
Ariane 4
Pas de gestionnaire d'exception
ahmed chabchoub
Mars Climate Orbiter 23 Septembre 1999
Mars Climate Orbiter disparat alors qu'il commence
orbitrer Mars.
Cot environ $US 125million
Panne due une erreur dans le transfert de
l'information entre une quipe au Colorado et une
quipe en Californie
Une quipe utilisa des units anglaises (ex., inches,
feet, pounds) tandis que l'autre utilisa des units
mtriques pour une opration cl.

33
ahmed chabchoub
Mars Polar Lander Dcembre 1999
Mars Polar Lander disparait l'atterrissage sur la
plante Mars
Panne probablement due la mise inattendue
d'un seul bit de donne.
dfaut non dcel durant les tests
quipes indpendantes on tests des aspects du
systme sparment

34
ahmed chabchoub
Virus et vers Internet
Ver Blaster ($US 525 millions)
Sobig.F ($US 500 millions 1milliard)
Exploitent des vulnrabilits bien connues du logiciel
Les dveloppeurs de logiciel ne consacrent pas assez
d'effort appliquer des leons apprises sur les causes des
vulnrabilits.
Les mmes types de vulnrabilits continuent tre vus
dans les nouvelles versions des produits qui taient dans
des versions prcdentes.
Problmes d'utilisabilit

35