All you need to know about UML relationships in a Use Case Diagram:

>From Actor to Actor:
Generalization (solid line, big fat arrowhead).
        Such as a Part Time Student and a Full Time Student both are
Students.

>From Actor to Use Case or Use Case to Actor:
Association (solid line, open arrowhead).
        It should be stereotyped <<communicates>> because it is a
communicates association, but since that is the only kind of association
between an actor and a use case, we leave it off.  Less clutter on diagrams.

>From Use Case to Use Case:
Dependency (Dashed line, open arrowhead).
        It should be stereotyped <<includes>> or <<extends>> for clarity,
though usually you can tell which it is without the stereotype.
<<includes>> is like a subroutine call in code.  You must jump to the
included use case, then come back when are done, mandatory.  <<extends>> is
like an extra option.  You don't have to jump to the extending use case

Generalization (solid line, big fat arrowhead).
        Such as Place Internet Order and Place Phone Order could both be
Place Order use cases.  These are tricky to write.  Things to watch out for:
Changing the numbering in Place Order's use case report shouldn't affect the
children, and any of the three use cases should be understandable on their
own...

Realization (dashed line, big fat arrowhead).
        Actually between a use case and a use case realization to show
traceability from the requirements model to the design model.

Finally,  <<uses>> is gone.  Ivar wanted that to mean the same thing as
Generalization, it turns out (he told me so himself).  But everyone kept
using it as <<includes>> is instead.  Admitting that that was a good idea,
he chucked <<uses>> and decided to use Generalization for his original
intention of <<uses>>, and added <<includes>> to accommodate what others
thought <<uses>> was supposed to mean.

Any other sources are wrong unless they were published new in 2000.  Rose's
lack of support for all of the above arrows has led to many odd workarounds,
such as stereotyping generalizations <<uses>>, and stereotyping associations
<<realizes>>.  It all works in Rose now...  Hopefully they'll improve
sequence diagrams next...

        --Anthony.
************************************************************************
* 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/products/rose/usergroups/rose_forum.jtmpl
* 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