QCM UML Corrigé – Partie 33

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. À quoi servent les contraintes OCL (Object Constraint Language) dans UML ?

A À définir des permissions utilisateur

B À spécifier des règles logiques formelles sur un modèle

C À compiler un modèle UML

D À générer automatiquement du code source

B
L’OCL est un langage déclaratif pour ajouter des contraintes précises (comme self.solde >= 0) à un modèle UML. Il permet de valider la cohérence du modèle.

 

 

2. Quelle flèche symbolise une dépendance entre deux packages UML ?

A Une ligne continue avec losange

B Une flèche blanche en pointillés

C Une flèche noire pleine

D Une flèche courbe

B
Les dépendances (entre packages, classes…) sont représentées par une flèche pointillée orientée vers l’élément dont on dépend. Elle indique que le package source utilise le contenu du package cible. Exemple:
 

Cela montre que, par exemple, le module « Paiement » a besoin d’accéder à des infos utilisateur.

 

 

3. Dans un diagramme de composants, une interface fournie est représentée par :

A Un rectangle avec <<interface>>

B Une demi-lune tournée vers l’extérieur

C Un cercle plein connecté à un composant

D Une flèche dirigée vers une classe abstraite

C
Une interface fournie est représentée par un cercle (lollipop) attaché au composant. Cela signifie que le composant implémente et expose cette interface à d’autres. Exemple:
 

 

 
 

4. Quelle approche UML est utilisée pour modéliser des systèmes répartis sur plusieurs niveaux d’abstraction ?

A L’héritage multiple

B Le méta-modèle unique

C L’agrégation faible

D La modélisation multi-niveaux (multi-level modeling)

D
La modélisation multi-niveaux permet de définir des modèles de modèles (métamodélisation), ce qui est utile pour des systèmes complexes comme ceux utilisés dans l’ingénierie des systèmes ou le domain-specific modeling (DSM).

 

 

5. Dans un diagramme de composants, une interface requise est représentée par :

A Un cercle

B Un carré

C Une demi-lune ouverte (socket)

D Un losange

C
Une interface requise (ce dont un composant a besoin) est représentée par une demi-lune tournée vers l’extérieur. Exemple:
 

 

 

6. Tu veux représenter qu’un serveur d’impression reçoit des requêtes de plusieurs clients. Quel diagramme UML t’aide ?

A Diagramme d’activités

B Diagramme de classes

C Diagramme de communication

D Diagramme de séquence

C
Parfait pour illustrer les interactions entre objets sans insister sur l’ordre temporel. Exemple:
 

 

 
 

7. Tu veux montrer que l’objet “Carte” est créé dans un diagramme de séquence. Quelle flèche utiliser ?

A Flèche pleine avec message <<create>>

B Flèche pointillée avec new()

C Flèche pleine avec return

D Flèche en boucle

A
UML utilise le stéréotype <<create>> pour signaler la création d’un objet. Exemple:
 

Le stéréotype <<create>> est utilisé pour signaler la naissance d’un objet pendant l’interaction.

 

 

8. À quoi sert le stéréotype <<utility>> ?


A À créer une classe abstraite

B À créer un objet temporaire

C À indiquer une classe statique (utilitaire)

D À indiquer une interface

C
<<utility>> est utilisé pour regrouper des méthodes statiques, comme en Java ou Python (classe helper).

 

 

9. Dans une appli de gestion de bibliothèque, une carte d’abonné est associée à un seul abonné. Quelle multiplicité côté “abonné” ?

A 0..*

B 1

C 1..*

D 0..1

B
Chaque carte est liée à exactement un abonné, donc multiplicité = 1. Exemple:
 

 

 
 

10. Que signifie {readOnly} ici ?


A Le nom est masqué

B Le nom est privé

C Le nom est lié à une interface

D Le nom ne peut pas être modifié après initialisation

D
{readOnly} est une contrainte UML indiquant que l’attribut est en lecture seule.

 

 

Laisser un commentaire

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