Hi

The "what does the arrow mean on a <<communicates>> association discussion"
comes up every now and then.  Officially, UML (at least for 1.3/1.4) does
not say you can use the arrowhead to indicate who initiates the use case
(but not saying this is allowed does not automatically mean it is wrong :->)

As a convention (at Rational, in course material, and in other places) the
arrowhead is used to indicate who starts off the use case.

If you look at what an association means, or rather what an arrowhead means,
you could interpret this association + arrowhead pointing to a use case as
meaning that this actor (for that particular use case) will always be
driving the dialog between actor and system.  The system never talks to the
actor unless it was in response to the actor asking something of the system.
Communication is controlled by the actor is perhaps another way to put this.

I do recall some Rational internal discussion some time ago - where one of
the amigos suggested a stereotype on the association role to indicate
"initiator".

While a visual indicator is very useful - you can always find out who really
starts the use case by looking at the use case specification (you did write
the spec as well as draw the picture didn't you :-)

regards

anthony

> -----Original Message-----
> From: Brian G. Lyons [mailto:[EMAIL PROTECTED]]
> Sent: 10 October 2001 20:31
> To: Eric D. Tarkington; Shukla, Susmita (CICG DTAG)
> Cc: ROSE_FORUM; Kurt Bittner; Geri Winters
> Subject: RE: (ROSE) Use case to actor Yes or No
> 
> 
> 
> hiho,
> 
> Heck, I was all ready to agree with Sushmita because I have 
> been using a
> convention of having the actor that initiates the use case 
> have a directed
> association to the use case in my use-case diagrams.  But I am having
> trouble finding reference to doing this in any 100% official 
> UML source.
> 
> The directed association is a commonly observed pattern in use-case
> literature. Applying Use Cases: A Practical  Guide by Geri 
> Schneider and
> Jason Winters uses directed arrows in each direction between 
> actors and use
> cases (see p127 & 177 of the first edition).  Furthermore the Rational
> University training material for Requirements Management with 
> Use Cases, for
> Principles of Object Technology, for Object-Oriented Analysis 
> and Design
> with UML, and for Rational Unified Process Fundamentals 
> (phew) all show the
> communicates associations pointing from actors to use cases.  
> These courses
> mostly only show a directed arrow from an actor to a use 
> case, but here and
> there you'll find arrows from use case to actor.  You'll also 
> find directed
> arrows going each direction in various articles such as this one from
> Software Development Magazine
> http://www.sdmagazine.com/documents/s=748/sdm0001d/ and this from the
> Rational Edge
> http://www.therationaledge.com/content/dec_00/t_ucnotfunctions.html
> 
> Rational's web-based RUP product specifies in its section entitled
> "Guidelines: Communicates-Association": "Each role of a
> communicate-association has a navigability property, indicating who
> initiates communication in the interaction.  Navigability is 
> shown by an
> open arrowhead.  If the arrowhead points to a use case, the 
> actor at the
> other end of the association initiates the interaction with 
> the system.  If
> the arrowhead points to an actor, the system initiates the 
> interaction with
> the actor.  Two-way navigability is shown by a line with no 
> arrow-heads."
> (v2001A.04.00.13)
> 
> But then when I look at the UML Reference Manual I see all 
> bi-directional
> associations and no mention of using an association that 
> would point one way
> or the other.  And I can't find an example or reference to a directed
> association in the UML Spec either.
> 
> Oh well, I'll still keep using the convention of an arrow 
> from the actor
> initiating the use case (disregarding data flow).  And I even 
> use arrows
> from use cases to secondary actors -- human or otherwise -- 
> to show that the
> use case initiates communcation with the actor (again 
> disregarding actual
> data flow).  The use case diagram is there to communicate 
> requirements and I
> like to know who is calling whom.
> 
>                 -------- b
> 
> --
> Brian G. Lyons
> Number Six Software - Voted Rational's Best Complementary 
> Service Provider
> 1655 North Fort Myer Drive, Suite 1100
> Arlington, VA 22209-3196
> http://www.numbersix.com
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Eric D. Tarkington
> Sent: Wednesday, October 10, 2001 12:28 PM
> To: Shukla, Susmita (CICG DTAG)
> Cc: ROSE_FORUM
> Subject: Re: (ROSE) Use case to actor Yes or No
> 
> 
> 
> Susmita Shukla wrote:
> > Question: Can a use case "point to" an actor in a use case diagram?
> >
> > Answer: Yes. This would be a secondary actor. The actor provides
> > information needed to execute the use case.
> >
> > Hope this is simple enough.
> >
> > Susmita Shukla
> 
> It's simple, but wrong, I think.  The most important thing is that the
> use case diagram cannot indicate the direction of data or control flow
> between actors and use cases.
> 
> If you want to discuss pointing, you probably need to use an 
> interaction
> diagram or an activity diagram.
> 
> That's why I discussed the use of actors in the sequence diagram.  In
> that context, the question is:  "Can an object point to an actor in a
> sequence diagram?"  There, you can say "yes", because the diagram is
> capable of doing it.
> 
> Once you are talking about the right diagram, you can introduce other
> nuances without confusion.
> 
> -Eric
> 
> **************************************************************
> **********
> * Rose Forum is a public venue for ideas and discussions.
> * For technical support, visit http://www.rational.com/support
> *
> * Admin.Subscription Requests: [EMAIL PROTECTED]
> * Archive of messages: 
http://www.rational.com/support/usergroups/rose/rose_forum.jsp
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Admin.Subscription Requests: [EMAIL PROTECTED]
* Archive of messages: http://www.rational.com/support/usergroups/rose/rose_forum.jsp
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*
* To: [EMAIL PROTECTED]
* Subject:<BLANK>
* Body: unsubscribe rose_forum
*
*************************************************************************

Reply via email to