I want to capture requirements for a new web project. This seems to be so basic, that I am a little embarrassed to be asking for advice, but, I want to get it right and show my colleagues in the office how good documentation can help a project. That being said, here is my situation.
I’m building a web site that is presented to three different user groups: Public User, Member User, and Administrative User. Here is a simple UC diagram. What are the thoughts of the forum members? I'm open to any critisism, as long as it is educational.
I think this is a common scenario and could be used as a “real world pattern” example on the wiki.
Use Cases...
[size=16]Browse Public Pages[/size]User performs UC: Navigate to HomePage.
User requests a public page.
System displays the page.
[size=16]Create an Account[/size]User makes a request to create a new account.
System displays Account Credentials setup page (username/password).
User supplies unique username and password.
System displays the profile page.
User fills in form fields.
[User submits form.]
System creates user account.
System displays the Logged In Homepage.
Alt:Username is not unique.At [User submits form.], System determines the username is not unique.
System creates suggestions.
System displays Account Credentials setup page with message indicating the user must enter a different username and offers suggestions.
[User submits form.]
Password does not match requirements.At [User submits form.], System determines the password does not meet the requirements.
System displays Account Credentials stup page with message indicating the problem with the password.
[User submits form.]
[size=16]Browse Member Pages[/size][User requests a member page.]
System determines the user is logged in.
System displays the member page.
Alt:User is not logged in.At [User requests a member page.], System determines the user is not logged in. (This can happen if the request is coming from a bookmark or by typing the url directly.)
System performs UC: Log In
[size=16]Browse Administrative Pages[/size][User requests an administrative page.]
System determines the user is logged in.
System determines the user is a member of the administrative group.
System displays the administrative page.
Alt:User is not logged in.At [User requests an administrative page.], System determines the user is not logged in.
System performs UC: Log In
User is not a member of the administrative group.System displays an error page with a message indicating the user is trying to access a protected page and they do not have permission.
[size=16]Log In[/size]User makes a request to log in.
System displays the login page.
[User fills in the form.]
[User submits the form.]
System verifies account information.
[System displays member page.]
Alt:Invalid CredentialsAt [User submits the form.], System determines there is no account matching the submitted information.
System displays the login page with a message indicating the username or password is incorrect.
Login request comes from a redirect.At [System displays member page.], system determines the login request came from an attempt to view a member page by a non logged in user.
System displays the originally requested member page.
[size=16]Navigate to HomePage[/size][User navigates to the HomePage.]
System determines the user is not logged in.
System displays the public page.
Alt:User is logged in.After [User navigates to the HomePage.], System determines User is logged in.
System determines User is not a member of the administrative group.
System displays Member HomePage.
User is logged in and member of administrative group.After [User navigates to the HomePage.], System determines User is logged in.
System determines User is a member of the administrative group.
System displays Administrative HomePage.