Sparx Systems Forum
Enterprise Architect => Suggestions and Requests => Topic started by: thomaskilian on May 30, 2006, 09:44:08 am
-
When I create an association from UC to Actor EA creates a direction Actor->UC. Is this intended? I quite don't like that, since I draw from UC to Actor.
-
Hi Thomas,
Please uncheck 'Show Uses arrowheads' option
checkbox in Local Options dialog and try again.
--
t-kouno
-
Thomas,
Do you mean that you draw the directed association from UC to Acotr when needed, and otherwise use an undirected association? This would be in line with Ambler [rule 70, The Elements of UML 2.0 Style] and seems the correct way to go.
Or, are you saying that the directed association (as you describe it) is your default?
David
-
Takeshi, I can not find the option you mentioned. I've been through almost all options, but could not find it. Pls. give me the section of the options and some rough location pointer. Thanks.
David, I use either an association from UC to Actor (highlight UC and use Quick link UC->Actor) or vice versa, depending on what makes sense. However, EA insists to direct it always from Actor to UC.
-
Tools / Options / Objects. In build 790 Show Uses arrowheads is the third check box down of the right hand column.
Thanks Thomas, I was not sure what you were saying about use cases and arrowheads, which got me thinking I was missing the point of your question.
I believe the above option will turn all arrowheads off in these cases. You can then turn on the ones you want, in either direction. This would fit nicely with styles like Ambler.
David
-
When I create an association from UC to Actor EA creates a direction Actor->UC. Is this intended? I quite don't like that, since I draw from UC to Actor.
Thomas,
You are talking about "Directedness" aren't you?
If you draw from Source shape to Destination shape, you expect the Direction property to be set to Source->Destination; Yes?
There's a check box in Tools|Options|Objects: Association default source->target that may affect this, and solve your problem.
(Notice the inconsistency in the property descriptions ??? )
HTH,
Paolo
-
Thomas,
I think we need a little more info here. Its the "Quick Link" that's causing you the problem isn't it?
Using ctl-rightmouse, selecting use and dragging from UC to actor creates the desired "directedness". Using the quick link forces the Use link to go from Actor to UC no matter which way its drawn.
!! nb The same (BAD) thing happens if the plain Associate quick link is used.
edit:BRUCE bruce (before Paolo tries to read something into sig :-X )
-
Intermediate status: The aboe noted option does not help. It just sets the default for connectors to be either Unspecified or Source->Target.
What I mean actually with my question: drawing a directed association from Actor to UC indicates (to me) that the Actor triggers the UC (Student->Enroll Course) while one from UC to Actor will indicate that within the UC the denoted Actor is "being used/needed" (Enroll Course->Schedule). It is only the quick link which behaves wrong. It will always create a Source->Target association as Actor->UC. Using the toolbox works as designed.
-
Thomas,
We're in concert here. The questions now seem to be as follows. Will this be addressed with the quick linker? If not, how will (or should) the quick linker act instead of the current behavior?
The quick linker appears to be a pretty nifty tool. While Sparx may have envisioned it only as a shortcut for occasional use, it could go a long way to improving the usability of the product, particularly where models are large or often revisited.
IMO, improvements and extensions to this tool would be universally welcome.
David
-
The quick linker appears to be a pretty nifty tool. While Sparx may have envisioned it only as a shortcut for occasional use, it could go a long way to improving the usability of the product, particularly where models are large or often revisited.
IMO, improvements and extensions to this tool would be universally welcome.
David
Seconded!
All sorts of nifty things can be added to really make this the preferred mechanism for connecting shapes!
Paolo
-
Indeed, David. The Quick Linker is one of the (many!) outstanding features that make EA a great tool. However, since it is quite new, Sparx should think about how this tool could be used in the future. Currently it does what I need in say more than the usual 80%. What bugs me here is that I draw from A to B and in e few cases EA will make it B to A. This is not CCC! Probably they had some idea, why they implemented it this way, but actually I don't understand it. One of those features I would not need (see my other post about featuremania (http://www.sparxsystems.com.au/cgi-bin/yabb/YaBB.pl?board=general;action=display;num=1149024997;start=8#8)).
-
Thus, this remains an "outstanding" feature in more than one way.
There's been some very recent discussion here - I don't remember if you started the thread, but you were certainly part of it - about how the quick linker menus could be structured, and how they might handle different contexts. IMHO this (overall quick linker behavior) would be a good area to think through (somewhat more completely) and put on Sparx' plate as a coherant feature suite, rather than a set of disconnected enhancement requests.
What say?
-
I guess I joined another one (maybe Paolo :)) on that very thread. And of course I like to see this improve in the right direction.
(Regarding the influencers in that other current thread: go and ask Paolo about his experience. But maybe it's time for a revival with another bearer.)
-
He's mentioned that this could be the time. No discussion about experiences or the bearer though.
-
What I mean actually with my question: drawing a directed association from Actor to UC indicates (to me) that the Actor triggers the UC (Student->Enroll Course) while one from UC to Actor will indicate that within the UC the denoted Actor is "being used/needed" (Enroll Course->Schedule).
Thomas,
the semantics of an association from an actor to a use case is "is involved in". It is usually undirected or bidirectional, which is probably the same. If the actor is source and the use case is target or vice versa has no meaning at all (unless you define one for your own projects use). However, as you mentioned above, you have the opportunity to make the association directed from the actor to the use case, having the additional semantics that actor triggers the use cases behavior. But a use case can never trigger an actor (nor human neither system) because an actor is a role (unless you assume the user is sleeping in front of his monitor until the software wakes him up by beeping and flashing to get him to enter some data).
Stefan
-
Stefan,
as always, this depends. It's probably a bad translation when I use the word trigger. Likely "uses" would be a more appropriate word. That is: "enroll in course" will have student that "uses" the use case (sounds silly) and the schedule is being used. Of course it's almost every time a bidirectional thing but I like to show something which is only possible using the direction. And here EA does not do what I expect.
However, do you know of any "official" rule on how to connect UC and Actor?
-
The use case diagram itself is static. It just shows who (actor) has something to do with the desired behavior, that is described inside the use case. And it shows that the behavior uses additional behavior from other use cases (include, extend). The use case diagram is not a flow.
IMO to "trigger" a use case is OK. This association with the arrowhead pointing from an actor to a use case highlights the one and only one association, that starts the behavior that is expressed in the diagram. Any further flow is inside the use cases.
The OMG's UML2.0-Specification says nothing about directed associations from actor to use case or vv. I guess it was in RUP, where I read it or in a publication about RUP. I'll add it in this forum when I've found s.th. Until then I say, you can go ahead with using directed associations from actor to use case. But only one actor "is involved in AND triggers", all other actors are just "involved in" the diagrams purpose.
Stefan
-
Thanks Stefan,
I also remember lots of diagrams and (my stomach feeling) is that 75% use an undirected relation. The rest is being used in the trigger notation from Actor to UC. I'm absolutely not sure whether I've seen the UC->Actor relation somewhere else. (I'll keep it anyway :))
-
Take a look at Ambler's The Elements of UML 2.0 Style. He has a pretty good take on when and why to use directed associations.