Use Cases - bounswe/bounswe2016group8 GitHub Wiki
Use Case Diagram
Use Cases
###Use Case 1 ### Name: Sign up
Actor: Guest
Goal : Signing up to the system
Preconditions:
- Guest must have an email address.
- Guest must choose a unique username.
- Guest must write their real name.
- Guest must set a password.
- Password must consists of at least 9 characters.
- Password must be consist at least one number, one upper case letter.
- Password must be verified by typing it again.
- Guest must choose a country and a city.
- Guest must choose an age.
- Guest must enter a valid phone number.
Steps:
- Guest enters a username, password, email, country, city, phone number, age.
- Guest verifies the verification message on their phone or mailbox.
Post Conditions:
- Guest becomes a user.
- User can log in by email and password.
- User can log in by phone number and password.
###Use Case 2### Name: Log in
Actor: User
Goal: Logging into the system
Preconditions :
- User must enter a valid phone number or email.
- User must enter the matching password of the email or the phone number.
Steps
- User enters their phone number or email or username with the matching password.
- System checks whether the given information exists in the system.
Post Conditions :
- If the given information does not exist in the system, the system asks to log in again.
Use Case 3
Name: Search
Actor: User
Goal: Search topics by the given keyword
Preconditions:
- User must enter at least 3 characters.
- The given keyword must have at least 2 subsequent characters that are not white space.
Steps:
- System must search the topics by an algorithm which brings the recommended and related topics to the top.
Post Condition :
- System must show a message about the details of search.
- System must ask for a proper keyword when the given keyword is not a valid one.
Use Case 4
Name: Deactivating a Profile
Actor: User
Goal: Deactivating a profile
Preconditions
- User must enter the password.
- User must enter the same password again.
- User must enter the code that is sent by the system through phone or email.
Steps :
- The system will send a verification message through phone and email.
- The user's profile will be deactivated.
Post Condition :
- The profile gets deactivated.
- The profile will not be deactivated if the verification code is not entered, or if the passwords are not matching, or if the password is wrong.
Use Case 5
Name: Rate
Actor: Registered User(Student or Teacher)
Goal: Rating a topic teacher or a question.
Preconditions:
- User must be logged in.
- User must be browsing the page on which question/topic is posted.
Steps:
- User assigns an integer between 1 and 5(both inclusive) as a feedback for the contribution that the object of rating makes to the community.
Post Conditions:
- System will display the updated average rating of the object(topic, question or teacher).
- User will be forbidden to rate the same object once again unless he/she cancels his/her previous rating.
Use Case 6
Name: Create Topic
Actor: Teacher
Goal: Creating a topic
Preconditions:
- Teacher must be logged in.
Steps:
- Teacher types the topic name(a.k.a topic's title).
- Teacher writes an introduction for the topic.
- Teacher uploads the content of his/her choice(Choices are images, text or video).
- Teacher puts on some tags that he/she thinks are suitable for the topic he/she intends to create.
- Teacher may make a quiz about the topic.
Post Conditions:
- Registered users can display the topic.
- Registered users can comment on the topic.
- Registered users can report the topic.
- Registered users can search the story with topics title and the tags.
- The teacher who created the topic may add or erase content from the topic.
- Registered users can ask questions and post messages on the discussion page of the topic.
- Registered users may take on quizzes(if there are any) and see how well they scored.