Qualité & Sûreté de Fonctionnement logiciel Enjeux essentiels dans la conceptio
Qualité & Sûreté de Fonctionnement logiciel Enjeux essentiels dans la conception et le fonctionnement des systèmes Alexis TODOSKOFF Origines Qualité & SdF Logiciel 3 13-16 APRIL ◉11/10/1968 à Garmish-Partenkirchen (OTAN) « software engineering » ►2 constatations sur les logiciels « software crisis » - Non fiables - Incroyablement difficiles à réaliser dans les délais prévus tout en satisfaisant leurs cahiers des charges ◉Fin de l’illusion (complètement dissipée ?) - Programmation = activité intellectuelle excitante voire ludique où il suffit d’être intelligent pour réussir... Naissance du Génie Logiciel Les premières apparitions de la Qualité et de la Sûreté de Fonctionnement 4 13-16 APRIL ◉Cf. Génie civil, chimique, électrique, … besoin pour le développement logiciel - Bases théoriques - Ensembles de méthodes & outils validés par la pratique ►Logiciel ó objet manufacturé complexe ◉But : définir des techniques de « fabrication » justifiées soit par la théorie soit par la pratique Terminologie du Génie Logiciel Qu’est-ce que le Génie Logiciel ? 5 13-16 APRIL ◉Génie Logiciel « méta-discipline qui fixe des règles et des garde-fous qui vont agir comme autant de conditions nécessaires au bon déroulement du processus de fabrication » /J. Printz 2005/ ►Se préoccupe des procédés de fabrication et assure - Fabrication répond correctement aux besoins - Coûts & délais restent dans les limites fixées au départ - Respect du contrat de service dans l’exploitation future du logiciel (performance, Sûreté de Fonctionnement, sécurité, …) Définition du Génie Logiciel Définition du Génie Logiciel 6 13-16 APRIL ◉Nécessité incontournable - Entreprises développant des systèmes incluant du logiciel ◉Indispensable - Systèmes de grande taille - Présence de risques (vie humaine, propriété, ...) ►Principes, méthodes et des techniques permettant de développer des logiciels avec une qualité établie, de façon économique et dans les délais fixés - Aspects d’organisation des équipes - Pbs techniques liés aux activités de développement Maîtrise du Génie Logiciel Application du Génie Logiciel 7 13-16 APRIL ◉Tout le processus de développement du logiciel - Analyse - Spécification - Conception - Programmation - Test ►Modèles, outils & techniques spécifiques / étape ◉En // des processus globaux gestion administrative, validation et vérification, gestion des versions et des configurations, documentation, … ◉En fin de développement installation, exploitation, maintenance, … Étapes du Génie Logiciel Application du Génie Logiciel Constat Ingénierie Logiciel 9 13-16 APRIL ◉Progression continuel du matériel informatique ◉Crise du logiciel = maladie chronique : symptômes - Coût de développement quasi-impossible à prévoir (dépassements moyens de 70% du coût) - Délai de livraison rarement respecté (dépassements moyens de 50% du délai) - Qualité logiciel souvent déficiente (80% ne satisfont pas les besoins utilisateur, consomme + de ressources que prévu, pannes, …) - Fiabilité logiciel peu fiable (60% = fautes de conception) - Maintenance logiciel difficile, coûteuse (60% du budget total) et à l’origine de nouvelles erreurs - Réutilisation logiciels (composants) quasi-inexistante (amortissement impossible) Constat dans l’informatique Crise du logiciel ? 10 13-16 APRIL Echecs projets – chiffres récents Maladie Chronique… dans les projets de développement logiciel ◉Réussites / échecs projets info. /chaos report 2015/ (25 000 projets à travers le monde sur la période 2011-2015) - 6 attributs des échecs (% des projets 2011-15) 3 (processus de gestion du projet) & 3 (résultat pour les clients) . Dépassement du budget : 56% . Retard du délai livraison : 60% . Objectif non respecté : 44% . Valeur non présente : 41% . Buts non atteints : 38% . Non satisfaction : 44% - Chiffres clés . Réussi : 27-31% ; Difficulté : 49-56% ; Echec : 17-22% . Impact de l’agilité, de la taille (petit < 1M$; grand > 10M$) et de la complexité ►Peu d’autres industries présentent une telle situation… 11 13-16 APRIL Démarche informatique Qu’est qui se passe réellement ? 12 13-16 APRIL ◉Problèmes dans les logiciels temps réel embarqués - Mission Vénus : passage à 5.000.000 km au de 5.000 km prévus (défaillance trajectoire : remplacement d’une virgule par un point - Fortran) - Avion F16 déclaré sur le « dos » au passage de l’équateur (changement de signe de la latitude mal pris en compte) - 2 jours de retard pour le lancement 1ère navette spatiale (manque de synchro. entre 2 calculateurs) - Non-reconnaissance par la marine anglaise de l’exocet (non répertorié comme missile ennemi ; guerre des Malouines) - Fusée russe pointant Hambourg au lieu du pôle Nord (erreur de signe : erreur de 180° du système de navigation) - Echec 1er lancement d’Ariane V (réutilisation code d’Ariane IV non adapté à Ariane V) - Destruction sonde Mars Climate Orbiter (confusion entre pieds et mètres) - Crash sonde Mars Polar Lander (logiciel a coupé les moteurs à 40m du sol) (Pour respecter le planning de lancement, les tests prévus n’ont pas été menés à leur terme) Erreurs célèbres (1) « Le logiciel n’est pas fiable » 13 13-16 APRIL ◉Problèmes dans les logiciels temps réel au sol - Fusée à l’eau (données communiquées avec une mauvaise unité) - Métro « fantôme » à San Francisco (erreur non détectée) - Décès de malades dans un hôpital USA (erreur de monitoring) - Déclenchement du système de détection américain des missiles stratégiques (lune considérée comme un OVNI) - Naufrage du Zenobia en 1980 (bug du logiciel de gestion de la stabilité du navire) - Inondation en 1983 de la vallée du Colorado River (mauvaise modélisation du temps d’ouverture du barrage) - Impossibilité en 1990 d’appel longue distance 9h (ATT côte est USA) (réaction en chaîne d’une nouvelle version du logiciel réseau) - Absence en 2000 de réseau téléphonique 1 jour (FT Paris) - Convocation de centenaires à l’école primaire (bug de l’an 2000 : codage de l’année sur 2 chiffres) Erreurs célèbres (2) « Le logiciel n’est pas fiable » 14 13-16 APRIL ◉Projets n’aboutissant pas - Compilateur PL1 chez Control Data dans les années 70 - Echec du déploiement de PeopleSoft chez Avis (2004) (complexité, intégration) - Dossier patients Agence Nationale de Santé UK (2002-2011) (dépenses 6x supérieures : projet sans objectif, sans planning et sans supervision) - Dossier criminel virtuel du FBI (2000-2004) (4 ans pour réaliser 10% des fonctionnalités : complexité, spécifications) - ERP Oracle US Air Force (2005-2012) (dépassement de budget : 1,1 Md€) - Logiciel Louvois : gestion de paie des militaires (2011-2015) (>200 M€ de perte) ◉Projets aboutissant (retards importants et remises en cause dramatiques) - Système de contrôle-commande de centrales nucléaires 1 400 MW - EDF - Système SOCRATE - SNCF (1993-2003) : difficultés déploiement et utilisation Projets douloureux « Il est incroyablement difficile de réaliser dans des délais prévus des logiciels satisfaisant leurs cahiers des charges » 15 13-16 APRIL ◉Problèmes dans les logiciels - Lexus ES350 Toyota (2009) : 200 à 400 morts et 2,4 Md$ (rappels) (accélération involontaire à 150 km/h tout en désactivant la pédale de frein) - Algorithme de trading automatique Knight Capital (2012) : 440 M$ (mini-krach à la bourse de New-York : passage d’ordres d’achat anormaux) - Jeep Chrysler (2015) : 1,4 M de véhicules rappelés (70 M$) (piratage informatique à 15 km de distance et à 100 km/h faille de connexion avec le téléphone permettant d’accéder à toutes les commandes de la voiture : volant, accélérateur, verrouillage portières…) - Starbucks (2015) : 2h sans encaissement (4 M$) (mise à jour du logiciel de caisse : 14.000 points de vente USA inopérants) - Avion F-35 DoD (2016) : plusieurs bugs informatiques (20 à 100 Md$) (radar, coordonnées de vol… : production des appareils avec un logiciel « non terminé ») - Général Motors (2016) : logiciel de prétensionneurs des ceintures de sécurité (mauvaise identification d’un accident dans certaines conditions : pas de « rétraction ») Aujourd’hui c’est mieux (1) Pas si sûr… 16 13-16 APRIL ◉Boeing 737 Max : 2 crashs (2018, 2019), 346 morts, 400 appareils cloués au sol 2 ans (>20 Md$) - Développement accéléré et négligence de certains aspects sécuritaire (concurrence Airbus A320) . Défaillance du logiciel automatique anti-décrochage (MCAS) . Processus de certification délégué à Boeing lui-même (FAA Federal Aviation Administration’s) . Défaillances dans la formation des pilotes (rien sur l’utilisation du système anti-décrochage de l’appareil) : 2h sur un ordinateur personnel et un message de félicitations . Documentation constructeur incomplète pour les pilotes - Nouveaux problèmes en 2020 . Dysfonctionnement du logiciel de suivi des systèmes clés de l’avion Aujourd’hui c’est mieux (2) Exemple « parfait » ? Causes et bilan Crise du Logiciel 18 13-16 APRIL ◉ Activités techniques - Difficulté à faire face à la complexité croissante des logiciels - Incompréhension des besoins des utilisateurs (exigences) - Difficulté à prendre en compte l’évolution des besoins - Incompatibilités avec d’autres systèmes (intégration) - Absence ou manque d’outils pour les mettre en œuvre - Technologie non maîtrisée et/ou non faisabilité technique - Absence ou non mise à jour de la documentation ◉ Gestion de projet - Objectif et enjeux imprécis ou non définis - Planning sous estimé - Etapes non finalisées (conception, vérification…) - Inadéquation des ressources humaines (compétences, connaissance du domaine métier, indisponibilité…) - Non utilisation de pratiques standards ayant fait leur uploads/Industriel/ alexis-todoskoff-vf-presentation-slides-new.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 07, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 5.2899MB