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

Langage Java Discussion :

Conseils sur structure de programme


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut Conseils sur structure de programme
    Bonjour, je ne sais pas trop ou poster ma demande, donc comme je suis en java, je poste ici. (désolé si ce n'est pas la section adaptée).

    Donc voilà, j'ai un programme qui gère des sociétés en arbre dans lesquelles on trouve des personnes, jusque la pas de problème, mais il faut que je revoit le programme afin qu'il puisse gerer des agences, donc une société qui contient des agences et qui contient des personnes.

    Alors je me pose la question de savoir quelle est la meilleur méthode.

    Ajouter une table agence et me debrouiller pour ajouter un niveau dans l'arbre ou créer une base de données pour chaque société, et transformé les sociétés actuelles en agences. Au niveau purement conceptuel lequel est le mieux, lequel créera le moins de problème et lequel sera le plus facile à mettre en oeuvre ?

    Sachant que j'ai aussi besoin de pouvoir sauvegarder une seul société parmi toutes (c'est pour cela que j'envisage la solution de plusieurs base de données).

    Le problème dans cette méthode, c'est que, déjà, je ne sais pas si ca se fait (je pourrais avoir jusqu'à 20 base de données soit 20 sociétés), et j'ai une gestion des droits qu'il faut que je revoit puisqu'actuellement je ne suis que dans une base de données (donc j'ai mes utilisateurs dans cette base mais après je peux les mettre où ? dans une autre base encore ?)

    Voilà j'espère que mon problème existentiel est clair et que quelqu'un pourra me donner des conseils.

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    J'ai pas tout compris à ton problème, tu nous parle de gestion de sociétés en Arbre, tu peux donner un exemple simple parce que là je ne vois pas ce que tu veux dire. Ensuite que contient la classe Société, Agence et quels liens ont elles (héritage ?). En gros donne nous des exemples de ce que tu as fait, de ce que tu veux faire, on sera plus efficace pour te répondre parce que là, pour ma part, c'est flou.
    Les deux principales inventions sorties de Berkeley sont UNIX et le LSD. Difficile de croire à une quelconque coïncidence - Jeremy S. Anderson

    Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable - Ralph Johnson

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 194
    Points : 234
    Points
    234
    Par défaut
    Si tu crée une base de donnée pour chaque société, le problème est que tu ne pourras plus faire de jointure pour comparer les chiffres des différentes agences et sociétés.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    Pardon je me suis mal exprimé.

    Donc en fait, je dois avoir, pour chaque société, une ou plusieurs agences, et un ou plusieurs personnes pour chacunes de ces agences.

    Actuellement, je gère seulement le niveau société => personnes(donc pour chaque société on a une ou plusieurs personnes), il faut donc que je rajoute les agences.

    Deux solutions :

    - restructurer ma base et ajouter un table AGENCE, lié les agences à la société mère, et lié les personnes à une agence plutôt qu'à une société.

    - créer autant de database que de société, ainsi, ce que je consière actuellement comme des société, deviendront des agences et tout le reste sera identique, en changeant de base pour voir les données d'une autre société que celle qui est affichée.

    Cette deuxième solution me permettra en plus de résoudre un autre problème, celui de pouvoir sauvegarder le contenu d'une seul société grâce à un dump de la base correspondant à la société et non pas de la base contenant toutes les sociétés.

    Maintenant je demande votre avis sur cette méthode. Si elle peut être correct d'un point de vue purement conceptuel.

    Est-ce plus clair ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    Enfin, j'ai oublié de parler de la gestion des droits. Chaque société aura, un identifiant, avec lequel elle pourra se connecter au logiciel et avoir accès à ses seules données (donc à ses agences et à ses personnes).

    Dans l'état actuel, n'ayant qu'une seul base, je gère cela dans la base ou se trouve les tables sociétés, personnes etc...

    Maintenant si je décide de séparer les société et de former des base de données pour chacune d'entre elles, je devrai créer encore une autre base pour la connexion (puisqu'au lancement du logiciel, je ne peux pas savoir quelle société va se connecter), c'est bien cela ?

  6. #6
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    Les deux solutions sont acceptables, le fait que tu vas choisir l'une ou l'autre dépends de plusieurs choses en fait. Peux tu créer autant de base de données que tu veux ? y a t'il un cas ou une personne d'une sociétés peut consulter les données de plusieurs agences qui appartiennent à celle-ci ? Si tu fais une base une agence, il faudra qu'il se logge à chaque fois sur la base => trés lourd !
    Par contre ceci :
    ainsi, ce que je consière actuellement comme des société, deviendront des agences
    je ne comprends pas, il faut bien que tu renseignes un moment ou un autre à quelle société cette agence appartient ?!

    Si tu parts sur la deuxième solutions, il te faudra avoir une base commune pour toutes les personnes qui se loggent, c'est certain. La première solution est tout aussi acceptable et même peut-être préférable sur certains points.
    Les deux principales inventions sorties de Berkeley sont UNIX et le LSD. Difficile de croire à une quelconque coïncidence - Jeremy S. Anderson

    Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable - Ralph Johnson

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 260
    Points : 131
    Points
    131
    Par défaut
    En fait si je choisis la solution 1, ce que je considère actuellement comme des sociétés dans ma structure deviendront des agences dans la prochaine structure (en fait je remonte la société d'un niveau puisqu'une base sera une société, et je me les agences à la place des sociétés en termes de rang)

    Donc on aura :
    BASE = société
    RANG 1 = agence
    RANG 2 = personne

    Sinon :
    BASE = tout
    RANG 1 = société
    RANG 2 = agence
    RANG 3 = personne

    La solution 1 me plait car je pourrais sauvegarder chaque société individuellement en faisant un dump, l'autre solution m'obligerait à developper en plus.

    Le fait d'avoir plusieurs sociétés sera un cas rare et se limitera à 2 ou 3 pour 99% des cas donc je pense que ca devrait aller.

    J'avais surtout des interrogations concernant le fait que plusieurs bases soit créer mais apparement ce n'est pas trop un problème donc je pense que je vais partir sur la première solution qui répond à plus de problème de mon côté et qui me semble plus facile à mettre en place.

    Merci beaucoup pour vos réponses !

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

Discussions similaires

  1. [MVC4] Conseils sur structure authentification
    Par zax-tfh dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 14/03/2013, 16h06
  2. Conseil sur structure table
    Par Invité dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/12/2011, 08h14
  3. Conseil de structure de programme
    Par Fl0r3nt dans le forum Débuter
    Réponses: 5
    Dernier message: 12/01/2010, 18h18
  4. [MySQL] Conseils sur structure
    Par Superskunk dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/05/2009, 20h35
  5. [DEBUTANT] Conseil sur la programmation orienté objet
    Par etiennegaloup dans le forum Langage
    Réponses: 7
    Dernier message: 27/05/2005, 12h59

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