Activité : Mise en route (rev. 1)

Consigne

Le but de cet activité étant de se remettre au java après la pause estivale. Pour commencer , nous vous proposons de reprendre le dernier projet réaliser lors du module 404 et de lire ou relire la capsule de théorie pour réactiver vos connaissances. Nous vous proposons ensuite de prendre connaissance de la situation et de réaliser les tâches décrites ci-après. Si vous ne parvenez pas à terminer le travail en classe, il vous appartient de prendre sur votre temps pour l’achever. Le code des tests unitaires doit être utilisé tel quel et ne doit pas être modifié. Le travail est individuel. Vous pouvez communiquer, mais en respectant le code d’honneur.

Situation

Vous êtes affecté à un projet de logiciel de gestion de bibliothèque. On vous charge de réaliser une classe Book, une classe Author et une classe Copy. Cette dernière représente un exemplaire physique du livre dans la bibliothèque. Vous recevez les classes BookTest, AuthorTest et CopyTest qui contiennent les tests unitaires. Les diagramme UML et les tests unitaires tiennent lieu de spécification pour la réalisation des classes.

Par exemple, en analysant la classe BookTest, vous apprenez que la classe à deux constructeurs avec, respectivement, deux et six paramètres. Vous apprenez également que la classe doit avoir un accesseur (getter) et un mutateur (setter) pour chaque variables membres ainsi qu’une méthode getAuthorsNames qui renvoie une chaîne avec le nom complet de tous les auteurs.

Résultat attendu

Un projet Maven avec contenant les classes suivantes :

  • Book, Author, Copy et CopyFormat
  • BookTest, AuthorTest et CopyTest

Objectifs

À la fin de ce travail, vous devez :

  1. Connaître la notion de méthode d’instance.
  2. Être capable d’expliquer la différence entre l’invocation d’une méthode de classe et l’invocation d’une méthode d’instance.
  3. Être capable d’interpréter un diagramme de classes UML simple.
  4. Être capable de documenter votre code des commentaires javadoc.
  5. Être capable de réaliser un types énumérés.

Ressources

Logiciel :

  • Maven
  • Visual Studio Code

Documents :

Mise en route

Pour commencer, vous devez créer un projet Maven pour cette activité. Rendez-vous dans le répertoire de vos projets et lancez la commande suivante :

1
git clone https://gitlab.epai-ict.ch/m226/mise-en-route.git --single-branch

Déplacez-vous dans le répertoire mise-en-route et lancer la commande code . pour ouvrir le projet dans VSC (Visual Studio Code).

À vous de jouer !

Tâche

Dans un premier temps, on vous demande de réaliser les classe Book et Author conformément à la spécification ainsi qu’au diagramme de classes de la figure 1, en y incorporant la javadoc adéquate.

Vous pouvez consulter cette page wikipédia concernant les diagrammes de classes UML (Unified Modeling Language) et ce tutorial vous permet d’apprendre ce qu’est la javadoc et comment elle s’utilise. Vous pouvez également consulter le support de cours de F. Mauron, pages 11 à 20 en ce qui concerne la javadoc et les pages 37 à 40 pour le diagrammes de classes. Ce support est disponible sur moodle.

Fig. 1 – Diagramme de classes initial
Fig. 1 – Diagramme de classes initial

Dans un deuxième temps, on vous demande de réaliser la classe Copy ainsi que le type énuméré CopyFormat conformément à la spécification ainsi qu’au diagramme de classes de la figure 2, en y incorporant la javadoc adéquate.

Ce tutorial expliquant les types énumérés vous aidera à réaliser CopyFormat.

Fig. 2 – Diagramme de classe à réaliser
Fig. 2 – Diagramme de classes à réaliser

Remarque

Les diagrammes de classes ont été créé et généré par plantUML. PlantUML se base sur des fichiers textes pour la générations des différents diagrammes UML. La documentation de plantUML vous explique comment créer un diagramme de classes. Il peut être intégrer à Visual Studio Code avec l’extension PlantUML.

PlantUML se base sur l’utilitaire Graphviz pour la génération des diagrammes. Vous devez donc préalablement l’installer. Le plus simple est d’utiliser le gestionnaire de paquets de votre système d’exploitation. Sous Windows, vous pouvez utiliser chocolatey en tapant la commande suivante dans une fenêtre de terminal avec les privilèges d’administrateur :

choco install graphviz

Demandez de l’aide en cas de besoin, mais essayez d’abord par vous-même et respectez toujours le code d’honneur !