Book a Demo

Author Topic: Wrong use of extends  (Read 34270 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8617
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Wrong use of extends
« Reply #30 on: November 09, 2015, 06:51:07 pm »
Quote
You said it: it's not a use case, it's a state (or constraint). Full stop.

q.
Not so fast Batman!

A UseCase is: "a specification of behaviour" Each UseCase’s subject represents a system under consideration to which the UseCase applies.  [UML Superstructure v2.5 - paraphrased]

So, if I'm a User and my state is [Not Logged In]; I, generally, can't do very much that is substantive. I need to trigger the system to change my state from [Not Logged In] to [Logged In] so that I can do substantive things with the system.  I want to specify the behaviour that the system and users need to exhibit during that transition process.  Is THAT not a UseCase under the specification above?

If not, why not?

If it is, what is the form of naming the UseCase so it is clear that it is a "specification of behaviour"?
Perhaps: "Login User"?

"Log In" is not a state, "(Not) Logged In" are.  As always, it's ALL in the words.

Thoughts?
Paolo
« Last Edit: November 09, 2015, 06:54:19 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: Wrong use of extends
« Reply #31 on: November 09, 2015, 09:53:06 pm »
How about going down a few sentences:
Quote
A UseCase may apply to any number of subjects. When a UseCase applies to a subject, it specifies a set of behaviors performed by that subject, which yields an observable result that is of value for Actors or other stakeholders of the subject.

So you are getting value from logging in, I guess. Where can I apply for your job?

q.
« Last Edit: November 09, 2015, 09:54:43 pm by qwerty »

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Wrong use of extends
« Reply #32 on: November 10, 2015, 08:10:21 am »
Surely authorized and\or authenticated are the relevant states  :)

AndyJ

  • EA User
  • **
  • Posts: 337
  • Karma: +5/-3
  • It's only a model
    • View Profile
Re: Wrong use of extends
« Reply #33 on: November 10, 2015, 08:10:33 am »
LOL.

Half right.

It's a pre-condition on all the Use Cases that only exist for a logged in Actor.

Where do you describe all of the user interactions that are required to successfully achieve a log in.

Allow for in and out of radio range (a third party network), on and off a local network, the different authentication methods supported (biometric, physical tokens,  etc.).

Are you going to put that into every Use Case? Of course not, those things have to have taken place before that use case starts.

Where then? The supplementary spec?

You're jumping through a lot of hoops to avoid the obvious.

Even if you're talking about a simple system that lets strangers log in online, where are you recording the different user experiences according to the login method. (Create an account, Face-book login, Google login, Paypal login etc.)

Are these user interactions a secret or something?

 :D
Sun Tzu: "If you sit by the river long enough, eventually the body of MS Visio floats past."

AndyJ

  • EA User
  • **
  • Posts: 337
  • Karma: +5/-3
  • It's only a model
    • View Profile
Re: Wrong use of extends
« Reply #34 on: November 10, 2015, 08:16:25 am »
PPS.

The system that I'm using as my reference model for this discussion, allows roughly one-third of the functionality to a user that is not logged in. (Mapping/Vehicle location functionality).

Being logged in allows the actor to communicate with back-at-base systems via the application (send and receive tasks, messages, and enquiries on back-end systems).

Sun Tzu: "If you sit by the river long enough, eventually the body of MS Visio floats past."

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Wrong use of extends
« Reply #35 on: November 10, 2015, 08:56:03 am »
Quote
PPS.

The system that I'm using as my reference model for this discussion, allows roughly one-third of the functionality to a user that is not logged in. (Mapping/Vehicle location functionality).

Being logged in allows the actor to communicate with back-at-base systems via the application (send and receive tasks, messages, and enquiries on back-end systems).


Yeah not liking your answer.  Just because your users haven't interacted with a dialog box of some sort doesn't mean that there isn't already an identity factor at play.  A system may know who a user is without a user doing anything.  Generally authenticating allows a user to access non-public (classified something) information and to write.

What you're calling "logging in" is just a user supplying 1..2 identity factors in person.

AndyJ

  • EA User
  • **
  • Posts: 337
  • Karma: +5/-3
  • It's only a model
    • View Profile
Re: Wrong use of extends
« Reply #36 on: November 10, 2015, 09:02:21 am »
So where do you write-up all the user interactions then?

If not in a Use Case?
Sun Tzu: "If you sit by the river long enough, eventually the body of MS Visio floats past."

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8090
  • Karma: +118/-20
    • View Profile
