Use Cases - bounswe/bounswe2017group7 GitHub Wiki

Admin

1. Login to Website

Actor(s): Admin
Goal: Logging in to the admin website
Preconditions: Having a valid username and password
Steps:

  • Admin opens the admin web page.
  • Admin types his/her username and password.
  • Admin enters the system by clicking the 'Login' button.

Postconditions: The user enters the main page.

2. Sign up to Website

Actor(s): Non-registered Admin
Goal: Registering to the system
Preconditions: Having an invitation code
Steps:

  • Non registered admin acquires an invitation code by contacting an admin.
  • S/he opens the admin webpage.
  • S/he clicks to sign up button to go to sign up page.
  • S/he types in a valid e-mail.
  • S/he types in a valid username.(ref.)
  • S/he types in a valid password and re-type the same password for confirmation.(ref.)
  • S/he types in the acquired invitation code.
  • S/he clicks the sign up button to be registered.

Postconditions: The non-registered admin becomes an admin.

3. Change Admin Settings

Actor(s): Admin
Goal: Changing the current settings.
Preconditions: Having a valid admin account.
Steps:

  • After logging in the admin website, admin clicks the admin profile button.
  • To change the password:
    • S/he types in the current password.
    • S/he types in a new valid password and re-types it.
    • S/he clicks the update button.
  • To fill the personal information:
    • S/he types in his/her name and surname.
    • S/he clicks the update button.
  • To upload a profile photo.
    • S/he clicks the upload image button.
    • S/he selects an image from the device's library.
    • S/he clicks the update button.

Postconditions: The admin has new profile settings.

4. Create New Template

Actor(s): Admin
Goal: Creating a new template.
Preconditions: Being logged-in to the system.
Steps:

  • Admin clicks add new template.
  • S/he types the template giving proper variables and actions.
  • S/he clicks save.

Postconditions: A new template is added to the database.

5. Edit Template

Actor(s): Admin
Goal: Editing an existing template.
Preconditions: Having an existing template and to be logged-in to the system.
Steps:

  • Admin clicks the edit(pen) button next to the existing template.
  • S/he changes the template by typing a new one and adding new variables and actions.
  • S/he clicks save.

Postconditions: The existing template is edited.

6. Delete Template

Actor(s): Admin
Goal: Deleting an existing template.
Preconditions: Having an existing template and to be logged-in to the system.
Steps:

  • Admin clicks the delete(cross) button next to an existing template.
  • S/he clicks save.

Postconditions: The existing template is deleted.

7. Add New Node

Actor(s): Admin
Goal: Adding a node to the conversation graph.
Preconditions: Having logged in to the system and viewing the conversation graph.
Steps:

  • Admin clicks to add button to add a new node.
  • Admin may add a new start node.
  • Admin may add a new child node.
  • Admin may start a whole new node or add a new brach to an existing node.

Postconditions: A new node is created by the system with the given specifications.

8. Edit Node

Actor(s): Admin
Goal: Editing a node in the conversation graph.
Preconditions: Having logged in to the system and viewing the conversation graph.
Steps:

  • Admin clicks to edit button on an existing node.
  • Admin may change the name of the node.
  • Admin may change templates of the node.
  • Admin may add or edit actions of the node.
  • Admin may add or delete variables of the node.
  • Admin may add or edit the reply of the node.
  • Admin may add multiple replies to a node with adding conditions to them.
  • Admin clicks save button to changes to be saved.

Postconditions: An existing node has been edited.

9. Delete Node

Actor(s): Admin
Goal: Deleting a node from the conversation graph.
Preconditions: Having logged in to the system and viewing the conversation graph.
Steps:

  • Admin clicks to delete button to delete a node.
  • Admin may delete a start node with deleting the branches of it.
  • Admin may delete a child node.

Postconditions: A node has been deleted from the conversation graph.

10. Search Node

Actor(s): Admin
Goal: Searching a node from the conversation graph.
Preconditions: Having logged in to the system and viewing the conversation graph.
Steps:

  • Admin types the node name in the search area in order to find the node.
  • Admin clicks enter.

Postconditions: Admin finds the node that s/he is looking for.

User

1. Get information about a book

Actor(s): User
Goal: Finding a book that is specified by users criteria.
Preconditions: User is logged in to the Telegram account.
Steps:

  • User starts conversation with the chatbot.
  • S/he specifies that search criteria is about getting information related to books.
  • S/he creates a query to chatbot in order to get suggestions.
  • S/he clicks send button.

Postconditions: Chatbot gives the information according to user's needs.

2. Give information about a book

Actor(s): User
Goal: Commenting and rating a book
Preconditions: User is logged in to the Telegram account, and starts a conversation with the chatbot.
Steps:

  • User specifies that search criteria is about giving information related to books.
  • S/he creates a query to chatbot in order to comment or rate.
  • S/he clicks send button.

Postconditions: The information is recorded to the database.

3. Get User Recommendations

Actor(s): User
Goal: Recommending another user by showing his/her ratings and commends to get a more detailed information about a book.
Preconditions: The book that user wants is recommended or rated by another user.
Steps:

  • S/he creates a query to chatbot to get recommendations about a specific book.
  • S/he clicks send.

Postconditions: The information of ratings and commends of the other user is shared with the current user.

4. Filter Results

Actor(s): User
Goal: Filtering the books with some criteria given by user while searching a book.
Preconditions: User is logged in to the Telegram account and starts a conversation with the chatbot.
Steps:

  • User creates a query in order to narrow down the result which has given by the chatbot.(ref.)
  • S/he clicks send.

Postconditions: System database is filtered with the information given by user.