Correction : Génie Logiciel - Quiz avec Correction sur le Développement Logiciel
Voici les réponses correctes pour ce quiz.
Question 1 : Lequel n'est pas un niveau de modèle de qualité CMMI ?
Explication : Les niveaux CMMI sont : Initial, Géré, Défini, Quantitativement Géré et Optimisation. 'Reproductible' n'est pas un niveau officiel du modèle CMMI.
-
Initial
-
Défini
-
✓ Reproductible
-
Aucune de ces réponses
Question 2 : Le langage OCL est :
Explication : OCL (Object Constraint Language) est un langage formel utilisé avec UML pour exprimer des contraintes précises sur les modèles, comme des invariants, préconditions et postconditions.
-
Un langage procédural
-
Un langage objet
-
Une interface de développement (IDE) comme Eclipse et NetBeans
-
✓ Un langage d'expression des contraintes utilisé par le langage UML
Question 3 : Lequel n'est pas un modèle de développement d'un projet ?
Explication : Les modèles de développement reconnus sont le modèle en V, en W (extension du V), en cascade, itératif, etc. Le modèle en Y n'est pas un modèle standard de développement logiciel.
-
Modèle en W
-
Modèle en V
-
✓ Modèle en Y
-
Aucune de ces réponses
Question 4 : En quoi consiste un plan d'assurance qualité ?
Explication : Un plan d'assurance qualité (PAQ) est un document complet qui définit les standards, procédures, activités et responsabilités pour garantir que le produit répond aux exigences de qualité.
-
Définir des mesures quantitatives de qualité des produits
-
Vérifier que tous les produits sont conformes à des critères de qualité
-
Établir des procédures formelles que doivent respecter les cycles de production et contrôler le respect
-
✓ Toutes ces réponses
Question 5 : L'intérêt de l'utilisation des interfaces dans la POO est :
Explication : Les interfaces en POO permettent de définir des contrats, favorisent le polymorphisme, permettent l'héritage multiple dans des langages comme Java, et améliorent la modularité et la maintenabilité du code.
-
Construction de véritables applications métier
-
Visibilité des services offerts par l'interface de l'extérieur
-
Possibilité d'implémenter l'héritage multiple pour certains langages de programmation
-
✓ Toutes ces réponses
Question 6 : Le modèle MVC a pour rôle la conception d'IHM en imposant une séparation entre :
Explication : MVC (Model-View-Controller) sépare l'application en trois composants : le Modèle (données/métier), la Vue (présentation/interface) et le Contrôleur (traitement/logique).
-
Les attributs et les méthodes des différentes classes concernées par l'IHM
-
✓ Les données, la présentation et les traitements de l'IHM concernée
-
Les différents paquetages manipulant l'IHM concernée
-
Aucune de ces réponses
Question 7 : La démarche MDA est :
Explication : MDA (Model-Driven Architecture) est une approche de développement logiciel qui utilise des modèles comme artefacts principaux, avec des transformations automatiques entre différents niveaux d'abstraction.
-
Un langage objet
-
✓ Un ensemble d'outils, concepts et langages pour créer et transformer des modèles
-
Une nouvelle méthode pour le développement des systèmes multi-agents
-
Toutes les réponses précédentes
Question 8 : Quel terme ne se rapporte pas à la modélisation d'un diagramme UML ?
Explication : 'Entité' est un terme plutôt associé aux modèles de données relationnels (MERISE) ou aux bases de données. En UML, on parle plutôt de 'classe', 'objet', 'nœud' (diagramme de déploiement) ou 'paquetage' (regroupement d'éléments).
-
✓ Entité
-
Nœud
-
Objet
-
Paquetage
Question 9 : Lequel n'est pas une méthode agile ?
Explication : Les méthodes agiles reconnues incluent Scrum, XP (eXtreme Programming), Kanban, etc. RAD (Rapid Application Development) est une approche rapide mais pas spécifiquement agile. PUMA et AXIAL ne sont pas des méthodes agiles standardisées.
-
PUMA
-
RAD
-
✓ AXIAL
-
XP
Question 10 : Quel énoncé est faux concernant la méthode de développement logiciel UP ?
Explication : Tous les énoncés sont vrais. UP (Unified Process) est effectivement itératif, incrémental, piloté par les risques et conduit par les cas d'utilisation, ce qui en fait une méthode complète et équilibrée.
-
C'est une méthode itérative et incrémentale
-
C'est une méthode pilotée par les risques
-
C'est une méthode conduite par les cas d'utilisation
-
✓ Aucune de ces réponses
Question 11 : Quel est l'objectif principal des tests unitaires ?
Explication : Les tests unitaires visent à vérifier le bon fonctionnement des plus petites unités testables d'une application (méthodes, fonctions, classes), généralement de manière isolée (avec des mocks/stubs si nécessaire).
-
Tester l'interface utilisateur
-
✓ Vérifier le bon fonctionnement d'un module ou composant isolé
-
Valider l'intégration entre différents modules
-
Tester les performances du système complet
Question 12 : Qu'est-ce qu'un pattern de conception Singleton ?
Explication : Le pattern Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global à cette instance. Il est utile pour gérer des ressources partagées comme des connexions bases de données.
-
✓ Un pattern qui limite l'instanciation d'une classe à un seul objet
-
Un pattern qui permet de créer des familles d'objets liés
-
Un pattern qui définit une interface pour créer un objet
-
Un pattern qui permet d'ajouter dynamiquement des responsabilités à un objet
Question 13 : Quel diagramme UML est le plus approprié pour modéliser les interactions entre objets ?
Explication : Le diagramme de séquence UML est spécialement conçu pour modéliser les interactions temporelles entre objets dans un scénario particulier, montrant l'ordre chronologique des messages échangés.
-
Diagramme de classes
-
✓ Diagramme de séquence
-
Diagramme de cas d'utilisation
-
Diagramme de déploiement
Question 14 : Qu'est-ce que l'intégration continue ?
Explication : L'intégration continue est une pratique de développement où les membres d'une équipe intègrent leur travail fréquemment, avec des intégrations automatisées qui détectent rapidement les erreurs d'intégration.
-
✓ Une pratique où les développeurs intègrent leur code fréquemment
-
Une méthode de test manuel exhaustive
-
Un processus de déploiement mensuel
-
Une technique de modélisation de données