QCM : Introduction au génie logiciel (26 questions)

Questions et réponses du QCM

1. Quelle définition décrit le mieux un logiciel ?

Un document décrivant les besoins du client pour guider le développement informatique
Un ensemble de composants physiques assemblables pour réaliser une fonction informatique
Un ensemble de programmes permettant d’exécuter une tâche ou une fonction spécifique
Une représentation simplifiée d’un système créée avec un langage de modélisation

Un ensemble de programmes permettant d’exécuter une tâche ou une fonction spécifique

Explication

Un logiciel regroupe des programmes qui permettent à un système informatique d’accomplir une tâche ou une fonction précise. La description des composants physiques correspond plutôt à un produit concret, tandis qu’un document d’exigences et un modèle ont d’autres rôles.

2. Quelle distinction caractérise correctement un logiciel par rapport à un produit concret ?

Le logiciel est défini par des composants matériels, tandis que le produit concret est constitué de programmes
Le logiciel est composé de pièces assemblables, tandis que le produit concret existe sous une forme abstraite
Le logiciel est abstrait et créé par des humains, tandis que le produit concret possède des composants physiques remplaçables
Le logiciel est fabriqué mécaniquement, tandis que le produit concret est entièrement conçu par des humains

Le logiciel est abstrait et créé par des humains, tandis que le produit concret possède des composants physiques remplaçables

Explication

Un logiciel est un produit abstrait développé par des humains, alors qu’un produit concret comporte des éléments physiques qui peuvent être assemblés et remplacés. Les autres propositions inversent ces caractéristiques ou attribuent au logiciel une structure matérielle.

3. Dans le domaine du génie logiciel, qu’est-ce qu’un modèle ?

Un ensemble de procédures destinées à contrôler les coûts du développement
Une représentation simplifiée d’une réalité réalisée avec un langage de modélisation
Un groupe de personnes touchées par les résultats d’un projet informatique
Un document contractuel décrivant les exigences que le logiciel doit satisfaire

Une représentation simplifiée d’une réalité réalisée avec un langage de modélisation

Explication

Un modèle représente une réalité ou en propose une simplification au moyen d’un langage de modélisation. Les exigences sont consignées dans un cahier des exigences, tandis qu’un groupe concerné constitue une partie prenante.

4. Quelle activité relève du génie logiciel plutôt que de la programmation au sens strict ?

Organiser la conception, le développement et la maintenance à l’aide de méthodes et d’outils
Saisir des commandes permettant de tester une fonction isolée du logiciel
Écrire les instructions du programme en respectant la syntaxe d’un langage choisi
Traduire chaque instruction écrite en code machine avant son exécution

Organiser la conception, le développement et la maintenance à l’aide de méthodes et d’outils

Explication

Le génie logiciel englobe la conception, le développement et la maintenance au moyen de méthodes, de techniques et d’outils. La programmation concerne principalement l’écriture du code et ne couvre pas à elle seule l’ensemble du cycle logiciel.

5. Laquelle des personnes suivantes correspond à la définition d’une partie prenante ?

Un développeur chargé d’écrire le code sans être concerné par les effets du projet
Un dispositif matériel utilisé pour exécuter le logiciel dans l’organisation cliente
Une personne ou un groupe affecté par un projet logiciel, à l’intérieur ou à l’extérieur de l’organisation
Un document interne qui répertorie les fonctionnalités attendues par l’équipe

Une personne ou un groupe affecté par un projet logiciel, à l’intérieur ou à l’extérieur de l’organisation

Explication

Une partie prenante est toute personne ou tout groupe affecté par le projet, qu’il appartienne ou non à l’organisation. Un document d’exigences, un dispositif matériel ou un rôle limité à l’écriture du code ne correspondent pas à cette définition.

6. À quoi sert principalement un cahier des exigences logiciel ?

À représenter graphiquement l’architecture du logiciel avant son implémentation
À mesurer les ressources matérielles nécessaires après la livraison du logiciel
À décrire les exigences du client que l’équipe doit satisfaire pour réussir le logiciel
À répartir les tâches quotidiennes entre les membres de l’équipe de développement

À décrire les exigences du client que l’équipe doit satisfaire pour réussir le logiciel

Explication

Le cahier des exigences décrit les besoins du client que l’équipe de développement doit satisfaire. Une représentation architecturale, une répartition des tâches ou une estimation matérielle peuvent être utiles, mais ne constituent pas sa fonction principale.

7. Quel ensemble de problèmes caractérisait la crise logicielle des années 1960 et 1970 ?

Une amélioration des méthodes de validation, une maintenance simplifiée et une grande stabilité des exigences
Une limitation du stockage matériel, une faible vitesse de calcul et une absence de langages de programmation
Une baisse des coûts, une livraison anticipée et une adaptation immédiate aux besoins des utilisateurs
Des retards et des dépassements budgétaires, ainsi que des logiciels difficiles à utiliser et à maintenir

Des retards et des dépassements budgétaires, ainsi que des logiciels difficiles à utiliser et à maintenir

Explication

La crise logicielle se manifestait par le non-respect des délais et des budgets, des logiciels inadéquats et des difficultés d’utilisation, de maintenance et de mise à niveau. Les autres ensembles décrivent soit des progrès, soit des problèmes matériels qui ne résument pas cette crise.

8. Quelle situation constitue une cause de faible qualité logicielle ?

La validation menée auprès du client afin de vérifier que le logiciel répond à ses attentes
La représentation du logiciel par des modèles pour réduire sa complexité et faciliter sa compréhension
L’absence de méthodes de conception et de validation, combinée à une prise en compte insuffisante des besoins
L’engagement marqué du client dans le suivi du projet et l’expression régulière de ses besoins

L’absence de méthodes de conception et de validation, combinée à une prise en compte insuffisante des besoins

Explication

L’absence de méthodes de conception et de validation, ainsi que la négligence des besoins, contribue à une faible qualité logicielle. La validation, lorsqu’elle vérifie la satisfaction du client, est au contraire une activité de contrôle et non une cause de cette faiblesse.

9. Quel objectif correspond au génie logiciel lorsqu’un projet est lancé ?

Réduire les échanges avec le client afin de préserver l’autonomie technique de l’équipe
Appliquer des procédures systématiques pour aligner les besoins, la spécification, le logiciel, les délais et les coûts
Produire rapidement du code en laissant les exigences évoluer sans contrôle pendant le développement
Concentrer l’effort sur l’apparence du logiciel avant de vérifier sa conformité aux besoins réels

Appliquer des procédures systématiques pour aligner les besoins, la spécification, le logiciel, les délais et les coûts

Explication

Le génie logiciel vise une démarche systématique garantissant l’adéquation aux besoins réels, la conformité à la spécification et le respect des délais et des coûts. L’absence de contrôle des exigences ou la réduction des échanges avec le client compromet précisément ces objectifs.

10. Un logiciel propose toutes les fonctions demandées, mais certaines sont incomplètes et produisent des résultats incorrects. Quel critère de qualité est principalement en cause ?

La compatibilité
La portabilité
La validité
L’aptitude fonctionnelle

L’aptitude fonctionnelle

Explication

L’aptitude fonctionnelle évalue la correction, la complétude et l’adéquation des fonctions fournies par le logiciel. La validité concerne plutôt la pertinence globale de la solution par rapport au problème réel du client.

11. Un logiciel fonctionne conformément à ses spécifications, mais il ne répond pas au véritable besoin métier du client. Quel critère est insuffisant ?

La performance
La fiabilité
La validité
L’utilisabilité

La validité

Explication

La validité indique que le logiciel constitue la bonne solution au problème réel et respecte les besoins du client. Un fonctionnement conforme aux spécifications ne garantit pas que le problème traité soit le bon.

12. Un logiciel doit continuer à fournir des résultats corrects malgré certaines fautes lors de son utilisation. Quelle qualité doit-il principalement posséder ?

La sécurité
La maintenabilité
La fiabilité
La performance

La fiabilité

Explication

La fiabilité correspond à la capacité du logiciel à tolérer les fautes et à produire des résultats corrects à chaque utilisation. La performance concerne plutôt le temps de réponse, le débit et la fluidité.

13. Lequel des éléments suivants appartient à l’ensemble des critères de qualité logicielle ?

La centralisation
La planification
La maintenabilité
La commercialisation

La maintenabilité

Explication

La maintenabilité fait partie des critères de qualité logicielle, avec notamment l’aptitude fonctionnelle, la validité, la performance et la sécurité. Les autres éléments proposés ne figurent pas dans cet ensemble de critères.

14. Dans quelle phase du cycle de développement les erreurs sont-elles corrigées et le logiciel adapté après sa livraison ?

La spécification
La programmation
La conception
La maintenance

La maintenance

Explication

La maintenance intervient après la livraison et comprend les corrections ainsi que les adaptations et améliorations du logiciel. La programmation et la conception se déroulent avant la validation et la livraison.

