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 :

Tables personnalisables par l'utilisateur


Sujet :

Schéma

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Tables personnalisables par l'utilisateur
    Bonjour,

    Derrière ce titre imprécis, faute de mieux, je vais essayer d'expliquer au mieux mon problème...

    Ce que je souhaite faire :
    L'idée c'est qu'un Administrateur puisse créer des patrons de processus et que des utilisateurs puissent s'en servir. Sachant que :
    Un processus, c'est :
    • jusqu'à n étapes
    • n fichiers
    • chaque étape doit être terminée pour que le processus soit considéré comme terminé
    • chaque processus peut hériter d'un processus père (limité à 1 héritage)


    Une étape, c'est :
    • n conditions
    • une étape est terminées si toutes les conditions sont remplies
    • une date de début et de fin (planifiée et réelles)
    • chaque étape d'un processus est ordonnées (1ère, 2ème, etc...)


    Une condition, c'est :
    • n acteurs qui peuvent remplir la condition (et uniquement eux)
    • n fichiers du processus à déposer (facultatif)
    • n champs textes
    • n éléments à vérifier (document valide, action effectuée, label qualité, etc.)


    Ce que j'ai fait :
    Pour le moment pas grand chose, j'ai défini plusieurs tables sur le papier : ProcessPattern, EtapesPattern, ConditionsPattern, UtilisateurPattern, FichiersPattern.

    Comme chaque processus est très différent et que je ne vais pas créer une table pour chaque processus (sinon ça va très vite devenir le bazar). Aussi, je ne pense pas que stocker la structure des processus et leurs implémentation dans la même table soit une bonne idée...

    Donc j'ai pensé à l'héritage : je conserve les tables créées et pour chacune je fais une table qui hérite : Process, Etapes, Conditions, Utilisateurs, Fichiers et qui contient les champs propres à chaque nouvelle implémentation du processus : les urls des fichiers effectivement déposés, les dates de débuts, de fin, les labels, champs personnalisés

    Ma question :
    Est-ce là la bonne démarche où est-ce qu'il y a plus simple/performant ?

    Je vous remercie d'avance pour votre aide

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Tout d'abord et pour répondre au titre de la discussion, c'est une très mauvaise idée de laisser l'utilisateur bidouiller un schéma de BDD !

    Je vous invite à écrire des règles de gestion claires de vos données. Le schéma de la BDD s'en déduira tout seul.

    Par exemple...

    1) Un processus contient de 1 à plusieurs étapes et une étape est contenue dans un processus.
    processus -1,n----contenir----1,1- etape

    2) Une étape comprend de une à plusieurs conditions et une condition est comprise dans une seule étape.
    processus -1,n----contenir----1,1- etape -1,n----comprendre----1,1- condition

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de votre réponse.

    En fait, le schéma "de base" tombe sous le sens, comme vous le soulignez à juste titre, mais je pense que ma question n'était pas claire.

    le soucis, c'est de pouvoir réaliser la fonction : "Utiliser ce schéma de processus, remplir les deadlines, et le voilà initié". Car si j’inscris en dur un processus, comment je distingue le schéma des vrais processus (implémentations) qui en découlent ?

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    le soucis, c'est de pouvoir réaliser la fonction : "Utiliser ce schéma de processus, remplir les deadlines, et le voilà initié"
    Attention à ne pas confondre la modélisation conceptuelle des données (MCD : état statique de l'architecture des données) et la modélisation conceptuelle des traitements (MCT : enchaînement des opérations réalisées par le système) !

    Comme vous ne nous avez pas dit de quoi le système s'occupe, on va imaginer qu'il s'agit d'enregistrer les différentes opérations permettant de fabriquer des produits industriels. Pour simplifier, je vais considérer qu'à un produit correspond un seul processus et qu'un processus est celui d'un seul produit. À chaque fois qu'on va lancer la fabrication d'un exmplaire du produit Pt1, on va se lancer dans les étapes du processus Pr1. Par contre, il s'agit d'enregistrer les étapes du processus pour la réalisation de l'exemplaire E1 du produit Pt1.

    On peut donc, d'une part, avoir le schéma que j'ai défini dans mon précédent message :
    processus -1,n----contenir----1,1- etape -1,n----comprendre----1,1- condition
    Et d'autre part, avoir un schéma qui enregistre la réalisation du processus pour l'exemplaire E1 :
    exemplaire -1,n----contenir----1,1- etape_exemplaire -1,n----comprendre----1,1- condition_exemplaire

    Le système peut ainsi, pour un exemplaire de produit donné, et à tout moment, afficher :
    - toutes les étapes et leurs conditions à réliser ;
    - tous les enregistrements de ce qui est déjà réalisé.

    Ça peut correspondre à votre idée d'héritage de tables mais je détecte une difficulté...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    processus -1,n----contenir----1,1- etape -1,n------------------------comprendre----1,1- condition 
    	|
    	0,n	
    	|
    	|
    appliquer
    	|
    	|
    	1,1
    	|
    exemplaire -1,n----contenir----1,1- etape_exemplaire -1,n----comprendre----1,1- condition_exemplaire
    Avec les héritages suivants :
    etape_exemplaire -(1,1)----être----0,1- etape
    condition_exemplaire -(1,1)----être----0,1- condition

    Avec ce MCD, rien n'interdit d'enregistrer pour l'exemplaire E1 devant appliquer le processus Pr1... les étapes du processus Pr2. Tout dépend de la fiabilité du logiciel.

    Ou alors, il faut utiliser, en toute rigueur, l'identification relative de bout en bout ?
    Je laisse fsmrel examiner si celà permettrait de bloquer ce "danger".

    En tout état de cause, vous voyez bien que l'application de change pas le schéma de la BDD !

Discussions similaires

  1. [WD16] IHM personnalisée par l'utilisateur
    Par WDKyle dans le forum WinDev
    Réponses: 18
    Dernier message: 09/01/2014, 18h22
  2. Réponses: 4
    Dernier message: 26/03/2012, 21h35
  3. [MVVM] Architecture projet pour interface personnalisable par l'utilisateur
    Par obarator dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 11/07/2011, 21h41
  4. Personnalisation par l'utilisateur
    Par darkendorf dans le forum Débuter
    Réponses: 4
    Dernier message: 18/07/2008, 19h17
  5. Page personnalisée par l'utilisateur dans l'application
    Par Rodrigue dans le forum C++Builder
    Réponses: 5
    Dernier message: 26/05/2005, 17h45

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