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 (A), Développement par prototypage (B), Développement incrémental (D)</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 (B)</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 (B)</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 (A), Tests de boîte blanche (B), Tests unitaires (C), Tests alpha (D), Tests de recette (E), Tests de boîte noire (F), Tests d'intégration (G), Tests de non conformité (H), Tests de conformité (I), Tests d'intégration système (J)</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 (A)</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. (C)</p> Signup and view all the answers

    Flashcards

    Définition de Logiciel (Software)

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

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

    Ensemble des activités de conception et de mise en œuvre des produits et procédures tendant à rationaliser la production du logiciel et son suivi.

    Validité d'un logiciel

    L'aptitude d'un logiciel à réaliser exactement les tâches définies par sa spécification.

    Robustesse d'un logiciel

    L'aptitude d'un logiciel à fonctionner même dans des conditions anormales.

    Signup and view all the flashcards

    Fiabilité d'un logiciel

    L'aptitude d'un logiciel à assurer de manière continue le service attendu.

    Signup and view all the flashcards

    Extensibilité d'un logiciel

    Facilité d'adaptation d'un logiciel aux changements de spécification.

    Signup and view all the flashcards

    Portabilité d'un logiciel

    Facilité à être porté sur de nouveaux environnements matériels et/ou logiciels.

    Signup and view all the flashcards

    Réutilisabilité d'un logiciel

    Aptitude d'un logiciel à être réutilisé en tout ou partie.

    Signup and view all the flashcards

    Compatibilité d'un logiciel

    Capacité du logiciel à être combiné avec d'autres logiciels.

    Signup and view all the flashcards

    Efficacité d'un logiciel

    Aptitude d'un logiciel à bien utiliser les ressources matérielles.

    Signup and view all the flashcards

    Vérifiabilité d'un logiciel

    Facilité de préparation des procédures de recette et de certification.

    Signup and view all the flashcards

    Intégrité d'un logiciel

    Aptitude d'un logiciel à protéger ses différents composants contre des accès ou des modifications non autorisés.

    Signup and view all the flashcards

    Traçabilité d'un logiciel

    Aptitude d'un logiciel à identifier et/ou suivre un élément du cahier des charges lié à un composant du logiciel.

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Facilité de vérification

    Facilité de vérification

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Autodocumentation

    Autodocumentation

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Vérifications formelles possibles

    Vérifications formelles possibles

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Structuration

    Structuration

    Signup and view all the flashcards

    Maintenabilité d'un logiciel: Clarté

    Clarté

    Signup and view all the flashcards

    Maintenabilité d'un logiciel: Concision

    Concision

    Signup and view all the flashcards

    Maintenabilité d'un logiciel: Lisibilité

    Lisibilité

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Facilité d'adaptation

    Facilité d'extension

    Signup and view all the flashcards

    Maintenabilité d'un logiciel : Facilité d'adaptation

    Documentation technique

    Signup and view all the flashcards

    Gestion de Projet

    Diviser le projet en différentes activités

    Signup and view all the flashcards

    Gestion de Projet

    Déterminer ce qui est inclus en chaque activité

    Signup and view all the flashcards

    Développement par prototypage

    Évaluer le degré de participation de l'utilisateur

    Signup and view all the flashcards

    Conception d'un logiciel

    Déterminer ce qui sera réalisé par le logiciel (software) et par le matériel (hardware)

    Signup and view all the flashcards

    Conception d'un logiciel - Architecture

    Mettre au point l’architecture du système, la définition des sous-systèmes et de leurs interactions

    Signup and view all the flashcards

    Modélisation

    Créer des représentations du logiciel et de son domaine d’application.

    Signup and view all the flashcards

    Modélisation - Modélisation de l'utilisation

    Modélisation de son utilisation (use case modelling)

    Signup and view all the flashcards

    Modélisation - Modélisation de la structure

    Modélisation de sa structure (structural modelling)

    Signup and view all the flashcards

    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

    Use Quizgecko on...
    Browser
    Browser