15. Une équipe évalue les solutions possibles, les ressources disponibles et le budget avant de commencer un projet logiciel. Quelle phase réalise cette analyse ?

La validation
L’étude de faisabilité
La livraison
La spécification

L’étude de faisabilité

Explication

L’étude de faisabilité détermine pourquoi le logiciel doit être développé et si les ressources, le personnel, l’équipement et le budget sont disponibles. La spécification décrit plutôt ce que le logiciel doit faire.

16. Quelle distinction décrit correctement les exigences fonctionnelles et non fonctionnelles ?

Les premières précisent l’interface, les secondes définissent le calendrier
Les premières décrivent les fonctions, les secondes les propriétés et contraintes
Les premières concernent les tests, les secondes concernent la livraison
Les premières décrivent les coûts, les secondes les fonctions du logiciel

Les premières décrivent les fonctions, les secondes les propriétés et contraintes

Explication

Les exigences fonctionnelles décrivent les fonctionnalités et le comportement attendu du logiciel, tandis que les exigences non fonctionnelles précisent ses propriétés générales et ses contraintes. Les autres distinctions confondent ces catégories avec des activités de gestion ou de développement.

17. Quelle activité de maintenance adapte un logiciel à une modification de son environnement technique ?

La maintenance préventive
La maintenance corrective
La maintenance adaptative
La maintenance perfective

La maintenance adaptative

Explication

La maintenance adaptative répond aux changements de l’environnement du logiciel, comme une nouvelle plateforme ou une évolution technique. La maintenance corrective traite les erreurs, tandis que la maintenance perfective améliore les performances, les fonctions ou la maintenabilité.

18. Quelle caractéristique distingue le modèle en cascade d’un processus fortement itératif ?

Il conserve le prototype jusqu’à obtenir le produit final
Il construit plusieurs prototypes avant toute analyse des besoins
Il associe chaque phase à une campagne de tests correspondante
Il enchaîne des phases documentées avec des retours limités

Il enchaîne des phases documentées avec des retours limités

Explication

Le modèle en cascade suit une succession linéaire de phases fortement documentées, avec la possibilité de remettre en cause la phase précédente. L’association systématique entre phases et tests correspond plutôt au cycle en V.

19. Quelle pratique caractérise le cycle en V par rapport au modèle en cascade ?

Limiter les changements à la phase immédiatement précédente
Abandonner le prototype dès que les besoins sont clarifiés
Reporter l’évaluation du logiciel après la fin de sa livraison
Préparer une activité de vérification pour chaque phase de développement

Préparer une activité de vérification pour chaque phase de développement

Explication

Le cycle en V associe aux phases de spécification, de conception et de codage des activités de vérification correspondantes, notamment les tests de validation, d’intégration et unitaires. Le report tardif de l’évaluation caractérise davantage le modèle en cascade.

20. Avant de rédiger la spécification complète, une équipe développe rapidement une version simplifiée avec le client afin de clarifier ses besoins. Quelle approche applique-t-elle ?

Le modèle en cascade
La maintenance perfective
Le prototypage
La programmation modulaire

Le prototypage

Explication

Le prototypage consiste à réaliser rapidement un prototype avec le client pour valider et préciser ses besoins avant la spécification et le développement linéaire. Le logiciel final a pour rôle de fournir le produit opérationnel, tandis que le prototype sert d’abord à comprendre les attentes.

21. Quelle caractéristique distingue principalement le développement incrémental du développement itératif ?

Il répète plusieurs fois le même processus afin d’améliorer progressivement un résultat existant.
Il analyse les risques avant de concevoir chaque version du logiciel.
Il stabilise les exigences avant de commencer l’implémentation complète.
Il ajoute progressivement des fonctionnalités jusqu’à obtenir un logiciel fonctionnel à chaque étape.

Il ajoute progressivement des fonctionnalités jusqu’à obtenir un logiciel fonctionnel à chaque étape.

Explication

Le modèle incrémental construit le logiciel par ajouts successifs de fonctionnalités, avec un résultat minimal fonctionnel à chaque étape. La répétition d’un processus pour améliorer le résultat correspond plutôt au principe itératif.

22. Quelle séquence décrit le mieux un cycle du modèle en spirale ?

Consultation du client, analyse des risques, conception, implémentation, tests et planification du cycle suivant.
Analyse commerciale, recrutement de l’équipe, achat du matériel, codage et déploiement immédiat.
Définition complète des exigences, codage intégral, livraison finale et maintenance du logiciel.
Livraison d’une fonctionnalité, abandon des tests, validation finale et planification du projet suivant.

