Diagrammes de communications, de séquence et de machine à états - réponses

Instructions pour le QCM :
Pour chacune des questions, plusieurs réponses peuvent être correctes, vous pouvez donc cocher plusieurs cases !
Les questions sont de trois niveaux de difficultés. Les niveaux « intermédiaire » et « difficile » sont précédés des signes « * » et « ** », respectivement.

  1. L'affirmation suivante est-elle correcte ? Un message « 2.3.i » peut provoquer la réaction « 2.3.j ».
  2. FAUX : OUI ( La réaction à un message est un message imbriqué. Donc, un message de la forme « 2.3.i.1 ». )
    VRAI : NON

  3. L'affirmation suivante est-elle correcte ? Un message « 2.3.i » peut être suivie en séquence par le message « 2.3.j ».
  4. FAUX : OUI ( Une séquence de messages est numérotée avec des chiffres, et non des lettres. Ici, le « i » indique un choix (le ième choix) ou une itération (d'indice i). Le message suivant dans la séquence est donc de la forme « 2.4 ». )
    VRAI : NON

  5. Voici le diagramme de communications utilisé par les questions qui suivent.

     

    Dans le diagramme, « Theme » est
  6. VRAI : Une classe. ( L'intitulé ne possède pas de nom d'instance, ni n'est souligné. )
    FAUX : un objet. ( L'intitulé ne possède pas de nom d'instance, ni n'est souligné. )

  7. L'opération « rechercher(utilisateur) » est-elle une opération
  8. FAUX : d'instance ? ( Une opération d'instance ne peut pas être appelée sur une classe, mais doit être appelée sur une instance. )
    VRAI : de classe ?

  9. Le message « 6 » est-il un message
  10. FAUX : imbriqué ? ( Un message imbriqué est de la forme « *.*... ». Donc, le message « 6 » n'est pas imbriqué. )
    VRAI : en séquence ? ( Il vient après le message « 5 ». )

  11. Le message « 6 » est-il toujours émis ?
  12. FAUX : OUI.
    VRAI : NON. ( Il est uniquement émis si la condition de garde « [p != null] » est vraie. )

  13. L'objet « g »
  14. FAUX : existe-t-il au début de la collaboration ? ( Le stéréotype « new » stipule que l'objet « g » est créé lors de la collaboration. Donc, il n'existe pas au début. )
    FAUX : existe-t-il avant l'objet « p » ? ( L'opération de construction « create » est appelée par l'objet « p » (action imbriquée « 5.1 » après l'action « 5 »). Donc, l'objet « g » n'existe pas si l'objet « p » n'existe pas. )
    VRAI : existe-t-il uniquement si l'objet « p » existe ? ( L'opération de construction « create » est appelée par l'objet « p » (action imbriquée « 5.1 » après l'action « 5 »). Donc, l'objet « g » n'existe que si l'objet « p » est créé lors de la collaboration. )

  15. Existe-t-il une association entre la classe « Projet » et la classe « Groupe » ?
  16. VRAI : OUI.
    FAUX : NON. ( La présence de communications entre les deux objets « p » et « g » indique qu'il existe dans le diagramme de classes une association entre les deux classes. )

  17. Voici le diagramme de séquence utilisé par les questions qui suivent.

     

    Dans le diagramme, « Projet » est-il

  18. VRAI : Une classe ?
    FAUX : un objet ? ( L'intitulé ne possède pas de nom d'instance, ni n'est souligné. )

  19. L'opération « envoyerCourriel() » est-elle une opération
  20. VRAI : d'instance ?
    FAUX : de classe ? ( L'opération utilise les informations du groupe pour déterminer la liste des destinataires du courriel. C'est donc une opération d'instance. )

  21. Le message « envoyerCourriel() » est-il un message
  22. VRAI : imbriqué ?
    FAUX : en séquence ? ( Un message imbriqué fait suite à la réception d'un autre message. Donc, le message « envoyerCourriel() » est imbriqué. )
    FAUX : asynchrone ? ( La flêche du message étant pleine, le message est un message synchrone, même si les retours d'appels synchrones ne sont pas représentés dans le diagramme de séquence. )

  23. Le message « envoyerCourriel() » est-il toujours émis ?
  24. FAUX : OUI. ( Il est uniquement émis si la condition de garde du fragment de séquence « opt » est vraie. )
    VRAI : NON.

  25. Voici le diagramme de machine à états utilisé par les questions qui suivent.

     

    La transition entre l'état « EnConstruction » et l'état « ProjetProposé » est-elle une transition

  26. VRAI : Implicite ?
    FAUX : Réflexive ? ( Une transition réflexive est une transition ayant les mêmes états de départ et d'arrivée. Ce n'est pas le cas de cette transition. )

  27. Sur la transition « [projet accepté]/accepterProjet() », « [projet accepté] » est-il
  28. FAUX : Un événement ?
    VRAI : Une condition ?
    FAUX : Une action ?

  29. L'action « accepterProjet() » telle que positionnée dans le diagramme est-elle
  30. VRAI : Une action de transition ? ( Elle est sur la transition. )
    VRAI : Une action immédiate ? ( Les actions des transitions sont des actions de courte durée, donc immédiates. )
    FAUX : Une action interruptible ? ( Les actions des transitions étant immédiates, le corollaire est que par définition elles ne peuvent pas être interrompues. )

  31. Si l'on retire la transition « [dateDuJour > dateClôture + 2ans] », quelles que soient les règles de gestion de l'étude de cas, le diagramme de machine à états
  32. VRAI : Devient-il incorrect ?
    FAUX : Reste-t-il correct. ( Une fois entrée dans l'état « ProjetActif », l'état terminal n'est plus atteignable. )

  33. Si l'on retire la transition « [projet refusé]/rejeterProjet() », quelles que soient les règles de gestion de l'étude de cas, le diagramme de machine à états
  34. FAUX : Devient-il incorrect ? ( Si cette transition disparaît, il reste possible d'atteindre l'état terminal en passant par l'état « ProjetActif ». )
    VRAI : Reste-t-il correct ?