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

  1. #1
    Nouveau Candidat au Club
    Modèle entité association - gestion de lettres de relance
    Bonjour, j'ai un modèle entité-association a élaborer sur une société de transports urbains qui gère des contrôleurs, des infractions des usagers etc. La consigne se trouve dans le pdf ci-joint.

    J'ai fait une première ébauche du modèle mais j'ai du mal à le finaliser puisque je ne vois pas bien comment gérer le "conditionnel" et "l'incrément"; en l'occurrence comment gérer différents types de lettres de relances (1°, 2°, 3°, 4° lettre) à envoyer SI le fraudeur n'a pas payé l'amende directement, je cite: "II existe différents types de lettre de relance selon que le contrevenant a moins de 11 ans (aucune poursuite n'est engagée, seule une lettre d'avertissement est envoyée aux parents), selon qu'il soit mineur (de plus de 11 ans) ou majeur et selon la relance (1°, 2°, 3°, 4°)."

    Voici mon modèle pour l'instant:


    Si des volontaires sont prêts à m'aiguiller dans mon travail, ce serait plus qu'appréciable!

    Herostar

  2. #2
    Membre éprouvé
    Bonsoir,

    Avant d'aller plus loin, je suis surpris par votre MCD : des associations qui n'associent rien (Type, Paiement, ...), des traits qui se promènent au milieu du modèle...
    Quel logiciel avez-vous utilisé pour faire votre MCD ?
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  3. #3
    Nouveau Candidat au Club
    Oui ce n'est qu'une ébauche faite sur PowerPoint; désolé, je débute, je n'ai pas encore tous les outils adaptés.

  4. #4
    Expert éminent sénior
    Il existe des logiciels de modélisation gratuits, vous devriez en trouver facilement sur la toile, Paprick pourra peut-être vous y aider

    Il y a par ailleurs d'autres bizarreries dans votre MCD comme l'héritage de voyageur vers les mineurs plus ou moins âgés et les majeurs.
    Il va falloir expliquer un peu tout ça

  5. #5
    Membre éprouvé
    Citation Envoyé par escartefigue Voir le message
    Il existe des logiciels de modélisation gratuits, vous devriez en trouver facilement sur la toile, Paprick pourra peut-être vous y aider
    Je ne me permettrais pas Capitaine, mais je n'en pense pas moins !
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  6. #6
    Expert éminent sénior
    Fi de la modestie du papa de Looping !

    Autrement dit, HeroStar, il est grand temps de vous familiariser avec l’incomparable Looping, gracieusement proposé par le professeur Patrick Bergougnoux (merci Paprick ! )
    Faites simple, mais pas plus simple ! (A. Einstein)
    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 »)

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

  7. #7
    Nouveau Candidat au Club
    Oui oui je connais looping mais comme je termine mon cours sur les modèles E/A, je n'ai pas le temps d'apprendre à l'utiliser maintenant.
    Sinon, avez-vous des idées pour m'aider dans mon exercice ?

  8. #8
    Expert éminent sénior
    Bonjour HeroStar

    L'apprentissage de Looping n'a rien de rébarbatif, on ne se pose à peu près aucune question, c'est très intuitif

    Et au pire, si un point particulier pose question, plusieurs contributeurs de ce forum sauront vous aider


    EDIT : sans compter le temps gagné par rapport à une modélisation faite sous power point et la fiabilisation du modèle grâce à l'utilisation d'un logiciel ad hoc

  9. #9
    Nouveau Candidat au Club
    Voici une version non finie de mon modèle sur Looping. (sur quoi l'avez vous codé d'ailleurs ?)


  10. #10
    Expert éminent sénior
    Bonjour,

    Pourquoi modéliser des sous-types de voyageur selon la classe d'âge ?
    La date de naissance de l'entité-type voyageur suffit.

    Les attributs de l'association "concerne" nécessitent des explications.
    Je crains que typeid et numid soient des identifiants, les identifiants n'ont pas leur place dans les associations
    De plus, comme c'est une asso 1,1, les autres attributs peuvent être positionnés dans l'infraction (la date de délivrance de l'infraction, si c'est bien ce que représente DATEDELIV est bien un attribut de l'infraction)


    Si NBUSINF est le nombre de personnes concernées par l'infraction alors pourquoi une cardinalité 1,1 vers "concerne" ?
    Le motif de l'infraction doit être évacué dans une entité-type de typologie d'infraction, avec un identifiant, un code = un libellé et autres attributs si besoin.

    L'héritage exclusif de l'infraction vers "payee" et "procès verbal" me semble douteux : le fait d'établir un PV interdit-il le paiement


    De même, l'héritage de "contrôle" vers "simple" ou infraction pourrait sans doute être remplacé par une association facultative de "contrôle" vers "infraction"
    CONTROLE 0,n --- verifier --- 1,1 INFRACTION

  11. #11
    Nouveau Candidat au Club
    Citation Envoyé par escartefigue Voir le message

    Pourquoi modéliser des sous-types de voyageur selon la classe d'âge ?
    La date de naissance de l'entité-type voyageur suffit.
    Car il va falloir gérer des lettres de relance selon que l'individu est agé de -11 ans, entre 11 et 18 ans ou +18 ans. Je pensais donc relier différentes lettres de relance selon la catégorie d'age.

    Citation Envoyé par escartefigue Voir le message

    Les attributs de l'association "concerne" nécessitent des explications.
    Je crains que typeid et numid soient des identifiants, les identifiants n'ont pas leur place dans les associations
    De plus, comme c'est une asso 1,1, les autres attributs peuvent être positionnés dans l'infraction (la date de délivrance de l'infraction, si c'est bien ce que représente DATEDELIV est bien un attribut de l'infraction)
    Typeid et numid représentent le type et le numéro de la piece d'identité que le fraudeur montre au controleur. Je l'ai mis dans une association car un même voyageur peut frauder plusieurs fois au cours de sa vie et donc montrer différents types de pièces d'identité.

    Citation Envoyé par escartefigue Voir le message

    Si NBUSINF est le nombre de personnes concernées par l'infraction alors pourquoi une cardinalité 1,1 vers "concerne" ?
    Le motif de l'infraction doit être évacué dans une entité-type de typologie d'infraction, avec un identifiant, un code = un libellé et autres attributs si besoin.
    NBUSIF est simplement le numéro du bus dans lequel a eu lieu le controle/l'infraction.


    Citation Envoyé par escartefigue Voir le message

    L'héritage exclusif de l'infraction vers "payee" et "procès verbal" me semble douteux : le fait d'établir un PV interdit-il le paiement
    En fait, un individu peut payer directement lors du controle (ou dans les 48H) ou alors ne pas payer dans les 48h et alors un proces verbal est ouvert. Je cite "On tiendra compte du fait qu'une infraction ne donne pas toujours lieu à un procès-verbal (distinguer les deux notions)"

    Citation Envoyé par escartefigue Voir le message

    De même, l'héritage de "contrôle" vers "simple" ou infraction pourrait sans doute être remplacé par une association facultative de "contrôle" vers "infraction"
    CONTROLE 0,n --- verifier --- 1,1 INFRACTION
    Bonne idée!


    J'espère que j'ai été plus clair.

  12. #12
    Expert éminent sénior
    Re


    Citation Envoyé par HeroStar Voir le message
    Car il va falloir gérer des lettres de relance selon que l'individu est agé de -11 ans, entre 11 et 18 ans ou +18 ans. Je pensais donc relier différentes lettres de relance selon la catégorie d'age.
    Oui, mais d'une part la date de naissance permet de connaître l'âge de la personne au moment de l'infraction, d'autre part, l'âge n'a de sens qu'à un instant "t" puisqu'il change tous les jours. Par ailleurs, s'il n'y a ni attribut spécifique à telle classe d'âge ni association spécifiques, l'héritage n'a pas d'intérêt.
    Donc l'attribut "date de naissance" comparé avec la date du jour vous suffira pour répondre au besoin



    Citation Envoyé par HeroStar Voir le message

    Typeid et numid représentent le type et le numéro de la piece d'identité que le fraudeur montre au controleur. Je l'ai mis dans une association car un même voyageur peut frauder plusieurs fois au cours de sa vie et donc montrer différents types de pièces d'identité.
    OK, en ce cas il serait préférable de créer une entité-type "piece d'identité" à mettre en relation avec l'infraction. C'est plus évolutif car ca permet d'avoir plusieurs pièces de différents types si besoin.
    INFRACTION 0,n --- présenter --- 0,n PIECE 1,1 --- typer --- 0,n TYPE_PIECE



    Citation Envoyé par HeroStar Voir le message
    NBUSIF est simplement le numéro du bus dans lequel a eu lieu le controle/l'infraction.
    Je n'avais pas lu les specs jointes, ok il s'agit uniquement de transport par bus. Dans la vraie vie, il est assez probable qu'on s'intéresserait à identifier les bus, mais comme ce n'est pas précisé dans les specs, inutile de s'encombrer.



    Citation Envoyé par HeroStar Voir le message

    En fait, un individu peut payer directement lors du controle (ou dans les 48H) ou alors ne pas payer dans les 48h et alors un proces verbal est ouvert. Je cite "On tiendra compte du fait qu'une infraction ne donne pas toujours lieu à un procès-verbal (distinguer les deux notions)"
    OK donc, il faut ajouter une date de paiement dans l'infraction et une asso 0,1 vers le procès verbal, car même si le paiement n'est pas immédiat, il doit bien y avoir au bout d'un certain temps paiement de l'infraction (au moins dans certains cas )

  13. #13
    Nouveau Candidat au Club
    Donc voici le modèle amélioré avec vos precieux conseils!

    D'ailleurs pourquoi relier PIECE à INFRACTION et pas à VOYAGEUR?

    Il me reste donc à incorporer les lettres de relances à fraude+30 jours, +1mois, +2 mois et +3mois (et différentes par catégorie d'age) et le paiement par le fraudeur (date et montant), le proces ? le bilan annule ? Il y a aussi "On y constate également un certain nombre de fausses adresses et impayés."

    Je ne vois pas vraiment comment intégrer tout ça :/

  14. #14
    Expert éminent sénior
    C'est mieux, mais il reste


    Citation Envoyé par escartefigue Voir le message

    De même, l'héritage de "contrôle" vers "simple" ou infraction pourrait sans doute être remplacé par une association facultative de "contrôle" vers "infraction"
    CONTROLE 0,n --- verifier --- 1,1 INFRACTION

    Attention, dans cette nouvelle version, une infraction peut concerner plusieurs voyageurs (volontaire ?)
    En ce cas, la pièce justificative doit être liée au voyageur

  15. #15
    Expert éminent sénior
    Citation Envoyé par escartefigue Voir le message
    l'héritage de "contrôle" vers "simple" ou infraction pourrait sans doute être remplacé par une association facultative de "contrôle" vers "infraction"
    CONTROLE 0,n --- verifier --- 1,1 INFRACTION


    Je confirme. Utere sed non abutere comme dit un de mes voisins qui en connaît un rayon. L’entité-type spécialisée SIMPLE ne serait pertinente, et donc à mettre en oeuvre que si elle avait des propriétés en propre, que n’aurait pas l’entité-type spécialisée INFRACTION.
    Faites simple, mais pas plus simple ! (A. Einstein)
    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 »)

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

  16. #16
    Expert éminent sénior
    Citation Envoyé par fsmrel Voir le message
    Je confirme. Utere sed non abutere comme dit un de mes voisins qui en connaît un rayon. L’entité-type spécialisée SIMPLE ne serait pertinente, et donc à mettre en oeuvre que si elle avait des propriétés en propre, que n’aurait pas l’entité-type spécialisée INFRACTION.
    Ou entrait en jeu dans une association spécifique.

    Ni l'un ni l'autre ici, donc on simplifie

  17. #17
    Nouveau Candidat au Club
    Voici la version corrigée !

    Des idées pour ce qui manque ? Notamment les lettres de relances et le paiement par le fraudeur (date et montant).

  18. #18
    Expert éminent sénior
    S'il faut gérer des relances, elles sont liées à l'infraction

    INFRACTION 0,n --- concerner --- 1,1(R) RELANCE
    Le (R) matérialise l'identification de la relance relativement à l'infraction (case à cocher sur la patte de l'asso dans Looping)


    Quelques remarques

    Il est préférable de prévoir une cardinalité 0,n de contrôleur vers infraction afin de pouvoir créer des contrôleurs qui n'ont jamais constaté d'infraction (nouvelle recrue....)

    Dans les tables de typologie, un code est pratique pour les applications (on choisit un code qui permet d'afficher le libellé correspondant), à ajouter dans TYPE_PIECE (un char(4) environ suffira bien)

    Plutôt que "vérifier" j'aurais plutôt utilisé "constater" comme verbe pour désigner l'association, mais la je pinaille

  19. #19
    Expert éminent sénior
    Je n'avais pas vu cette question :

    Citation Envoyé par HeroStar Voir le message
    D'ailleurs pourquoi relier PIECE à INFRACTION et pas à VOYAGEUR?

    S'il est important de savoir quelle pièce d'identité a été présentée lors d'une infraction, alors le lien doit concerner l'infraction : un même voyageur récidiviste a pu faire l'objet de plusieurs infractions et si l'association est portée par le voyageur, on ne sait plus quelle pièce correspond à quelle infraction (dans la mesure où ce voyageur possède plusieurs pièces d'identité bien sûr)

    Si ce n'est pas le cas, vous pouvez en effet associer la pièce d'identité au voyageur

  20. #20
    Expert éminent sénior
    HeroStar,

    Dans votre MCD, vous avez modélisé le fait qu’une infraction peut être associée à plus d’un contrôle (cardinalité 0,n portée par la patte connectant INFRACTION et VERIFIER) :

    CONTROLE--0,n---VERIFIER---0,n--INFRACTION



    Mais Escartefigue a bien précisé qu’une infraction a été constatée suite à un contrôle et un seul :

    CONTROLE--0,n---VERIFIER---1,1--INFRACTION
    Faites simple, mais pas plus simple ! (A. Einstein)
    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 »)

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

###raw>template_hook.ano_emploi###