I had a discussion with my academic teacher which tried to convince me that current diagram describes business requirement: "Actor2 can make use case 'Open transactions list' only after he makes 'Sign in' ". In my opinion and what I understand from UML the diagram describes a requirement "Actor2 can make 'Sign in' use case and 'Open transactions list' use case". There's no dependency of order how those use cases could be executed. Can someone confirm or refute my words, please?
Asked
Active
Viewed 90 times
-1
-
2And what this construction would mean for you? – Red Beard Oct 31 '17 at 08:01
-
I think it should be
relation from "Open transaction list" to "Sign in". Generalization from Actor1 to Actor2 only tells us that Actor2 can use "Sign In" – iX0ness Oct 31 '17 at 08:32 -
Ok. I mean is it true if teacher tells that her solution on image guarantees that Actor2 will be always signed in system and can use "Open transactions list" or no ? – iX0ness Oct 31 '17 at 08:46
-
You are completely right! I think that your critical mind question deserves an upvote. I suggest nevertheless that you edit your question and explain why you think it's a mistake, to show the other readers that you have thought about the question before posting it here ;-) – Christophe Oct 31 '17 at 22:26
-
I'd use better names and not worry about subclassing the actors: Actor1 == InternetUser and Actor2 == AuthenticatedUser. However, mathematically, the teacher is correct since Actor2 is a subclass (sub set) of Actor1. An InternetUser *becomes* a specialized AuthenticatedUser when she signs in. – Fuhrmanator Nov 03 '17 at 03:23
1 Answers
0
Well, your teacher is wrong in two ways. First, Sign in
is no use case at all as it has no added value. Second, there is no statement about the order of use cases. The only thing you could say is that Actor1
can only do Sign in
while Actor2
can do both use cases.
In order to make
"Actor2 can make use case "Open transactions list" only after he makes "Sign in"
true, you need a model like this:

Cody Gray - on strike
- 239,200
- 50
- 490
- 574

qwerty_so
- 35,448
- 8
- 62
- 86
-
-
@granier An include means that the included UC is performed in any case. You could constrain that include with `{only Actor2}` or so. But UC never tell anything about the order. This can only be expressed with constraints. – qwerty_so Oct 31 '17 at 10:56
-
@Kilian, that's sure that include does not specified the order, but it models that it has to be done which is part of the problem. In fact, I do not know a system for which sign in is an include, for me, it is always an extend : you sign one time, and for others actions if you did not sign you have to sign in. any way this post has to be destroy. – granier Oct 31 '17 at 12:32
-
The include alone will not help in the fact "only for ActorX". That can only be solved by a constraint. And once again: `Sign in` is no use case and therefore it will not appear in a bubble. Btw.: the mods seem to be from the "never curse front". American attitude... – qwerty_so Oct 31 '17 at 14:14