Consultation du client, analyse des risques, conception, implémentation, tests et planification du cycle suivant.

Explication

Chaque cycle en spirale comprend la consultation du client, l’analyse des risques, la conception, l’implémentation, les tests et la préparation du cycle suivant. Une livraison progressive de fonctionnalités sans analyse structurée des risques décrit plutôt une logique incrémentale.

23. Pourquoi le modèle en spirale est-il particulièrement adapté à un logiciel médical critique ?

Parce qu’il réduit la documentation afin d’accélérer les livraisons du produit.
Parce qu’il permet une meilleure gestion des risques au cours de cycles successifs.
Parce qu’il réserve les tests à la dernière version du logiciel.
Parce qu’il impose une livraison rapide avant l’analyse détaillée des exigences.

Parce qu’il permet une meilleure gestion des risques au cours de cycles successifs.

Explication

Le modèle en spirale convient aux logiciels critiques, notamment médicaux, car l’analyse des risques occupe une place centrale dans ses cycles. Réduire la documentation ou repousser les tests irait à l’encontre de cette gestion prudente des risques.

24. Comment le modèle agile réagit-il à une modification importante des exigences du client pendant le développement ?

Il attend la fin du développement avant d’évaluer son influence sur le logiciel.
Il la refuse après le lancement du projet pour préserver la planification initiale.
Il l’intègre dans les cycles suivants grâce à une combinaison d’approches incrémentale et itérative.
Il remplace les retours du client par une spécification détaillée rédigée au départ.

Il l’intègre dans les cycles suivants grâce à une combinaison d’approches incrémentale et itérative.

Explication

L’agilité combine les approches incrémentale et itérative afin de s’adapter aux modifications des exigences et à l’instabilité technologique. L’attente d’exigences stabilisées et l’acceptation limitée des changements caractérisent davantage les modèles classiques.

25. Une équipe souhaite obtenir rapidement un premier logiciel utilisable et l’enrichir grâce aux réactions régulières du client : quelle pratique agile répond à cet objectif ?

Rédiger toute la documentation avant de développer une version destinée à la livraison finale.
Planifier chaque détail du produit au départ afin de limiter les changements pendant son développement.
Produire d’abord une version minimale, puis ajouter progressivement des fonctionnalités avec des retours et des tests réguliers.
Attendre que toutes les fonctionnalités soient codées avant de consulter le client et de tester le logiciel.

Produire d’abord une version minimale, puis ajouter progressivement des fonctionnalités avec des retours et des tests réguliers.

Explication

Le développement agile commence par une version minimale, puis l’enrichit progressivement en s’appuyant sur les retours du client et des tests réguliers. Une planification initiale détaillée qui limite les changements correspond davantage aux modèles classiques.

26. Quelle comparaison entre les modèles classiques et les modèles agiles est correcte ?

Les modèles classiques et agiles utilisent une organisation identique, mais diffèrent principalement par le langage de programmation.
Les modèles classiques privilégient de petites livraisons fréquentes, tandis que les modèles agiles suivent des étapes strictes et documentées.
Les modèles classiques suivent des étapes strictes et documentées, tandis que les modèles agiles favorisent de petites livraisons fréquentes.
Les modèles classiques conviennent surtout aux petites équipes, tandis que les modèles agiles sont destinés aux grands projets.

Les modèles classiques suivent des étapes strictes et documentées, tandis que les modèles agiles favorisent de petites livraisons fréquentes.

Explication

Les modèles classiques reposent sur des étapes strictes et une documentation importante, alors que les modèles agiles privilégient de petites livraisons fréquentes. Les projets agiles sont plutôt petits ou moyens, tandis que les modèles classiques conviennent notamment aux grands projets.

Révisez avec les flashcards

Mémorisez les réponses avec 45 flashcards sur Introduction au génie logiciel.

Qu'est-ce qu'un logiciel en informatique ?

Un ensemble de programmes permettant d'exécuter une tâche spécifique.

Quelle différence existe entre un logiciel et un produit concret ?

Un logiciel est abstrait et développé par des humains, un produit concret a des composants physiques.

Qu'est-ce qu'un modèle en génie logiciel ?

Une représentation ou simplification de la réalité avec un langage de modélisation.

Voir les flashcards →

Approfondir avec la fiche

Consultez la fiche de révision complète sur Introduction au génie logiciel.

Voir la fiche →

Cours similaires

Crée tes propres QCM

Importe ton cours et l'IA génère des QCM avec corrections en 30 secondes.

Générateur de QCM