Partage
  • Partager sur Facebook
  • Partager sur Twitter

projet java

    28 août 2015 à 14:43:54

    Bonjour

    J'ai un probleme avec mon projet que je dois rendre bientot. J'ai fait la partie analyse UML et meme commencer a coder les differentes classes mais je suis un peu coincé. 

    vous trouverez ci dessous le resumé du projet :

    L’objectif de ce projet est de réaliser un programme simulant la propagation d’une nouvelle maladie (H6N28) dans une ville représentée par une matrice de cases. Nous appellerons cases voisines les 8 cases se trouvant autour d’une case donnée et voisins les objets situés dans ces cases.

    Une entrevue avec le ministère de la santé (commanditaire du projet) a permis de recueillir les informations suivantes :

    – Nous voulons représenter la ville sous la forme d'une matrice de cases.

    Pour nos études statistiques, les villes pouvant être plus ou moins importantes, nous voulons pouvoir indiquer la taille de nos villes (longueur + largeur) dans le programme.

    – À l'intérieur de nos villes nous devrons disposer un certain nombre d'hôpitaux, de cliniques, de centres de vaccination et de citoyens (médecins et non-médecins). Pour tous ces éléments, nous voulons pouvoir indiquer leur nombre en début de programme.

    – Nous voulons ensuite observer tour après tour l'évolution de la maladie :

    – les citoyens se déplacent aléatoirement et les citoyens malades contaminent les non malades ;

    – un malade contamine simultanément ses voisins non malades ;

    – un médecin, déjà vacciné, ne peut pas être contaminé ;

    – pour soigner, un médecin dispose d'un stock limité de vaccins (nombre paramétrable, par défaut 10) ;

    – les hôpitaux disposent d'un stock illimité de vaccins ;

    – les cliniques et les centres de vaccination ont un stock limité de vaccins (nombre paramétrable, par défaut 30) ;

    – lorsque les cliniques et les centres de vaccination n'ont plus de vaccins, ils ferment ;

    – lorsque les médecins n'ont plus de vaccins, ils ne peuvent plus soigner et ils se dirigent vers l'hôpital (ou la clinique, ou le centre de vaccination ouverts) le plus proche pour se réapprovisionner (case adjacente) ;

    – un médecin ou un hôpital ne peut vacciner un même malade qu'une fois par tour et il faut 1 injection pour qu'un malade normal soit guéri ;

    – un citoyen vacciné ne pourra plus être contaminé ;

    – parmi les malades il y a des cas difficiles qui nécessitent 3 injections (pourcentage de malades difficiles paramétrable au départ) d'un médecin ou une seule d'un hôpital ;

    – un malade « difficile » contamine avec un cas difficile alors qu'un malade normal contamine à 90% avec un cas normal et dans 10% des cas une mutation se produit, entraînant un cas difficile ;

    – un malade qui n'a pas été guéri 4 tours après sa contamination meurt et disparaît de la simulation

    – un unique bureau de crise virtuel représentant les services sanitaires comptabilisera à tout instant le nombre de malades, de non-malades et de victimes.

    – Il a été décidé de représenter les différents objets par les lettres suivantes :

    – H pour un hôpital

    – C pour une clinique

    – c pour une clinique fermée

    – V pour un centre de vaccination

    – v pour un centre de vaccination fermé

    – D pour un médecin pouvant soigner

    – d pour un médecin n'ayant plus de vaccins

    – m pour un malade

    – M pour un malade difficile

    – P pour un citoyen non malade

    – L’utilisateur pourra choisir entre cinq types de maladies modifiant le mode de déplacement des citoyens :

    – maladie non visible : les citoyens, les malades et les médecins se déplacent de manière aléatoire ;

    – maladie non visible virulente : même chose que précédemment mais la case qu'occupait un malade décédé est considérée comme « contaminée » pendant 2 tours (un citoyen passant sur cette case sera contaminé avec la même forme de maladie) ;

    – maladie visible : les bien-portants évitent les médecins, les médecins se rapprochent des malades, les malades se rapprochent des médecins ;

    – pandémie : les bien-portants se dirigent vers les centres de vaccination et se font vacciner, les médecins se rapprochent et soignent les malades, les malades se rapprochent des médecins ou des hôpitaux ;

    – complot : même comportement que la pandémie mais :

    – les hôpitaux disposent de vaccins de type A : guérison normale.

    – les cliniques disposent de vaccins de type B : les malades ont l'air guéri mais redeviennent malades après trois tours à un taux de 30%.

    – les centres de vaccination disposent de vaccins de type C : les malades ont l'air guéri après une injection mais décèdent après trois tours à un taux de 50%.

    – L’application se termine dans un des trois cas suivants :

    – l’utilisateur appuie sur la touche F ;

    – il n’y a plus de malade ;

    – il ne reste plus que des médecins.

    – À chaque tour la matrice représentant la ville sera affichée et il faudra appuyer sur une touche pour passer au tour suivant.          

         Exemple d’une étape de simulation : présence de citoyens sains, malades et gravement malades.

    1 . . . . . . . . . . . . . . . . . . .

    2 V . . . . . . . P . . . . . . . . . .

    3 . . m . . . . . . . . . . . M . . . .

    4 . . . . . H . . . . . P . . . . . C .

    5 . . . . . . . . . . . . . . . . . . .

    6 . . . D . . . P . . . . . P . . . . .

    7 m . . . . . . . . . . . . . . . . . .

    8. . . P . . . . . . . . . . . . . M .

    9 . . . . . . . . . D . H . . . . . . .

    10 . . . . . . P . . . . . . P . . . . .

    11 . . . . . . . . . . . . . . . . . . .

    12 . . . m . . . . . . . . . . . . m . .

    13 . . . . . . D . . . . . . . . . . . .

    14 . . . . . . . . . . . . . . . d . . .

    15 . . H . . . . . . . . . . . . . . H .

    16 . . . . . c . . P . . . V . . . . . .

    17 . . P . . . . . . . . . . . . . m . .

    18 . . . . . . . . P . . . . . . . . . .

    19 . P . . . . . . . . . . . . P . . . .

    Exemple de l'étape suivante (les x indiquent l'emplacement précédent des objets) :

    1 . . . . . . . . P . . . . . . . . . .

    2 V . . . . . . . x . . . . . . . . . .

    3 . . x . . . . . . . P . . . x . . . .

    4 . . m . . H . . . . . x . M . . . x .

    5 . . . D . . . P . . . . . . . . . . C

    6 . m . x . . . x . . . . P x . . . . .

    7 x . . . . . . . . . . . . . . . . . .

    8 . . . x P . . . . . . . . . . . . x .

    9 . . . . . . . . . x . H . . . . . M .

    10 . . . . . P x . D . . . . x . . . . .

    11 . . . . . . . . . . . . . P . . . . .

    12 . . . x . . . . . . . . . . . . x . .

    13 . . . . m D x . . . . . . . . . . m .

    14 . . . . . . . . . . . . . . . x . . .

    15 . . H . . . . . . . . . . . . . D H .

    16 . . . . . c . P x . . . V . . . . m .

    17 . . x P . . . . P . . . . . . . x . .

    18 . P . . . . . . x . . . . . . . . . .

    19 . x . . . . . . . . . . . P x . . . .

    • Partager sur Facebook
    • Partager sur Twitter
      28 août 2015 à 15:08:55

      Salut !

      A quel moment tu coinces du coup ? ^^

      • Partager sur Facebook
      • Partager sur Twitter
        28 août 2015 à 15:49:57

        je suis tout au début je n'avance pas du tout si vous avez une idée

        cordialement

        I.C

        • Partager sur Facebook
        • Partager sur Twitter
          28 août 2015 à 16:17:31

          Soit un peu plus explicite ^^

          Quelles classes sont déjà faites ? quelle tête a ton UML ? Quelle modélisation pose problème ?

          • Partager sur Facebook
          • Partager sur Twitter
            28 août 2015 à 18:13:06

            Voici lle diagramme UML avec les différentes classes

            Cordialement,

            I.C

            UML

            • Partager sur Facebook
            • Partager sur Twitter
              29 août 2015 à 14:33:46

              BabC a écrit:

              Soit un peu plus explicite ^^

              Quelles classes sont déjà faites ? Quelle modélisation pose problème ?



              • Partager sur Facebook
              • Partager sur Twitter
                2 septembre 2015 à 12:36:07

                J'ai fait toutes les classes mais c'est au niveau de l'implémentation de l'appli que ca pose probleme
                • Partager sur Facebook
                • Partager sur Twitter
                  2 septembre 2015 à 14:01:27

                  Tu as quel niveau en JAVA ? Si tu as compris la POO (donc tu maîtrises plus ou moins les mots clef implements, extends...) cela ne devrait pas te poser de problème. Tu pars du haut(ta classe ville apparemment) en l'implémentant (donc tu mets les attributs et les prototypes des méthodes) et tu fais la même chose avec les autres classes en respectant les différents liens entre elles (héritages ou autre). 

                  Si tu as bien compris les cardinalités et la différence entre losange et triangle (les bouts des flèches) c'est très simple à faire.

                  Bye :)

                  EDIT: Pour que tu comprennes bien, sur ce que j'arrive à lire de ton image, tu vas avoir une classe Ville, qui va posséder une liste d'objet Citoyen (on le voit, entre autre, avec le 0 - * que tu as marqué). La classe médecin va hériter de la classe citoyen etc... Tu n'as plus qu'a suivre cette logique pour le reste.

                  -
                  Edité par arno21 2 septembre 2015 à 14:07:32

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !

                    2 septembre 2015 à 20:09:12

                    Merci Arno21 pour les explications je suis en L3 informatique. J'ai fais tous cela mais je n'arrive pas y arriver.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    projet java

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown