Search code examples
c#xamarin.formsumlmobile-application

Mobile app UML Logging in


Scenario: To use my application you need to login first (get an access token), then you are able to use my application. If you're not logged in. You will be shut out.

So, when drawing my UML Use Case:

  • do i link my actor to the "provide login" use case? or
  • do i provide an includes from the other use cases to login?

A bit confused as I have been taught that its not the goal of the system to login, but what if you cant use it if there is no login credentials passed. So just need help on being clear in that understanding.

Thanks


Solution

  • A Use Case has to provide the user business value. “Provide Login” is not really a Use Case, since it doesn’t do anything useful on its own (the user wouldn’t login and then do nothing once logged in, that wouldn’t make sense) so it is more simply just a function of the system. The user being logged in should instead be modelled as a constraint (e.g. pre-condition) for your other Use Case (constraint being end user identity is authentic etc).

    That said, though it’s not correct, some people decompose their Use Cases into functional blocks, and model a “Login” Use Case and then (usually) “include” that into their main Use Case (option #2 in your list). This is done usually so that the Use Case specifies precisely the expectations of the Login process (steps), however this is often more of a problem for the system architects/designers and programmers than a help (there are many ways that an end-user could be authenticated and the way it’s achieved may not be common across all end-users even within the context of just one system).