Book a Demo

Author Topic: Actor -> Use Case;  Use Association or 'Us  (Read 5252 times)

Allirav

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
  • Implementing many interfaces....
    • View Profile
Actor -> Use Case;  Use Association or 'Us
« on: December 10, 2006, 09:47:10 am »
I'm not sure when it is appropriate to use "Use" versus "Association" when I want to illustrate that an Actor triggers a use case.

I tried using the help, but couldn't find what I needed.  Any help would be great!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Actor -> Use Case;  Use Association or
« Reply #1 on: December 10, 2006, 10:43:12 am »
Use «use».
No, you can't have it!

thomaskilian

  • Guest
Re: Actor -> Use Case;  Use Association or
« Reply #2 on: December 10, 2006, 01:55:09 pm »
I think that a simple association is enough. I usually "use" a directed link (from Actor to UC) to denote a trigger. And an undirected link to show involvment of the Actor in the UC. Thus I have a directed assoc from Student to Enroll Course and an undirected between Enroll Course and Lectures. I use the <<use>> only very rarely to show that (e.g. the Lecture) Actors are just Read not used RW. But only rarely!

Allirav

  • EA Novice
  • *
  • Posts: 18
  • Karma: +0/-0
  • Implementing many interfaces....
    • View Profile
Re: Actor -> Use Case;  Use Association or 'Us
« Reply #3 on: December 10, 2006, 07:55:34 pm »
Thank you both.  I THINK you are both answering differently.

Maybe I should ask a more specific question.  Is <<use>> a stronger association than simply an association?  That would be my guess.

So, I can see using <<use>> most of the time, and a simple association when an actor is playing a secondary role, or receiving the benefit of the use case.  So, I would interpret <<use>> to be the actual trigger.

Any further thoughts on this?

TIA.
« Last Edit: December 10, 2006, 07:56:07 pm by Allirav »

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Actor -> Use Case;  Use Association or
« Reply #4 on: December 10, 2006, 09:09:39 pm »
I think Thomas and I are somewhat in agreement, and you've got the gist of it.

For example, it might (respecting Thomas' take on this) be appropriate for us to say the primary actor 'uses' the use case. However, it is less likely that the use case 'uses' a secondary actor. Of course the relationship (regardless of which you choose) can be directed (whether or not this is actually shown on the diagram), which can handle the semantics.

Looked at another way, if you wanted a diagram that was uncluttered, you could ask EA not to display stereotypes. If you did, both types of connector would produce the same visual effect. This style is commonly employed, since use cases diagrams are meant to be easy to grasp at a high level. Of course the internal semantic meaning is subtly different - see Thomas' post for the primary nuance - but it is no coincidence that the two styles produce the same visual result.

Bottom line is that you can go either way. Reread what Thomas has to say and you'll have a good foundation for choosing what's best for you.

HTH, David
No, you can't have it!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Actor -> Use Case;  Use Association or 'Us
« Reply #5 on: December 10, 2006, 11:01:31 pm »
As I've mentioned before, the <<use>> stereotype is not included in the UML 2.1 Specification document.  Apparently, it use is no longer recommended.
Verbal Use Cases aren't worth the paper they are written upon.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Actor -> Use Case;  Use Association or
« Reply #6 on: December 11, 2006, 04:49:33 am »
Thanks Jim,

Your point is well taken, and covers the "nuance" referred to above. Given that, I'd strongly suggest that we employ (I'm avoiding the word "use" here) directed associations. This keeps the semantics of a model straight where there are secondary actors involved; if there are only primary actors, it allows later changes without redefining the earlier associations.

From an EA standpoint, this would require a couple of slight changes:
  • The option to show or hide uses arrowheads (recently migrated to the Links option page) would have to apply to associations between actors and use cases.
  • The Stereotype drop-down for such associations would need to be adjusted to offer "extend," "include," and "communicate" to match the drop-down now offered for «use» links.
These don't seem too onerous. Since EA is moving strongly into UML 2.1 - note for instance the Connector Notation display diagram options - such adjustments would be in keeping with the overall strategy.

What say Jim? Are we ready to move this into a formal request?

David
No, you can't have it!

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Actor -> Use Case;  Use Association or 'Us
« Reply #7 on: December 11, 2006, 08:56:34 am »
Interesting thoughts David.

I support the <<extend>> and <<include>> stereotypes.  There is another relation <<inherit>> which is shown with the generalize/specialize relation triangle arrow head.

However, I think that a directed association semantically means communication and the <<communication>> stereotype is a bit redundant.

The directed communications from an actor to the use case identifies the primary actor.  

Communication directed from the use case to an actor identifies a secondary stakeholder who receivs benefit from the use case in addition to the primary actor.  

Bi-directional communications identify secondary actors providing services outside of the use case domain but provide services necessary to the achievement of the primary actor's goal.

I treat undirected communications as synonyms for bi-directional communication.

What say you to this?
Verbal Use Cases aren't worth the paper they are written upon.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Actor -> Use Case;  Use Association or
« Reply #8 on: December 11, 2006, 01:07:51 pm »
Agreed throughout Jim. The main thing was that however they handle associations should match the way «use» connectors are handled. Regarding your points, ideally EA should respect what you have to say in both instances.
No, you can't have it!