From 8931e68ede7cdf4f474038ba03478cfe6b1aaa69 Mon Sep 17 00:00:00 2001 From: viennet Date: Sat, 21 May 2022 23:49:31 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9tails=20mod=C3=A9lisation=20parcours=20B?= =?UTF-8?q?UT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ModelisationParcoursBUT.md | 141 +++++++++++++++++++++++++------- docs/ScoDoc9API.md | 8 +- 2 files changed, 116 insertions(+), 33 deletions(-) diff --git a/docs/ModelisationParcoursBUT.md b/docs/ModelisationParcoursBUT.md index e221ea6..685d747 100644 --- a/docs/ModelisationParcoursBUT.md +++ b/docs/ModelisationParcoursBUT.md @@ -43,9 +43,9 @@ compétences*. Le programme de formation est constitué des classes suivantes (en BUT et dans tous les types de formation. La notion de "matière" n'est pas utilisée en BUT). - - Formation (ex: "BUT R&T") - - UniteEns (UE, ex: "Administrer les réseaux") - - Modules (ressources, SAÉs) *<-> ApcAppCritique*, *<-> ApcAnneeParcours* + - `Formation` (ex: "BUT R&T") + - `UniteEns` (UE, ex: "Administrer les réseaux") + - `Modules` (ressources, SAÉs) *<-> `ApcAppCritique`*, *<-> `ApcAnneeParcours`* On voit que les modules ont toujours une UE de rattachement. Cependant, en BUT, un module peut intervenir dans le calcul des notes de plusieurs UE, via une @@ -56,60 +56,76 @@ pouvoir vérifier que les parcours couvrent les AC, et à faciliter les inscriptions des étudiants aux modules (par ex. page présentant les modules auxquels inscrire un groupe). +#### Cas des modules présents dans plusieurs parcours + +Si un module est utilisé dans plusieurs parcours de la même formation BUT, cela +ne pose aucun problème, _sauf_ si ce module doit avoir des coefficients (vers +les UEs) différents selon le parcours dans lequel il intervient. Dans ce cas, +*il sera conseillé de créer plusieurs versions du module*, que l'on associera +aux divers parcours. + ### Référentiel de compétences Le référentiel de compétences est structuré par les classes suivantes: - - ApcReferentielCompetences - - ApcCompetence - - ApcSituationPro - - ApcComposanteEssentielle - - ApcNiveau (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> UE* - - ApcAppCritique *<-> Module* - - ApcParcours - - ApcAnneeParcours (ordre=1,2,3) *<-> Module* - - *ApcCompetence* <- ApcParcoursNiveauCompetence (niveau 1, 2, 3) -> *ApcAnneeParcours* + - `ApcReferentielCompetences` + - `ApcCompetence` + - `ApcSituationPro` + - `ApcComposanteEssentielle` + - `ApcNiveau` (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> UE* + - `ApcAppCritique` *<-> `Module`* + - `ApcParcours` + - `ApcAnneeParcours` (ordre=1,2,3) *<-> Module* + - *`ApcCompetence`* <- `ApcParcoursNiveauCompetence` (niveau 1, 2, 3) -> *`ApcAnneeParcours`* -Notons le lien entre les apprentissages critiques (ApcAppCritique) et les +Notons: + + - Le lien entre UE et Niveau de compétence (`ApcNiveau`). + + - Le lien à entre Compétence et Année de Parcours à travers la table + (*many-to-many*) `ApcParcoursNiveauCompetence` qui indique le niveau ce + compétence concerné. + + - Le lien entre les apprentissages critiques (`ApcAppCritique`) et les modules, qui permet d'établir les critères d'évaluation de chaque module. ### FormSemestres -La formation est mise en œuvre dans des FormSemestre (date début, fin, -enseignants responsables, ...) constitués de ModuleImpl (module avec enseignant, +La formation est mise en œuvre dans des `FormSemestre` (date début, fin, +enseignants responsables, ...) constitués de `ModuleImpl` (module avec enseignant, évaluations, ...). - - FormSemestre - - ModuleImpl - - Evaluation + - `FormSemestre` + - `ModuleImpl` + - `Evaluation` ### Inscriptions des étudiants Les étudiants sont inscrits: - - dans un FormSemestre (FormSemestreInscription, avec état (I, D, DEF) et étape - Apogée) - - dans un ModuleImpl (ModuleImplInscription) - - et, pour le BUT, dans un ApcParcours (TODO) + - dans un `FormSemestre` (`FormSemestreInscription`, avec état (`I`, `D`, + `DEF`) et étape Apogée) + - dans un ModuleImpl (`ModuleImplInscription`) + - et, pour le BUT, dans un `ApcParcours` (**TODO**) ### Associations (nouvelles pour le BUT): Pour la gestion des parcours BUT, il faut introduire les associations suivantes, qui n'existent pas dans ScoDoc 9.2: - - UE <-> ApcNiveau : choix sur la page `ue_edit` - - Module <-> ensemble de ApcParcours - - Module ||--o{ ApcAppCritique : choix sur la page `module_edit` - - FormSemestre ||--o{ ApcParcours : choix sur la page + - UE <-> `ApcNiveau` : choix sur la page `ue_edit` + - `Module` <-> ensemble de `ApcParcours` + - `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit` + - `FormSemestre` ||--o{ `ApcParcours` : choix sur la page `formsemestre_editwithmodules` - - Identite }o--o{ ApcParcours : inscription au parcours, page à créer. + - `Identite` }o--o{ `ApcParcours` : inscription au parcours, page à créer. ### Cas d'usage #### Niveau de compétence d'un formsemestre -Le formsemestre est lié à un ensemble d'ApcParcours. +Le formsemestre est lié à un ensemble d'`ApcParcours`. #### Inscription d'un étudiant aux ModuleImpls L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble -quelconque des ModuleImpl du FormSemestre), mais il sera commode de pouvoir: +quelconque des `ModuleImpl` du `FormSemestre`), mais il sera commode de pouvoir: - créer des groupes de parcours - inscrire les étudiants d'un groupe à tous les modules du parcours. @@ -184,5 +200,72 @@ Il faut donc: l'étudiant, et vérifier que les UE de S1 et S2 sont validées. +#### Cas particulier: formations dont le nombre d'ECTS varie selon le parcours +Ce cas a été soulevé à propos du BUT MMI, qui préconiserait par exemple, au S4, +une compétence développer avec 10 ECTS dans le parcours "web", et 5 ECTS dans le +parcours "crea". +Si on veut pouvoir utiliser la même formation, et éventuellement mélanger les +étudiants des différents parcours dans le même `FormSemestre` (ce qui +simplifierait la gestion des modules communs), il faut modifier la modélisation: +Les ECTS sont actuellement des attributs de UEs. +Il faudrait avoir une association `UniteEns` }o..o{ `ApcParcours` qui contienne +les valeurs des ECTS. + +### Diagramme de classes + +Juste pour rire, car ce diagramme est quasiment inexploitable. + +``` mermaid +erDiagram + FormSemestre ||--|{ ModuleImpl : contient + ModuleImpl ||--o{ Evaluation : contient + Module ||--o{ ModuleImpl : "" + Formation ||--o{ UE : "" + UE ||--|{ Module : "" + + Formation { + str titre + str acronym + str code + } + + Etudiant { + str nom + } + + FormSemestre { + int dept_id + str titre + date date_debut + date date_fin + } + + Etudiant }|..|{ ModuleImpl : ModuleImplInscription + Etudiant }|..|{ FormSemestre : FormSemestreInscription + Etudiant }|..|{ ApcParcours : "optionnel" + + Formation ||--o{ FormSemestre : "" + + ApcReferentielCompetences ||--o{ ApcCompetence : "" + ApcCompetence ||--o{ ApcNiveau : "" + ApcCompetence ||--o{ ApcSituationPro : "" + ApcCompetence ||--o{ ApcComposanteEssentielle : "" + ApcNiveau }o..|| UE : "optionnel" + ApcNiveau ||--o{ ApcAppCritique : "" + ApcAppCritique }o..o{ Module : "optionnel" + + ApcReferentielCompetences ||--o{ ApcParcours : "" + ApcParcours ||--o{ ApcAnneeParcours : "" + + ApcAnneeParcours { + int ordre + } + + ApcCompetence }o--o{ ApcAnneeParcours : "ApcParcoursNiveauCompetence (1,2,3)" + + Module }o--o{ ApcParcours : "parcours_modules" + FormSemestre }o--o{ ApcParcours : "parcours_formsemestre" + UE }o..o{ ApcParcours : "pour les ECTS" +``` diff --git a/docs/ScoDoc9API.md b/docs/ScoDoc9API.md index 4850b0d..e30f70b 100644 --- a/docs/ScoDoc9API.md +++ b/docs/ScoDoc9API.md @@ -823,10 +823,10 @@ Les sessions de formation (qu'elles durent une année ou un mois) sont représen #### Note sur les identifiants de formsemestre Le `session_id` peut être utilisé pour identifier de façon prévisible et -(presque) unique un un formsemestre) dans un établissement, ce qui est utile -notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion d'emplois -du temps ou de services d'enseignement). Cet identifiant est constitué des -informations suivantes: +(presque) unique un formsemestre) dans un établissement, ce qui est utile +notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion +d'emplois du temps ou de services d'enseignement). Cet identifiant est constitué +des informations suivantes: * **Département** (RT, GEII, INFO...) (acronyme en majuscules) * **Nom parcours:** BUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)