My colleagues and me are not really sure how to model use case, 3 of us each came to different solution, you can see each image bellow, they are simplified versions of what we are facing. We are just starting to work on serious projects and no one of us has much experience so we want to learn from start what is best practice in this situation.
We have web app that has some portion of site accessible to every user while other parts require login, now we are not really sure what is proper way of writing use case for that. My idea was to separate user
to guest user
and authenticated user
, this way our use case won't get messy with bunch of include relations
(we got much more use cases than presented here).
This is what I have done:
In my opinion is most understandable and scalable as it clearly separates two kind of users.
Another possible approach:
This seems good as well, more understandable than last one when we have more use cases
And last one:
This is closest to UML specification that we learnt on university, but it starts to look really messy once we add more use cases, lines start to cross each other and its hard to see what is what.
Our question is what is best way to write use case diagram in this situation?