[UML] Implementatie van relatie

Pagina: 1
Acties:
  • 293 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • JaymzHetfield
  • Registratie: Februari 2001
  • Laatst online: 19-04 14:57
Men neme een applicatie.
Er zijn 3 klassen: Land, Stad, Inwoner.

Tussen Land en Stad is er een bidirectionele 1 op veel relatie.
Tussen Stad en Inwoner ook.

Betekent een relatie in een UML diagram dan ook dat de klasse Land alle Stad objecten die bij hem horen als attributen heeft?

Of kan een relatie in UML ook betekenen dat de klasse Land alleen een verzameling referenties heeft (zoals een array met StadID's o.i.d.)?

Context vraag:
Het lijkt me namelijk niet gewenst dat zodra je een nieuw Land object maakt, deze meteen x keer new Stad() gaat aanroepen en elke Stad ook nog eens x keer new Inwoner().
Je zou dit dus kunnen voorkomen door alleen id's oid bij te houden en alleen een klasse te instantiëren indien je hem echt nodig hebt.... Maar teken je dat dan nog als een relatie in UML?

Metal up your ass


Acties:
  • 0 Henk 'm!

Anoniem: 45185

JaymzHetfield schreef op 15 mei 2003 @ 21:52:
Men neme een applicatie.
Er zijn 3 klassen: Land, Stad, Inwoner.

Tussen Land en Stad is er een bidirectionele 1 op veel relatie.
Tussen Stad en Inwoner ook.
Even een belangrijk punt, UML (klassendiagram waar jij het over hebt) kent geen relaties, maar associaties.
Betekent een relatie in een UML diagram dan ook dat de klasse Land alle Stad objecten die bij hem horen als attributen heeft?
Nee, het houdt in dat een object van het type Land meerdere objecten van het type Stad als attribuut bij zich heeft (als het geimplementeerd is).
Of kan een relatie in UML ook betekenen dat de klasse Land alleen een verzameling referenties heeft (zoals een array met StadID's o.i.d.)?
Ja, maar je praat niet over Id's, maar over verwijzingen naar de objecten (aub geen vergelijkingen met een relationele database).

Acties:
  • 0 Henk 'm!

  • JaymzHetfield
  • Registratie: Februari 2001
  • Laatst online: 19-04 14:57
danku

Metal up your ass


Acties:
  • 0 Henk 'm!

Anoniem: 46212

Meeste OOP talen kunnen met references van objecten werken dus maak je niet teveel zorgen over performance problemen als je nog maar in de planning fase zit (UML).

Acties:
  • 0 Henk 'm!

  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 07-02 06:22
Anoniem: 46212 schreef op 15 May 2003 @ 23:50:
Meeste OOP talen kunnen met references van objecten werken dus maak je niet teveel zorgen over performance problemen als je nog maar in de planning fase zit (UML).
Je moet bij je klassediagram geen rekening houden met je OO-taal, want die heeft hier niets mee te maken. OO-ontwerpen heeft op zich niets te maken met een OO-taal zoals Java.

Klassediagram heeft associaties. Klassen kunnen associatieklassen zijn, maar er zijn ook andere vormen zoals:
aggregatie en compositie
abstracte klassen en operaties
overerving (meervoudig)

Acties:
  • 0 Henk 'm!

Anoniem: 46212

Mickman vriendje,

UML is een methodologie voor object geörienteerde analyse en ontwerp ontwikkeld door Grady Booch, James Rumbaugh en Ivar Jacobson. Het heeft weinig zin om je analyse vervolgens te gaan implementeren met een niet object geörienteerde programmeertaal.
Voor andere talen heb je betere analyse technieken dan UML dus als je me de les wil lezen lees dan eens het begin van gelijk welk boekje over UML.

Ten tweede was het niet mijn bedoeling om te spreken over hoe iets geïmplementeerd moet worden. Ik wou hem juist van het performance/implementatie denken wegkrijgen. Hence waarom ik hem zeg dat hij zich nog niet zoveel zorgen daarover moet maken.

Nouja amuseer je met het toepassen van abstractie, compositie, overerving, etc... in een procedurele taal zoals C en Pascal. Als je het dan toch zo nuttig vindt om eerst een OO analyse te maken en dan het wiel opnieuw uit te vinden.
Dan hebben we het nog niet eens over de talloze patronen gehad zoals strategy, template, observer, enz... doe dat maar eens in een niet OO-taal.

Acties:
  • 0 Henk 'm!

  • Tagnar
  • Registratie: November 2001
  • Laatst online: 24-11-2024
[quote]
Betekent een relatie in een UML diagram dan ook dat de klasse Land alle Stad objecten die bij hem horen als attributen heeft?
[\quote]

Nee, niet als je een gewone associatie hebt, die associatie betekent dat Land Stad 'kent', en dus instanties van de klasse Stad aanmaakt (1 of meer), dacht ik...

[quote]
Context vraag:
Het lijkt me namelijk niet gewenst dat zodra je een nieuw Land object maakt, deze meteen x keer new Stad() gaat aanroepen en elke Stad ook nog eens x keer new Inwoner().
Je zou dit dus kunnen voorkomen door alleen id's oid bij te houden en alleen een klasse te instantiëren indien je hem echt nodig hebt.... Maar teken je dat dan nog als een relatie in UML?
[\quote]

Als je (ik denk hier in Java, sorry, ziekte) een nieuw Land aanmaakt, dan maakt hij niet meteen steden aan. Waarschijnlijk is er eerder een attribuut 'land' bij elke Stad. Net als bij de Inwoners, die hebben weer een attribuut 'stad'.


Ik kan het mis hebben, ik werk laatste tijd weinig met UML, meer met ERD's, maar als je iets met ID's wil gaan doen enzo, en een stad/land/inwoner systeem wil maken, is het dan niet slimmer/handiger/sneller om gewoon een database te maken?
Pagina: 1