Diagramme de classe vers code Java

Signaler
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
Bonjour tout le monde,
comment je peux avoir le code java a partir d'un diagramme de classe !!! j'ai entendu qu'il y a un outil qui s'appel Rationnal rose qui génère le code java a partir d'un diagramme de classe mais j’arrive pas a le télécharger !!!
sinon je voudrais savoir une autre méthode vu que je suis qu'un débutant
j'attend votre aide
merci d'avance
A voir également:

16 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Bonjour,

Il existe effectivement des outils qui permettent de générer le code à partir du diagramme de classe, mais c'est en général une mauvaise idée. La qualité du code est mauvaise.

Si tu utilises éclipse, tu n'as pas grand chose à faire pour créer tes classes métier donc, je te conseille de le créer à la main. Si tu as déjà le diagramme de classes, tu n'en as que pour quelques minutes.
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

est ce que je peux vous montrer le diagramme de classe pour m'aider parceque j'ai jamais programmer en java
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Je ne pense pas que ce soit la peine de me le montrer, je vais te donner la méthode :

Si tu as un diagramme comme ca :

+-----------------+        +---------------+
|    Classe1      |        |    Classe2    |
+-----------------+        +---------------+
| var1 : String   |------->| var : int     |
| var2 : int      |        |               |
|                 |        +---------------+
+-----------------+


Alors tu créé :

public class Classe1 {


private String var1;
private String var2;
private Classe2 classe2;

public Classe1(String var1, String var2, Classe1 classe2){
this.var1=var1;
this.var2=var2;
this.classe2=classe2;
}
}


Et tu generes les getters et setters qui te seront utiles.

Si tu as de l'éhritage, utilises un extends et implements pour l'impémentation d'une interface.

Si tu as des relations en *, utilises des ArrayList.

Poses moi tes questions si tu as des soucis.
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

oui sa j'ai bien compris ,le prob j'ai diagramme de classe très compliqué

file:///home/amine/Bureau/CAP.png
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Si je pouvais voir le diagramme, je te dirais comment t'en sortir...
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

le diagramme sous forme d'une image ,comment je peux le joindre dans le forum
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Tu ne peux pas la publier sur un serveur quelconque et me donner le lien ?

Sinon, tu peux toujours m'expliquer ce qui te poses problème dans ce diagramme. Même s'il contient beaucoup de classe, ce n'est en général pas un problème quand on a les notions objets.
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

voila une classe du diagramme

abstractfield
________________________________________________________________________
Name : string
rule :rule
value : string
_____________________
isExtractMatch(in f1:abstractfield in f2:abstractfield):booleen
isSebSet(in field : abstractfield) :booleen
isSuperSet(in field : abstractfield) :booleen
nextField : abstractfield


ya plein de classe comme sa comment je peux faire
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Ca, c'est une classe abstraite, tu ne pourras pas faire un new abstractfield() mais il faudra utiliser les classes filles pour instancier.

public abstract class AbstractField {
   
   private String name;
   private Rule rule;
   private String value;

   public AbstractField(String name, Rule rule, String value){
      this.name=name;
      this.rule=rule;
      this.value=value;
   }

   public boolean isExtractMatch(AbstractField f1, AbstractField f2){
      //Méthode à implémenter
      return false;
   }

   //Idem pour les autres méthodes qui retournent un booléen

   public AbstractField nextField(){
      //Méthode à implémenter
      return null;
   }
} 
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

et dans ce cas la si on a deux classe avec deux relation policy vers rule et rule vers policy


Policy
________________________
filename : string
intraChecker:intraAnomalychecker
name : string
rootNode : RootNode
ruleList : rule

Rule
_________________________________
action:action
Anomaly:string
destinationIp:Ip
destinationport:Port
order:int
policy:policy
protocol:protocol
sourceIp:Ip
sourcePort:Port

merci de m'aider je suis débutant dans la programation
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Je ne comprend pas vraiment ce que tu décris ?

C'est ca ?

+--------+        +--------+
| Policy |        |  Rule  |
+--------+        +--------+
|        |------->|        |
|        |<-------|        |
+--------+        +--------+


C'est tout à fait possible mais, en général, on aime pas trop ce genre de relations. On passe par une interface quand le contexte s'y prête bien...
Messages postés
27
Date d'inscription
samedi 24 décembre 2011
Statut
Membre
Dernière intervention
26 février 2012

tout a fait j'ai deux classe comme sa comment je peux faire

Je ne comprend pas vraiment ce que tu décris ?

C'est ca ?

Code :

+--------+ +--------+
| Policy | | Rule |
+--------+ +--------+
| |------->| |
| |<-------| |
+--------+ +--------+
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
public class Policy {

   private Rule rule;

   public Policy(){
      super();
   }

   public void setRule(Rule rule){
      this.rule=rule;
   }
}

public class Rule {
   
   private Policy policy;

   public Rule(){
      super();
   }

   public void setPolicy(Policy policy){
      this.policy=policy;
   }
}


Et ensuite, si tu veux créer les objets :

   Rule rule = new Rule();
   Policy policy = new Policy;
   rule.setPolicy(policy);
   policy.setRule(rule);


Ce genre de fonctionnement cache parfois des erreurs de conception, je ne connais pas le contexte, je n'en suis donc pas certain.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Si tu connais le C++ par exemple, les relations de ce type sont bien plus faciles à implémenter en java.

Si tu te dis qu'il y aura un problème à la compilation, c'est que tu penses en C++
Messages postés
2
Date d'inscription
dimanche 26 décembre 2010
Statut
Membre
Dernière intervention
30 mars 2012

salut
Comment écrire un code Diagramme de classe en génerale. De manière à identifier à partir de laquelle toute la Diagramme de classe.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
300
Bonjour,

Je ne comprend pas ta question. Dans tous les cas, ouvres un nouveau sujet, personne ne te répondra ici.