DocScoDoc/docs/ModelisationParcoursBUT.md

272 lines
11 KiB
Markdown
Raw Normal View History

2022-04-23 13:18:39 +02:00
# Les parcours du BUT dans ScoDoc
2022-04-24 16:31:39 +02:00
Cette documentation est destinée aux développeurs et à tous ceux qui souhaitent
2022-04-23 13:18:39 +02:00
comprendre le fonctionnement du logiciel.
ScoDoc est livré avec les référentiels de compétences de tous les parcours de toutes
les spécialités de BUT. En effet, ces référentiels sont nationaux, publiés par
le ministère (voir
[https://cache.media.enseignementsup-recherche.gouv.fr/file/SPE4-MESRI-17-6-2021/32/3/_Annexe_1_PN_BUT_version_post_CNESER_20210511_18-05-2021-1_1411323.pdf](https://cache.media.enseignementsup-recherche.gouv.fr/file/SPE4-MESRI-17-6-2021/32/3/_Annexe_1_PN_BUT_version_post_CNESER_20210511_18-05-2021-1_1411323.pdf))
et ne sont pas susceptibles d'adaptations locales.
Nous nous sommes basés sur les versions exportées du logiciel Orébut.
## Rappel général sur le BUT et ScoDoc
Rappel simplifié, se concentrant sur les points utiles pour l'évaluation
et les liens avec le cursus de formation:
- Chaque parcours de BUT est défini par un ensemble de compétences.
- Une compétence est décomposée en deux ou trois *niveaux*, chacun constitué de
deux UE consécutives (sur semestres pair et impair de la même année
scolaire).
- Les UE sont des UE "LMD" habituelles; associées à des crédits ECTS,
capitalisables. Chaque UE est associée à une note (moyenne d'UE) et une
décision de jury (validée, ajournée, ...).
Dans le BUT, le référentiel de formation n'est pas fixé nationalement. Une part
est publiée (2/3) par le ministère, le reste est défini localement par les
universités (*adaptation locale*).
Les modules: on appelle ici "module" tout dispositif pédagogique évalué, dans le
BUT ce sont les *ressources* et les *SAÉ*.
Dans ScoDoc, le programme pédagogique définit les UE et modules pour l'ensemble
des semestres d'un ou plusieurs parcours. De cette façon, on pourra utiliser les
mêmes éléments dans plusieurs parcours, et grouper les étudiants de plusieurs
parcours dans le même semestre si on le souhaite.
## Modélisation ScoDoc
On a d'une part le *programme de formation*, et de l'autre le *référentiel de
compétences*.
### Programme de formation
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).
2022-05-21 23:49:31 +02:00
- `Formation` (ex: "BUT R&T")
- `UniteEns` (UE, ex: "Administrer les réseaux")
- `Modules` (ressources, SAÉs) *<-> `ApcAppCritique`*, *<-> `ApcAnneeParcours`*
2022-04-23 13:18:39 +02:00
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
matrice de coefficients.
2022-04-24 22:43:36 +02:00
On va aussi rattacher les Modules à un ou plusieurs ApcParcours, de façon à
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).
2022-05-21 23:49:31 +02:00
#### 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.
2022-04-23 13:18:39 +02:00
### Référentiel de compétences
Le référentiel de compétences est structuré par les classes suivantes:
2022-05-21 23:49:31 +02:00
- `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 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
2022-04-23 13:18:39 +02:00
modules, qui permet d'établir les critères d'évaluation de chaque module.
### FormSemestres
2022-05-21 23:49:31 +02:00
La formation est mise en œuvre dans des `FormSemestre` (date début, fin,
enseignants responsables, ...) constitués de `ModuleImpl` (module avec enseignant,
2022-04-23 13:18:39 +02:00
évaluations, ...).
2022-05-21 23:49:31 +02:00
- `FormSemestre`
- `ModuleImpl`
- `Evaluation`
2022-04-23 13:18:39 +02:00
### Inscriptions des étudiants
Les étudiants sont inscrits:
2022-05-21 23:49:31 +02:00
- 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**)
2022-04-23 13:18:39 +02:00
### 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:
2022-05-21 23:49:31 +02:00
- 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
2022-04-23 13:18:39 +02:00
`formsemestre_editwithmodules`
2022-05-21 23:49:31 +02:00
- `Identite` }o--o{ `ApcParcours` : inscription au parcours, page à créer.
2022-04-23 13:18:39 +02:00
### Cas d'usage
2022-05-02 08:25:12 +02:00
#### Niveau de compétence d'un formsemestre
2022-05-21 23:49:31 +02:00
Le formsemestre est lié à un ensemble d'`ApcParcours`.
2022-05-02 08:25:12 +02:00
2022-04-23 13:18:39 +02:00
#### Inscription d'un étudiant aux ModuleImpls
L'inscription reste libre (chaque individu peut être inscrit à un sous-ensemble
2022-05-21 23:49:31 +02:00
quelconque des `ModuleImpl` du `FormSemestre`), mais il sera commode de pouvoir:
2022-04-23 13:18:39 +02:00
- créer des groupes de parcours
- inscrire les étudiants d'un groupe à tous les modules du parcours.
#### Comment ScoDoc détermine-t-il les modules d'un parcours ?
Un parcours étant associé à des compétences, et les niveaux compétences à des
UE, on peut déterminer, pour un semestre de rang donné, l'ensemble des UE
associées à un parcours.
Par ailleurs, chaque niveau de compétence est associé à un ensemble d'AC
(ApcAppCritique), et chaque module est aussi associé à son ensemble d'AC.
Pour chaque parcours d'un FormSemestre, on déterminera l'ensemble des ModuleImpl
de ce semestre ayant des AC communs avec ceux des niveaux de compétences
associés aux UE du semestre (sic). Notons que les niveaux de compétences sont
annuels, mais que les ModuleImpl sont semestriels.
2022-04-24 16:31:39 +02:00
#### Vérifier que les ModuleImpls d'un parcours couvrent l'ensemble de ses ACs
2022-04-24 22:43:36 +02:00
##### En fin de formation, pour un étudiant
Soit un étudiant inscrit à un parcours. En fin de formation (S6), on peut
facilement vérifier que les AC ont été couverts:
- Lister les ModuleImpl auxquels l'étudiant a été inscrit dans ses semestres
(S1 à S6);
- En déduire l'ensemble des AC évalués pour cet étudiant (indépendamment de sa
réussite);
- Comparer aux AC du parcours tels que décrits dans le référentiel de compétence.
##### Au moment de la définition d'une formation
2022-04-24 16:31:39 +02:00
2022-04-24 22:43:36 +02:00
Le parcours du ref. de compétence indique un ensemble d'AC pour chaque niveau (année).
On pourra vérifier que les Modules de chaque année suffisent à couvrir le
parcours. Mais si les Modules ne sont pas associés à un parcours, on ne peut pas
aller plus loin.
2022-04-24 16:31:39 +02:00
#### Lister les regroupements d'UE d'un étudiant
Pour une année donnée: l'étudiant est inscrit dans ScoDoc soit dans le semestre
impair, soit pair, soit les deux (il est rare mais pas impossible d'avoir une
inscription seulement en semestre pair, par exemple suite à un transfert ou un
arrêt temporaire du cursus).
1. Déterminer l'*autre* semestre: semestre précédent ou suivant de la même
année, formation compatible (code formation identique ou bien même
référentiel de compétence ?) dans lequel l'étudiant est inscrit.
2. Construire les couples d'UE (regroupements cohérent): apparier les UE qui
ont le même ApcParcoursNiveauCompetence.
#### Déterminer si un étudiant peut passer dans l'année suivante
Note: on peut bien sûr toujours forcer le passage, pour traiter les cas
particuliers (décision de jury manuelle).
**Rappel:** le passage est de droit si
- [x] plus de la moitié des niveaux de compétences de l'année sont validés
- [x] aucun regroupement d'UE (niveau de compétence) de l'année < 8 /20
- [x] pour le passage en S5, avoir validé toutes les UE du BUT 1 (S1 et S2).
2022-04-23 13:18:39 +02:00
2022-04-24 22:43:36 +02:00
Il faut donc:
2022-05-06 17:36:19 +02:00
2022-04-24 22:43:36 +02:00
1. Construire les regroupements d'UE et calculer la moyenne des moyennes d'UE
(a priori de même poids, cela n'est pas spécifié dans les textes).
2. Vérifier les conditions ci-dessus.
3. Pour le passage en S5, construire l'ensemble des semestres de formations
relevant du même référentiel de compétences dans lesquels a été inscrit
l'étudiant, et vérifier que les UE de S1 et S2 sont validées.
2022-04-23 13:18:39 +02:00
2022-05-21 23:49:31 +02:00
#### 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
}
2022-04-23 13:18:39 +02:00
2022-05-21 23:49:31 +02:00
ApcCompetence }o--o{ ApcAnneeParcours : "ApcParcoursNiveauCompetence (1,2,3)"
2022-04-23 13:18:39 +02:00
2022-05-21 23:49:31 +02:00
Module }o--o{ ApcParcours : "parcours_modules"
FormSemestre }o--o{ ApcParcours : "parcours_formsemestre"
UE }o..o{ ApcParcours : "pour les ECTS"
```