Questions et choix

L’objectif de cette séance est de commencer à concevoir en détails les classes du domaine de l’application QuizMaker.

1. Première étape : questions et choix

Utilisez le diagramme de classes UML pour concevoir les classes Question, Choice, et leurs associations.

Pour vous guider pendant la conception, voici quelques questions auxquelles votre diagramme doit répondre :

  1. Quels sont les attributs de ces classes ?

  2. Pour chaque attribut, spécifiez son type, sa cardinalité et ses éventuelles contraintes.

  3. Comment vous représentez que une question peut avoir plusieurs choix ?

  4. Comment vous représentez le choix correcte à une question ?

  1. Ajoutez votre diagramme à votre document de conception Antora

2. Deuxième étape : Préparation du projet backend

Implémentez, en Java, les deux classes que vous venez de concevoir.

Initialisation du projet racine
  1. Tour d’abord, assurez vous que vous êtes bien à la racine du répertoire quizmaker.

  2. Utilisez ensuite l’archétype pom-root pour créer la projet Maven racine :

mvn archetype:generate \
-DarchetypeGroupId=org.codehaus.mojo.archetypes \
-DarchetypeArtifactId=pom-root \
-DarchetypeVersion=RELEASE

À la suite de cette commande, Maven vous posera plusieurs questions concernant les identifiants du projet. Utilisez les valeurs suivantes :

groupId: fr.alma.quizmaker
artifactId: quizmaker-backend
version: 1.0-SNAPSHOT
package: fr.alma.quizmaker
Initialisation des sous-modules
  1. Utilisez l’archétype Maven quickstart pour créer un premier sous-module, qui contiendra les classes du domaine.

cd quizmaker-backend

mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=RELEASE

Encore une fois, Maven vous posera plusieurs questions concernant les identifiants de votre sous-module. Utilisez les valeurs suivantes :

groupId: fr.alma.quizmaker
artifactId: quizmaker-domain
version: 1.0-SNAPSHOT
package: fr.alma.quizmaker.domain

3. Troisième étape : Mise en œuvre

Inspirez-vous des enseignements du module "Construction et évolution de logiciels" pour implémenter les classes question et choix à l’intérieur du module quizmaker-domain.

Vous devez implémenter les classes question et choix, la ou les associations entre elles, ainsi que les tests unitaires de ces classes.

Si la création du sous-module quizmaker-domain s’est bien passé, l’archétype quickstart a ajouté des dépendances à JUnit au fichier pom.xml.