IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Gestionnaire de Classe


Sujet :

Schéma

  1. #1
    Membre averti Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Points : 388
    Points
    388
    Par défaut Gestionnaire de Classe

    je veux concevoir un petit gestionnaire de classe pour école et je voudrais bien analyser le système avant de me lancer, je veux un truc petit mais robuste qui peut gerer tous les aspect d'une classe? j'ai fais mon analyse que je vous soumet afin que vous me donniez vos idées, peut être que quelqu'un l'a déja fait et à été confronté à certaines difficultés....

    Nom : diagramme_easyschool.png
Affichages : 5171
Taille : 4,6 Ko

    des détails :
    1 Professeur gère plusieurs Classes,
    1 Classe est gérée par plusieurs professeurs,
    1 Classe regroupe plusieurs etudiants,
    1 Etudiants a plusieurs notes,
    1 Note est obtenue par plusieurs étudiants,
    1 Note concerne une matière,
    1 Matière possède plusieurs Notes,
    1 Note est obtenue pendant une période (l'année scolaire....)

    Je veux juste vos avis sur mon travail afin que l'analyse soit pertinente.
    Merci d'avance
    Toute chose dépend de la valeur qu'on lui attribue !

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Remarque : mes remarques concerne le cas général d'une classe. Il est peut-être bien plus large que ton cas particulier auquel cas tu pourras simplifier en fonction de ton besoin.
    Citation Envoyé par cervo Voir le message
    1 Professeur gère plusieurs Classes,
    1 Classe est gérée par plusieurs professeurs,
    Oui, mais il va te manquer, je pense aussi, le lien entre Professeur et matière pour une classe donnée. Dans une classe, plusieurs matières sont enseignées. Chaque matière est enseignée par un professeur, parfois plusieurs. Un professeur, dans une classe, enseigne une matière, parfois plusieurs. La même matière, dans des classes différentes, n'est pas forcément enseigné par le même professeur. Un même professeur n'enseigne pas forcément toujours la même matière dans des classes différentes.
    A noter qu'il peut y avoir plusieurs optiques sur ce point. Un étudiant va suivre un certain nombre de matières, il y aura donc obligatoirement un lien entre matière et étudiant, ne serait que pour avoir la liste des matières de l'étudiant et les notes.
    Si on se contente de ce paradigme, on peut le lien directe étudiant/matière et donc aussi y ajouter le lien avec le professeur.
    On peut dire aussi que les matières sont propre à une classe, dans ce cas on aura lien Classe/matière/professeur. Dans ce cas, le lien Etudiant/professeur se fera, lui, indirectement via la matière et la classe. Dans ce cas aussi, normalement, le lien Etudiant/Matière ne pourra se faire que vers des matières liées à la Classe dont est l'étudiant membre.
    Mais là, je sens que j'embrouille tout le monde

    Citation Envoyé par cervo Voir le message
    1 Classe regroupe plusieurs etudiants,
    1 Etudiants a plusieurs notes,
    Oui

    Citation Envoyé par cervo Voir le message
    1 Note est obtenue par plusieurs étudiants,
    Non, la note est propre à l'étudiant. Que cette note soit issue d'un tableau de notation commun en l'ensemble des étudiants, si tu veux. Mais la note obtenue est individuelle et propre à chaque étudiant.
    Si c'est un travail de groupe qui est noté, chaque étudiant obtiendra sa propre note individuelle, identique pour tous les étudiants du groupe.

    Citation Envoyé par cervo Voir le message
    1 Note concerne une matière,
    Oui, habituellement, une note ne concerne qu'une et une seule matière.

    Citation Envoyé par cervo Voir le message
    1 Matière possède plusieurs Notes,
    1 Note est obtenue pendant une période (l'année scolaire....)
    Oui
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonjour,


    En vous faisant observer qu’on ne sait pas quelles matières sont enseignées par tel professeur et à quelles classes, Sevyc64 attire votre attention sur le fait que vos règles de gestion des données sont incomplètes. Quelques « détails » ne suffisent pas, il faudrait que vous fournissiez les règles de façon exhaustive et rigoureuse, en vous inspirant de la réalité de la vie d’une classe.

    Par exemple (les énoncés sont un peu lourds, mais au moins ils ne sont pas ambigus) :

    (RG01) Un professeur enseigne au moins une matière et au plus plusieurs ;

    (RG02) Une matière est enseignée par au moins un professeur et au plus plusieurs.

    On déduit de ces deux règles une sorte de catalogue, de référentiel de réservoir, à partir duquel la direction de l’école pourra affecter l’enseignement d’une matière à une classe (ou plusieurs classes, à vous de préciser) par un professeur.

    De l’exhaustivité des règles et de leur précision, de leur rigueur, dépendent notamment la pertinence et la robustesse du modèle qui lui-même servira à la mise en oeuvre de la structure de la base de données.

    Vous ne proposez pas le mode d’emploi de la lecture de votre diagramme très informel, impropre à la consommation. Pour traduire de façon formelle les règles de gestion des données, Il faut impérativement que vous utilisiez un outil par exemple MySQL Workbench.

    Bon courage.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  4. #4
    Membre averti Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Points : 388
    Points
    388
    Par défaut

    Vraiment merci pour vos remarques, çà me permet de mieux comprendre certaines choses. Mais à savoir si un lien entre Matière et Etudiant ne ferait pas une boucle cyclique ? ( je crois que ce doit être le nom ... j'ai pas bien revisé mon cours )
    Toute chose dépend de la valeur qu'on lui attribue !

  5. #5
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir cervo,


    Vous avez à juste titre fait une remarque concernant les boucles (cycles).

    Cela dit, prenez l’exemple d’une nomenclature : une pièce est composée d’autres pièces :





    Il y a là une magnifique boucle, serait-elle donc peccamineuse ? Elle est pourtant inévitable...

    Il est vrai que, confié à des mains inexpérimentées, le traitement d’une boucle peut comporter des risques, et c’est pourquoi, il est le plus souvent répété qu’il faut les éviter, mais j’ajoute aussitôt pour ma part : « quand c’est possible ! » car, sur le terrain, dans le concret des projets des entreprises, ces boucles (ou cycles) sont souvent inévitables, pour ne pas dire omniprésentes, voyez un l’exemple caractéristique des devis et factures. Mais quand il est dit qu’il faut éviter les boucles, en fait cela signifie qu’il faut être vigilant lorsqu’elles sont inévitables, et se donner alors les moyens de faire en sorte qu’elles ne mettent pas en danger l’intégrité de la base de données.


    Revenons à l’apprentissage des matières par des étudiants d’une école, et partons de règles de gestion des données du genre :

    (R01) Un professeur est habilité à enseigner de 1 à N matières ;
    (R02) Une matière est enseignée par 1 à N professeurs ;
    (R03) Une classe est composée de 1 à N étudiants ;
    (R04) Un étudiant fait partie d’au moins et au plus une classe ;
    (R05) Un professeur ne peut donner un cours sur une matière donnée qu’à condition d’être habilité à enseigner cette matière ;
    (R06) Un cours ayant pour objet telle matière est dispensé tel jour et à telle heure, par tel professeur, à telle classe.

    Fournissons une représentation graphique de ces règles, à l’aide par exemple de l’outil MySQL Workbench :





    Dans ce diagramme tabulaire, se dissimule un risque, du fait de la boucle dans laquelle sont parties prenantes les tables PROFESSEUR, ENSEIGNER, MATIERE et COURS. En effet, rien n’interdit qu’un professeur fasse à une classe donnée un cours ayant pour objet une matière qu’il n’est pas habilité à enseigner...

    En l’occurrence, on forcera un professeur à ne faire cours que pour des matières qu’il est habilité à enseigner :





    La boucle s’est évaporée, le système est blindé (au moins pour cette partie...) : on a ici l’exemple d’une boucle qui a pu être évitée.

    Indépendamment de cela on observera que la table COURS a pour clé primaire le triplet {professeurId, dateCours, heureCours}, c'est-à-dire qu’à un instant donné un professeur ne fait cours qu’à une seule classe, sur une seule matière. Cependant, rien n’empêche qu’au même moment, une classe étudie plusieurs matières, sous la houlette de plusieurs professeurs... Le minimum est de mettre en oeuvre une contrainte d’unicité, symbolisée ci-dessous par un trio de mickeys verts, signifiant qu’à un instant donné, une classe étudie une seule matière, sous la houlette d’un seul professeur :





    Bien entendu, il est sous-entendu que l’attribut dateCours est du type période, ce qui ne simplifie pas les choses quand on en arrive au niveau SQL, mais chaque chose en son temps. Tout cela peut paraître compliqué, toutefois vous avez bien dit dans votre message initial que vous vouliez quelque chose de robuste... Le diagramme est incomplet, mais à vous quand même de chercher les loups qui peuvent encore se cacher...

    A suivre...
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  6. #6
    Membre averti Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Points : 388
    Points
    388
    Par défaut

    Wooow Woooow
    @fsmrel .... ma question est : comment je peux vous remercier ? c'est ce que j'appelle expliquer quelque chose.... vivement que je puisse aider quelqu'un omme vous l'avz fait avec moi.
    Trooooop coool! j'ai bien compris merciiii
    Toute chose dépend de la valeur qu'on lui attribue !

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/04/2011, 14h12
  2. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  3. [POO][Gestionnaire d'événement déclaré comme méthode d'une classe]
    Par Théolude dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/07/2009, 12h06
  4. [POO] classe pour gestionnaire de photos
    Par gtraxx dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2008, 04h58
  5. Réponses: 31
    Dernier message: 30/03/2006, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo