Use Cases - bounswe/bounswe2017group3 GitHub Wiki

Use Case Diagram

Use Cases

Use Case 1

Actor: Guest

Goal: Registration to the system

Precondition: none

Steps:

1. Guest enters the home page.

2. Guest clicks to the "Sign Up" button.

3. Guest fills out the registration form.

4. Guest receives confirmation email.

5. Guest confirms their email address.

Postconditions:

New account is created and registered to the system.

Use Case 2

Actor: User

Goal: To log in to the system.

Preconditions: Being a user.

Steps:

1. User enters the home page.

2. User clicks to the login button.

3. User enters username or email address and password.

Postconditions:

If username and password are correct, user logs in and is redirected to their home page. Otherwise, user is redirected back to login page and receives a warning message "Username or password is not valid.".

Use Case 3

Actor: User

Goal: To create an event.

Precondition: User shall log in.

Steps:

1. User clicks on "Create a new event" button.

2. User is directed to "Create Event" page.

3. User fills out event information.

4. User sends invitations.

Postconditions:

The system creates this new event. If user doesn't choose a moderator, the system appoints creator of the event as the moderator.

If the privacy options of the event are set to public, then it can be seen by guests. Otherwise, it can be seen only by users.

Use Case 4

Actor: User

Goal: To create a group

Precondition: User shall log in.

Steps:

1. User clicks on "Create a new group" button.

2. User is directed to "Create Group" page.

3. User fills out group information.

4. User sends invitations.

Postconditions:

The system creates this new group. If user doesn't choose a moderator, system appoints creator of the group as the moderator.

If the privacy options of the event is set to public, then it can be seen by guests. Otherwise, it can be seen only by users.

Use Case 5

Actor: User or Guest

Goal: To search an item

Precondition: None

Steps:

1. Actor enters the home page.

2. Actor types the keyword which he/she wants to look for in the search box.

3. Actor clicks on the "Advanced Search" button to open the advanced search panel if he/she wants to use advanced search.

4. Actor can filter results by selecting options which are searching by group, tag, user, event, time interval and keyword.

5. Guests can only see the results whose privacy options are set to public.

6. Users can see the results of the groups and events which he or she is a member of, as well.

Postcondition:

If user makes an advanced search, the system shows the filtered results. The keyword is added to the user's search history. If guest makes a search, the system shows the results.

Use Case 6

Actor: User

Goal: To create content

Precondition: Being a member of a group or an event

Steps:

1. User enters the group/event page.

2. User writes the text into the textbox and adds video/images if desires.

3. To add video/images, user either uploads the content from his/her disc or adds the link of the content to the textbox.

4. Upon preparation of the content, user shares it by clicking the share button.

Postcondition:

The post will be shared on the wall of the group/event.

Use Case 7

Actor: User

Goal: Annotation of the content

Precondition: Owner of a text/image content

Steps:

1. User designates the parts of the content which are going to be annotated. The annotated content must be image or text, videos cannot be annotated.

2. User writes the related annotation to designates parts.

3. Upon completion of the annotated post, annotated part will appear in a frame, and when mouse over the annotation will appear on the page.

Postcondition:

The post will have an annotation, and that will enhance the user experience.

Use Case 8

Actor: User/Moderator

Goal: To change the privacy settings.

Precondition: User shall log in.

Steps:

1. To change the privacy of user's any personal information, user clicks on "Eye" button on his/her profile.

2. User is directed to privacy settings window and can change one of the his/her personal information to privacy/public.

3. To change privacy of event or group, moderator clicks on "Change Privacy" button on moderator page of group/event.

4. Moderator is directed to privacy settings window and can change it to public/private.

Postconditions:

If the privacy options of the any user information is set to public, then it can be seen by guests. Otherwise, it can be seen only by users.

If the privacy options of the group/event is set to public, then it can be seen by guests. Otherwise, it can be seen only by members.

Use Case 9

Actor: User

Goal: To add tag to content or group/event.

Precondition: User shall log in.

Steps:

1. To add a tag to group/event on the creating group/event page, user clicks on "Add tags" button.

2. User is directed to "Add Tags" window and can choose tags from list then clicks "Add" button. To finish the adding tags process user clicks "Done" button.

3. User types the name of tag on empty block and clicks "+" button on the "Share Content" window.

Postconditions:

New group/event is created with tags.

Content is shared with tags.

Use Case 10

Actor: User

Goal: To send invitations to a group/event

Precondition: User should be a member/attendee of the related group/event.

Steps:

1. To send invitation, user should click on the "Invite" button, on the group/event page.

2. User is directed to "Invite" window and can choose other users who permit to take invitation.

3. User click "Send Invitation" button to send invitation to the chosen users.

Postconditions:

New users will be invited to the event/group and they will be notified about the situation.

Use Case 11

Actor: User

Goal: To remove an entity (the content/event/group/tags/annotations)

Precondition: User should be the creator of the related entity.

Steps:

1. To remove the related entity, user should click "Close 'Entity'" button located on the setting part of the entity.

2. An email verification will be send, and if user verifies it, the entity will be closed but not deleted.

Postconditions:

The related entity will be closed, noone can interact with the closed entity. The functionality of the entity will be terminated.

Use Case 12

Actor: Moderator

Goal: To ban a user from group.

Precondition: Actor should be a moderator with the privilege to ban a user. Also, the user should violate the rules of the group.

Steps:

1. To ban a user, moderator clicks the "Ban 'username'" button.

2. Moderator is directed to "Ban" window and should include an attachment/post to explain the reason for the ban.

3. Moderator clicks the "Ban 'username'" button.

Postconditions:

The related user will be banned from the group.