Objecteering UML Modeler : Utilisation des classes - Divers - Programmation
Marsh Posté le 19-03-2003 à 13:02:07
Oui ca a un sens.
La classe interface est en fait une classe abstraite.
Ce qui ne veut pas dire que tout soit abstrait.
Elle va me servir comme classe mere.
Marsh Posté le 19-03-2003 à 13:40:41
Parceque c'est mal(tm). Tu cherches à faire en faite une association. Donc, soit tu fait une association, soit tu drag&drop ta classe Toto dans le champs type de ton attribut (mais tu assummes le warning).
Et je suis d'accord avec Sam (ce qui est rare), un attribut dans une interface, j'ai des gros doutes. En revannche, rien n'empêche de faire une classe abstraite qui ne soit pas une interface, ce qui me semble plus correspondre à tes besoins.
Marsh Posté le 19-03-2003 à 14:04:33
Clie a écrit : |
En même temps, c'est normal pour un sous-produit.
Marsh Posté le 19-03-2003 à 19:06:10
Objecteering n'est pas un sous-produit, mais un produit professionnel qui n'a rien a envier a Rose.
Bon sinon je suis pas trop fort en UML mais j'ai pas compris pourquoi il fallait une association.
J'ai une classe, elle a des attributs donc je les mets en attribut avec leur classe qui correspond.
C'est ce qui m'a paru logique.
Si je cree une association, j'ai pas d'attribut associe
Marsh Posté le 19-03-2003 à 19:11:44
ReplyMarsh Posté le 19-03-2003 à 19:12:01
J'ai essayer avec une classe abstraite et c'est pareil
voici le message qu'il me mets:
Warning : Class "Coord" Incompatibility. The non-primitive unit is instantiated by an attribute.
Marsh Posté le 19-03-2003 à 19:16:17
Bon en mettant la classe en primitive j'ai plus le warning.
Mais il me la propose toujours pas, donc je sais pas si c'est juste une bidouille ou si c'est correcte
Marsh Posté le 19-03-2003 à 19:19:20
Clie a écrit : J'ai essayer avec une classe abstraite et c'est pareil |
tu lui mets une composition et un rôle et t'as le droit de ramener le role comme propriété dans la classe après.
Marsh Posté le 19-03-2003 à 19:27:06
Clie a écrit : Bon en mettant la classe en primitive j'ai plus le warning. |
C'est une bidouille, Kadreg t'as expliqué que c'est une association que tu veux faire.
Les diagrammes de classe sont fait pour voir graphiquement les liens qu'entretiennent les classes entre elles. Si tu fout des attributs avec des types directement sur la classe, sachant qu'en général on affiche pas les types car c'est pas le sujet de la discussion, ton diagramme est inutile.
Donc si 2 classes entretiennent un lien, tu fout un trait ; et, éventuellement, tu décores le traits avec les jolis truc que propose la norme genre des rectangles avec un mot dedans, des losanges, des numéros, des étoiles, des "{ordered}" etc.
Marsh Posté le 19-03-2003 à 19:28:59
Ok, mais alors mes attributs avec leur nom et leur types, je doit les mettre ou ?
Marsh Posté le 19-03-2003 à 19:40:35
Clie a écrit : Ok, mais alors mes attributs avec leur nom et leur types, je doit les mettre ou ? |
par ex, pour la classe "Personne", le "nom" est une string (primitif) tu le mets en attribut ; son "Profil" (une autre classe) dans l'application (mettons un portail web) est composé avec come rôle "profil".
Marsh Posté le 19-03-2003 à 19:47:09
Alors si je comprend bien ce que je code dans ma classe comme un attribut x de classe toto.
En UML c'est juste une composition de la classe toto de role x.
j'ai bon ?
Marsh Posté le 19-03-2003 à 20:04:10
Clie a écrit : Alors si je comprend bien ce que je code dans ma classe comme un attribut x de classe toto. |
Bravo.
T'as pas du capter que UML permet _aussi_ de faire de l'intellectuel, des trucs qui n'apparaîtrons jamais dans le code d'aucune application du monde. UML n'est pas le service de documentation de ton code java, il peut l'être mais c'est pas _du tout_ la seule chose qu'il sait faire.
Un exemple : dans la méthode RUP, le modèle de domaine est illustré par un diagramme de classe UML où le symbole de classe ne représente pas uen classe mais un concept intellectuel qui n'a même pas une chance sur 2 de finir comme nom de classe dans l'applicaion finale.
À ce propos, Together il puduku à me génerer des .java sans que je lui demande, c'est plus un éditeur de code qui fait aussi des diagrammes qu'un réel outil UML large (et bien entendu, j'en ai rien à foutre du code qu'il génère).
Marsh Posté le 19-03-2003 à 20:13:09
Ok, moi je m'en sert pour la conception enfin j'essaye.
C'est vrai que j'ai pas tout compris.
Together je le trouve pas mal, et en plus le modeler est gratuit !
Marsh Posté le 19-03-2003 à 20:34:03
Clie a écrit : Ok, moi je m'en sert pour la conception enfin j'essaye. |
J'ai l'impression que par nature, c'est long à appremdre.
Moi y'a des trucs que j'ai pas encore compris (genre les liens) et ça fait 1 ans et demi que je suis dedans, j'ai même participé à la conception d'un logiciel d'UML.
Mais beaucoup de monde se débrouille avec des diagrammes de classe et des use-case, parfois sans savoir qu'il existe d'autres trucs.
Marsh Posté le 19-03-2003 à 12:37:19
J'essaye actuellement de faire une concept sous Objecteering UML Modeler et j'ai le problème suivant.
Dans un diagramme de classe, je cree un epremiere classe toto.
Puis je cree une classe interface.
Puis j'ajoute un attribut a ma classe interface
Et la je veux lui dire que mon attribut est de type toto
Et ben la y me propose pas ma classe toto, seulement les type primitif.
Alors ma question est comment faire pour que ma classe apparaisse dans la liste des types possible ?
J'ai cherché dans l'aide Objecteering mais elle est pas clair du tout !