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
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"
```

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
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)