diff --git a/CDC.md b/CDC.md new file mode 100644 index 0000000000000000000000000000000000000000..0c7389e0729ac6a9c4b09ed170ce6f945b8163ff --- /dev/null +++ b/CDC.md @@ -0,0 +1,114 @@ +# Projet : FOC21 + +- Rédacteur: Pierre Lenertz +- URL GIT : https://git.unistra.fr/deleted_user_177013/t4-foc21 + +## Description des objectifs pédagogiques du jeu + +### Objectif pédagogique général + +Montrer comment les exercices de morphologie dérivationnelle peuvent permettre aux enfants dyslexiques de déduire la signification de mots inconnus et de développer leur vocabulaire. + +### Description des objectifs pédagogiques + +#### Comprendre les principes de la morphologie dérivationnelle + +- De nombreux mots sont composés de plusieurs parties appelées morphèmes. +- Les morphèmes peuvent être catégorisés selon leur utilisation : Préfixes, radicaux et suffixes. +- Chaque morphèmes d'un mot apporte à sa signification. + +#### Comprendre les difficultés des dyslexiques + +- Les enfants dyslexiques éprouvent des difficultés de lecture et se retrouvent souvent face à des mots inconnus. +- L’étude de la morphologie peut servir d’astuce pour comprendre des mots compliqués en subdivisant la tâche en tâches plus faciles. + +## Description du jeu + +- **Type de jeu**: Jeu éducatif +- **Incarnation du joueur**: Un enfant dyslexique + +### Déroulement d’une partie + +A chaque tour de partie sera présenté au joueur un mot généré par combinaison de morphèmes, qu’il existe ou non.<br> +Le joueur va alors pouvoir découper le mot selon les phonèmes reconnus.<br> +Le joueur peut se tromper et découper le mot comme il le souhaite.<br> +Le joueur peut alors valider son choix pour passer au tour suivant.<br> +En fin de partie, le joueur verra une récapitulation de ses tours ainsi qu’une correction. Pour chaque morphème d’un mot sera affichée une courte description de son sens. + +### Paramétrage d’une partie + +- nombre de mots : nombre de mots(tours) pour cette partie +- complexité des mots: nombre de morphèmes moyen dans les mots générés pour la partie + +## Modèle conceptuel applicatif + +Liste decrivant les classes et entités du jeu : +- Model + - Tables + - Radical: <u>id</u>, rad, terminaison, desc + - Prefixe: <u>id</u>, pre, desc + - Suffixe: <u>id</u>, suf, desc + - Partie(int nbMots, float complexite): + - correction: List<[string]> liste des mots générés servant de correction + - decoupage: List<[string]> propositions de découpage donnés par l’utilisateur + - motCourant : int + - genererMots(int nb, float complexite): List<[string]> génère les mots à partir de la base de données + - formaterPropositions() initialise une version collée des mots se trouvant dans la correction + - getMot(int nb) : [string] récupère un mot prêt à être découpé par l’utilisateur + - setMot(int nb, [string]) sauvegarde la proposition de découpage de l’utilisateur + - compterPoints() : int compte le nombre de découpage correct + - getCorrection(int nb): [string] récupère la correction pour un mot + - getMotCourant() : [string] recupere le mot courant + - validerMotCourant([string] mot) valide le mot courant et incremente le mot courant +- Controleur + - PartieCtrl (Partie model): + - model : Partie + - getMotSuivant() : [string] mot à découper + - validerMot[string] mot) valide le découpage d’un mot + - getMot(int nb) : [string] récupère une proposition de mot donnée prealablement + - getCorrection(int nb) : [string] récupère la correction d’un mot +- Vues: + - DecoupageMot(PartieCtrl ctrl): + - ctrl: PartieCtrl contrôleur de la partie + - mot: [string] découpage du mot + - afficheMot() affiche le mot à découper en créant un label par lettre des string, et entre les tring ajoute un espace cliquable pour lancer la fonction de recolage de mot + - decouperMot(int index) découpe le mot à un indice donné du mot total + - recolletMot(int index) recole la partie d’indice index à la partie suivante + - valider() valide le mot au contrôleur et ferme cette vue + - Resultats(PartieCtrl ctrl) + - ctrl: PartieCtrl contrôleur de la partie + - afficherCorrection() afficher le découpage correct comparé à celui donné pour chaque mot de la partie + - fin() : Validation finale pour finir la partie + +## Description des fonctionnalités + +### Entrée + +#### Gestion des tours + +- **Valider** : Valide le choix de découpage et passe au tour suivant + +#### Découpage des mots + +- **Couper** : En passant la souris sur le mot, le joueur pourra séparer le mot, en cliquant il pourra couper le mot à l'endroit sélectionné. L'action peut être répétée. +- **Annuler** : En cliquant sur un espace créé par découpage, celui-ci peut être annulé pour recoller le mot. + +### Sorties + +#### Progression + +- **TotalMots** : nombre de mots total générés pour la partie. +- **NumMotActuel** : progression actuelle dans la partie + +#### Mots + +- **Mot** : Le mot à découper + +#### Fin de partie + +- **Decoupage** : Le mot découpé par l’utilisateur +- **Correction** : le découpage correct pour le mot, (vert si juste, rouge si faux) + +### Moteur interne + +