|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
Mesdames, Messieurs bonjour à toutes et tous.
Parcourant le forme depuis un petit temps maintenant sans pour autant être très actif j'ai pu noter que certains d'entre vous sont des vraies bêtes en conception de base de données ![]() J'aurais besoin de votre science afin de pouvoir m'aider. Dans le cadre de mon travail de fin d'études, j'ai décidé de développer un module de type bulletin pour la plateforme de travail collaboratif Claroline ( http://www.claroline.net ). Pour se faire, je me base sur mon propre bulletin de type papier lors de mes études secondaires. Au point de vue SGBD c'est du MySQL et au point de vue développement c'est du PHP (classique quoi j'ai déjà parcouru le forum à la recherche de postes pouvant m'être utile dans ma tache. Le plus complet me semble être celui-ci : http://www.developpez.net/forums/d12...le-superieure/ - Le module comportera 3 parties : 1) Le directeur créera une structure de bulletin suivant certains critères (Nombres de périodes d’évaluation, cours, pondération etc). Une fois cette structure générée, elle sera utilisée par les enseignants. Les branches/cours correspondront à celles/ceux de la plateforme Caroline 2) Les enseignants inséreront les résultats d'évaluation (comme un bulletin papier). 3) Les élèves consulteront leurs bulletins lorsque ceux-ci seront disponibles. Voici mon analyse de cas : Après un brainstorming de mon bulletin papier, voici les différentes entités de base dont je pense avoir besoin (il doit probablement m'en manquer) - Année scolaire - Elève - Enseignant - Directeur - Classe - Branche - Cours - Période évaluation - Evaluation - Structure bulletin Voici les relations que j'ai pu trouver entre les différentes entités : - Un bulletin est généré pour une Année scolaire. - Un élève est scolariser durant une année scolaire. - Un élève est inscrit dans une et une seule classe. - Un élève obtient des résultats d'évaluation. - Un élève suit un nombre de cours. - Un enseignant dispense un ou plusieurs cours. - Un enseignant est titulaire d'une et une seule classe - Un enseignant remplit une évaluation - Un Directeur crée une structure de bulletin - Un Directeur approuve ou non la réussite final d'un élève. - Une branche inclut un ou plusieurs cours. Ca c'était la partie pour se mettre en jambe ! Le gros du travail me semble-t-il est la gestion des évaluations et des moyennes ! Pour se faire, il faut d'abord avoir une idée précise de la structure du bulletin. Je m'explique : La structure du bulletin sera définie suivant les paramètres suivants : - Nombre de périodes d’évaluation (Par exemple 4 : Toussaint, Noël, Pâques et Juin) - Les branches et cours repris dans le bulletin (on va faire simple , toutes les branches ainsi que tous les cours repris dans ces dernières existant dans la plateforme Claroline car plus logique et facile à select). - Décider si pour une période d'évaluation s'il n'y a qu'un seul évaluation (la moyenne des interrogations) ou s'il y a aussi des examens. Dans ce cas, il faut décider de la pondération de ceux-ci. - Décider de la pondération des cours dans une branche (exemple Théorie 40% et pratique 60%). - Décider de la pondération d'une branche par rapport aux autres dans le but de faire une moyenne globale (le plus simple serait que chaque branche ait la meme pondération) Citation:
Vous trouverez en pièce jointe ma première ébauche du MCD (png et .mcd) généré avec Jmerise. Il y a probablement pas mal de fautes ou d'incohérences mais il faut bien commencer quelque part J'ai plus que probablement oublié de mentionner des détails qui sont clairs pour moi mais probablement par pour quelqu’un qui découvre le sujet. Mon but n'étant absolument pas que le travail soit fait à ma place mais que l'on m'oriente vers la bonne direction quand cela est nécessaire. Merci d'avance pour vos réponses. Bien à vous. Leptitjej |
|
|
|
10
|
|
|
#2 |
![]() ![]() Jean-Philippe Inscription : août 2007 Messages : 667 ![]() |
Bonsoir leptitjej,
Quelques remarques sur l'adéquation entre les règles de gestion et le MCD. Ceci n'est pas modélisé (il n'y a pas d'entité Bulletin) Dans le MCD, un élève est scolarisé durant au moins une année scolaire (c'est à dire 1 à n) Non modélisé : il n'y a pas d'association entre les entités Elève et Cours Non modélisé : il n'y a pas d'association entre les entités Enseignant et Evaluation Dans le MCD, un directeur peut créer plusieurs structures de bulletin Non modélisé : il n'y a pas d'association entre les entités Directeur et Elève Dans le MCD, une branche peut ne pas inclure de cours (0,n)
__________________
« Cela va sans dire... mais cela va mieux en le disant ! » (maxime populaire) __________________ Vous avez votre réponse ? N'oubliez pas de cliquer sur
|
|
|
20
|
|
|
#3 | |||
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
Merci de votre réponse, je vais me pencher sur vos remarques et actualiser le MCD
![]() Une petite question me un soucis cependant, quelqu'un pourra peut être y repondre. Au niveau des évaluations : Il y a plusieurs types d'évaluations (pour un cours) : - Évaluation période (Somme des interrogations et examens s'il y en a) - Évaluation Globale (moyenne des évaluations de toutes les périodes) Mais, une évaluation n'est jamais qu'un résultat par rapport à une note maximal fixée (ex : 15/20) et une pondération. Au point de vue MCD, est-il plus intéressant de ne garder qu'une seule entité Évaluation ou bien d'en créer une par type ? Citation:
Citation:
Citation:
J'espère avoir été clair dans mon message Merci. |
|||
|
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
Voici la deuxième version de mon MCD, avec les explications en français de toutes les associations entre chacune des entités. Je je demande par contre de plus en plus si je dois garder mon entité StructureBulletin. Il me semble qu'en ajoutant les attributs nécessaires dans les différentes entités concernées par la structure du bulletin, je devrais pouvoir y arriver
Je pense tout de même que ce n'est pas assez complet pour pouvoir stocker toutes les informations dont j'ai besoin. Mais dans l'immédiat je ne vois pas trop ce que je pourrais rajouter. Voici les explications des associations (relations) : Citation:
Edit : après réflexion, je me dis que les attributs "moyenne" dans l'entité bulletin ne sont pas nécessaire. en effet les moyenne peuvent se calculer via l'entité évaluation et les pondération des autres entités concernées. Je vais essayer de calculer toutes les moyennes qu'il me faut avec le schéma actuel Merci d'avance de vos réponses
|
|
|
|
00
|
|
|
#5 | |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
J'aurais une question de sémantique pour l'attribution de mes cardinalités car ce n'est jamais évident de savoir si la manière dont on imagine les choses est la bonne !
Mon gros soucis est de savoir si je dois considéré mes cardinalités sur mon MCD en considérant mon bulletin sur un cycle de vie d'une année scolaire ou bien sur x années et donc les cardinalités ne sont plus les mêmes du tout. je m'explique. Dans ce cas la, je pars toujours avec l'idée suivante : Durant une année scolaire, pour un bulletin.... - Une seule structure de bulletin peut être utilisée Citation:
Je ne sais pas trop quelle logique adopter. Help please Merci d'avance de vos réponses |
|
|
|
00
|
|
|
#6 | |||
![]() ![]() Jean-Philippe Inscription : août 2007 Messages : 667 ![]() |
Citation:
L'investissement humain et matériel n'est pas le seul critère. La 2e année il est déjà possible de réutiliser des structures de bulletin (par exemple). C'est autant de temps de saisie gagné. Attention, l'impact de cette approche (plusieurs années scolaires) sur le MCD ne se limite pas aux cardinalités. Il faut repenser le modèle. Juste un exemple : l'association élève - classe. Dans le MCD actuel, l'association est : [ Elève ]--1,1----( Inscrire )----1,n--[ Classe ]Ce qui se traduit par : R01. Un élève est inscrit dans une et une seule classe (durant une année scolaire). Si le MCD porte sur plusieurs années scolaires, la règle devient : R01. Un élève est inscrit dans une et une seule classe durant une année scolaire.La différence est subtile (mais suffisante) pour modéliser différemment. On pourra cependant préférer une autre formulation : R01. Chaque année scolaire, un élève ne peut être inscrit que dans une et une seule classe.La modélisation devient alors : Code :
R01a. Un élève peut s'inscrire à plusieurs années scolaires.Ce n'est qu'un exemple mais il montre que le MCD doit être repensé pour que la base de données puisse vivre plus que le temps d'une année scolaire.
__________________
« Cela va sans dire... mais cela va mieux en le disant ! » (maxime populaire) __________________ Vous avez votre réponse ? N'oubliez pas de cliquer sur
|
|||
|
|
20
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
Merci de votre réponse ,
Ceci éclair pas mal la vision à adopter pour les cardinalités ! il faut voir dans la perspective générale (c'est a à dire sur plusieurs années et non sur un cycle d'une année scolaire). Je vais retravailler mon MCD et préciser un exemple concret de bulletin (plus détaillé que dans le poste de départ) afin d'être bien compréhensible |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
J'ai repensé mon énoncé de départ de mon bulletin avec un exemple complet cette fois-ci afin d'être certain de ce qu'il me faut. Celui-ci comprend les différents paramètres ainsi que l'exemple de ce à quoi il devrait ressembler à la fin d'un année scolaire. Toutes les valeur renseignées dans les lignes et colonnes "Total..." ont été calculées à base des notes de matières.
Ces informations sont disponibles en fichiers attachés A base de cela, j'ai tenté une nouvelle version MCD plus "light" que la dernière et avec quelques modifications : - Utilisation d'une association récursive sur une entité BrancheMatiere. en effet, une branche est composée d'une ou plusieurs matières et leur structure est la même. - Suppression de l'entité directeur qui n'est pas vraiment nécessaire. - Suppression de certaines entités qui donneront lieu à des attributs sur certaines associations (pour les pondérations et les note). Que pensez vous de cette version ? semble-t-elle, à votre avis, suffisante pour gérer le bulletin comme il est présenté dans l'exemple ? Encore un point sur lequel j'aurais besoin qu'on m’éclaire. Je souhaite que l'enseignant qui crée le bulletin décide lors de la création de celui-ci sa structure : Le nombre de périodes, le choix des branches/matières reprises dans le bulletin ainsi que la pondération de ces dernières. Dois-je prévoir prévoir une entité à cet effet ? Encore une fois, il se peut que ma logique des cardinalités ne soit pas parfaite. N'hésitez surtout pas à me corriger. Merci. |
|
|
00
|
|
|
#9 | |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
En fait je me rend compte que mon MCD précédent ne me servira pas dans la pratique car mon but est de créer un module pour une application web (claroline) existante ayant sa propre base de données (MySQL). Dans celle-ci il y a déjà pas mal de tables qui me serviront. Je suis donc "obligé" d'ajouter des entité et associations (qui deviendront des tables a cause de leur cardinalité).
Citation:
Le but final étant de faire un script SQL qui effectuera tous les changements au niveau de la base de données (lors du chargement du module). L'application Jmerise m'a généré le MLD correspond ainsi que le code SQL. Cependant, celui-ci ne génère pas les index donc les relations entre les nouvelles tables et celles existantes ne sont pas faites Le temps commence à me manquer pour ce projet et je suis bloqué tant que je ne suis pas sur que ma base de données est correcte PS : connaitriez-vous une application permettant de faire du reverse engineering MySQL (Tables -> MLD) ? Merci d'avance de votre réponse. |
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Étudiant Inscription : août 2012 Messages : 16 ![]() |
Bon fini les descriptions plus ou moins détaillées
Voici le MCD des tables nécessaires pour le module de la base de données existante de l'application Claroline. Il a été généré via un soft de reverse engineering (MicroOLAP)
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com