Vous êtes sur la page 1sur 2

Modélisation Productive — Examen

Travail à réaliser et à rendre


Vous rendrez votre travail en ligne sur la plateforme dédiée sous la forme d’un unique fichier PDF
nommé examen.pdf contenant l’ensemble de vos réponses bien identifiées par rapport aux
questions.

Checklist
☐ fichier format PDF examen.pdf avec vos réponses (autre format : 0/10)

Exercice 1 (16 points)


On désire modéliser un système de prise de rendez-vous en centres médicaux et de vaccination
anti-COVID au travers d’un guichet en ligne unique (imaginez une Web application) pour les
utilisateurs. Les contraintes sont les suivantes :

• il existe trois vaccins : PFIZER, MODERNA et ASTRAZENECA.

• pour un patient on a nom, prénom, age et liste des vaccinations.

• la liste des vaccinations d’un patient est initialement vide.

• pour une vaccination on a vaccin, n° de lot, date et nom du médecin qui a vacciné.

• les centres de vaccination ont un nom, ils gèrent un ensemble de stocks et une liste de rendez-
vous.

• un stock est la donnée d’un vaccin, d’un n° de lot, d’une date de péremption et d’une quantité.

• un centre peut avoir plusieurs stocks d’un même vaccin à un moment donné (par exemple il
aura trois stocks s’il a reçu 100 doses de PFIZER lot pf-001 puis 100 doses de MODERNA lot mo-
001, puis 50 doses de PFIZER lot pf-002).

• à partir d’un rendez-vous on peut obtenir le patient bénéficiaire du rendez-vous et la date.

• une réservation correspond à la mise de côté d’une dose d’un vaccin (afin qu’elle soit disponible
lors de la venue du patient et non plus disponible pour un autre rendez-vous). L’information
disponible pour une réservation est : vaccin, n° de lot et date de péremption.

• à un rendez-vous correspond une réservation et à une réservation correspond un rendez-vous.

• le guichet a la connaissance des centres à partir de leur nom.

Les deux fonctionnalités sont de prendre rendez-vous et de se faire vacciner.

• la prise de rendez-vous se fait en indiquant la personne concernée, ainsi que le nom du centre,
la date et le vaccin souhaités. Si un rendez vous est possible (voir plus bas) un rendez-vous est
retourné, sinon null.

• un rendez-vous est possible si le centre existe et qu’il lui reste au moins un stock du vaccin

1
souhaité dont la quantité est supérieure à 0 et dont la date de péremption est postérieure à la
date du rendez-vous

• lors de la création d’un rendez-vous, il y a aussi création d’une réservation d’une dose de vaccin
et le stock concerné est diminué de 1 dose

• la vaccination se fait en fournissant le rendez-vous, la date du jour, la personne et le nom du


médecin. Une valeur de retour permet de savoir si la vaccination a pu avoir lieu ou pas.

• la vaccination n’est pas possible sans rendez-vous, de même il faut que la personne et la date
correspondent aux données du rendez-vous et que le vaccin réservé ne soit pas périmé.

• chaque vaccination doit être inscrite dans la liste des vaccinations de la personne.

Question 1 (8 points) : donnez un diagramme de classe pour Java permettant de représenter cette
étude de cas (c’est à dire que l’ensemble des attributs, relations et opérations doit être présent pour
permettre une génération de code Java automatique et juste avoir à compléter le corps des
méthodes correspondantes)

Question 2 (4 points) : donnez un diagramme de séquence représentant la création d’un rendez-


vous, depuis le moment où l’utilisateur appelle l’opération concernée jusqu’au retour (ou non s’il
n’est pas possible d’obtenir le rendez-vous) du rendez-vous à l’utilisateur

Question 3 (4 points) : donnez un diagramme de séquence représentant la vaccination d’un


patient, depuis le moment où l’utilisateur appelle l’opération concernée jusqu’à la mise à jour de sa
liste de vaccinations (ou non s’il n’est pas possible de procéder à la vaccination).

Exercice 2 (4 points)
Question 1 (0.5 point) : indiquez quel(s) modèles UML vus en cours il est possible d’utiliser pour
générer les éléments suivants : 1. code Java, 2. tests.

Question 2 (0.5 point) : quels sont les avantages et les inconvénients d’un DSL par rapport à un
langage général ?

Question 3 (1 point) : quelle est la différence entre scénario nominal, alternatif ou d’exception ?

Question 4 (2 points) : donnez une grammaire permettant de lire sans erreur le modèle suivant :

Application bb
url: "http://github.com/bb"

units
peer front on port 8080 is "interface utilisateur"
peer back on port 8081 is "back-end"
peer bd on port 1433 is "base de données"

connections
connection cx1 = front <-> back : "API REST"
connection cx2 = back <-> bd : "persistance de données"

Vous aimerez peut-être aussi