Vous êtes sur la page 1sur 2

Master 1 I2A / DVL – Année 2020-2021

Architectures Logicielles à Objets


Durée : 3 heures – Session 1 Mai 2021
Document autorisé : tous

Examen sur 20 points.

IMPORTANT : Il est interdit de copier.

IMPORTANT : L’examen est à faire seul, il est interdit de travailler en équipe.

1. Desing pattern (20 points)

Contexte

Note : la description ci-dessous est fictive et ne reflète pas la réalité.

On vous demande de faire le moteur métier pour gérer un site de blog. Un autre membre de votre équipe de
développement se charge de la partie présentation.

Le système comprend différents acteurs :

• Lecteur
• Auteur
• Visiteur anonyme
• Administrateur

* Indice : concept de « membre » à prendre en compte

Un membre peut vouloir suivre l’activité d’une publication. Pour ce faire il lui est donc possible de s’inscrire à
un article publié. Dès que ledit article est mis à jour le membre doit être notifié. Notez qu’un visiteur
anonyme n’a pas accès à cette fonctionnalité.

Pour un article donné, seul l’auteur ou un administrateur peut le modifier ou l’effacer. Notez que les
personnes suivant l’article doivent être notifiées de la suppression de l’article.

Les membres et visiteurs anonymes peuvent commenter un article.

Toute publication d’un article fait l’objet d’un passage par l’équipe d’administration qui comptabilise les
informations. Il en est de même pour la publication de commentaires. Important : ce processus est
automatisé, pas d’intervention manuelle. Par exemple :

- Lors de la publication d’un article un compteur global de tous les articles dans le système est
incrémenté.
Travail à réaliser

Il vous faut concevoir l’architecture de ce système en utilisant des designs patterns et concepts objets :

• Vous devez utiliser 2 patterns différents.


• Vous devez utiliser les concepts objets vu dans le cours.
• Les patterns Singleton et Fabrique Abstraite sont hors scope pour cet examen. Vous pouvez les
utiliser, mais ils ne seront pas pris en compte pour les 2 patterns.

Eléments à rendre

1. Le diagramme de classe avec les concepts objets et les 2 patterns identifiés (4 points)
2. Une explication écrite expliquant l’utilisation de chaque pattern. (4 points)
➔ Expliquer et argumentez vos choix.
3. Le code source (en java obligatoire)
a. Version de Java : Quelle version de Java avez-vous utilisé ?
b. Compilation : Votre code doit compiler sans erreur (2 points)
c. Exécution : Votre code doit s’exécuter correctement (2 points)
d. Codage : Les patterns doivent-être correctement implémentés (4 points)
4. Classe de test (4 points, vous perdez 1 point pour chaque élément manquant) : Une classe (ou script)
de test exécutable (méthode main) qui utilise votre système de blog. Votre script doit effectuer les
actions suivantes :
a. Créer un auteur
b. Créer et publier un article
c. Créer un lecteur
d. Activer le suivi de la publication pour le lecteur
e. Editer la publication
f. Vérifier que le lecteur est bien notifié de la modification
g. Imprimer les données récupérer par les administrateurs lors de la publication des articles

Points techniques à respecter obligatoirement :


• Pour 1 & 2:
o Il faut rendre un fichier PDF.
o Sont également accepté les fichiers DOC ou DOCX, ODF ou une image (JPG, PNG, GIF). Les
autres formats ne seront pas acceptés.
o IMPORTANT : Si vous m'envoyez une photo ou un scan d'un document manuscrit assurez-vous
que la qualité est bonne. Les mots ou phrases que je ne pourrai pas lire ne seront pas pris en
compte dans la correction.
• Pour 3 & 4:
o Les fichiers java devront se trouver dans le répertoire "src" ainsi que la structure de
répertoires qui va bien selon vos packages.

L.-S. Simard – Module ALO 2

Vous aimerez peut-être aussi