Title: Showing a ternary (or n-ary) association in Rose
I agree that n-ary relationships are in the UML standard.
 
But my first recommendation is to try to formulate the problem differently with just binary relationships.
 
Consider the following classes:
Committee, Person, Year, CommitteeSetup, CommitteeMembership.
 
To keep it simple, these are not association classes (but you could make them association classes).
 
One Committee has several CommitteeSetups (each linked to a different Year).
Each CommitteeSetup is associated with exactly one Committee.
Each CommitteeSetup is associated with exactly one Year.
Each Year is linked with several CommitteeSetups (but never more than one linked to the same Committee).
Each CommitteeSetup groups several CommitteeMemberships (but never more than one linked to the same Person).
Each CommitteeMembership is associated with exactly one CommitteeSetup.
Each CommitteeMembership is associated with exactly one Person.
Each Person is linked with several CommitteeMemberships (but never more than one linked to the same Committee).
 
I do not say that you can easily translate your multiplicity constraints into multiplicity constraints on this new model. But you can express your constraints using these new classes. And in any model, there are always constraints that you cannot express as simple multiplicity constraints. The important thing is: can you express whatever is in your problem domain using these classes? And that is what modeling is all about: to find the concepts that you need to be able to express what you want to say.

=========================================
Johan Galle,
mailto:[EMAIL PROTECTED]      
HOORA, the practical approach to UML:
http://www.hoora.org 
=========================================


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Friday, June 22, 2001 13:43
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: RE: (ROSE) Showing a ternary (or n-ary) association in Rose

I don't think the association class alone will get me what I need.  Let me clarify a little more with an example from the book "The Art of Objects", p.11:
 
    "An N-ary association establishes a relationship between N classes.  The corresponding N-ary links are the connections between object instances of those N classes.  As shown in Figure 1-9 (attached), an N-ary association is shown in UML as a large diamond with a solid line connected to each of the associated classes.  An optional association name can be placed next to the diamond.  The association is not part of any of the N classes, but depends on ALL of them.
    "Multiplicity symbols can be used to specify or constrain the number of links between objects.  The multiplicity symbol on an association end of a particular class specifies the potential number of links when the other N-1 object instances are fixed.  Thus, in Figure 1-9, the multiplicity is interpreted as follows:
 
- A person can serve on as many as two committees only in any given year.
- Each committee can have three to five persons as members in any given year.
- A person can serve between one to four years on any specific committee.
 
    "Because the range of any multiplicity symbol in Figure 1-9 is more than one, we need to use all three object references (committee:Committee, person:Person, year:Year) to specify a link uniquely."
 
So I don't think an association class is sufficient to model this relationship.  And I can't figure out how to draw it in Rose.
 
-----Original Message-----
From: Nallamilli, Surya [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 21, 2001 8:27 PM
To: '[EMAIL PROTECTED]'
Subject: RE: (ROSE) Showing a ternary (or n-ary) association in Rose

Have you looked at the Association Class model element that is in Rose?
Definition of Association Class from the UML User Guide:
A modeling element that has both association and class properties. An association class can be seen as an association that also has class properties, or as a classs that also has association properties.
 
I am not sure if this would help you or not but, it is probably worth looking at this feature of Rose.  Please see the attached model for an example.
 
--Sonny
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 21, 2001 2:27 PM
To: [EMAIL PROTECTED]
Subject: (ROSE) Showing a ternary (or n-ary) association in Rose

Greetings all.  I am in a quandary.  I am building a conceptual object model that requires at least one ternary association.  I've got some reading material that suggests how to do that with UML, but alas, Rose doesn't support the entire UML specification.  So I don't know how to model this relationship with Rose.  Has anyone come up with a good solution to this problem?

TIA

Steven F. Caswell
Senior Software Architect
BuildNet
______________________________________________________
250 Scientific Drive, Suite 800,  Atlanta, GA  30092
main: 678-225-2260  |  fax: 678-225-2459  |  direct: 678-225-2320
[EMAIL PROTECTED]  |  http://www.buildnet.com

Reply via email to