Page 1 of 2 1 2 LastLast
Results 1 to 15 of 16

Thread: ModelMaker en Multiplicity

  1. #1
    Wie is hier het mannetje?
    Join Date
    Oct 2004
    Posts
    299

    ModelMaker en Multiplicity

    Ik gebruik ModelMaker om m'n UML klassendiagram gemakkelijk om te kunnen zetten in delphi code. Verder wil ik de diagrammen die ik met modelmaker maak ook gaan gebruiken in m'n functionele ontwerp.

    Het probleem emt modelmaker, waar ik maar geen antwoord op kan vinden is het volgende: Ik voeg in de diagram editor een tweetal klassen toe en verbindt deze met elkaar via de "Add Link". Vervolgens wil ik de multipliciteit aangeven, dus dubbelklik ik op deze link en onderaan (bij de Link tab) staat inderdaad de optie om multipliciteit aan te geven. Het probleem is echter dat deze optie inactief is...

    Weet er iemand hoe ik deze optie actief kan maken in modelmaker?

  2. #2
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Gebruik Add Shared Class Association i.p.v. Add Link
    All methodologies are based on fear. -- Kent Beck.

  3. #3
    Wie is hier het mannetje?
    Join Date
    Oct 2004
    Posts
    299
    Dat werkt inderdaad wel, alleen klopt door die pijl het UML klassendiagram niet meer... Het moet (volgens mij UML boek dan) een lijn zijn zonder pijlen.
    Drommels, drommens en nog eens DROMMEEEEELLLSSS

  4. #4
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Over welk soort afhankelijkheid spreken we dan eigenlijk?
    All methodologies are based on fear. -- Kent Beck.

  5. #5
    Wie is hier het mannetje?
    Join Date
    Oct 2004
    Posts
    299
    Gewone associaties.
    Drommels, drommens en nog eens DROMMEEEEELLLSSS

  6. #6
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    1) Associaties hebben toch altijd een richting?
    2) Als de afhankelijkheid een associatie is, over welk soort associatie gaat het dan?
    3) Je kan altijd van de pijlen afraken door bij Style te kiezen voor Undefined i.p.v. Auto.
    All methodologies are based on fear. -- Kent Beck.

  7. #7
    Wie is hier het mannetje?
    Join Date
    Oct 2004
    Posts
    299
    In het UML boek dat ik gebruik worden in de klassendiagrammen nergens een richting aangegeven, misschien omdat het een boek over UML 1.4 is? In ieder geval heb ik nog een ander dictaat van school bekeken en daar worden wel richtingen aangegeven, dus dan doe ik dat ook maar zo, is toch wat nauwkeuriger.

    Het gaat in ieder geval om de associatie die aangeeft welke objecten met elkaar gaan communiceren, dus eigenlijk is zo'n richting wel logisch ja...

    Ik kan nu weer verder in ieder geval, dit was m'n eerst post op dit forum en meteen een oplossing binnen 3 kwartier, bedankt!
    Drommels, drommens en nog eens DROMMEEEEELLLSSS

  8. #8

    Unhappy multiplicity

    Yes I've got the same multiplicity problem. An association can be unidirectional, bidirectional, 1:many, many:many etc etc. This can all be achieved with delphi and is supported by standard UML, but coding it is tricky.
    So I gladly started Modelmaker to get this job done. But it seems like it can only handle 1:1 association, not many:many. Am I right about this? This would mean a very serious drawback .

    With Bold For Delphi the many:many relationship can be achieved in a very elegant way.

  9. #9
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    (disclaimer: ik heb nog nooit met de bold of modelmaker producten gewerkt, dit is meer 'in het algemeen')

    Ik neem aan dat je er gewoon een kruistabel tussen kan zetten?

    Natuurlijk, je wilt vaak een n:n relatie modelleren, dus het zou fijn zijn als dat snel en elegant kon, maar de praktijk is dat zowel op database-niveau als in de de native datastructuren van veel omgevingen (waaronder Delphi), een n:n relatie niet rechtstreeks is uit te schrijven. Het is dus aan de andere kant ook wel prettig als je modellering daar dicht bij in de buurt blijft, en dat niet zomaar weg-abstraheert.

  10. #10
    Natuurlijk, maar zeg eens eerlijk wat is er nou makkelijker dan te kunnen zeggen: Bedrijf.klanten.add(nieuw) etc. Dit heb ik bij BoldForDelphi dermate gewaardeerd dat ik er niet meer vanaf wil. Zelfs de lijsten in Bold zijn van juiste type (vb TKlantenlijst).

  11. #11
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Helemaal waar. In onze eigen business-laag definieerden we die 'samengestelde relatie' altijd op code niveau (weliswaar nog in xml gespecificeerd, maar toch 'manual override'), maar direct vanuit je model is het zeker wel zo strak en convenient.

  12. #12
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    One<-->Many kan ook gewoon in ModelMaker. Instant Objects gebruikt het bijvoorbeeld voor References en Parts (zie diagram). En er is ook de Array Property Template in ModelMaker.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	klantendiagram.jpg 
Views:	312 
Size:	41.3 KB 
ID:	2170  
    All methodologies are based on fear. -- Kent Beck.

  13. #13
    Counting your refs Paul-Jan's Avatar
    Join Date
    Feb 2002
    Location
    Lage Zwaluwe
    Posts
    2,160
    Kikkedril had het over many:many, niet over 1:many (je klant zit in veel administratiesystemen ondergebracht bij meerdere bedrijven), maar als antwoord op de TS is het perfect.

  14. #14
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Noteer dat in bovenstaand diagram de property van het type TInstantReferences is (in tegenstelling to TParts dat een owner-child relatie aanduid). Dus als je meer dan 1 instantie hebt van TBedrijf heb je al m:n.
    Overigens wordt deze modellering dikwijls ten onrechte opgenomen (voornamelijk omdat de manier van toegang even wordt geleend uit het relationele model). Bijvoorbeeld (one to many):
    Klanten plaatsen orders. Dit zou je kunnen modelleren door een eigenschap Orders op te nemen in klant (lijst van orders).
    Dit is m.i. echter semantisch niet echt correct: beter kan je de Orders opnemen in OrderBoek. Wil je de orders voor een Klant (eigenschap van Order) vraag je aan OrderBoek gewoon alle (of een selectie) orders voor een bepaalde Klant aan Orderboek.

    Overigens kan m:n ook:
    In een hondenclub hebben honden 0 of meer begeleiders. Begeleiders begeleiden 0 of meer honden. Het diagram is dan gewoon als onderstaande. Je zal dit typisch mappen naar het relationeel model door een associatietabel toe te voegen bij persistentie in een RDBMS.
    Ook in je OO ontwerp is dit meestal geen slechte (en dikwijls de enige juiste) keuze:
    Meestal heb je eigenlijk een bijkomende klasse nodig omdat de associatie nog een aantal andere kenmerken heeft: in het geval van de begeleiding van honden b.v. een begin en einddatum of een selectie voor wedstrijden, enz..
    Dit resulteert dan in een klasse Begeleiding met de bijkomende eigenschappen.
    Je kan dan zowel in THond als in TBegeleider een lijstje van references naar TBegeleiding (met andere woorden 1:n en 1:n). Maar dat is niet nodig: je kan aan TBegeleiding een lijstje vragen dat alle begegeleiders geeft voor een hond, of alle honden van een begeleider.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	manytomany.jpg 
Views:	279 
Size:	83.8 KB 
ID:	2172  
    All methodologies are based on fear. -- Kent Beck.

  15. #15
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Beter:
    Attached Images Attached Images  
    All methodologies are based on fear. -- Kent Beck.

Page 1 of 2 1 2 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. ModelMaker maakt verkeerde code?
    By AllRound in forum Algemeen
    Replies: 20
    Last Post: 25-Oct-04, 23:05
  2. Modelmaker probleempje
    By Doki in forum Algemeen
    Replies: 5
    Last Post: 06-Jan-04, 11:33
  3. Wie gebruikt modelmaker als tool???
    By TheMephisto in forum Koffiehoek
    Replies: 11
    Last Post: 01-Nov-03, 02:00
  4. Modelmaker tutorials
    By Marcel in forum Delphi tools
    Replies: 0
    Last Post: 18-Oct-02, 10:18
  5. ModelMaker voor Delphi 7 Professional
    By Marcel in forum Delphi 7
    Replies: 0
    Last Post: 18-Oct-02, 01:12

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •