Professional Documents
Culture Documents
Conception et Dveloppement de BD
Dr. Foued Ben Ameur INSAT RT3
Exemple Typique
1- Processus de dveloppement dun logiciel 2- Les phase du dveloppement 3- Diffrents cycles de vie pour un logiciel 4- Gestion de la qualit logicielle
3
Processus logiciel :
Activits ncessaire au dveloppement et la maintenance Variable / complexe / pas un seul modle
La crise du logiciel
Apparue au dbut des annes 70 Absence de matrise des projets (cots, dlais) Mauvaise qualit des produits
Ne rpondent pas aux besoins dfinis
Erreurs rsiduelles persistent dans le produit final Difficults d'volution
Constats
Selon une tude du gouvernement amricain ralise en 1979 sur le cot des logiciels :
Selon une tude ralise en 1995 aux USA (rapport Chaos du Standish
Group) :
On estime 91 billions de dollars, la somme dpense pour des projets arrts avant la fin
9
Le zro dfaut n'existe pas en matire de logiciel : Le NIST (National Institute of Standards and Technology) estime 60 milliards de dollars par an les pertes enregistres par l'industrie et le commerce amricains cause des bogues contenus dans les logiciels. (S&T Presse - septembre 2002)
10
Source : http://www.01net.com/article/212560.html
Quelques chiffres
On matrise encore mal le dveloppement des projets informatiques :
30% sont annuls avant la mise en production (Aberdeen) 90% sortent en retard (Aberdeen)
50% ne rpondent pas au cahier des charges (Gartner) 50% dpassent le budget prvu (Gartner) Ce surplus de cot se rpartit de la manire suivante :
maintenance corrective : 20 % maintenance adaptative : 25 % maintenance volutive et perfective : 55 %
11
Mission Venus
Passage 5 000 000 Km de la plante, au lieu de 5 000 Km prvus Cause : remplacement d'une virgule par un point (au format US des nombres)
12
13
14
2- Les phase du dveloppement 3- Diffrents cycles de vie pour un logiciel 4- Gestion de la qualit logicielle
19
Terminologie
Projet : ensemble dactivits organises permettant de crer
un produit ou un service avec une qualit dfinie dans le cadre dun budget fix.
21
: phases du dveloppement
- Analyse / Conception
- Implmentation (ralisation respectant la spcification) - Validation et tests (sassurer du bon fonctionnement)
- Dploiement et maintenance
22
=
enchanement des activits
26
Vie du logiciel
(daprs J. Printz) 67% du cot total dun logiciel maintenance (dont 48% rparer des dfauts)
28
Activit principale
Doc
Validation / Vrification
30
Cline ROUDET
31
34
35
36
38
Codage et tests
Implmentation + documentation :
Environnements de dveloppement (AGL : Microsoft Visual C++, Dev C++, Windev, Eclipse, Borland Turbo Pascal, Oracle Designer, ) Outils de gnration de code (Rational Rose, Topcased, Omondo, ) Rutilisation de composants existants (Design Patterns, Java Beans)
40
Maintenance, volution :
Correction des erreurs (robustesse) Demandes dvolution (nouvelles fonctionnalits, portabilit, ) Etape longue, critique et coteuse (80% de leffort de certaines entreprises)
41
42
43
44
Squentiel linaire
(un des premiers modles proposs)
Conception gnrale
Vrification
Ex : Merise
Conception dtaille
Vrification
Codage
Tests unitaires
Intgration Erreur de spcification trouve en maintenance : cote + de 100 fois + cher que si trouve lors des spcifications
Tests dintgration
Mise en production
Validation
Maintenance
45
46
Modle en V
Vertical : dveloppement des modules Spcifications fonctionnelles et planification Conception globale
Qualification
Intgration
Conception dtaille
Tests unitaires
Programmation
Gestion des configurations
47
Inconvnients :
Le cadre de dveloppement reste rigide La dure est souvent trop longue Le produit apparat toujours trs tard
48
49
Modle itratif
Dveloppement logiciel : processus graduel dlimination des risques
Chaque nouvel incrment :
a pour objectif la matrise d'une partie des risques apporte une preuve de faisabilit ou d'adquation avec les objectifs
A chaque itration :
1. Spcification 2. Conception 3. Implmentation 4. Tests
50
Avantages :
Client : acteur dans le processus et reoit des rsultats rapidement Temps de dveloppement trs court
Modle incrmental
Combine des lments des modles linaires et du prototypage
utilis quand il ny a pas assez de ressources disponibles pour une livraison temps
Le premier incrment est souvent le noyau Les incrments aident grer les risques techniques (matriel non disponible)
52
Modle en spirale
Couplage de la nature itrative du prototypage avec les aspects contrls du modle en cascade
communiquer avec le client
Valeurs dXP :
1. Communication
2. Feedback
3. Simplicit
4. Courage
55
Organiser le processus
Chaque projet est dcoup en lments matrisables Pour chaque phase, on doit dterminer des rles :
Qui fait des besoins Dfinition Qui approuve Spcification Qui vrifie Planification Qui valide Qui est consult Conception
59
En sappuyant sur :
Rdaction de standards, normes (ISO), conventions, guides Savoir-faire et expertise de lentreprise Exprience acquise des projets pour amliorer le processus
60
61
Contrle de la qualit
Validation et Vrification garanties par des inspections et revues pour tous les produits intermdiaires du dveloppement :
documents de spcification, de conception, . . . code jeux de tests prototypes ...
Inspection : relecture critique dun document visant amliorer sa qualit Revue : runion permettant de valider une phase du cycle de vie
63
Chaque critre correspond au moins une mtrique Trop de mtriques, besoin dune normalisation
64
Qualit globale
Facteur
Facteur
ex : maintenabilit
Critre
Critre
Mtrique
Mtrique
Mesures quantitatives
65
Modles de Maturit et d'Amlioration : mesurer l'aptitude d'un fournisseur raliser et fournir du logiciel
Capability Maturity Model (CMM) : rivale de la norme ISO 9000
SPICE, TRILLIUM, BOOTSTRAP
Codage
bcl, peu document, code refait (peu rutilis), ...
Tests
unitaires : rares ou absents (faits au vol et perdus) intgration : peu de tests de non-rgression
Qualification
seule vraie preuve (mais bien trop tard !) Quelque chose qui n'est pas fait au moment o on devrait le faire ... est rarement fait plus tard car il y a toujours autre chose faire
A retenir
La cration logicielle suit un cycle de vie
Ne pas rester fig dans un modle : l' / s'adapter Importance de la planification
68
Liens
Processus de dveloppement :
Page web de A. M. Hugues : http://users.polytech.unice.fr/~hugues/GL/qualite.html Page web de P. Collet : http://deptinfo.unice.fr/twiki/bin/view/Minfo05/GLOO Page web de D. Le Berre : http://www.cril.univartois.fr/~leberre/MI32001/OpenSourceLecture.ppt
Software Project Survival Guide. S. McCONNELL. Microsoft Press 1998 Software Engineering - 6th ed. I. Sommerville. Addison-Wesley 2001 Object-Oriented Analysis and Design with applications, 3rd Ed. G. Booch et al. AddisonWesley - 2007
Qualit du logiciel :
http://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.html http://www.matthieuamiguet.ch/media/documents/MA-QLOGI-02-Normes.pdf Quality factors. J.A. McCall, in Encyclopdia of Software Engineering, Vol 1, pp 958-969, John Wiley & Sons - 1994
69
lentreprise souhaite se doter dun systme informatique de suivi en temps rel pour la surveillance continue des dispositifs matriels
70
71
Exemple : ralisations
Rapport danalyse et de conception
Description dtaille des besoins (maquette de linterface en Visio)
Planning : diagramme de Gantt (MSProject)
Rapport de ralisation
Implmentation en Java avec Netbeans et SVN - tests en JUnit Documentation des classes avec Javadoc Rapport davancement (planning mis jour avec MSProject)
72