Book a Demo

Author Topic: How do I use collaboration objects?  (Read 10767 times)

wsargent

  • EA Novice
  • *
  • Posts: 15
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
How do I use collaboration objects?
« on: November 11, 2005, 02:34:26 pm »
I understand that the way to get from use cases to class diagrams is through collaboration objects.

However, I don't see any examples showing me how you do this.  Collaboration objects seem sadly unused when it comes to the examples (even in Zicom Mentor and the like) and I can't really find an example which shows me how you get from one to the other, or even if collaborations are supposed to be used at all.

The terminology is also confusing: collaborations show up in composition structures, and not in a collaboration diagram, which is where you'd expect it to be.

Any tips?

Will.

thomaskilian

  • Guest
Re: How do I use collaboration objects?
« Reply #1 on: November 12, 2005, 05:12:18 am »
Collaborations are realizations of Use Cases. So you create a Collaboration for each Use Case and draw a realize relationship. Under the Collaboration you can then use objects from your domain to show how things work (e.g. using a communication diagram). The reason for having Collaborations is, that you might have different realizations for a Use Case.

wsargent

  • EA Novice
  • *
  • Posts: 15
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: How do I use collaboration objects?
« Reply #2 on: November 14, 2005, 01:19:34 pm »
Are there any examples of communication diagrams utilizing collaborations?

TrtnJohn

  • EA User
  • **
  • Posts: 176
  • Karma: +0/-0
    • View Profile
Re: How do I use collaboration objects?
« Reply #3 on: November 14, 2005, 01:35:35 pm »
Quote
Collaborations are realizations of Use Cases. So you create a Collaboration for each Use Case and draw a realize relationship. Under the Collaboration you can then use objects from your domain to show how things work (e.g. using a communication diagram). The reason for having Collaborations is, that you might have different realizations for a Use Case.


Thomas,

A think I understand what you are saying.  I typically haven't  used collaborations before in my use case diagram.  Instead I just put all of the behavior diagrams directly under the use case.  Typically one for every use case path.  Sometimes this means duplicating effort.  I am wondering if defining collaborations can help me out here.   Can you use collaborations as re-useable elements?  Can Collaborations include other collaborations, ... ?

thomaskilian

  • Guest
Re: How do I use collaboration objects?
« Reply #4 on: November 15, 2005, 03:26:19 am »
According to Superstructures
Quote
Collaborations are generally used to explain how a collection of cooperating instances achieve a joint task or set of tasks.

So what I stated is just the way I make use of them. For most cases I found out that Collaborations could be skipped (that is: just put the stuff underneath the Use Case). However, there are circumstances where it is usefull to have multiple realizations for Use Cases. So what I normally get is a 1-to-1 picture from Use Case to Collaboration. In my models I have the Use Cases under the CIM branch while the Collabs are under the PIM branch. In that way I can also underline the difference between CIM and PIM.

I never thought about a wider use of Collabs, but it should be possible. The only thing is, that (for my use) I don't see an application ;)

thomaskilian

  • Guest
Re: How do I use collaboration objects?
« Reply #5 on: November 15, 2005, 03:29:15 am »
Quote
Are there any examples of communication diagrams utilizing collaborations?

Hard to tell. I even don't remember where from I got that wisdom of using Collabs the way I do it ;D I guess Google should return some results :-/

wsargent

  • EA Novice
  • *
  • Posts: 15
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: How do I use collaboration objects?
« Reply #6 on: November 28, 2005, 05:40:55 pm »
Okay, I was randomly browsing the internet and I've found some links to some thing called a "use case realization."  But the thing they refer to is what I know as a "collaboration" object.

I'm very confused.  Is a use case realization a collaboration?  And if I'm supposed to connect class diagrams or sequence diagrams to my  collaboration object, how do I do it in EA?

Zicom Mentor is no help.  It won't even tell me what "role binding" is.

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: How do I use collaboration objects?
« Reply #7 on: November 28, 2005, 06:34:25 pm »
Use case : Get married

Collaboration 1 - David, Ruth, Rabbi Zachman, Torah
Collaboration 2 - Ug, Morg, The Witchdoctor Zig, a goat

Collaboration model (generalised, abstract)  :person, :person, :celebrant :tokens

which gives rise to classes person, celebrant and token!

Does that make the flow clearer?  Sorry, I haven't much time at the moment

bruce

"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.