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 :

[BEST_PRACTICE][Merise] MCD & gestion de date


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [BEST_PRACTICE][Merise] MCD & gestion de date
    Salut,

    J'ai un énorme dilemme dans la conception de mon MCD : la gestion des dates me pose problème.
    Voilà un petit résumé de mon projet (aussi claire et précis que possible):

    il consiste en la réalisation d'un logiciel de contrôle horaire. En effet, mon stage se déroule au sein d’une entreprise, qui utilise des badgeuses à carte magnétique (qui sont des terminaux Ethernet) pour contrôler les entrées/sortie des salariés.
    Mon rôle est de récupérer les données des différents pointages (via un ActiveX créé par la société qui construit ces badgeuses) puis de les exploiter en les stockant et en offrant la possibilité de les traiter(modification, vérification...) via ce logiciel que je dois réaliser pour les responsables de site (administrateurs) qui gèrent les pointages. Ce logiciel doit remplacer un autre déjà en place sur IBM (AS 400) mais ça on s’en fou.
    Voilà, j'espère avoir été assez clair (mais c'est dur comme ça)

    Ex d'un employé sur une journée :
    - L’employé arrive à 8 h 30, il pointe et voit s’afficher sur la badgeuse « CUMUL HEURE DU JOUR : 00h00 »
    - Quand il part manger à 12h, il repointe et là s’affiche « CUMUL HEURE DU JOUR : 3h30 »
    - Idem quand il revient l’après-midi à 14h, il s’affiche « CUMUL HEURE DU JOUR : 3h30 »
    - Et enfin quand il part le soir, il pointe une dernière fois et voit s’afficher son solde final de la journée « CUMULHEURE DU JOUR : 07h00 »


    Attention: Le cumul journée (Cumul heures du jour) est visualisé en instantané, car au moment du pointage, la pointeuse transmet immédiatement l’info à l’AS 400 via le réseau, qui calcul le résultat (en consultant le code en MALT, le langage développé par les fabricants) puis le renvoie; mais tous les autres cumuls ( solde, semaine et mois) sont eux calculés à j-1 (cad le lendemain) pour des raisons d’organisations (trop fastidieux sur la mise à jour, ex : Absence) et pour ne pas encombrer le réseau inutilement.

    Pour vous éclaircir sur l’utilité de la chose j’avais peut-être oublié de vous préciser que chaque employé a la possibilité de consulter via la touche CUMUL présente sur la badgeuse ses différents cumuls.

    Ex (il s’affiche ceci) :
    CONSULTATION DES CUMULS
    Solde : 5,00 mois : 90,00
    Semaine : 22,30

    Chaque mois et semaine (cumul) de l'année doit pouvoir être consulté à volonté mais les différents cumuls sont remis à 0 chaque mois pour afficher le mois en cours (la RAZ du solde est gérée à la main).

    Voilà mon MCD( la partie concerné du moins mais je n'arrive pas à l'afficher alors on fera avec les explications):

    J'ai ma table SALARIE(mat_sal, nom_sal, pre_sal, num_bge) avec d'un côté mon association CONTROLE HORAIRE (E_matin,S_matin,E_soir,S_soir,solde_jour) relié à la table DATE (date_pointage) qui enregistre les heures des pointages;
    et de l'autre mon association CUMUL (cumul_solde,cumul_semaine,cumul_mois) relié à ma table DATE2 (date_mois, date_semaine) qui enregistre les différents cumuls.

    Mais quoi mettre en clé primaire pour DATE2 ?
    Dois-je faire 2 associations CUMUL1 & CUMUL2 avec 2 tables MOIS et SEMAINE pour y accéder + facilement ?

    Voilà c'est un petit prob d'organisation qui me dérange
    Merci d'avance pour votre aide
    A+
    El Che vive ! His spirit will never die !

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 113
    Points : 488
    Points
    488
    Par défaut
    Citation Envoyé par Seb7
    J'ai un énorme dilemme dans la conception de mon MCD
    Un MCD s'exprime en entité-association (ou relation) et l'on travaille pas sur les tables, les clés et les problèmes de facilité d'accès. On réfléchit à la sémantique du problème, et on transforme ensuite en relationnel (tables et clés) pour enfin optimiser si nécessaire en fonction de critères de volume et performances. Si on va trop vite vers la "solution informatique", on se mélange les pinceaux...
    Ceci étant rappelé, le MCD sous-jacent serait le suivant

    Jour, Semaine et Mois sont des entités temporelles distinctes (chaque population est différente en distingabilité, dénombrement et signification); les relations entre ces entités sont triviales, donc non modélisées.
    J'ai mis le solde au niveau mensuel (souvent comme ça dans la pratique). Il pourrait éventuellement être au niveau hebdomadaire; ça dépend de la définition du solde.

    Sa transformation brute en MLD serait

    Il ya bien deux tables cumuls semaine et mois

    Pour connaitre un peu le domaine, les entrées-sorties ne se résument pas aux 4 citées. Il est plus flexible d'enregistrer les mouvements quotidiens avec leur sens (E/S). On peut ainsi gérer les sorties occasionnelles (le problème des badges impairs...) ou les mi-temps. On aurait alors le MCD suivant:

    Qui donnerait un MLD brut


    A partir de là on pourrait chercher à optimiser, affuter la base.
    On pourrait réunir tous les cumuls dans une même table. Type_cumul indiquerait s'il s'agit d'un cumul : quotidien, hebdo, mensuel, solde mensuel
    Les clés étrangères sont optionnelles (valeur nulle autorisée)
    Le N° de cumul est séquentiel

    On pourrait enfin ne pas mettre les tables Jour, Sem, Mois car elles sont quasiment vides et leur gestion est triviale.

    Mais bon, à partir d'un MLD brut, correspondant à la traduction d'un MCD , il ya un grand nombre d'optimisations possibles.
    C'est ça la différence entre un MCD (stabilité sémantique) et un MLD( prise en compte des possibilités techniques)

    Bon courage pour la suite...
    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    L'Art poétique - Nicolas Boileau (1636-1711)

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Salut !

    Merci beaucoup Nanci pour m'avoir apporté des explications aussi complètes !
    Franchement je suis agréablement surpris (surtout avec le peu de données que j'avais laissé), respect .

    Par contre, tu m'intrigues à propos de ta remarque concernant les E/S:

    Pour connaitre un peu le domaine, les entrées-sorties ne se résument pas aux 4 citées. Il est plus flexible d'enregistrer les mouvements quotidiens avec leur sens (E/S). On peut ainsi gérer les sorties occasionnelles (le problème des badges impairs...) ou les mi-temps. On aurait alors le MCD suivant:
    En effet, je me suis heurté à ce problème et je suis étonné que tu le soulignes alors que je n'en avais pas parlé.
    La solution que tu proposes est même très interressante, le prob est le suivant:

    Il existe différents standards de contrôle pour le prob des badges impairs répertoriés comme suit
    Grille de contrôle ( nb de pointage, plage horaire) = Ce sont les différents standards qui indiquent le nombre de pointages que la personne doit réaliser par jour (sert à détecter les anomalies)

    ex : les STDADM (Standard Administratif) = 4 pointages
    Les employés doivent pointer 4 fois dans la journée avec une pose obligatoire de 45 min qui sera décomptée si ils oublient de pointer à midi ou si ils prennent une pose plus courte(les 45 min seront quand même décompté = 20 min de pose deviendrait 45 min).

    Tous ces standards sont répertoriés ainsi:
    -- STDADM (Standard Administratif) = 4 pointages

    EM/SM/ES/SS
    Entrée Matin/Sortie Matin/Entrée Soir/Sortie Soir
    Séparation matin/soir est à 13h
    45 min de pose, ex : Si entre SM et ES < 45 min alors ES=SM + 45 min

    Anomalies:
    _ nb impair pointage = 0 ds journée
    _ 2 pointages : soit ½ journée de travail (2 ptages avant 13h/2 ptages après 13h) ou 1 ptage avant 13h et 1 ptage après 13h
    = anomalie mais pris en compte des – 45 min

    -- STDMT ( Standard Mi-Tps) = 2 pointages

    Anomalies :
    _ nb impair de pointage = 0 ds journée
    _ E < 13h < S

    -- STDSIC (Service Industriel Commerciaux) Þ 2 pointages

    Entrée/Sortie

    Anomalie :
    _ nb impair de pointages

    -- STDEMTH (Ecole Hôtelière) = 2 pointages

    Entrée/Sortie
    Automatiquement –45 min

    Anomalie:
    _ nb impair de pointage = 0 ds journée

    Pour TOUS anomalie si pas de pointages

    Pour concrétiser tout ça, j'avais donc mis en place une entité GRILLE (code_grille, nom_grille, nb_pointage) reliée à SALARIE afin de m'y référer pour détecter les anomalies.
    Si j'ai bien compris ta méthode, "sens" remplacerait mon "nb_pointage" et il me suffirait d'ajouter "code_grille & nom_grille" à l'entité Mouvement pour avoir le même fonctionnement mais beaucoup plus rigoureux ?

    Une petite précision la dessus serait très sympathique de ta part, merci d'avance.

    PS: Je suis em... avec les Img (il faut un URL que je n'ai pas), j'essai de trouver une solution car je souhaitais te présenter mon MCD et notamment la notion de CYCLE 35h, 39h, Mi-tps etc...

    A+
    Seb
    El Che vive ! His spirit will never die !

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 113
    Points : 488
    Points
    488
    Par défaut
    Content que ça te convienne.
    je suis étonné que tu le soulignes alors que je n'en avais pas parlé
    L'expérience due à l'age..et au nombre de problèmes traités.


    Si j'ai bien compris ta méthode, "sens" remplacerait mon "nb_pointage"
    Le "sens" a 2 valeurs, Entrée ou Sortie (dans le cas où la badgeuse est capable de le distinguer); sinon, seule l'heure du mouvement est prise en compte (hhmm). Le sens peut être aussi automatiquement déterminé par la séquence dans la journée; on entre avant de sortir, mais ça se complique si on entre ou sort sans badger!...Et si l'on a du personnel en horaire de nuit, c'est galère ...

    Pour la gestion des grilles de contrôle, elle devraient contenir les paramètres propres à chaque régime ou Grille (STADM, STDMT, ...), sachant q'un Salarié relève d'une Grille. Bien évidemment, la détermination de l'anomalie met en jeu des règles de calcul.

    il me suffirait d'ajouter "code_grille & nom_grille" à l'entité Mouvement pour avoir le même fonctionnement mais beaucoup plus rigoureux
    Je ne pense pas. Mouvement modélise un passage à la badgeuse. En fin de journée, on analyse l'ensemble des Mouvements de chaque salarié et on se réfère aux informations contenues dans la Grille du Salarié pour déterminer les anomalies.

    Pour le reste, la modélisation complète pour obtenir un système opérationnel est certainement un peu plus complexe et dépasse largement le contexte du "dépannage" sur ce forum.

    j'essai de trouver une solution car je souhaitais te présenter mon MCD
    Sauf erreur, j'ai une adresse mail indiquée sur ce forum.

    Des conseils ponctuels, d'accord; mais de la sous-traitance, NON.
    Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément.
    L'Art poétique - Nicolas Boileau (1636-1711)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    OK Nanci, je vais étudier tout ça et je te remercie encore pour ton aide. Je ne vais pas abuser de ta patience et de ton temps, si jamais j'ai vraiment un souci je me permettrai peut être de te contacter .

    Sinon, bonne continuation

    A+
    Seb
    El Che vive ! His spirit will never die !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] MCD et gestion de données en fonction de dates
    Par rainette dans le forum Modélisation
    Réponses: 9
    Dernier message: 12/08/2010, 09h05
  2. gestion de date de fin de mois
    Par bzh56 dans le forum Bases de données
    Réponses: 4
    Dernier message: 14/01/2005, 10h15
  3. Réponses: 3
    Dernier message: 13/08/2004, 18h52
  4. [MCD] Gestion de date
    Par Seb7 dans le forum Schéma
    Réponses: 13
    Dernier message: 08/09/2003, 09h29
  5. [MCD] [MCD] Gestion des dates
    Par brionne dans le forum Schéma
    Réponses: 3
    Dernier message: 30/05/2003, 13h01

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