QCM UML Corrigé – Partie 21

Découvrez une série de QCM UML pour tester vos connaissances en modélisation orientée objet. À travers ces questionnaires, révisez les principaux diagrammes UML, les concepts de base et les bonnes pratiques en génie logiciel. Un outil idéal pour les étudiants, développeurs et candidats aux examens techniques.
 
 

1. Dans un diagramme d’activités UML, que représente une condition de garde ?

A Un test logique appliqué avant qu’un événement ne survienne.

B Une condition qui décide si une activité est acceptée dans un workflow.

C Une contrainte notée entre crochets [ ] sur une transition, utilisée pour déterminer le chemin à suivre.

D Une boucle d’activités répétées indéfiniment.

C
Les gardes (ou conditions de garde) sont des expressions booléennes, notées [condition], sur les flèches sortantes d’un nœud de décision. Elles contrôlent le chemin emprunté après une activité, comme un if dans un programme. Exemple:
 

Un système passe par différents états selon la valeur d’une variable x:

  • Si x <= 10 → aller à l'état Normal
  • Si x > 10 → aller à l’état Alerte

 

 

2. Dans un diagramme d’activités, que représente un losange avec plusieurs flèches sortantes ?

A Une boucle

B Une décision conditionnelle

C Un état terminal

D Un sous-processus

B
Le losange représente un choix entre plusieurs chemins en fonction d’une condition. Exemple:
 

 

 

3. Tu veux modéliser l’exécution répétée d’une action (ex. : tentative de connexion). Quel fragment combiné utiliser ?

A opt

B alt

C loop

D ref

C
Le fragment loop permet de répéter une séquence tant qu’une condition est vraie (ex : 3 essais max). Exemple:
 

 

 
 

4. Quelle est la différence entre un message synchrone et un message asynchrone dans un diagramme de séquence UML ?

A Un message synchrone ne retourne jamais de réponse.

B Un message asynchrone bloque l’expéditeur jusqu’à réception.

C Un message synchrone attend une réponse ; un message asynchrone non.

D Il n’y a aucune différence dans UML.

C
Un message synchrone (ligne pleine avec flèche pointe fermée) bloque l’expéditeur jusqu’à la fin de l’opération (comme un appel de méthode). Un message asynchrone (ligne pleine avec flèche pointe ouverte) ne bloque pas, l’expéditeur continue son traitement. Exemple:
 

 

 

5. Ce diagramme représente __________


A Une relation entre objets dans le même programme

B Des composants logiciels et leurs interactions dans une architecture

C La relation entre une application et une base de données

D Une relation entre une classe et son interface

B
Ce diagramme montre des composants logiciels dans une architecture de système, où Serveur interagit avec Base de données.

 

 

6. Que représente ce diagramme ?


A Des instances concrètes des classes Client

B Une classe abstraite de Client

C Des objets dans le diagramme de classes

D Des objets dans un diagramme d’objets représentant des instances spécifiques

D
Le diagramme montre des objets spécifiques (client1, client2), représentant des instances concrètes des classes dans un diagramme d’objets.

 

 
 

7. Que permet d’exprimer le langage OCL (Object Constraint Language) dans UML ?

A Des interfaces logiques pour des composants.

B Des styles visuels pour les diagrammes UML.

C Des contraintes précises sur des modèles UML comme des invariants, préconditions ou postconditions.

D Des scripts d’interactions utilisateurs.

C
OCL est un langage déclaratif utilisé pour spécifier des règles précises dans un modèle UML. Il est souvent utilisé pour exprimer des invariants (toujours vrais), des préconditions (avant une opération), ou des postconditions (après).

 

 

8. En UML, qu’est-ce que la généralisation multiple ?

A Une classe enfant qui hérite d’une seule classe parent.

B Une classe enfant qui hérite de plusieurs classes parent.

C Une classe qui hérite d’un package complet.

D Une interface qui hérite d’une classe concrète.

B
La généralisation multiple en UML signifie qu’une même classe peut hériter de plusieurs classes, ce qui peut être utile mais doit être utilisé avec prudence (problèmes de conflits ou de « diamond problem »).

 

 

9. Tu construis un système e-learning. Quelle relation UML entre un cours et ses chapitres si les chapitres n’existent qu’avec le cours ?

A Agrégation

B Association

C Dépendance

D Composition

D
Si le cours est supprimé, les chapitres disparaissent aussi → composition.

 

 
 

10. Quelle est la signification de la relation Étudiant <--> Cours ?


A Un Étudiant peut être inscrit à plusieurs Cours, mais un Cours peut n’avoir aucun Étudiant

B Un Étudiant peut être inscrit à un seul Cours

C Un Cours doit avoir au moins un Étudiant inscrit

D Un Étudiant ne peut pas être inscrit à plusieurs Cours

A
La multiplicité 1 et 0..* signifie qu’un Étudiant peut s’inscrire à plusieurs Cours, mais un Cours peut être sans Étudiants.

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *