Home
Introduction au génie logiciel
Contents
1. Propos en 1970 par W Royce G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Processus de d veloppement s quentiels Processus de d veloppement s quentiels Illustration des inconv nients du mod le en cascade Lir Propos par le Sp cifi par le Con u par l quipe commercial chef de projet de conception n CS US h CUS LA R alis par les e que voulait programmeurs Install sur le site l utilisateur Source Univ of London Computer Center Newsletter n 53 march 73 G Laurent ENSMM Introduction au g nie logiciel 2007 TIEG M thodes de d veloppement logiciel Processus de d veloppement s quentiels Processus de d veloppement s quentiels Mod le en V Cahier des charges Exploitation ne Proc dures de recettes nn Sp cification L na en Validation Sp cifications fonctionnelles gt et techniques 4 Conception Proc dures de tests ARR 000000 Int gration pr liminaire Architectures N 7 Modules et interfaces Proc dures F de Conception tests Tests d taill e unitaires Algorithmes a J Implantation Normalis AFNOR Z67 131 et Z67 131 G Laurent ENSMM Introduction au g nie logiciel 2007 NET M thodes de d veloppement logiciel Processus de d veloppement s quentiels Processus de d veloppement s quentiels Avantages inconv nients
2. Les diff rentes cat gories de logiciels Logiciels g n riques vendus comme les produits courants e Logiciels sans impact conomique significatif logiciels amateurs e Logiciels jetables ou consommables par exemple les traitements de texte leur remplacement n engendrent pas de risque majeur pour l entreprise Logiciels sp cifiques d velopp s pour une application pr cise et destin s un seul client Logiciels essentiels au fonctionnement d une entreprise Ce type de logiciel est le fruit d un investissement non n gligeable et doit avoir un comportement fiable s r et s curis Logiciels vitaux c est dire ceux dont d pend la vie d tres humains domaines du transport de l armement et de la m decine G Laurent ENSMM Introduction au g nie logiciel AUTRE VE Probl matique du g nie logiciel Un logiciel de qualit Crit res externes c t client Ad quation validit Efficacit Ergonomie Facilit d apprentissage Ponctualit Fiabilit dans le temps S ret robustesse S curit Int grit Crit res internes c t concepteur Flexibilit modularit R utilisabilit Lisibilit clart Facilit d extension de maintenance d adaptation et d volution Portabilit Compatibilit interop rabilit Tra abilit Testabilit v rificabilit G Laurent ENSMM Introduction au g nie logiciel Probl matique du g nie logiciel
3. Exemples de m thodes M thode B Abrial 1980 SADT Ross 1977 MERISE 1978 1979 Avantages Bien adapt s aux outils de mod lisation formelle et fonctionnelle Visibilit de l tat d avancement mais pas forc ment r aliste Mise en avant de l analyse Inconv nients N cessitent une bonne connaissance des besoins sous peine de d velopper un logiciel inadapt Non prise en compte de l volution ou de l instabilit des besoins logiciels peu volutifs D couverte tardive des erreurs d analyse de conception et de codage Paralysie par l analyse D motivation et effet big bang G Laurent ENSMM Introduction au g nie logiciel 2007 21 36 M thodes de d veloppement logiciel Processus de d veloppement it ratifs 2 3 Processus de d veloppement it ratifs Q M thodes de d veloppement logiciel Mod lisation des logiciels Processus de d veloppement s quentiels Processus de d veloppement it ratifs Processus unifi M thodes agiles et eXtreme Programming 2007 DIET G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Processus de d veloppement it ratifs Processus de d veloppement it ratifs Analyse Conception Implantation Tests Analyse Prototype 1 Conception Implantation Tests Analyse Prototype 2 Conception Implantation Temps Tests Protot
4. Introduction au g nie logiciel Guillaume LAURENT ENSMM 2007 G Laurent ENSMM Introduction au g nie logiciel Plan du cours Probl matique du g nie logiciel Q M thodes de d veloppement logiciel Conclusion Bibliographie G Laurent ENSMM Introduction au g nie logiciel 2007 VE Probl matique du g nie logiciel D finition du g nie logiciel lt Le g nie logiciel est l ensemble des activit s de conception et de mise en oeuvre des produits et des proc dures tendant rationaliser la production du logiciel et son suivi gt arr t du 30 d c 1983 Le g nie logiciel englobe les t ches suivantes e Sp cification capture des besoins cahier des charges sp cifications fonctionnelles et techniques Conception analyse choix de la mod lisation d finition de l architecture d finition des modules et interfaces d finition des algorithmes Implantation choix d implantations codage du logiciel dans un langage cible Int gration assemblage des diff rentes parties du logiciel Documentation manuel d utilisation aide en ligne V rification tests fonctionnels tests de la fiabilit tests de la s ret Validation recette du logiciel conformit aux exigences du CDC D ploiement livraison installation formation Maintenance corrections volutions G Laurent ENSMM Introduction au g nie logiciel 2007 3 36 Probl matique du g nie logiciel
5. nie logiciel 2007 13 36 M thodes de d veloppement logiciel Mod lisation des logiciels Mod lisation formelle Principe toutes les activit s du logiciel sont valid es par des preuves formelles conception obtenue par raffinements successifs de la machine abstraite au code e Int r ts inconv nients e Comportement du logiciel garanti e Bien adapt e aux processus de d veloppement s quentiels Co ts et d lais de d veloppement importants G Laurent ENSMM Introduction au g nie logiciel 2007 14 36 M thodes de d veloppement logiciel Mod lisation des logiciels Mod lisation fonctionnelle et structur e Principe d composer le syst me selon les fonctions qu il doit r aliser par une analyse descendante modulaire Int r ts inconv nients Bon outil de communication pour r aliser les sp cifications fonctionnelles Possibilit de v rifier la coh rence du mod le mod le semi formel Bien adapt e aux processus de d veloppement s quentiels Mod lisation partielle du logiciel Con ue initialement pour des applications de gestion mais galement utilis e dans les domaines de la production et des syst mes automatis s Souvent associ e d autres outils grafcet statecharts r seaux de P tri G Laurent ENSMM Introduction au g nie logiciel 2007 15 36 M thodes de d veloppement logiciel Mod lisation des logiciels Mod lisation orient e objets Pri
6. La crise du logiciel Permanente depuis les ann es 70 tude du Standish Group sur plus de 350 entreprises totalisant plus de 8000 projets d applications En all IL 1994 1996 1998 2000 2002 2004 Succeded Failed Challenged G Laurent ENSMM Introduction au g nie logiciel 2007 6 36 Probl matique du g nie logiciel Exemples d checs Exemples d abandons Confirm 1992 projet d American Airlines de syst me de r servation commun avions voitures h tels etc Investissement 125 M sur 4 ans plus de 200 ing nieurs R sultat les diff rentes parties n ont pas pu tre assembl es en raison de la diversit des m thodes de d veloppement Taurus 1993 projet d automatisation des transactions pour la bourse de Londres annul apr s 5 ann es de d veloppement Pertes estim es 75 M pour la soci t et 450 M pour les clients Exemple de bug Ariane V 1996 explosion de la fus e en vol due une erreur de d bordement lors de la conversion d un nombre flottant 64 bits vers un entier 16 bits Code h rit de Ariane IV Co t 500 M G Laurent ENSMM Introduction au g nie logiciel 2007 7 36 Probl matique du g nie logiciel Principales causes de la crise du logiciel Fuite en avant de la complexit Co t du changement Le co t d un changement de fonctionnalit dans un logiciel est 10 fois plu
7. Processus unifi Unified Process M thode it rative et incr mentale J Rumbaugh I Jacobson et G Booch 1999 Pilot par les cas d utilisation Centr sur l architecture Mod lisation orient e objets Utilise la mod lisation visuelle UML Fond sur la production et l utilisation de composants G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Processus unifi Processus unifi Unified Process 4 phases de d veloppement tude d opportunit pr paration Quoi pour qui combien tude de march estimation du co t Capture des besoins majeurs et analyse pr liminaire Maquette ventuellement r alis e avec un outil de d veloppement rapide d application RAD par une petite quipe e laboration Capture et analyse des besoins Choix de l architecture R alisation de prototypes d architecture par une petite quipe e Construction R partition des t ches sur plusieurs quipes Enrichissement progressif des fonctionnalit s offertes R daction de la documentation finale R alisation d une version b ta Transition Fabrication livraison Installation formation e Support technique maintenance corrections mineures G Laurent ENSMM Introduction au g nie logiciel 2007 27 36 M thodes de d veloppement logiciel Processus unifi Processus unifi Unified Process Synchronis
8. ation des phases et des incr ments Etude It ration d opportunit pr liminaire It ration d architecture It ration d architecture Maquette Elaboration Prototype d architecture Prototype d architecture It ration de d veloppement ur Prototype de d veloppement It ration de Construction d veloppement SS Prototype de d veloppement It ration de d veloppement Version b ta It ration de finition It ration de Temps finition Transition Version b ta Y Y YY YV Y Yy Y Version finale G Laurent ENSMM Introduction au g nie logiciel 2007 28 36 M thodes de d veloppement logiciel Processus unifi Processus unifi Unified Process Importance des activit s au cours des diff rentes phases paas Elaboration Constuction Transion activit s M E Etude du business Expression des besoins Analyse et Conception s i n i i i i i z e Impl mentation a i i i 7 i z i i OoOO pg Tests EEE Li amp E i Io oE f L L D ploiement l z i i P L H H Source Rational Software Corporation G Laurent ENSMM Introduction au g nie logiciel 2007 29 36 M thodes de d veloppement logiciel M thodes agiles et eXtreme Programming 2 5 M thodes agiles et eXtreme Programming Q M thodes de d veloppement logiciel Mod lisation des logiciels Processus de d veloppem
9. ent s quentiels Processus de d veloppement it ratifs Processus unifi M thodes agiles et eXtreme Programming 2007 CES G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel M thodes agiles et eXtreme Programming M thodes agiles M thodes it ratives planification souple lt rations tr s courtes 2 semaines 2 mois S opposent la proc dure et la sp cification outrance Exemples de m thodes http www businessinteractif fr contents documents MethodesAgiles2001 V1 1 zip eXtreme Programming DSDM ASD CRYSTAL SCRUM FDD Cr ation de l Agile Alliance en 2001 http agilealliance org G Laurent ENSMM Introduction au g nie logiciel 2007 31 36 M thodes de d veloppement logiciel M thodes agiles et eXtreme Programming M thodes agiles Ressources humaines et communication Applications fonctionnelles Planification rigide Collaboration troite avec le client N gociation de contrat Accueil du changement Documentation Processus et outils 4 priorit s Priorit aux personnes et aux interactions sur les proc dures et les outils Priorit aux applications fonctionnelles sur une documentation pl thorique Priorit de la collaboration avec le client sur la n gociation de contrat Priorit de l acceptation du changement sur la planification G Laurent ENSMM Introducti
10. ncipe d composer le logiciel en un ensemble d entit s objets qui interagissent entre elles objet donn es fonctions Int r ts inconv nients e R duction des co ts de d veloppement gr ce la modularit la r utilisabilit et la compacit du code R duction des co ts de maintenance gr ce l encapsulation 18 des co ts de maintenance sont d s un changement de structure de donn es e Bien adapt e aux processus de d veloppement it ratifs e Passage d licat de la sp cification la conception Possibilit de v rifier la coh rence du mod le avec OCL Object Constraint Language par exemple G Laurent ENSMM Introduction au g nie logiciel 2007 16 36 M thodes de d veloppement logiciel Processus de d veloppement s quentiels 2 2 Processus de d veloppement s quentiels Q M thodes de d veloppement logiciel Mod lisation des logiciels Processus de d veloppement s quentiels Processus de d veloppement it ratifs Processus unifi M thodes agiles et eXtreme Programming 2007 17 36 G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Processus de d veloppement s quentiels Processus de d veloppement s quentiels Mod le en cascade waterfall model Cahier des charges Sp cification Conception pr liminaire Conception d taill e Implantation Tests et Les He Exploitation
11. on au g nie logiciel 2007 32 36 M thodes de d veloppement logiciel M thodes agiles et eXtreme Programming eXtreme Programming XP e M thode agile de Kent Beck et Ward Cunningham 2000 4 valeurs e La communication e La simplicit Le retour d information Le courage 12 pratiques Client sur site Jeu du planning Int gration continue Petites livraisons Rythme soutenable Tests unitaires et fonctionnels Conception simple YAGNI Utilisation de m taphores Remaniement du code Convention de nommage Appropriation collective du code Programmation en bin me G Laurent ENSMM Introduction au g nie logiciel 2007 33 36 M thodes de d veloppement logiciel M thodes agiles et eXtreme Programming eXtreme Programming XP Avantages e Efficace pour de petits projets e Logiciels de qualit e Bonne ad quation aux besoins du clients Inconv nients quipe de 12 20 d veloppeurs au maximum N gociations commerciales plus compliqu es Investissement important du client Programmation en bin me pas toujours bien ressentie G Laurent ENSMM Introduction au g nie logiciel 2007 VE Conclusion Conclusion La meilleure m thode est celle adapt e au contexte Type de logiciel Ampleur du projet e quipe de d veloppement lt rations courtes Excellence technique Simplicit Modularit r utilisabilit D veloppeurs polyvalents Petites
12. quipes motiv es Tests encore et toujours G Laurent ENSMM Introduction au g nie logiciel 2007 35 36 Bibliographie Bibliographie S S S T Jacques Printz Le g nie logiciel Que sais je Presses Universitaires de France 2002 Bertrand Meyer Conception et Programmation Orient e Objet Eyrolles 2000 Pierre Alain Muller and Nathalie Gaertner Mod lisation Objet avec UML Eyrolles 2000 Pascal Roques UML en action Eyrolles 2003 Alfred Strohmeier and Didier Buchs G nie logiciel principes m thodes et techniques Presses polytechniques et universitaires romandes 1996 G Laurent ENSMM Introduction au g nie logiciel 2007 36 36
13. s lev s il a lieu en phase de d veloppement que s il est connu au d part 100 fois plus lev s il a lieu en phase de production Idem pour les corrections d erreurs L importance de la maintenance est souvent sous estim e Faiblesse des tests Features Functions Used in a Typical System Sometimes Rarely 19 ES 16 Often 13 Always 7 Never 45 G Laurent ENSMM Introduction au g nie logiciel 2007 8 36 Probl matique du g nie logiciel D fis du g nie logiciel Maintenance et volution des logiciels sp cifiques Adaptation aux nouveaux besoins des clients ou de l entreprise Gestion de l entropie des logiciels qui ne cesse de cro tre Gestion de l h t rog n it e Mise en r seau de syst mes vari s Portabilit des logiciels sur toutes les plateformes windows linux etc Ma trise et raccourcissement des temps de d veloppement Ma trise de la qualit s ret fiabilit robustesse G Laurent ENSMM Introduction au g nie logiciel 2007 9 36 M thodes de d veloppement logiciel M thodes de d veloppement logiciel Une m thode de d veloppement logiciel n cessite Une mod lisation concepts manipul s Une notation associ e la mod lisation Un processus de d veloppement Un ou des langage s et plateforme s cible s 2007 TES G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Mod li
14. sation des logiciels 2 1 Mod lisation des logiciels Q M thodes de d veloppement logiciel Mod lisation des logiciels Processus de d veloppement s quentiels Processus de d veloppement it ratifs Processus unifi M thodes agiles et eXtreme Programming G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Mod lisation des logiciels Mod liser pour quoi faire Objectifs Identifier les caract ristiques pertinentes d un syst me dans le but de pouvoir l tudier Faciliter la compr hension du syst me synth tiser son fonctionnement par l abstraction et la simplification Normaliser Simuler le comportement du syst me futur G rer le risque tat d avancement d couverte de probl mes etc Communiquer Remarques Le choix du mod le initial a une grande influence Les meilleurs mod les sont ceux qui sont connect s la r alit Un mod le peut tre exprim divers niveaux de pr cision On peut utiliser plusieurs mod les fonctionnels structurels etc pour d crire tous les diff rents aspects d un syst me complexe G Laurent ENSMM Introduction au g nie logiciel 2007 12 36 M thodes de d veloppement logiciel Mod lisation des logiciels Axes de mod lisation d un logiciel FONCTIONNEL Ce que le logiciel FAIT el STATIQUE DYNAMIQUE Ce que le logiciel EST Comment le logiciel EVOLUE G Laurent ENSMM Introduction au g
15. ype 3 G Laurent ENSMM Introduction au g nie logiciel 2007 VE M thodes de d veloppement logiciel Processus de d veloppement it ratifs Processus de d veloppement it ratifs Avantages inconv nients Exemples de m thodes Cycle en b N D Birrel et M A Ould 1985 Cycle en spirale B Boehm 1988 Cycle en O P Kruchten 1991 Processus unifi J Rumbaugh I Jacobson et G Booch 1999 Processus en Y Two Track Unified Process de la soci t Valtech P Roques et F Vall e UML en action Eyrolles 2003 M thodes agiles Avantages Capture des besoins continue et volutive D tection pr coce des erreurs Etat d avancement connect la r alit Implication des clients utilisateurs Motivation de l quipe par les prototypes Inconv nients e Explosion des besoins Difficile d finition de la dimension d un incr ment N cessite une direction rigoureuse pour ne pas retomber dans le code and fix gt G Laurent ENSMM Introduction au g nie logiciel 2007 24 36 M thodes de d veloppement logiciel Processus unifi 2 4 Processus unifi Q M thodes de d veloppement logiciel Mod lisation des logiciels Processus de d veloppement s quentiels Processus de d veloppement it ratifs Processus unifi M thodes agiles et eXtreme Programming G Laurent ENSMM Introduction au g nie logiciel M thodes de d veloppement logiciel Processus unifi
Download Pdf Manuals
Related Search
Related Contents
Ditec Flash CS - DITEC ENTREMATIC Hasbro 82729 Games User Manual Here - FTP Directory Listing EXPOSITION : MODE D`EMPLOI Operating instructions Universal Lathes Ver en línea Copyright © All rights reserved.
Failed to retrieve file