Activité : Mise en route

Consigne

Le but de cet activité étant de se remettre au java après la pause estivale! Pour celà, on vous propose de reprendre le dernier projet réaliser lors du module 404 et de relire pour commencer la capsule de théorie et prendre connaissance de l’activité avant de réaliser les tâches demandées.

Pour ce travail on vous demande de prendre connaissance de la situation et de réaliser les tâches proposées. 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 Author et une Copy qui représente l’exemplaire physique du livre dans la bibliothèque. Vous recevez les classes BookTest, AuthorTest et CopyTest contenant les tests unitaires qui tiennent lieu de spécification pour la réalisation des classes.

En observant le test du constructeur, vous apprenez que le constructeur de la classe ne prend qu’un seul paramètre (le titre du livre). Le test vous apprend également que la classe doit avoir un accesseur et un mutateur pour chaque attribut.

Résultat attendu

Un projet Maven avec contenant les classes suivantes :

  • Book, Author, Copy et FormatCopy
  • 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’un sous-programme (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 avec javadoc.
  5. Connaître le principe des 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
mvn archetype:generate -DgroupId=ch.epai.ict.m226.mise_en_route -DartifactId=mise_en_route -DarchetypeArtifactId=archetype-quickstart-jdk8 -DarchetypeGroupId=com.github.ngeor -DinteractiveMode=false

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

Téléchargez les classes de tests : BookTest, AuthorTest et CopyTest

À 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 va vous permettre de comprendre ce qu’est la javadoc et comment elle s’utilise. Vous pouvez également regarder le support de cours 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é FormatCopy 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 FormatCopy.

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

Remarque

Les deux 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 très bien être utilisé avec VSCode par l’intermédiaire de l’extension PlantUML.

PlantUML se base sur Graphviz pour la génération des diagrammes, c’est pourquoi vous devez l’installer sur votre système d’exploitation! Cela peut ce faire simplement sur Windows grâce à Chocolatey par la commande suivante (en ayant les droits administrateurs):

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 !