Projet Transversal (XMS1IE320)
Ce projet s’appuie sur le connaissances acquises dans les modules suivants :
-
UE XMS1IU300 "Génie logiciel", composée de :
-
XMS1IE302 Conception de logiciels
-
XMS1IE301 Test logiciel
-
Ce document a été créé grâce au générateur de documentation Antora.
Les sources de ce document sont disponibles sur GitLab. Elles ont été écrites en Asciidoc et les diagrammes ont été conçus en PlantUML.
|
Utilisez l’équipe Mattermost pour poser des questions sur le projet :
|
1. Compétences
-
Respecter les exigences fonctionnelles et non-fonctionnelles d’un cahier de charges logiciel
-
Diviser un système complexe en plusieurs sous-modules et spécifier des interface entre eux.
-
Appliquer différents principes de conception logicielle, comme l’abstraction, la décomposition, la ségrégation d’interface, la responsabilité unique et de l’ouverture/fermeture.
-
Traduire une conception en code source
-
Collaborer dans le contexte d’un projet de développement
3. Projet à réaliser
3.1. Un peu de lecture
Pour commencer, nous vous vous invitons à lire la partie "Avant de commencer", qui fait un rappel du fonctionnement des langages HTML et CSS. Ces langages sont importants pour la partie front-end.
Même si vous connaissez déjà ces deux langages, lisez ces textes et signalez aux enseignants les parties que vous ne trouvez pas claires !
3.2. Un peu de code
Ensuite, c’est au tour des tutoriels qui vous aideront à mettre en place le projet que vous allez rentre à la fin. La mise en place contient plusieurs parties :
-
Le langage TypeScript
-
La création du projet sur GitLab
-
La configuration du composant back-end
-
Le configuration du composant front-end
3.3. Un peu de conception
La partie "Projet 2025" contient trois documents que vous devez lire pour concevoir le projet : l’analyse du domaine, les exigences logicielles et l’architecture.
- Analyse du domaine
-
l’objectif de ce document est de modéliser le domaine (oui, si vous préférez, le métier ou le problème). Ce document vous permet de comprendre le fonctionnement actuel du domaine que vous allez informatiser. Il est disponible ici. Tous les membres du projet doivent lire ce document.
- Spécification des exigences
-
ce document décrit le cahier de charges du logiciel, il explique ce qui est attendu de la solution, c’est à dire, de votre logiciel. Comme il décrit ce qui doit être réalisé, c’est tout naturellement que l’évaluation se base sur ce document. Il est disponible ici.
- Architecture
-
enfin, ce dernier document donne des indications sur l’implémentation du logiciel. Il est disponible ici.
4. Le projet QuizMaker
4.1. Détails
- Objectif
-
L’objectif de ce projet est d’implémenter un outil capable de créer et gérer des questionnaires de questions à choix multiple (QCM), en respectant les exigences logicielles.
- Organisation
-
Les projet sera réalisé par des groupes d’au plus quatre étudiants.
- Échéance
-
À rendre pour le 20 décembre 2025.
4.2. Exigences logicielles à respecter
Deux fonctionnalités (cas d’utilisation) doivent être implémentés :
-
Créer un questionnaire
-
Répondre à un questionnaire.
4.3. Critères d’évaluation
Les critères qui seront utilisés pour évaluer le travail rendu sont les suivants :
-
L’utilisation d'interfaces, en Java et en TypeScript, pour réduire le couplage entre les composants.
-
La qualité du code source (Java et TypeScript).
-
La cohérence entre le code et la conception.
-
Le respect des exigences non-fonctionnelles.
-
Le test du composant domaine du serveur.
-
Le nombre de fonctionnalités réalisées.
Il est préférable de rendre une seule fonctionnalité complète, par exemple la création d’un compte, plutôt que plusieurs fonctionnalités incomplètes. -
La légèreté des modules Angular : la partie du code dépendant d’Angular doit être la plus petite possible.
4.4. Barème indicatif
| Critère | Points |
|---|---|
Qualité du dossier de conception |
5 |
Respect des exigences non-fonctionnelles |
5 |
Qualité des tests |
5 |
Fonctionnalités |
5 |
4.5. Rendu
Le projet GitLab doit être configuré avec :
-
Les participants comme membres du projet GitLab (normalement un membre avec le statut Owner et les autres avec le statut Developer).
-
Un compte GitLab de votre intervenant de TP également comme membre, de type Reporter. Se référer au tableau ci-dessous pour savoir quel compte GitLab ajouter.
-
Une description contenant le code
#P-TRANS2025 -
La visibilité en mode Privé.
| Groupe | Encadrant |
|---|---|
2C |
|
2D |
|
Votre rendu consistera en un seul projet GitLab auquel votre encadrant de TP pourra accéder avec un compte dédié.