Re: Wrong use of extends
« Reply #37 on: November 10, 2015, 09:04:29 am »
Quote
So you are getting value from logging in, I guess. Where can I apply for your job?
As I said, it's not just the actor that needs to get value from a use case. It's any stakeholder.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: Wrong use of extends
« Reply #38 on: November 10, 2015, 09:18:02 am »
@Andy: none of the stakeholder will care how the authentication is performed. The best you can get: it must be secure. Or at the outer range: it must be 2 way authentication. It's never "you must enter user/password" or the like. So those steps will become simple implementation details. You can deduct them from requirements. And you will never ever tell those constraints become something that delivers added value.

I can't recall who and in which thread said: you don't need an activity diagram for trivial things. This is more than trivial. And. It. Is. Not. Any. Use. Case.

@Simon: the stakeholder just wants to see his requirements to be fulfilled. See above...

q.
« Last Edit: November 10, 2015, 09:20:24 am by qwerty »

AndyJ

  • EA User
  • **
  • Posts: 337
  • Karma: +5/-3
  • It's only a model
    • View Profile
Re: Wrong use of extends
« Reply #39 on: November 10, 2015, 09:33:06 am »
--Snip--
The System Presents the Actor with a range of authentication methods.
The Actor chooses a method.
--Snip--


Alt Flow: Fingerprint scanning
Alt Flow: SecureID token
Alt Flow: Outside of radio communications range
Alt Flow: Multiple persons in the patrol
Exception Flow: Authorisation fails

Once again,

Where do you define all the Actor/System interactions if not in a Use Case? Hmm???

Sun Tzu: "If you sit by the river long enough, eventually the body of MS Visio floats past."

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8090
  • Karma: +118/-20
    • View Profile
Re: Wrong use of extends
« Reply #40 on: November 10, 2015, 09:43:25 am »
Quote
@Simon: the stakeholder just wants to see his requirements to be fulfilled. See above...
UML 2.5 Specification
Quote
A UseCase specifies a set of actions performed by its subjects, which yields an observable result that is of value for one or more Actors or other stakeholders of each subject.
(Emphasis mine)

The result is observable. The value requirement for it being a valid use case is literally met automatically if the customer is asking for it as a use case. I can't see how your position is remotely defensible without ignoring the UML specification.
« Last Edit: November 10, 2015, 09:46:04 am by simonm »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8617
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Wrong use of extends
« Reply #41 on: November 10, 2015, 10:54:41 am »
Wow, you have been busy while I've been asleep!  ;D

I think the issue comes down to one of perspective.  For some scenarios, acquiring or demonstrating authentication is the UseCase. For other scenarios it is a constraint - the user must be authenticated.

If the system (proxy for a stakeholder) requires the user to be authenticated to instantiate certain behaviours and the user can be in an unauthenticated state then there has to be some observable behaviour to authenticate the user. That behaviour specification surely is a UseCase.

Paolo
« Last Edit: November 10, 2015, 10:55:05 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Glassboy

  • EA Practitioner
  • ***
  • Posts: 1367
  • Karma: +112/-75
    • View Profile
Re: Wrong use of extends
« Reply #42 on: November 10, 2015, 11:58:55 am »
This could turn into this forum's version of The Infinity Monkey Cage's when is a strawberry dead saga.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: Wrong use of extends
« Reply #43 on: November 10, 2015, 11:16:19 pm »
@AndiJ: You do not need to write any use case for authentication. It's as simple as connecting a requirement. What steps would one need for an authentication?
- Click the user name field
- type user name
- click the password field
- type the password
- click ok
Is it that what you expect to come with a "use case" so one can implement the system?

What you CAN do is to define an authentication subsystem (if that is needed). Inside that you may well define use cases. Since the added value here is to get authentication (and nothing else) I have no issue with using a use case. But on a business perspective: Login is not a use case.

Placing a Login on the level of business use cases is im my opinion the same as putting nutrition (only a healthy worker is a good worker) or lacing shoes (prevent accidents) on the business level.

q.
« Last Edit: November 10, 2015, 11:38:55 pm by qwerty »

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: Wrong use of extends
« Reply #44 on: November 10, 2015, 11:19:46 pm »
Quote
This could turn into this forum's version of The Infinity Monkey Cage's when is a strawberry dead saga.
I guess you mean this: http://www.bbc.co.uk/programmes/b02ykcwhwhich is Flash (so I can't watch). Any non-Flash so non-UKer know what you're talking about?

q.

P.S. Oh there's a download MP3 below :-) Sounds like Doug Adams is back.
« Last Edit: November 10, 2015, 11:26:21 pm by qwerty »