Introduction au Génie Logiciel Stéphanie CHOLLET En partie d’après le cours de
Introduction au Génie Logiciel Stéphanie CHOLLET En partie d’après le cours de Pr. Philippe LALANDA Une histoire qui se répète… Client I need a software ... simply put, it must provide the following services … very efficient … cheap … asap Manager/Commercial No problem … we can do it … may be a bit more expensive than you wish 2 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Manager/Commercial We have a project: here are the resources, deadlines, expected results… Project leader and team No control! 3 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Development team Validation team Project leader Done! Deadline is met. Tests fail! What! ? ! OK, let us delay the planning and fix bugs. 4 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Development team Validation team Project leader OK, done! Tests still go wrong! Damn, change your tests! What! ? ! Calm down, we are a team! Where are the specifications? S P ECIFICATIONS? 5 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Development team Validation team Project leader OK, done! Tests are (almost) correct! Great. Let’s deliver! Client But … this is not what I asked! What!?! 6 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Manager/Commercial YOU MUST BE KIDDING!!! Project leader and team But… 7 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Project leader Let’s us deliver! We will do better for V2! OK, back to work… Development team There we go. But the code is terrible … I cannot promise anything Validation team Tests are OK (well … I mean not too bad) 8 stephanie.chollet@grenoble-inp.fr Une histoire qui se répète… Project leader We are done: here is the product Manager/Commercial Client or user Good … well, not too bad I mean By the way, could we extend it in order to… Sure! 9 The end? stephanie.chollet@grenoble-inp.fr Synthèse de l’exemple Une histoire qui se répète… ? Des besoins pas clairs Manque de spécifications, de préparation des tests… Mauvaises estimations Manque de support de la hiérarchie Manque d’expérience du chef d’équipe Manque d’implication des intervenants Problèmes humains : communication, compétences… Domaine d’étude du Génie Logiciel 10 stephanie.chollet@grenoble-inp.fr Quizz connaissances en informatique Un peu d’histoire… Histoire de l’informatique et naissance du Génie Logiciel Un peu d’histoire… Dans les années 1960 : Evolution du matériel, premiers langages Emergence d’un nouveau métier : PROGRAMMEUR Distinction entre les utilisateurs et les programmeurs Distinction entre spécification et programmation Quelques projets de grande taille : Dans des organismes scientifiques (MIT, IBM) Supportés par quelques petits groupes d’experts (pionniers) Quelques problèmes mais beaucoup d’espoir 13 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 1970 : Evolution majeure du matériel De nombreux projets de grande taille Exemple : le système d’exploitation IBM OS-360 Le temps de la désillusion Faible qualité, insatisfaction des utilisateurs, délais et budgets non respectés Pas de passage à l’échelle des techniques existantes, nouveaux problèmes rencontrés Organisation de conférences, apparition de nouveaux termes : « Software crisis » « Software engineering » 14 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 1970 (suite) : D’après une étude américaine sur 100 projets : Retards : 52% Dépassement de budget : 72% Dépassement du budget matériel : 15% Faible qualité : 30 à 85 bugs pour 1000 instructions Identification de problèmes : Mauvaise compréhension des objectifs Gestion humaine (manque de motivations, départs…) Evolution technique, instabilité des besoins … 15 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Solutions proposées au fil des années : De meilleures habitudes de gestion de projet Des nouveaux paradigmes de programmation (et des langages) Utilisation de méthodes formelles Création de standards, de normes… Leçons retenues : Il n’y a pas une seule solution gagnante ! Il a été reconnu que le développement de logiciel était une pratique d’ingénierie : Le logiciel est une pratique d’ingénierie en soi Des méthodes, techniques adaptées sont nécessaires Le Génie Logiciel est né ! 1968 à la conférence de l’OTAN 16 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 1980 – 1990 : De nombreuses améliorations dans de nombreux domaines : Interconnexion des ordinateurs (Internet) De meilleures organisations, mieux adaptées Suivi des processus, amélioration permanente Séparation claire entre spécifications / modèles / programmes Conception par objets, programmation structurée Implication des utilisateurs La place des logiciels s’étend considérablement Les projets grossissent encore et encore Les systèmes logiciels envahissent de nombreux domaines applicatifs Malgré tout, les problèmes demeurent ! 17 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 1980 – 1990 (suite) : 47% 29% 19% 3% 2% Etude américaine (années 1980) Delivered never used Paid, not delivered Used then modified or dropped Used with minor modifications Used 16% 27% 26% 53% 33% 46% 31% 40% 28% 0% 10% 20% 30% 40% 50% 60% 1994 1996 1998 Rapport CHAOS du Standish Group (années 1990) Successful Challenged Failed 53% des projets dépassent les ressources allouées Coût : 198% et Temps : 222% En 1994, parmi les 16% des projets qui réussissent Seulement 61% répondent aux besoins de départ A noter : dans les grandes entreprises, seuls 9% des projets réussissent. 18 stephanie.chollet@grenoble-inp.fr Quelques exemples Ariane 5 – vol 501 Début du programme Ariane 5 : 1987 Lancement : 4 juin 1996 Nouveau fleuron aérospatial 500 millions de dollars 1100 industriels Aucune victime ! Echec dû notamment à une erreur informatique dans le programme de gestion de gyroscopes conçu pour Ariane 4, pas testée dans la configuration Ariane 5. Programme d’ailleurs inutile pour Ariane 5. 19 stephanie.chollet@grenoble-inp.fr Quelques exemples Therac 25 (Entre 1985 et 1987) Machine de radiothérapie développée conjointement entre le Canada et la France 6 morts De nombreuses personnes irradiées Les causes : Négligence du test Documentation inadéquate Programmé en assembleur Réutilisation de briques logicielles (du Therac 20) 20 stephanie.chollet@grenoble-inp.fr Quelques exemples Missile PATRIOT (1991) Système de défense anti-missile Non interception d’un missile SCUD 28 morts, 98 blessés Les causes : Erreur d’approximation Non-respect des hypothèses Composants logiciels non adaptés Délai de propagation d’une mise à jour 21 stephanie.chollet@grenoble-inp.fr Autres exemples… AT&T en 1992 : Interruption du service de téléphonie pendant 5h à l’est des Etats-Unis Raison : Propagation en chaîne de messages d’erreur Oslo, en septembre 1993 Erreur dans le système de comptage des votes du parlement Aéroport de Denver en 1994 Logiciel de suivi des bagages Coût 3 milliards de dollars, retard de 18 mois … 22 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 2000-2010 : La place du logiciel continue de s’étendre : Ère de la mobilité et des données partagées Multiplication des systèmes embarquées pour le grand public (téléphone, tablette…) Emergence des objets connectés, développement de l’Internet des objets Multiplication des applications pour objets connectés Développement du cloud computing De nouvelles méthodes de développement : méthodes Agile De nouveaux paradigmes de programmation : programmation orientée services, programmation par contrat… Soutenus par de nouveaux outils/technologies de gestion de projet, de développement et de mise en production 23 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 2000 : 49% des projets dépassent les ressources allouées Coût : 43% et Temps : 63% En 2000, parmi les 28% des projets qui réussissent Seulement 67% répondent aux besoins de départ Résultats encourageants ! 28% 34% 29% 35% 32% 37% 49% 51% 53% 46% 44% 42% 23% 15% 18% 19% 24% 21% 0% 20% 40% 60% 2000 2002 2004 2006 2008 2010 Rapport CHAOS du Standish Group (années 2000) Successful Challenged Failed 24 stephanie.chollet@grenoble-inp.fr Un peu d’histoire… Dans les années 2010 : 56% des projets dépassent les ressources allouées Coût : 44% et Temps : 60% Progrès faibles depuis les années 2000 ! 39% 37% 41% 36% 36% 39% 46% 40% 47% 45% 22% 17% 19% 17% 19% 0% 20% 40% 60% 2011 2012 2013 2014 2015 Rapport CHAOS du Standish Group (années 2010) Successful Challenged Failed 25 stephanie.chollet@grenoble-inp.fr Quelques exemples : Voitures General Motors en 2014 Non détection des crashs considérés comme des tests : 1 mort et 3 blessés Starbucks en 2015 Impossibilité d’encaissement suite à une mise à jour pendant 2h pour 14000 points de vente : 3,5 millions d’euros Chrysler en 2015 Prise de contrôle à distance (15km) d’une Jeep roulant à 100km/h : 64 millions d’euros F-35 en 2016 Avion de combat américain dont le radar crashe aléatoirement, problème de calcul des coordonnées de vol, gestion des appareils amis/ennemis défectueuse : 20 à 100 milliards de dollars Boeing 737 Max en 2019 2 crashs d’avion (346 morts) 26 stephanie.chollet@grenoble-inp.fr Coût Les bugs et les échecs sont un véritable préjudice pour les entreprises : Perte financière lorsqu’un projet est annulé L’argent déjà dépensé est perdu Occasions manquées Lancements commerciaux manqués Manque des fonctions désirées ou nécessaires (dans un logiciel existant) Manque de productivité Manque de services Manque de support Coût du débogage (maintenance corrective) Coût des défauts 27 stephanie.chollet@grenoble-inp.fr Pourquoi le logiciel est complexe ? Hardware vs. Software Le matériel devient moins cher et plus puissant Pourquoi ce n’est pas le cas du logiciel ? Coût du logiciel Coût du matériel 29 stephanie.chollet@grenoble-inp.fr Pourquoi le logiciel est si complexe ? Nous faisons des choses difficiles dans les logiciels Un tâche simple et compréhensible est difficile à implanter ! uploads/Histoire/ cm1-introductiongl.pdf
Documents similaires
-
24
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 30, 2021
- Catégorie History / Histoire
- Langue French
- Taille du fichier 1.2567MB