Détails modélisation parcours BUT

This commit is contained in:
Emmanuel Viennet 2022-05-21 23:49:31 +02:00
parent 533a698a09
commit f56030422e
2 changed files with 116 additions and 33 deletions

View File

@ -43,9 +43,9 @@ compétences*.
Le programme de formation est constitué des classes suivantes (en BUT et dans 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). tous les types de formation. La notion de "matière" n'est pas utilisée en BUT).
- Formation (ex: "BUT R&T") - `Formation` (ex: "BUT R&T")
- UniteEns (UE, ex: "Administrer les réseaux") - `UniteEns` (UE, ex: "Administrer les réseaux")
- Modules (ressources, SAÉs) *<-> ApcAppCritique*, *<-> ApcAnneeParcours* - `Modules` (ressources, SAÉs) *<-> `ApcAppCritique`*, *<-> `ApcAnneeParcours`*
On voit que les modules ont toujours une UE de rattachement. Cependant, en BUT, 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 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 inscriptions des étudiants aux modules (par ex. page présentant les modules
auxquels inscrire un groupe). 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 ### Référentiel de compétences
Le référentiel de compétences est structuré par les classes suivantes: Le référentiel de compétences est structuré par les classes suivantes:
- ApcReferentielCompetences - `ApcReferentielCompetences`
- ApcCompetence - `ApcCompetence`
- ApcSituationPro - `ApcSituationPro`
- ApcComposanteEssentielle - `ApcComposanteEssentielle`
- ApcNiveau (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> UE* - `ApcNiveau` (année (BUT1, BUT2, ...), ordre (1,2) ou (1,2,3)) *<-> UE*
- ApcAppCritique *<-> Module* - `ApcAppCritique` *<-> `Module`*
- ApcParcours - `ApcParcours`
- ApcAnneeParcours (ordre=1,2,3) *<-> Module* - `ApcAnneeParcours` (ordre=1,2,3) *<-> Module*
- *ApcCompetence* <- ApcParcoursNiveauCompetence (niveau 1, 2, 3) -> *ApcAnneeParcours* - *`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. modules, qui permet d'établir les critères d'évaluation de chaque module.
### FormSemestres ### FormSemestres
La formation est mise en œuvre dans des FormSemestre (date début, fin, La formation est mise en œuvre dans des `FormSemestre` (date début, fin,
enseignants responsables, ...) constitués de ModuleImpl (module avec enseignant, enseignants responsables, ...) constitués de `ModuleImpl` (module avec enseignant,
évaluations, ...). évaluations, ...).
- FormSemestre - `FormSemestre`
- ModuleImpl - `ModuleImpl`
- Evaluation - `Evaluation`
### Inscriptions des étudiants ### Inscriptions des étudiants
Les étudiants sont inscrits: Les étudiants sont inscrits:
- dans un FormSemestre (FormSemestreInscription, avec état (I, D, DEF) et étape - dans un `FormSemestre` (`FormSemestreInscription`, avec état (`I`, `D`,
Apogée) `DEF`) et étape Apogée)
- dans un ModuleImpl (ModuleImplInscription) - dans un ModuleImpl (`ModuleImplInscription`)
- et, pour le BUT, dans un ApcParcours (TODO) - et, pour le BUT, dans un `ApcParcours` (**TODO**)
### Associations (nouvelles pour le BUT): ### Associations (nouvelles pour le BUT):
Pour la gestion des parcours BUT, il faut introduire les associations suivantes, Pour la gestion des parcours BUT, il faut introduire les associations suivantes,
qui n'existent pas dans ScoDoc 9.2: qui n'existent pas dans ScoDoc 9.2:
- UE <-> ApcNiveau : choix sur la page `ue_edit` - UE <-> `ApcNiveau` : choix sur la page `ue_edit`
- Module <-> ensemble de ApcParcours - `Module` <-> ensemble de `ApcParcours`
- Module ||--o{ ApcAppCritique : choix sur la page `module_edit` - `Module` ||--o{ `ApcAppCritique` : choix sur la page `module_edit`
- FormSemestre ||--o{ ApcParcours : choix sur la page - `FormSemestre` ||--o{ `ApcParcours` : choix sur la page
`formsemestre_editwithmodules` `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 ### Cas d'usage
#### Niveau de compétence d'un formsemestre #### 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 #### Inscription d'un étudiant aux ModuleImpls
L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble 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 - créer des groupes de parcours
- inscrire les étudiants d'un groupe à tous les modules du 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. 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"
```

View File

@ -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 #### Note sur les identifiants de formsemestre
Le `session_id` peut être utilisé pour identifier de façon prévisible et 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 (presque) unique un formsemestre) dans un établissement, ce qui est utile
notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion d'emplois notamment pour interfacer ScoDoc à d'autres logiciels (par exemple gestion
du temps ou de services d'enseignement). Cet identifiant est constitué des d'emplois du temps ou de services d'enseignement). Cet identifiant est constitué
informations suivantes: des informations suivantes:
* **Département** (RT, GEII, INFO...) (acronyme en majuscules) * **Département** (RT, GEII, INFO...) (acronyme en majuscules)
* **Nom parcours:** BUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME) * **Nom parcours:** BUT, LP, ... (défini au niveau du parcours dans ScoDoc = NAME)