UseCases - bounswe/bounswe2015group4 GitHub Wiki

Use Cases and The Use Case Diagram

<wiki:gadget url="http://creately.com/player/gadget/createlyplayer.xml" height="800" width="1000" border="0" up_did="i7ak1ehs1-dnXggsK7BCJ6oK0dpHtigSevoHw=" up_dlogo="true" up_dtitle="cmpe352_usecase" up_bgcolor="#eeeeee" />

Use Cases

Use Case #1

Name: Signing up

Actors: Guests

Purpose: To create account

Preconditions: User must be a member of CmpE Dept.

Steps:

  • User gives necessary informations to the system.
  • User reads and accepts terms of service.
  • User verifies that he or she is a member of CmpE Dept.
  • Confirmation mail is sent to user's email address.
  • User confirms his or her account via confirmation link.

Postconditions:

  • An account is created by the system for the user.
  • User can log in to the system.

Use Case #2

Name: Creating an interest group

Actors: Users

Purpose: To create an interest group for a desired topic.

Preconditions: Being a user of the system

Steps:

  • User logs in to the system.
  • User clicks new interest page button on the main page.
  • User specifies the interest page's settings, visibility, etc.
  • User enters relevant tags about the page's topic.

Postconditions:

  • A new interest page is created.
  • System links the interest page with other pages according to its tags.
  • Creator user becomes a page's moderator.

Use Case #3

Name: Sharing content in an interest group

Actors: Members of the interest group

Purpose: To share content relevant to that group

Preconditions: Must be a member of the interest group which the content is going to be shared.

Steps:

  • User logs in to the system.
  • User goes to interest page from the main page.
  • User clicks share content button.
  • User enters the link of the content, or upload the file.
  • User add relevant tags to content.
  • User may write additional comment to the content.

Postconditions:

  • The content is shared in the interest page.
  • System links the content with other contents according to its tags.

Use Case #4

Name: Commenting in a post

Actors: Users

Purpose: To comment in a post

Preconditions: User must be a member of the interest page where the post was shared.

Steps:

  • User logs into the system.
  • User goes to interest page where the post was shared.
  • User clicks on the text area related to that post, enters his or her comment in there.

Postconditions:

  • Comment appears to the other group members.
  • If there are tags within the comment, system links the post with other contents with that tag.

Use Case #5

Name: Setting privacy settings of an interest group.

Actors: Moderator of that interest group

Purpose: To set privacy setting of an interest group

Preconditions: User must be the moderator of that interest group.

Steps:

  • User logs into the system.
  • User goes to interest group.
  • User clicks on the settings button on that page.
  • User goes to settings page which was generated by the system for that interest group.
  • User sets privacy settings.
  • User clicks on save button of the page.
  • Main page of that interest group opens.

Postconditions:

  • Privacy status of that interest group is changed.
  • Little information about that change appears on the main page of that interest group.

Use Case #6

Name: Creating an event

Actors: User

Purpose: To create an event and announce that event to people.

Preconditions:

  • Case 1: If user wants to invite an interest group to the event, user must be a member of that interest group.
  • Case 2: Otherwise, being a user is sufficient.

Steps:

  • User logs into system.
  • User goes to home page.
  • User clicks on create an event button.
  • A structure window pops up.
  • User fills in the structure window (info about name of the event, where, when, invitees)
    • If it is Case 2, user chooses “all” for invitees option.
    • If it is Case 1, user chooses 1 or more interest groups from options.
  • User clicks on OK button.

Postconditions:

  • For Case 2:
    • Event appears on home page of system.
    • It is visible to all users of the system.
  • For Case 1:
    • Event appears on main page of all groups that user chose to inform.
    • It is visible to only users who are members of one of that interest groups.

Use Case #7

Name: Reporting a user

Actors: User

Purpose: To report a user for some reason and inform administrator or moderator of a group about that reason.

Preconditions: User must be able to reach the content in question which the user shared.

Steps:

  • User logs in.
  • User clicks on “report” button on the home page.
  • User fills in the structures with information about that report. ( Who is reported? Why? )
  • User must point out to some content which disturbs him or her. To do this, user must give the link of that content.
  • If operation lasts more than a described amount of time, user is asked to be log in again.
  • User sends the report.

Postconditions:

  • Report reaches to administrator only, if content is from an interest group, report reaches to moderator of that group only.
  • Reported person is informed about reporting and its results by administrator/moderator.

Use Case #8

Name: Searching a content with tags

Actors: User

Purpose: To reach a content related to a particular topic

Preconditions: User should be logged in.

Steps:

  • User logs into system.
  • User goes to home page.
  • User enter a tag to advanced search text area.

Postconditions:

  • Only content tagged with that tag appear in home page.
  • When user deletes tag from the search area, home page gets back to its current state.

