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 :

Cahier des charges + modélisation d’un BDD pour un jeux réseau via navigateur


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Cahier des charges + modélisation d’un BDD pour un jeux réseau via navigateur
    Bonjour,

    Je compte essayer de faire un jeu au tour /tour, avec une partie forum et l’autre pour l’interface du jeu proprement dit.

    La BDD sera en Mysql.
    Le développement devrait se faire avec le Framework ROR. Tous les noms des tables se terminent par un s et ont pour identifiant primaire un attribut id auto-incrémentable pour respecter les règles de ROR.

    La BDD peut être divisé en 2, une pour le jeux proprement dit et une pour le forum. Elles sont reliées par les tables joueurs et persos suivant le principe un joueur peut avoir zéro ou un perso(0/1) et un perso est à un seul joueur(1/1).

    J’ai commencé le mcd et j’utilise power AMC 9, mais j’ai quelques doutes et interrogation, Merise est un peu beaucoup oublié, car je ne pratique pas en temps normal.
    J’ai donc essayé de traduire le schéma en texte pour vous donner une idée et j’ai aussi le schéma du MCD de la partie jeux.

    C’est volontaire s’il n’y a aucun attribut pour l’instant, ça ne ferait qu’alourdir les explications et surtout le schéma.

    Section Jeux
    Les joueurs pourront se déplacer sur la map, produire des objets, faire des groupes avec d’autre joueurs, créer des communauté, construire des bâtiments, créer des objets avec les bâtiments, attraper des animaux et des maladies (), utiliser des véhicules et s’envoyer des messages. Et aussi accessoirement, avoir des armes, s’attaquer, se trucider etc …
    Bien évidemment il y aura des échanges possibles entre joueurs, groupes et communautés, mais je pense pas que ça fasse intervenir d’autre tables.

    Cases : 0/n joueurs, 0/n groupes, 0/n comms, 0/n animals, 0/n objets, 0/n véhicules
    Persos : 1/1 cases, 0/1 groupes, 0/1 comms, 0/n objets, 0/n animals, 0/1 véhicules, 0/1 maladies, 0/n messages
    Groupes : 1/1 cases, 1/n persos, 0/1 comms
    Comms : 1/1 cases, 0/n persos, 0/n groupes, 0/n batiments, 0/n animals, 0/n véhicules, 0/n objets
    Batiments : 1/1 comms
    Objets : 0/1 cases, 0/1 persos, 0/1 comms, 0/1 animals, 0/1 véhicules
    Animaux : 0/1 cases, 0/1 persos, 0/1 comms, 0/1 maladies
    Maladies : 1/1 persos, 1/1 animals
    Véhicules : 1/n persos, 0/n objets
    Messages : 1/1 persos , groupes ? comms ?

    Problème des messages = bien qu’on puisse envoyer un message à un groupe ou une communauté, le message au final doit être envoyer à tous les membres du groupe ou de la communauté. Est-ce qu’il y a des liens avec les tables groupes et comms ? Moi j’ai du mal à voir comment.
    Les messages du jeu ne seront pas lu dans la partie forum mais uniquement IG.

    Problèmes des véhicules = ils sont fait de plusieurs objets, roues(0, 2 ou 4 roues), châssis(1 obligatoire) et moteur(animal, thermique ou éolien). Je ne vois pas bien les cardinalités avec la table objets. Par contre les véhicules servent aussi à transporter des objets. Ils ont des places en fonction du modèles de véhicules.

    Problème des animaux = les animaux de base peuvent être transformé en animaux de monte, ils deviennent donc des véhicules mais sans moteur, c’est la seule différence et c’est pourquoi j’ai voulu les garder dans la table animals. Mais en y réfléchissant il me semble qu’il suffit de modifier un attribut pour les faire passer d’un état à l’autre sans qu’il y est besoin de lier ses 2 tables ensembles. Par contre un animal peut être libre sur une case (avec d’autre de ses congénères d’ailleurs) mais il peut appartenir à un perso(s’il est attrapé) et il peut aussi appartenir à une communauté (dans un bâtiment), les animaux transformer peuvent aussi transporter des objets.

    Problème des persos = les persos pourront avoir des objets avec eux, certain sont des outils ou des armes et pourront être équiper pour être utiliser dans l’action de jeu, d’autre sont des ressources de base qui pourront être récolter, et certain seront utilisés par les persos pour être consommer, nrt, eau, boissons diverses ou drogue par exemple.
    Je pense donc rajouter des attributs pour chaque emplacement disponible, mais mon problème c’est que ces emplacements pourront changer en fonction de l’utilisation d’un sac à dos.
    Ex : sans sac à dos 10 places, avec un petit sac 20 places, avec un grand sac 35 places
    Je ne vois pas trop comment gérer ça. Est-ce qu’il faut une autre table sacados, sachant qu’elle serait dans ce cas liée par les cardinalités 1/1 et 1/1 ce qui les rend caduques

    Problème des tables persos, groupes, comms et cases = Tout ça est lié mais je trouve mes relations un peu lourde, je m’explique, si le rapport entre joueurs et cases est évident, celui entre comms et cases aussi, celui entre groupes et cases me parait en trop, car on a déjà le lien avec les persos par une autre association, de même le lien entre groupes et comms. Qu’en pensez-vous ? Sachant que j'ai mis ses associations sur le MCD acuel, en attendant de savoir si ça tenait la route.

    Section Forum
    J’aurai pu "pomper" une BDD d’un forum PhpBB mais je ne vois pas bien les cardinalités sur BDD toute fini et de surcroit tout en anglais et puis surtout je n’ai pas besoin de trop de fonctionnalité non plus, poster des messages dans des forums et sous forum, éditer +-, supprimer +-, déplacer+- (donc des droits, utilisateur, modo, admin), signature, la visibilité sur certain forum ou sous forum en fonction des droits. Voilà les actions principales dont j'ai besoin. MP sur le forum aussi, mais ça alourdit.
    Si quelqu’un à une BDD assez simple et bien je prend, sinon il faut me donner quelques pistes pour pouvoir la créer.

    Je vous remercie d’avance d’avoir tout lu car c’est assez long et j’attends vos commentaires ou questions avec impatience pour pouvoir finaliser mon projet et passer à l'étape suivante.
    Images attachées Images attachées  

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Et ben, 41 personnes qui ont lu mais personne qui intervient

    Alors soit j'ai tout juste, mais franchement je doute. Soit c'est trop dur pour vous, mais là je doute encore plus.

    Le pire ce serait qu'il n'y est personne d'intéresser pour m'aider ou me corriger.

    Mise à jour du MCD :
    1. J'avais dit que c'était un jeu au tour/tour et personne n'a vu la table tours, pas bien ça. Je n'ai vu qu'aujourd'hui que je n'y avais pas pensé avant . Apparemment c'est une table sans relation avec les autres. Sauf que quand le tour passe, ça remet à zéro les actions des personnage et ça vérifie qu'ils ne meurent pas, etc ... Si vous voyez une relation je prend.
    2. J'ai rajouté la table mines, qui est liée à la table cases ==>
      cases -- 0/n -- exploiter--1/1 -- mines, car sur une case il y a des ressources naturelles de quantité variables qui sont des attributs de cette table (fer, charbon, pétrole, etc ...)
    3. J'ai aussi commencé à mettre en place les attributs des tables, ça permet de mieux cerner une possible table que je n'aurai pas vu. Mais ça rend le schéma assez important, ça va être difficile pour tout vous montrer une fois fini.
    4. J'ai vu aussi qu'il n'y avait pas sur le schéma que j'ai posté la table messages et les relations avec les persos, groupes et comms, en fait je l'avais mis sur une autre version et dans celle ci j'ai oublié de le rajouter, faut dire que ça encombre encore plus le bazar, mais il va bien falloir que le fasse.


    Merci de me lire, n'hésitez pas à me poser des questions, parce que je ne n'explique surement pas tout ce que j'ai dans la tête et il est bien possible que ce soit confus pour une autre personne.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Deux détails pour commencer :
    Citation Envoyé par Betanaelle Voir le message
    Tous les noms des tables se terminent par un s et ont pour identifiant primaire un attribut id auto-incrémentable pour respecter les règles de ROR.
    1) Ca commence mal sur le plan de la normalisation de la BDD !
    Que les tables issues d'entités aient un identifiant autoincrémenté est une très bonne chose. Mais les tables issues d'associations ont normalement une clé primaire formée des identifiants des entités participant à l'association.

    Par exemple, la table issue de l'association 'conduire' :
    persos -0,n----conduire----0,n- vehicules
    Elle devrait avoir pour clé primaire le couple (persos_id, vehicules_id).
    Si tu ajoutes un identifiant autoincrémenté à cette table, ne pas oublier d'ajouter un index UNIQUE sur le couple sinon tu risqueras d'avoir des doublons.

    2) Moins grave, les noms des entités dans un MCD sont normalement au singulier, ce qui entraîne que les tables sont elles aussi au singulier.
    Mais bon ça tient plus de la convention ; ça ne gênera pas le fonctionnement.

    Ces deux éléments me laissent à penser que ce 'ROR' n'est peut-être pas un Framework rigoureux sur le plan de la gestion des données ! Je me souviens d'un débat sur le Framework Cake qui traitait du même sujet.

    Venons-en au MCD...
    1) Association 'fabriquer'
    Un objet est fabriqué par un véhicule et un véhicule peut fabriquer plusieurs objets ?
    Idem pour fabriquer2 avec les bâtiments !

    2) Que veut dire l'entité 'comms' ?
    - communauté au sens de groupe social de persos ?
    - commune au sens de lieu d'habitations groupées ?
    Tu devrais donner un nom plus explicite

    Au passage, tous les noms de tes entités sont en français sauf 'animals' !
    A cause du s final imposé par ton ROR ?

    Décidément, je n'ai pas envie d'essayer ce framwork !

    Au fait, les tables issues des associations et qui seront générées automatiquement par PowerAMC n'auront pas de s final ! Tu es sûr que tu veux utiliser ROR ?

    3)
    Section Jeux
    Les joueurs pourront produire des objets,
    Ceci n'est pas modélisé. Ils (les persos, pas les joueurs qui eux non plus ne sont pas modélisés) peuvent seulement porter des objets.

    4)
    faire des groupes avec d’autres joueurs,
    Dans ton MCD, un perso ne peut faire partie que d'un seul groupe.

    créer des communauté,
    De même, un perso ne peut vivre que dans une communauté. Il n'y a pas d'association 'créer', ni pour les groupes, ni pour les 'comms' (communautés ? Tu vois que ce n'est pas clair comme nom !)

    5)
    construire des bâtiments,
    Dans ton MCD, ce sont les 'comms' qui peuvent construire des bâtiments.

    6)
    créer des objets avec les bâtiments
    Je ne comprends pas plus en français que dans le MCD le sens de cette association ! Les bâtiments sont des usines ?

    7)
    s’envoyer des messages.
    Les messages ne sont pas modélisés.

    8)
    Et aussi accessoirement, avoir des armes, s’attaquer, se trucider etc …
    Tout ceci n'est pas modélisé.

    Bien évidemment il y aura des échanges possibles entre joueurs, groupes et communautés, mais je pense pas que ça fasse intervenir d’autre tables.
    A priori, ça tient plus du traitement que des données mais il faut voir selon les exemples.

    La suite de ton message...
    Problème des messages = bien qu’on puisse envoyer un message à un groupe ou une communauté, le message au final doit être envoyer à tous les membres du groupe ou de la communauté. Est-ce qu’il y a des liens avec les tables groupes et comms ? Moi j’ai du mal à voir comment.
    Sur le jeu Swing, il y a in game plusieurs messageries :
    - messages persos ;
    - messages clan ;
    - messages guilde ;
    - messages instantannés ;
    - messages aux leaders de guildes.

    Tu peux peut-être t'inspirer de ce principe ?
    Et découvrir ce jeu pendant que tu y es ! Je peux y être ton tuteur dans la rébellion. Mon perso : Einstein.

    Au niveau des données, ça donnerait trois associations :
    Persos -0,n----EnvoyerMessage----0,n- Perso
    |-----------0,n----EnvoyerMessage----0,n- Groupe
    |-----------0,n----EnvoyerMessage----0,n- Communauté

    Problèmes des véhicules = ils sont fait de plusieurs objets, roues(0, 2 ou 4 roues), châssis(1 obligatoire) et moteur(animal, thermique ou éolien). Je ne vois pas bien les cardinalités avec la table objets. Par contre les véhicules servent aussi à transporter des objets. Ils ont des places en fonction du modèles de véhicules.
    La construction du véhicule tient peut-être plus du traitement. Je veux construire un véhicule, le traitement vérifie que je possède déjà un chassis, au moins deux roues, et un moyen de propulsion. Si les conditions sont réunies, je construis le véhicule selon mes spécifications et je supprime les objets qui le constituent puisqu'ils sont maintenant intégrés à l'objet véhicule.

    Pour la partie transport, j'ai l'impression que ta surprenante association 'fabriquer' qui devrait s'appeler 'transporter'.

    Si par 'nombre de places', tu sous-entends 'pour des passagers', il manque une association 'trasnporter' entre véhicule et perso.

    Problème des animaux = les animaux de base peuvent être transformés en animaux de monte, ils deviennent donc des véhicules mais sans moteur, c’est la seule différence et c’est pourquoi j’ai voulu les garder dans la table animals. Mais en y réfléchissant il me semble qu’il suffit de modifier un attribut pour les faire passer d’un état à l’autre sans qu’il y est besoin de lier ses 2 tables ensembles.
    Exact ! Je pense qu'un simple attribut de l'animal suffira.

    Par contre un animal peut être libre sur une case (avec d’autres de ses congénères d’ailleurs)
    C'est correctement modélisé.
    mais il peut appartenir à un perso(s’il est attrapé) et il peut aussi appartenir à une communauté (dans un bâtiment),
    Ces deux possibilités par contre ne sont pas modélisées.

    les animaux transformés peuvent aussi transporter des objets.
    Là aussi, il manque une association.

    Problème des persos = les persos pourront avoir des objets avec eux, certains sont des outils ou des armes et pourront être équipés pour être utilisés dans l’action de jeu, d’autre sont des ressources de base qui pourront être récoltées, et certains seront utilisés par les persos pour être consommés, nrt, eau, boissons diverses ou drogue par exemple.
    Je pense donc rajouter des attributs pour chaque emplacement disponible, mais mon problème c’est que ces emplacements pourront changer en fonction de l’utilisation d’un sac à dos.
    Ex : sans sac à dos 10 places, avec un petit sac 20 places, avec un grand sac 35 places
    Je ne vois pas trop comment gérer ça. Est-ce qu’il faut une autre table sacados, sachant qu’elle serait dans ce cas liée par les cardinalités 1/1 et 1/1 ce qui les rend caduques
    Là ça se complique en effet !
    Il faut peut-être spécialiser tes types d'objets par un mécanisme d'héritage (ou sans, ce n'est peut-être pas nécessaire). Au minimum, je dirais qu'il faut typer tes objets, et même peut-être sous-typer. Par exemple, dans le type 'arme', tu peux avoir 'arc', 'lance', 'couteau'...
    Certains types d'objets pourront en contenir d'autres (les sacs), ce qui fait une association réflexive sur l'entité 'objets'.

    Problème des tables persos, groupes, comms et cases = Tout ça est lié mais je trouve mes relations un peu lourdes, je m’explique, si le rapport entre joueurs et cases est évident, celui entre comms et cases aussi, celui entre groupes et cases me parait en trop, car on a déjà le lien avec les persos par une autre association, de même le lien entre groupes et comms. Qu’en pensez-vous ? Sachant que j'ai mis ses associations sur le MCD acuel, en attendant de savoir si ça tenait la route.
    Si le fait qu'un perso soit associé à un groupe implique qu'il se déplace obligatoirement avec le groupe, alors l'association entre groupe et case est inutile, idem pour celle entre groupe et comms. A toi de voir quel membre du groupe va déterminer la position du groupe et donc celle de tous les persos du groupe ! Ca tient du traitement !

    Section Forum
    J’aurai pu "pomper" une BDD d’un forum PhpBB mais je ne vois pas bien les cardinalités sur BDD toute fini et de surcroit tout en anglais et puis surtout je n’ai pas besoin de trop de fonctionnalité non plus, poster des messages dans des forums et sous forum, éditer +-, supprimer +-, déplacer+- (donc des droits, utilisateur, modo, admin), signature, la visibilité sur certain forum ou sous forum en fonction des droits. Voilà les actions principales dont j'ai besoin. MP sur le forum aussi, mais ça alourdit.
    Si quelqu’un à une BDD assez simple et bien je prend, sinon il faut me donner quelques pistes pour pouvoir la créer.
    Pourquoi ne pas directement prendre un forum phpBB ?
    Le forum de Swing est en phpBB.

    Mise à jour du MCD :
    J'avais dit que c'était un jeu au tour/tour et personne n'a vu la table tours, pas bien ça. Je n'ai vu qu'aujourd'hui que je n'y avais pas pensé avant . Apparemment c'est une table sans relation avec les autres. Sauf que quand le tour passe, ça remet à zéro les actions des personnage et ça vérifie qu'ils ne meurent pas, etc ... Si vous voyez une relation je prend.
    Pour moi, les tours sont un attribut du perso, pas une table. Le fait qu'il y ait un RAZ au tour passé tient du traitement, pas des données.

    J'ai rajouté la table mines, qui est liée à la table cases ==>
    cases
    -- 0/n -- exploiter--1/1 -- mines, car sur une case il y a des ressources naturelles de quantité variables qui sont des attributs de cette table (fer, charbon, pétrole, etc ...)J'ai aussi commencé à mettre en place les attributs des tables, ça permet de mieux cerner une possible table que je n'aurai pas vu. Mais ça rend le schéma assez important, ça va être difficile pour tout vous montrer une fois fini.

    J'ai vu aussi qu'il n'y avait pas sur le schéma que j'ai posté la table messages et les relations avec les persos, groupes et comms, en fait je l'avais mis sur une autre version et dans celle ci j'ai oublié de le rajouter, faut dire que ça encombre encore plus le bazar, mais il va bien falloir que le fasse.
    OK on attend de voir le nouveau MCD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Avant tout chose merci Cinéphil pour ta longue réponse, ça prouve bien qu'il y a encore du boulot

    Juste une précision, je compte utiliser ROR pour ce projet, ça ne veut pas dire que je sais développer avec. Je vais apprendre en allant au charbon. Sinon on peut modifier les paramètres pour avoir des id_joueur et table joueur il ne faut pas t'arrêter à 'id' et 's'


    MCD

    1) Association 'fabriquer'
    Un véhicule est fabriqué par 1 ou plusieurs objets et un véhicule peut transporter 0 ou plusieurs objets
    Association 'fabriquer2'
    Un bâtiment peut fabriquer 1 ou plusieurs objets et 1 bâtiment est fabriqué par 1 ou plusieurs objets

    2) Les communautés sont comme des villages, mais en plus petit, il y a des joueurs qui y vivent, des groupes de joueurs, il y a des bâtiments qui servent soit à stocker, soit à fabriquer des objets. Seul les habitants peuvent utiliser les bâtiments. Ce qui est fabriqué pourra soit revenir dans les caisses de la communautés, soit aller à celui qui l'a fabriqué, suivant le type de communauté. Les communautés sont gérés par des joueurs, certain tiennent la bourse(le comptable), d'autre tiendront la porte(le chef de la sécurité), un troisième construit les batiments(l'ingénieur) et le chef de communauté pourra changer ses membres s'il le souhaite.

    Oui animals c'est pour le s final, sinon je préfère le français, déjà dur de me faire comprendre avec, tu n'imagines pas la galère avec l'anglais.

    Et si powerAMC ne met pas de 's', ce n'est pas grave, je modifierai le script en fonction après.

    3)Alors là bravo, moi je n'avais pas vu ça du tout.

    Les persos peuvent produire soit des choses très simples et tout seul, nourriture, eau, médicament ou matériaux de construction, ils le trouvent dans la nature.
    Soit ils produisent avec l'aide des bâtiments (ça leur donne juste un bonus). Soit ils fabriquent autre chose avec l'aide des bâtiments mais en utilisant un objet de base ou un objet déjà transformé.
    ex: le bâtiment corderie qui sera l'un des premiers pouvant être construit dans une communauté, servira à faire un objet corde à partir d'un autre objet de base I]matériaux[/I]. La corde servant à la fabrication d'arc par exemple.

    4)En effet 1 perso ne peut être que dans 1 seul groupe à la fois ou une seule communauté à la fois, le don d'ubiquité n'existe pas pour eux.
    Bien entendu, il pourra quitter ce groupe ou cette comm, soit pour rentrer dans un autre groupe, soit pour en créer lui même 1, idem pour la communauté, avec la restriction d'un communauté par case.
    Donc il faudrait que je crée 2 nouvelles associations, créer et créer2, entre persos et groupes et entre persos et comms ?
    Je vais faire ça donc.

    5)C'est l'ingénieur qui peut construire les bâtiments dans une communautés il sera peut-être obliger de le faire avec un groupe d'autre persos si le bâtiments est très complexe.
    Mais les bâtiments appartiennent à la commune (tu préfères peut-être commune ? )

    6)Les bâtiments peuvent servir à la production oui, au stockage aussi, voire être des maisons ou des prisons.

    7)Exact, un oubli de ma part, fâcheux de plus, car tout passera par les messages pour les demandes entre persos, groupes et commune. Mais comme tu en reparles après je vais reprendre ces associations

    8)Les armes sont pour moi des objets parmi tant d'autre, mais tu as raison il faut que je modélise les combats.

    La suite de tes explications est très intéressante, je vais surement me servir d'un forum phpBB, car je vais avoir suffisamment de travail avec le reste sans m'en rajouter encore plus.
    Je n'ai jamais joué à Swing, actuellement je joue à Hordegame je peux aussi te parrainer , mais dès que j'aurai bien avancé dans la modélisation et que je pourrai avoir une BDD utilisable je n'aurai plus le temps de jouer, faudra que je code.

    Je vais aussi finir de modéliser les animaux suivant tes recommandations.

    Faut que tu m'expliques ton héritage d'objet, ce n'est pas très clair pour moi.

    L'association des joueurs dans un groupe vient du concept d'action principale pouvant être faite en commun et donc en même temps.
    Action principale : se déplacer, produire des objets de base (nourriture, eau, médicaments, matériaux), se battre (la défense étant implicite, si on attaque un perso, c'est le groupe entier qui défend, cad la somme des points de défense - attribut combat de la table perso)

    Je vais donc mettre du propre dans tout ça, rajouter ce qu'il manque, etc...

    Merci encore et à bientôt pour une mise à jour du MCD

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Je vous propose une mise à jour du MCD, mais il manque encore des choses que j'ai du mal à bien voir :

    Les objets me posent soucis ainsi que tout ce qui est sac à dos des personnages, véhicules ou animaux. Ce qui m'ennuie c'est qu'il n'y a qu'un sac à dos par perso, relation 1,1 des 2 cotés. Et comme la taille du sac et variable (ce sera un attribut bien sur) je ne vois pas trop comment le modéliser.
    Les objets sont de 2 sortes, d'abord les objets simples, issus de production primaire (nrt, eau, minerai, peau, etc), puis il y a les objets qui sont plus complexes, fait à partir des autres - comme notre sac à dos fait avec un certain nombre de peau - le tout assemblé dans un bâtiments par exemple.
    En terme de Gameplay le perso clique sur l'option du bâtiment (un lien) créer des sac à dos --> vérification quantité de peau + capacité à produire, si ok, 1 sac est fait.
    Il y a aussi les objets complexes mais qui ne pourront pas être fait dans un bâtiments mais qui pourront être utiliser directement (tronçonneuse par exemple) et les objets complexes qui pourront être assemblé ensemble mais que l'on ne pourra pas construire (moteur de voiture par exemple). Encore qu'une tronçonneuse peut être compter comme un objet complexe fabriquer par 2 autres objets, une chaine et 1 moteur. et que ce qui peut être monter, peut-être démonter (si on a les capacités pour et le bâtiment aussi)

    Les animaux, les véhicules et les persos ont une capacité de transport de base, mais ont la possibilité d'extension, avec un harnachement pour les animaux, des remorques pour les véhicules et des sac à dos pour les persos.(tous étant des objets pouvant être fabriquer)
    Il y a aussi la capacité de transporter des liquides, qui n'est pas modélisé, c'est le presque le même principe que pour le sac à dos.

    perso :
    sacados = 0(aucun sac) --> 10 places
    sacados = 1( de type 1)--> 20 places
    sacados = 2 ( de type 2)--> 35 places
    outre = 0 --> 2 eau
    outre = 1 --> 10 eau
    outre = 2 --> 20 eau

    animaux :
    harnachement = 0
    harnachement = 1
    harnachement = 2
    remorque = 0
    remorque = 1

    véhicules :
    harnachement = 0
    harnachement = 1
    remorque = 0
    remorque = 1

    Il y aurait des malus dans le déplacement, mais ça ne modifie en rien l'idée, c'est juste du calcul.

    J'ai modélisé les combats mais comme il n'y a qu'une action principale par tour, il ne peut y avoir que 0,1 attaque de la part de l'agresseur et 0,n reçu par une victime, mais surtout je trouve redondant de lier autre que perso à perso, puisque les groupes, les persos et les communes sont déjà liés précédemment.

    Il y a aussi la table tours que j'ai gardé, avec un attribut météo qui est globale pour toutes les cases, que j'aimerai intégré à la table cases car je le voudrai unique pour chaque case, sauf que je ne sais pas encore comment créer l'algorithme sachant que les cases sont hexagonales et que j'aimerai que la météo dépende aussi des types de terrains des cases environnantes.
    Je ne sais pas si je suis clair là.

    Le MCD est pas mal fouillis, mais j'aimerai savoir si ça tient la route ce que j'ai fait jusque là.
    Images attachées Images attachées  

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    J'ai apporté une modification au MCD précédent.
    La suppression de la relation entre véhicules et objets et la création de 3 nouvelles relations avec 3 nouvelles tables : chassis, roues et moteurs. Ces 3 tables devront être aussi en relation avec la table objets, je ne l'ai pas montré dans l'image, pas de place.
    J'ai ajouté aussi une table navires lié à persos par la relation naviguer.


    Il manque encore les armes, les munitions comme sous table d'objet (sous classe si on parlerai UML)

    Mais surtout les sacs à dos et outres d'eau, ça je ne vois toujours pas.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Je pense que vous avez cru que j'avais abandonné mon projet ? Que nenni, je continue dessus, peut-être pas assez vite cependant.

    J'ai bien réfléchi à la réponse de CinePhil quand au typage et sous typage de certaine tables, et en effet c'est ce que j'ai commencé à faire.

    Par contre ça m'a allongé le nombre de table dans le modèle, un vrai cauchemar, actuellement j'en suis à 44, je n'ai pas pu tout mettre dessus le mcd sous powerAMC tellement c'est le "foutoir".

    Voici un exemple avec la table véhicules et les différentes tables qui sont liées.
    D'abord j'ai regroupé tous les véhicules dans une seule table : moto, auto, camion, bateau, avion.
    Vu que le jeu est un "post apo", les véhicules peuvent être fait avec plusieurs morceaux rafistolés, donc j'ai 4 tables roues, chassis, moteurs et voiles avec les tables pour chaque liste qui les concernent, model_roues, model_chassis, model_moteurs, model_voiles.

    Tables véhicules et associés

    Est-ce que ces associations tiennent la route ? si je peux dire

    ---------------------

    Un autre exemple encore plus ennuyeux à première vu pour moi, c'est celui des différents objets qui pourront être soit trouver, soit produit, soit fabriquer, et qui s'entremêle.

    Il y a les objets de production basiques, ceux qui ne sont pas encore transformés(eau, nrt, peau d'animaux, minerai fer, champignon, etc..)
    Il y a les objets transformés à partir des précédents(minerai de fer-->fer, peau d'animaux-->outre, sac à dos, etc ...)
    Il y a des objets transformés à partir d'objets déjà transformés(minerai de fer-->fer-->chassis de buggy)

    j'ai donc comme entité actuellement :
    armes, liée aux armes anciennes (que l'on ne peut pas fabriquer) et armes actuelles (que l'on peut fabriquer)
    fontes, type de fontes(objets fabriqués)
    munitions, type de munitions(certain seront fabriqués ->flèches, carreaux, poudre noire, d'autre non comme des munitions pour les armes automatique)
    recipients, type de recipients(objets fabriqués)
    sac à dos, type de sac à dos(objets fabriqués)
    carrioles, type de carrioles(objets fabriqués)
    remorques, type de remorques(objets fabriqués)
    drogues, liste de drogues(certain seront fabriqué et d'autre non)
    roues, modèle de roues (que l'on ne peut pas fabriquer)
    chassis, modèle de chassis(dont certain pourront être construit et d'autre non)
    moteurs, modèle de moteurs(que l'on ne peut pas fabriquer)
    voiles, modèle de voiles(que l'on peut fabriquer)
    objets de production, liste d'objet de production
    objets manufacturés(qui sont donc liés aux objets fabriquées)

    J'aimerai donc savoir comment liés ses différentes tables aux tables objets de production, liste d'objet de production, objets manufacturés(objet_prods, list_objet_prods, objet_manufs). Et surtout si cette table objet_manufs est pertinente.

    Un exemple m'aiderai assez.

    Comme toujours si ce n'est pas très clair, je suis là pour vous donner tous les renseignements nécessaire, suffit de me demander.

Discussions similaires

  1. un cahier des charges pour une GMAO .
    Par scooba112 dans le forum Gestion de projet
    Réponses: 5
    Dernier message: 07/04/2009, 20h23
  2. Réponses: 3
    Dernier message: 26/03/2009, 15h46
  3. Norme pour les cahiers des charges fonctionnelles
    Par youkoun dans le forum Gestion de projet
    Réponses: 4
    Dernier message: 30/10/2008, 09h02
  4. [BdD][Cahier des Charges]Newbie Rédaction !
    Par poosh dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 08/06/2006, 10h48

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