Would you consider Log In and Log Out as stand alone use cases?
No.
Use cases are solution independent. Login and logout are part of the solution.
Also consider that a use case should do something of value for the actor. Logging into a system is arguably not of any value to the actor. Remember they are doing a business activity and logging in does not add value to that business activity.
Kimbo
I'd have expected this to get more attention.
The relevant model of a good use case is that the actor walks up to the system, executes a whole use case, and goes away smiling.
Login isn't a use case, but "having access to the system functions and permissions needed to successfully enact this use case" is a precondition of all use cases. It should, on the other hand, have its own storyboard and relevant diagrams. Alternatively, it could be represented as an extend to the "use the application" super-case. (If you don't use abstraction in your use cases, ignore that.)
Logout is a use case, not being a precondition for any other use case and, in principle, satisfying the model. Example: Actor returns from the bathroom, realizes it's quitting time, logs off and goes home smiling. The use case goal is either "Secure the system from an unattended workstation," or "Prevent an ugly confrontation with the system administrator." Maybe both.
Hi Marc,
I don't agree that logout is a use case because it is a system action and not business related. Uses cases are solution independent. How does logging out contribute to a business action / requirement. Your example goals are not valid business goals. Remember that a use case must do something of value to the actor initiating it. What business value is there in loggin out?
Regarding login, your statement ""having access to the system functions and permissions needed to successfully enact this use case" is a precondition of all use cases" again is solution based. A use case is independent of any "system" and it is wrong to assume that a function will be achieved using an IT solution. The systems that I model have a mixture of IT and manual use cases. I make no precondition on any of my use cases.
I too thought I'd get more argument on my comments.
Hi everybody
This is a very interesting question. I think the answer is not so easy and the decision wether "to be or not to be" is not that simple.
If I were in the phase where business processes are described, I wouldn't consider login as a use-case, as my focus is on a business or higher level. I as approach a lower level of detailiation of requirements, I start to think of all conditions that are involved during a login: check for password expiration (maybe request the user to renew the password), check for the account expiration and ask for account renwal, maybe ask for a "forgotten password", maybe send an email to the admin in case of a 3-times-failed attempts and so on. These questions lead to a certain behaviour that can be specified by means of a use case.
And to come back to the value that the login use case delivers to the actor, I consider that it's the same as entering the door of my house when coming from work. So login is the same as "I go home". When I say "I go home", i think of being actualy inside, without considering that I must do anything else. Once I see myself inside, I might start doing smth or not :). Similarily, you might just login to see the homepage (maybe read some statistics) or just maybe to start the counter of being active into the application (I've seen this to one of my clients who logged in the application in the morning so that the boss sees them online).
In the end, I think the answer lies in the level of the requirements you are on and the approach for you analysis activities.
brought to you by enabling practitioners & organizations to achieve their goals using: