Génie Logiciel Chapitre 1
14 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 le but principal du génie logiciel?

Le but principal du génie logiciel est de produire des logiciels de qualité en respectant les délais et les coûts.

Que signifie l'expression « crise de logiciel » ?

L'expression « crise de logiciel » fait référence à une période où les projets logiciels étaient souvent en retard, dépassaient les budgets prévus et ne répondaient pas toujours aux besoins des utilisateurs.

Quels sont les critères de qualité d'un logiciel?

  • Traçabilité (correct)
  • Maintenabilité (correct)
  • Robustesse (correct)
  • Portabilité (correct)
  • Intégrité (correct)
  • Fiabilité (correct)
  • Validité (correct)
  • Extensibilité (correct)
  • Réutilisabilité (correct)
  • Efficacité (correct)
  • Compatibilité (correct)
  • Vérifiabilité (correct)
  • Quels sont les trois principaux modèles de développement logiciel?

    <p>Développement itératif</p> Signup and view all the answers

    Le développement itératif est une méthode qui consiste à construire le système en entier en un seul pas.

    <p>False</p> Signup and view all the answers

    Le développement incrémental consiste à exécuter les activités (exigences, conception, implémentation) dans une série d'itérations.

    <p>False</p> Signup and view all the answers

    Qu'est-ce qu'un prototype?

    <p>Un prototype est un modèle exécutable d'un système logiciel qui souligne ses aspects spécifiques.</p> Signup and view all the answers

    Quels sont les types de tests logiciels?

    <p>Tests fonctionnels</p> Signup and view all the answers

    Expliquez la différence entre les tests de boîte noire et les tests de boîte blanche.

    <p>Les tests de boîte noire testent le fonctionnement externe du système sans se soucier de la manière dont il fonctionne en interne. Les tests de boîte blanche, quant à eux, vérifient le code source et les détails d'implémentation du logiciel.</p> Signup and view all the answers

    Quels sont les avantages de l'utilisation d'une technologie à jour pour le développement logiciel?

    <p>Les avantages d'une technologie à jour sont nombreux, notamment la robustesse, l'efficacité, la sécurité, la portabilité et la possibilité d'intégrer des solutions innovantes.</p> Signup and view all the answers

    Les tests de non-régression vérifient que le logiciel fonctionne correctement après chaque modification.

    <p>True</p> Signup and view all the answers

    Quelles sont les activités communes aux projets de génie logiciel?

    <p>Les activités communes aux projets de génie logiciel sont : la gestion du projet, la définition et spécification des exigences, la conception, la programmation, le déploiement, et l'assurance de qualité à travers les tests.</p> Signup and view all the answers

    Qu'est-ce que la modélisation dans le contexte du développement logiciel?

    <p>La modélisation consiste à créer des représentations du logiciel et de son domaine d'application. Elle permet de visualiser la structure, la dynamique et le comportement du système.</p> Signup and view all the answers

    Quel est le rôle de la documentation dans la modélisation du logiciel?

    <p>Elle aide à comprendre la structure et le fonctionnement du logiciel.</p> Signup and view all the answers

    Study Notes

    Cours de Génie Logiciel

    • Le cours est donné par Bouassida Nadia
    • Le plan du cours comprend plusieurs chapitres:
      • Chapitre 1: Le génie logiciel (génie logiciel, crise du logiciel, définition, qualités)
      • Chapitre 2: Les fondements de l'ingénierie des besoins
      • Chapitre 3: Le cahier de charge
      • Chapitre 4: Cycle de vie du logiciel: Méthodes agiles
      • Chapitre 5: Processus unifié
      • Chapitre 6: Scrum

    Chapitre 1: Rappel sur le génie logiciel

    • Définitions
    • Critères de qualité: extensibilité, modularité, réutilisabilité...
    • Cycle de vie du logiciel

    Introduction au génie logiciel

    • Logiciel: ensemble de programmes et documents nécessaires à l'installation, utilisation, développement et maintenance
    • Génie logiciel: méthodes, techniques et outils pour la production de logiciels de qualité avec maîtrise des coûts et délais.

    Définition du terme logiciel (Software)

    • Ensemble des programmes, procédures et règles (et éventuellement la documentation) relatifs au fonctionnement d'un ensemble de traitement de l'information.

    Définition du terme Génie Logiciel (Software Engineering)

    • Ensemble des activités de conception et de mise en œuvre des produits et procédures visant à rationaliser la production du logiciel et son suivi.
    • Art de spécifier, concevoir, réaliser et faire évoluer les programmes, documentations et procédures de qualité pour utiliser un ordinateur et résoudre des problèmes.

    Objectifs du génie logiciel

    • Produire des logiciels adaptés aux besoins des utilisateurs
    • Réduire les coûts de production et maintenance des logiciels en développant des composants réutilisables
    • Augmenter la performance, la portabilité et la fiabilité des logiciels
    • Augmenter la durée de vie des logiciels
    • Produire des logiciels efficaces dans un délai raisonnable

    Les buts du génie logiciel

    • Validité: aptitude du logiciel à réaliser les tâches définies par la spécification
    • Fiabilité: aptitude du logiciel à assurer le service attendu de manière continue (précision, intégralité, tests, uniformité)
    • Robustesse: aptitude du logiciel à fonctionner même dans des conditions anormales
    • Extensibilité: facilité d'adaptation du logiciel aux changements de spécification
    • Réutilisabilité: aptitude d'un logiciel à être réutilisé en tout ou partie
    • Compatibilité: aptitude des logiciels à être combinés entre eux
    • Efficacité: aptitude du logiciel à bien utiliser les ressources matérielles (mémoire, puissance de l'unité centrale de traitement...).
    • Portabilité: facilité à être porté sur de nouveaux environnements matériels et/ou logiciels (utilisation d'un langage standardisé, indépendance du matériel et du système d'exploitation).
    • Traçabilité: capacité à identifier et suivre un élément du cahier des charges lié à un composant du logiciel
    • Vérifiabilité: facilité de préparation des procédures de recette et de certification
    • Intégrité/Sécurité: aptitude du logiciel à protéger ses composants contre les accès ou modifications non autorisés
    • Facilité d'utilisation/d'entretien...

    Les buts du génie logiciel (suite)

    • Maintenabilité: facilié de vérifier, autodocumentation, vérification formelles possibles, structuration, clarté, concision, lisibilité, facilité d'adaptation
    • Éviter les bogues (défauts): pour avoir un logiciel de qualité
    • Bogue : non respect de la spécification (définition des fonctionnalités du système).

    Historique: La crise du Logiciel

    • Manque de maîtrise dans le développement des logiciels
    • Retard des projets informatiques (90% selon Aberdeen)
    • Nombre important de projets qui n'aboutissent pas ou ne répondent pas aux exigences
    • Nombreux projets informatiques n'ayant jamais abouti.
    • Problèmes de budget et de délais.
    • 30% des projets sont annulés avant la mise en production.
    • 50% des projets informatique dépassent le budget prévu.

    La crise du Logiciel (suite)

    • Coûts du logiciel élevés: 100€ par instruction + maintenance élevée.
    • Correction d'une erreur devient plus coûteuse à chaque étape (×10). Il faut donc détecter les erreurs dès le début du processus.
    • Nécessité d'une méthode de développement phasée et respectée.

    La solution

    • Processus formels de développement
    • Spécification claire et complète
    • Processus d'assurance qualité (écriture, réalisation des étapes, preuves)
    • Documentation de chaque étape
    • Existence de points de contrôle
    • Méthode structurée, phasée, inspection et validation après chaque phase.
    • Automatisation, adaptabilité et processus formel de tests.
    • Utilisation de technologies modernes
    • Tests extensifs (boîte noire, boîte blanche, conformité, non conformité, tests bêta, alpha, unitaires, intégration, système et recette)

    Activités communes aux projets de génie logiciel

    • Gestion de projet
      • Divisibilité du projet en activités
      • Décision sur la séquence des activités
      • Choix d'un modèle/processus de developpement (itératif; incrémental, par prototypage)
    • Définition et spécification des exigences
    • Analyse de domaine, du problème, cueillette exigences, analyse exigences
      • Spécification formelle des exigences
    • Conception
    • Modélisation
    • Développement
    • Utilisation d'outils modernes
    • Déploiement.
    • Assurance qualité (tests)

    Activités communes aux projets de génie logiciel (suite)

    • Développement itératif: exécution des activités dans une série d'itération.
    • Développement incrémental: implémentation partielle du système
    • Prototypage: modèle exécutable sous forme d'un petit prototype

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Cours de Génie Logiciel PDF

    Description

    Ce quiz couvre les concepts fondamentaux du génie logiciel, y compris sa définition, les critères de qualité, et le cycle de vie du logiciel. Il est basé sur le premier chapitre du cours dispensé par Bouassida Nadia. Testez vos connaissances sur les notions clés et les méthodes qui sous-tendent le développement de logiciels de qualité.

    More Like This

    Software Quality Assurance Quiz
    5 questions
    Software Engineering: Quality Standards
    10 questions
    Software Process Models and Quality Factors
    40 questions
    Use Quizgecko on...
    Browser
    Browser