Défis en Génie Logiciel Modernes
40 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quel est l'objectif principal des approches agiles en génie logiciel ?

  • Ralentir le processus de développement
  • Accélérer le déploiement de correctifs (correct)
  • Accroître la complexité des projets
  • Éviter les déploiements fréquents
  • Quelle est la spécificité de la méthode RapidRelease de Firefox ?

  • Déploiement tous les deux mois
  • Déploiement tous les six semaines (correct)
  • Développement en gros projets
  • Développement annuel
  • Quelle est la métrique utilisée pour mesurer le temps moyen de réparation dans le génie logiciel ?

  • BPM
  • FDD
  • MTBF
  • MTTR (correct)
  • Quel est un objectif typique dans la gestion de projet pour produire un produit de qualité ?

    <p>Respecter la date limite</p> Signup and view all the answers

    Comment Facebook, Netflix et Amazon gèrent-ils les déploiements de nouveaux services ?

    <p>En utilisant des micro-services</p> Signup and view all the answers

    Les changements majeurs dans l'architecture d'un jeu vidéo comme Eve Online prennent combien de temps pour être mis en œuvre ?

    <p>Six mois</p> Signup and view all the answers

    Quelle affirmation est fausse concernant l'évaluation de la qualité dans le génie logiciel ?

    <p>La qualité peut être évaluée uniquement à la fin du projet</p> Signup and view all the answers

    Quel aspect doit également être pris en compte dans la planification de la qualité d'un produit ?

    <p>La qualité de l'interface utilisateur</p> Signup and view all the answers

    Quel type de logiciel nécessite une approche différente de développement par rapport aux autres types mentionnés ?

    <p>Jeux vidéo</p> Signup and view all the answers

    Quelle est une conséquence d'un bogue dans un logiciel ?

    <p>Peut entraîner des conséquences graves</p> Signup and view all the answers

    Pourquoi est-il préférable d'être en retard sur la livraison d'un logiciel ?

    <p>La qualité du produit est priorisée</p> Signup and view all the answers

    Quel est un des défis actuels en génie logiciel ?

    <p>L'intégration des nouvelles technologies</p> Signup and view all the answers

    Quelles approches sont généralement utilisées pour développer un logiciel ?

    <p>Différentes approches selon le type de logiciel</p> Signup and view all the answers

    Quel exemple illustre que le développement et la maintenance d'un logiciel ne sont pas identiques ?

    <p>Le développement d'un logiciel de jeu</p> Signup and view all the answers

    Quelle est l'importance d'une approche réfléchie dans le développement logiciel ?

    <p>Elle augmente la sécurité et la qualité du produit</p> Signup and view all the answers

    Quel est un domaine spécifique qui nécessite une approche de génie logiciel ?

    <p>Modules d'intelligence artificielle</p> Signup and view all the answers

    Quel est l'un des défis actuels en génie logiciel évoqué dans le contenu ?

    <p>La collaboration entre des équipes globalisées</p> Signup and view all the answers

    Quelle est la priorité principale du développement selon le contenu ?

    <p>Fermer les failles de sécurité</p> Signup and view all the answers

    Quel facteur selon la loi de Brooks contribue à rendre un projet plus en retard ?

    <p>Augmenter le nombre de développeurs</p> Signup and view all the answers

    Quel est l'impact de former une nouvelle personne dans une équipe projet ?

    <p>Retard supplémentaire dans le projet</p> Signup and view all the answers

    Qu'est-ce qui doit être compris par une nouvelle personne pour intégrer efficacement une équipe ?

    <p>La documentation et la dynamique de l'équipe</p> Signup and view all the answers

    Quel est l'un des problèmes liés à l'utilisation de différentes versions de logiciels dans une équipe ?

    <p>Erreurs de calcul potentielles</p> Signup and view all the answers

    Quel est l'effet d'une équipe multidisciplinaire sur un projet logiciel ?

    <p>Augmente le nombre de compétences disponibles</p> Signup and view all the answers

    Quel est l'un des avantages de disposer d'une documentation adéquate dans un projet ?

    <p>Elle facilite l'intégration des nouveaux membres</p> Signup and view all the answers

    Quel est l'effet de la modification d'un logiciel sur son état ?

    <p>Il peut entraîner de l'« usure ».</p> Signup and view all the answers

    Quel exemple d'échec logiciel a entraîné une surdose de radiation ?

    <p>Therac-25</p> Signup and view all the answers

    Quelles étaient les conséquences d'une mauvaise gestion des exigences dans le cas de Mars Climate Orbiter ?

    <p>Perte de la sonde.</p> Signup and view all the answers

    Quel problème a contribué à la lente découverte des erreurs dans le cas de Therac-25 ?

    <p>La réutilisation de code ancien.</p> Signup and view all the answers

    Quel type de problème a été identifié avec la machine Varian SRS ?

    <p>Problèmes de réutilisation de code.</p> Signup and view all the answers

    Quel est un des problèmes majeurs ayant conduit à l'échec de Mars Climate Orbiter ?

    <p>Une confusion entre unités impériales et métriques.</p> Signup and view all the answers

    Un des effets de l'ignorance des conséquences lors des modifications de logiciels est :

    <p>L'introduction de bogues.</p> Signup and view all the answers

    Quel aspect des plaintes a été mal géré dans le cas de Therac-25 ?

    <p>Le suivi des plaintes.</p> Signup and view all the answers

    Quel est un des principaux défis en génie logiciel concernant la complexité?

    <p>La conformité à des règles arbitraires</p> Signup and view all the answers

    Quel aspect ne fait pas partie de l'approche d'ingénierie selon l'IEEE?

    <p>Flexibilité</p> Signup and view all the answers

    Quelle proportion de l'effort investit dans un projet logiciel se fait généralement après la livraison?

    <p>60% à 80%</p> Signup and view all the answers

    Pourquoi est-il essentiel de produire un logiciel maintenable?

    <p>Parce qu'un logiciel non modifié est celui qui n'est jamais utilisé</p> Signup and view all the answers

    Quelles difficultés sont principalement liées à la flexibilité des logiciels?

    <p>La difficulté à mesurer le coût d'un changement</p> Signup and view all the answers

    Quel exemple illustre la nature unique de chaque élément logiciel?

    <p>L'absence de redondance</p> Signup and view all the answers

    En quoi l'approche systématique en génie logiciel est-elle différente des méthodes traditionnelles?

    <p>Elle est appliquée à toutes les étapes du processus</p> Signup and view all the answers

    Quel est un obstacle à l'avancement rapide des outils de développement?

    <p>La variabilité des besoins des utilisateurs</p> Signup and view all the answers

    Study Notes

    Défis Actuels en Génie Logiciel

    • Marché: Le marché exige une flexibilité accrue.
      • Accélérer le déploiement de correctifs.
        • Réduire le MTTR (Mean Time To Repair/Recovery).
      • Raccourcir le délai entre l'expression d'un besoin et le déploiement d'une nouvelle fonctionnalité.
        • Adopter des approches agiles et des déploiements parallèles.
      • Diminuer l'écart entre les versions pour donner l'impression d'une innovation continue.
        • Exemples: Chrome/Firefox ("browser wars").
    • Processus dans l'industrie :
      • Firefox : RapidRelease (cycles de six semaines).
      • Facebook, Netflix, Amazon: Implémentation via des micro-projets (microservices).
        • Dès qu'un micro-projet est prêt, il est intégré au pipeline de déploiement.
        • Plusieurs déploiements par jour.
      • Eve Online (jeu vidéo, processus hybride):
        • Frontend, améliorations de l'interface : Six semaines.
        • Backend, changements majeurs dans l'architecture : Six mois.
    • Perception de la qualité:
      • La qualité est souvent perçue comme une propriété d'un produit fonctionnel.
        • C'est une idée fausse. La qualité doit être planifiée et évaluée tout au long du projet.
        • La qualité des exigences, de la conception, du code, des tests eux-mêmes... doivent toutes être prises en compte.
    • Objectifs typiques des projets logiciels:
      • Produire un produit de qualité.
      • Respecter la date limite.
      • Maîtriser les coûts.
      • Offrir une expérience agréable.
    • Équipes Globalisées:
      • Exemple d'Airbus 380 : 16 sites dans 4 pays.
        • La non-compatibilité entre CATIA v5 (France) et CATIA v4 (Allemagne) a causé une erreur de calcul et nécessité le remplacement de 530 km de fils.
    • Équipes Nombreuses:
      • Jeux AAA : 400 à 500 personnes.
      • Windows 7 : Environ 4000 personnes.
    • Équipes Multidisciplinaires:
      • Programmeurs backend et frontend.
      • Architectes logiciels.
      • Experts en sécurité.
      • Artistes visuels et sonores.
      • Analystes des besoins.
      • Experts du domaine.
      • Testeurs.
      • Gestionnaires de projet.
    • La Loi de Brooks (1975):
      • "Ajouter des développeurs à un projet en retard fera qu'il sera encore plus en retard."
      • Raisons:
        • Formation de la nouvelle personne (souvent par les développeurs initiaux).
        • Lecture de la documentation du projet (si elle existe).
        • Compréhension du fonctionnement de l'équipe (dynamique souvent implicite).
      • Conséquence :
        • La nouvelle personne se retrouve souvent isolée et ne sait pas quoi faire.
    • Usure Logicielle (Software Aging/Technical Debt):
      • Modifier le logiciel peut causer de "l'usure."
      • Exemples de problèmes:
        • Ajouter de nouvelles fonctionnalités que l'architecture initiale ne supporte pas bien.
        • Faire des modifications sans comprendre les conséquences.
        • Ne pas prendre en charge les nouvelles fonctionnalités qui deviennent populaires.
      • Les logiciels sont rarement retirés, ce qui conduit à une accumulation de "bagage logiciel."

    Échecs Majeurs

    • Therac-25 (1985-1987): Machine de radiothérapie canadienne avec des défauts logiciels.
      • Réutilisation de code déficient non-testé.
      • Problème rare et difficile à reproduire, plaintes mal suivies.
      • Découverte tardive du problème (plus de deux ans).
      • Résultat : Administration de doses 100 fois supérieures à la dose prévue, entraînant des morts.
      • Problèmes:
        • Mauvaise approche de réutilisation du code.
        • Suivi insuffisant des plaintes.
        • Mauvais enseignement (problèmes similaires au Panama en 2001 et avec la machine Varian SRS en 2010).
    • Mars Climate Orbiter (1999): Mélange d'unités de mesure (système métrique et impérial).
      • Exigences initiales fournies au sous-contractant en unités impériales.
      • Attentes du client pour des données en système métrique.
      • Problème détecté pendant le vol entre la Terre et Mars.
      • Les navigateurs n'ont pas été écoutés.
      • Résultat : perte d'une sonde de 330 millions de dollars.
      • Problèmes:
        • Mauvaise gestion des exigences (différences entre les documents des utilisateurs de la NASA et ceux des développeurs de Lockheed).
        • Tests inadéquats.
        • Consultation insuffisante des experts.

    Défis Actuels en Génie Logiciel - Résumé

    • Complexité:
      • Chaque élément logiciel est unique.
      • Pas de redondance, mais de la réutilisation.
      • Le génie traditionnel se base sur des modèles simplifiés de réalités complexes, le génie logiciel est le contraire.
    • Conformité :
      • Pas de loi fondamentale comme en physique (E=mc2).
      • Le logiciel doit se conformer à des règles arbitraires (architecture von Neumann, TCP et QoS).
    • Flexibilité:
      • Un bon logiciel nécessite des mises à jour importantes.
      • Les bâtiments changent aussi, mais il est plus facile de mesurer l'impact des modifications.
    • Avancement Rapide:
      • Les outils de développement (bibliothèques, matériel, plateformes) évoluent rapidement.
    • L'approche d'ingénierie:
      • Application d'une approche systématique, disciplinée, quantifiable au développement, l'opération et la maintenance des logiciels.
      • IEEE (Institute of Electrical and Electronics Engineers)
    • Exigences:
      • 60% à 80% de l'effort consacré au logiciel a lieu après sa livraison.
      • Résultat : Le développement doit produire un logiciel maintenable.
      • "Le seul logiciel qui n'est pas modifié est celui qui n'est jamais utilisé."

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    01-GénieLogicielProcessus.pdf

    Description

    Explorez les défis actuels du génie logiciel, notamment la nécessité de flexibilité, les délais de déploiement et l'innovation continue. Analysez comment des entreprises comme Firefox et Facebook adoptent des méthodes agiles pour répondre aux demandes du marché. Cette évaluation mettra en lumière les pratiques et processus qui transforment l'industrie aujourd'hui.

    More Like This

    Software Engineering Essentials Quiz
    12 questions
    Scrum and Agile Methodologies Quiz
    10 questions
    Métodos de Desarrollo de Software
    26 questions
    Use Quizgecko on...
    Browser
    Browser