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.