Use Case #9

Name: Adding a friend

Actors: Users

Purpose: To add another user as friend

Preconditions: Being a user of the system

Steps:

  • User logs in to the system.
  • User clicks search for friends
  • User fills the search form
  • User selects an account from the given list
  • User verifies that he/she wants to add selected account as friend

Postconditions:

  • Friend request is sent to the selected account

Use Case #10

Name: Editing a content

Actors: Moderator of the interest group

Purpose: To edit a content that is shared previously in group

Preconditions: User must be the member of the interest group that shared the relevant content previously

Steps:

  • User logs in to the system.
  • User goes to interest page from the main page.
  • User clicks my posts
  • User choose the post
  • User clicks edit on chosen post
  • User makes changes on the content if s/he is the moderator of that group.
  • User add/remove relevant tags to content.
  • User may change/remove/add his/her comment to the content.

Postconditions:

  • The content that is shared in the interest page has been updated.
  • Notifications to the users that follows the post has been sent.

Use Case #11

Name: Kicking a user from an interest group

Actors: Moderator of that interest group

Purpose: To kick a misbehaving user

Preconditions: User must be the moderator of that interest group.

Steps:

  • User logs into the system.
  • User goes to interest group.
  • User clicks to the users of the interest group.
  • User selects misbehaving user from the list.
  • User selects remove user from list
  • User verifies he/she wants to remove selected user from the list
  • User specifies his/her reasons for removing user

Postconditions:

  • Selected user cannot see the data of the interest group
  • Reasons for kicking out is delivered to the user

Use Case #12

Name: Deleting an account

Actors: Users

Purpose: To erase the account of a user

Preconditions: Being a user of the system

Steps:

  • User logs in to the system.
  • User clicks account settings
  • User clicks remove account
  • User verifies he/she wants to delete his/her account.
  • User specifies his/her reasons to delete his/her account

Postconditions:

  • Account of the user is deleted
  • Personal data of the user is deleted.
  • Reasons for the removal of the account is stored for further use.

Use Case #13

Name: Logging in

Actors: Users

Purpose: To log in to the system

Preconditions: Being a guest user

Steps:

  • User clicks log in
  • User fills username
  • User fills password

Postconditions:

  • Username and password checked
  • User is either logged in or notified of the mismatch of the username and password

Use Case #14

Name: Removing a content

Actors: Moderator of the interest group

Purpose: To remove a content that is shared previously in group

Preconditions: User must be the member of the interest group that shared the relevant content previously

Steps:

  • User logs in to the system.
  • User goes to interest page from the main page.
  • User clicks my posts
  • User choose the post
  • User clicks remove on the chosen post

Postconditions:

  • The data relevant to the content has been removed.

Use Case #15

Name: Removing a friend

Actors: Users

Purpose: To remove another user from the friends list

Preconditions: User must be registered and logged in

Steps:

  • User logs into the system.
  • User navigates to his/her friends list.
  • User selects the friend he/she wants to remove.
  • User clicks the “Remove Friend” button.

Postconditions:

  • Neither user can see the other on their friends list.

Use Case #16

Name: User resetting his/her password

Actors: Users

Purpose: To reset the forgotten password

Preconditions: Being a guest user

Steps:

  • User clicks reset password
  • User fills username
  • User fills mail address

Postconditions:

  • Username and mail checked
  • User is either sent a password reset mail or notified of the mismatch of the username and mail address.

Use Case #17

Name: User changing his/her password

Actors: Users

Purpose: To change the password

Preconditions: Being a user

Steps:

  • User logs in
  • User selects account settings
  • User clicks change password
  • User fills old password
  • User fills new password
  • User verifies the new password

Postconditions:

  • Old password is checked and user is notified if it is not correct.
  • New password is checked with its verification, user is notified if they mismatch.
  • Password is updated.

Use Case #18

Name: Reporting an interest group

Actors: Users

Purpose: To inform the system admin about an interest group sharing content that other users might find offensive

Preconditions: User must be registered and logged in, user must have access to the offending group’s content

Steps:

  • User logs in
  • User navigates to the offending group’s page.
  • User clicks the “Report Group” button.
  • User enters his/her reason for reporting the group

Postconditions:

  • The group’s moderators are notified
  • The system admin is notified

Use Case #19

Name: Leaving an interest group

Actors: Users

Purpose: To leave an interest group

Preconditions: User must be registered and logged in, user must be a member of the group he/she wants to leave

Steps:

  • User logs in
  • User navigates to the intended group’s page.
  • User clicks the “Leave Group” button.
  • (Optional) User enters his/her reason for leaving the group

Postconditions:

  • The group’s moderators are notified about the situtation
  • The member no longer has access to the group’s content