Skip to content
GodDrinkTeJAVA edited this page Oct 4, 2019 · 54 revisions

Project Requirements and Specification

Project Requirements and Specification
(Borrowed and Adapted from UCB CS169)

Tutoring Machine
Requirements and Specification Document
09/28/2019, version 1.0.3


1. Project abstract

Tutoring Machine is automatic system for matching tutoring, and it is expected to automizes great portion of tasks for both operator and user side. It consists of three main functions. First, Tutoring Machine provides appropriate matches between tutors and tutees. Based on information provided by both sides, Tutoring Machine finds the best choice. The condition includes time schedule, geographical distance, and tutor’s academic background. Second, Tutoring Machine also provides adequate guideline of tutoring fee for both sides. If their distance is longer, their price would be more expensive to compensate their effort. Usually, the bargain is important part and it can be weary task as financial conflicts are involved. Third, Tutoring Machine reduces great amount of effort from service operator. As the service requires personal documents such as certificate, someone needs to identify and verify them. Here, tutors just upload their scanned documents, and the service will help organize tutors’ file. Computer vision comes into the task, and reads the texts and its composition. If it cannot find the name of university or its composition is not properly ordered, it considers the document counterfeit and rejects registration as a tutor Otherwise, it will grant the permission to the user.


2. Customer

The possible customer can be divided into two types.
Tutees are people, or groups of people who wish to be taught by proper tutor. They usually become frustrated by flooding list of tutors, which might lead to a panic decision.
Tutors are defined as personal, non-professional people, who are willing to teach in part-time. They have their own schedule such as study. Therefore they wish their tutoring would not interrupt their prior task.


3. Competitive Landscape

Even today, lots of the service features have primitive, early web-service era form. Usually the service such as SeoulIn is operated in old-fashioned board system, where tutees post the recruit for their personal tutor. Identifying and verifying certificates needs to be handled by service staffs. Those manual works can be prone to leak and be handled only when staffs have spare time to take.
Tutoring Machine is a game changer and it can reform the former age-old matching system.
First, the system itself can check the conditions given by tutors and find the most appropriate tutee. In existing systems, tutors are listed in a simple latest first order. It is way harder to find the tutor in their location, teaching what they want to learn, and even in the right spot of schedule. In Tutoring Machine, it is planned to suggest the best option for tutees.
Second, for system operators, current system forces them to do manual work, distracting them from concentrating real task. In almost every similar webpage, it requires tutors to hand in their documents, such as certificate. However, it should be sent by mail or tutors should bring it to the operator. Not only is this task cumbersome for tutors, but this is also a bothering routine for system operators. Tutoring Machine just requires tutors to attach their scanned image of documents, and it would be handled by computer vision to read and verify.


4. User Stories

Feature: Sign up as a tutor

Actors: Tutor
Precondition: No Precondition
Trigger: User(the tutor) clicks "sign up" button

Scenario:

  1. Sign up page displays list of blanks to fill in which are personal informations(name,age, level of education,schedule), ID and certificate.
  2. User fills the blanks, upload the certificate and mark some schedules on timetable
  3. After the test of certificate, User clicks "sign up" button

Exceptions:

  1. User does not input proper information(ID duplication, text on age ... etc)
  2. User uploaded wrong certificate file

Acceptance Test: The user filled out all the list and certificate. When the user clicks "sign up" button, then the user should see "completed"

Feature: Sign up as a tutee

Actors: Tutee or parents of tutee
Precondition: No Precondition
Trigger: User(the tutee or parents) clicks "sign up" button

Scenario:

  1. Sign up page displays list of blanks to fill in which are personal informations(name,age, level of education,schedule), ID and certificate.
  2. User fills the blanks, upload the certificate and mark some schedules on timetable
  3. After the test of certificate, User clicks "sign up" button

Exceptions:

  1. User does not input proper information(ID duplication, text on age ... etc)

Acceptance Test:

The user filled out all the list. When the user clicks "sign up" button, then the user should see "completed"

Feature: Sign in

Actors: Tutee or parents of tutee or tutor.
Precondition: User has signed up.
Trigger: User(the tutee or the tutor) clicks "sign in" button

Scenario:

  1. log-in page displays blanks for ID and password.
  2. User enters ID and password and clicks "sign in" button

Exceptions:

  1. User enters wrong password
  2. User enters wrong ID

Acceptance Test:

The user entered the ID and password. When the user clicks "sign in" button, then the user should see tutor's page or customer's page.

// Feature: Find tutors with various conditions As a tutee I want to find tutors considering subject, academical background, price, location, etc. So that I can contact to the best tutor

Feature: Contact tutor As a tutee I want to contact tutor using web’s own messaging system and Kakaotalk So that I can talk to tutor

Feature: Pay tuition fee As a tutee I want to pay tuition fee on web So that the I can manage the pay records

Feature: Upload weekly schedule As a tutor or tutee I want to upload my weekly schedule So that I can be properly matched with tutor or tutee considering time and location Feature: Update profile As a tutor I want to update my profile including subjects, academical background, location, contact info, etc. So that I can be recommended to proper tutee

Feature: Authenticate documents As a service provider I want to authenticate tutors’ certificates automatically So that I can manage tutors’ documents real-time without employee to handle

5. interface sketch

images/01edit.png images/02edit.png

Clone this wiki locally