Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

Software Requirements Specification

for

<HIRE TUTORS WEBSITES>

Version <1.0>

Prepared by

Group: <group name>  

       Tôn Thị Ngọc Châu Team leader


B2105663
B2111940 Trần Thị Hồng Nhan Vice of team leader

B2112006 Trần Thị Thanh Member


Thanh
B2111942 Ung Khánh Như Member

Instructor <Phan Phương Lan>


:
Course: Introduction to Software Engineering
Table of Contents

1. Introduction 1
1.1 Purpose 1
1.2 Product Scope 1
1.3 Definitions, Acronyms and Abbreviations 1
1.4 References 1
2. Overall Description 1
2.1 Product Perspective 1
2.2 Product Functions 2
2.3 User Classes and Characteristics 2
2.4 Operating Environment 2
3. Requirements Specification 3
3.1 External Interface Requirements 3
3.1.1 User Interfaces 3
3.1.2 Hardware Interfaces 3
3.1.3 Software Interfaces 3
3.1.4 Communications Interfaces 3
3.2 Functional Requirement 3
3.2.1 Use Case 1 3
3.2.2 Use Case 2 (and so on) 4
3.3 Other Nonfunctional Requirements 4
3.3.1 Performance 4
3.3.2 Reliability 4
3.3.3 Safety and Security 4
3.3.4 Adaptability and Portability
    4.   Application Architecture.
4.1   Application Architecture
4.2   Description
      5.   Data Design
5.1   Data Description. 
5.1.1 Conceptual Data Model 
5.1.2 Logical Data Model
5.1.3 Physical Data Model 
5.2   Data Dictionary 
    6.   Detailed Design 
 6.1   Function XX (XX: specific name) 
6.2   Function YY (YY: specific name) 
   7. Test Cases
       7.1  Test 1 <name of test>
7.1.1 Drawing the flow graph
7.1.2 Determining a basis set of independent paths 
7.1.3 Preparing test cases 
    7.2  Test 2 <name of test>
7.2.1 Drawing the flow graph 
7.2.2 Determining a basis set of independent paths 
7.2.3 Preparing test cases. 
   7.3  Test 3 <name of test>. 
7.3.1 Drawing the flow graph
7.3.2 Determining a basis set of independent paths
7.3.3 Preparing test cases
   7.4  Test 2 <name of test> 
7.4.1 Drawing the flow graph 
7.4.2 Determining a basis set of independent paths 
7.4.3 Preparing test cases
 

Revision History

Name Dat Reason For Changes Version


e
Hire Tutors Website

Group Plan

1. Group Organization

# Student Full Name Role


Code

1 B2105663 Tôn Thị Ngọc Châu


Team Leader

2 B2111940 Trần Thị Hồng Nhan


Vice of Team Leader

3 B2112006 Trần Thị Thanh Thanh Member

4 B2111942 Ung Khánh Như Member

2. Plan
Wee Task Member (Name) Deadline Level of Note
k completion

Software Requirement Specification

4 3.1.2, 3.2.4 Tôn Thị Ngọc      


Châu

2.3, 3.1.1, 3.2.3, 3.3 Trần Thị Hồng      


Nhan

1,1, 1.2, 1.3, 2.2, 2.4, Trần Thị Thanh      


3.1.3, 3.2.2 Thanh

2.1, 3.1.4, 3.2.1, 4.2 Ung Khánh Như       

Software Design

7 6.4 Tôn Thị Ngọc      


Châu

 
6.3 Trần Thị Hồng      
  Nhan 

6.2 Trần Thị Thanh      


Thanh

6.1 Ung Khánh Như       

Unit Testing

12 7.4 Tôn Thị Ngọc      


Châu
 

7.3 Trần Thị Hồng      


Nhan 

7.2 Trần Thị Thanh      


Thanh

7.1 Ung Khánh Như 

Preparation (for presentation and report)

15 Part 2 and 5 Tôn Thị Ngọc      


Châu

Part 4 Trần Thị Hồng


Nhan 

Part 1 Trần Thị Thanh


Thanh

Part 3 Ung Khánh Như 

3. Rules on the group

-        Contact channel:

o   Email: chaub2105663@student.ctu.edu.vn

      nhanb2111940@student.ctu.edu.vn

            thanhb2105663@student.ctu.edu.vn

            nhub2111942@student.ctu.edu.vn

-        Group meeting:
o Time: Friday, 30 January, 2023

o   Venue: College of information and communication technology

o Time: Wednesday, 15 February, 2023

o   Venue: College of information and communication technology

o Time: Saturday, 15 April, 2023

o   Venue: College of information and communication technology

o   Time: Thursday, 20 April, 2023

o   Venue: College of information and communication technology

-        …

Tham khảo - Bảng phân công công việc

Thành viên Chức vụ Nhiệm vụ Mức độ


hoàn
thành

Tôn Thị Ngọc Team leader - Assignment of work  


Châu
- Payment interface design
B2105663
- Do the hardware interface document

- Do the functional requirement, detail


design, test case specific is “pay tuition”
document

Trần Thị Vice of Team - Do the other non-functional requirement in  


Hồng Nhan Leader the specification document

B2111940 - Searching tutors interface

- Do the functional requirement, detail


design, test case specific is “searching
tutors” 

-Summary of Application Architecture and


data design

-Do the User Classes and Characteristics


document

- Do user interface document

Trần Thị Member - Do the purpose, product scope, definitions, 5


Thanh Thanh acronyms and abbreviation.

B2111942 - Do product functions in specific document.

- Do operating environment in specific


document.

- Do software interfaces in specific


document.

- Design Log in interface.

- Do the functional requirement, detail


design, test case specific of “Log in” .

- Summarize the document to do


PowerPoint for presentation.

Ung Khánh Member - Do product perspective.  


Như
- Do communication interfaces.
B2111006
- Do the functional requirement, detail
design, test case specific of “Sign in” .

- Do description of application architecture.

- Design Sign in interface.

1. Introduction

1. Purpose 
The product being specified in this document is a Hire Tutors Website. The document will list
all the needed software for the website.The purpose of the Hire Tutors Web is to provide users
a comprehensive platform to search for tutors and work.
Nowadays, the need for extracurricular studies is growing more and more in demand  as a
way for students to enhance and augment their academic training, so that parents want to find
qualified and reliable in-home tutoring services for their child. And the requirement for tutors
to acquire tutoring jobs is becoming highly common among many young pupils. For students
who have graduated and looking for chances, tutoring is regarded as a pretty good and stable
job for them.This is an intermediary website that creates opportunities for both tutors and
parents who are in search of work and those who are looking for tutoring services for their
child. 

2. Product Scope  
The SRC document includes the software requirements for the creation of all features and
subsystems of the hiring tutors websites. As a result, it is not restricted to a particular area of
the system or subsystem. The goal of this SRS is to give the software development team a
precise specification of the requirements so that the finished product will satisfy all
requirements and expectations.
It is a section of websites pertaining to education that assist tutors in searching for work and
assist parents in finding tutors conveniently and quickly. Especially, the website provides
users with a platform to post detailed information about the expertise of tutors, qualifications
and parents can get in touch with them to find an appropriate tutors. 
Users can access the web easily to sign in and login to their account, update their information
as well as hire tutors that fits their children's level and budget. Hire Tutors Website provides
users with optimized websites for searching, making it easier for users to use.

3. Definitions, Acronyms and Abbreviations

No. Term / Acronyms Definition / Explanation

1  Hire Tutors Website The name of the website .

2 User  People who use this software .

3 Tutors People who use this software to seek a job.

4 Parents People who use this software to search a


suitable tutors for their child.

4. References
[1] IEEE Computer Society, IEEE Recommended Practice for Software Requirements
Specifications, IEEE Std 830-1998, 1998.
[2] Karl E. Wiegers, Software Requirements Specification Template, 1999. 
[3] Bộ Thông tin và Truyền thông, Hướng dẫn về các yêu cầu phi chức năng chung cho các hệ
thống thông tin cung cấp dịch vụ công trực tuyến, 2013.
[4]T4 tutorials: Example of external interface requirements in software engineering
https://t4tutorials.com/external-interface-requirements-srs/

2. Overall Description

The following SRS contains the detailed product perspective from different stakeholders. It
provides the detailed product functions of Hire Tutors Website with user characteristics
permitted constraints, assumptions and dependencies and requirements subsets.

1. Product Perspective
This product is a new, self-contained product. It is a software based application implementing
a client-server model. This website provides a simple mechanism for users to find suitable
tutors or to find a job as a tutor.
2. Product Functions
Hire Tutors Website offers the following functions for user:
 Sign in to the Hire Tutors Web: Allow users to create an account, log in to course and
download materials or register as a tutor.
 Log in to the Hire Tutors Web: Users can use an existing account to get access to the
website. They can log into the system by username and password, Facebook or Email
account.
 Search for tutors: Allow parents to find a suitable tutor in demand and tuition.
 Insert, delete and update the information: Users can add, remove and change their
information upload on the website.
 Pay tuition: Support online tuition payments through common payment processors as
Momo, PayPal and digital bank cards,...
 Show list of tutors: Display a list of tutors sorted by review, feedback, or popularity.
 Show overview of all existing subjects: Provides a general description of each subject
and an organization diagram of the subject’s tutors.
 Evaluate the tutors: Parents evaluate the satisfaction of teaching quality as well as give
their feedback for tutors.
 Show outstanding tutors, prices, offers: The homepage displays all the active tutors
with tuition fees by week, month, year or can be negotiated by each session.
 Insert, delete and update materials and schedule: Allow tutors to post, edit their
teaching materials and schedule.
 Contact your own tutor: Parents can contact tutors via chat or call directly just one
click to the chat box.
 Integrated Google Maps: Indicate the specific location of the teaching address
according to the system location. Users who click on it will be directed to the exact
location on the Google Maps interface.

3. User Classes and Characteristics


The user groups of this website include two main target groups of users:
-Parents
 The parents perform functions such as logging in, registering a personal
account. In Addition, they can add, edit, delete personal information, search
for  tutors and pay tuition.
-Tutors
 Tutors can update information such as individual certifications, teaching
levels, login and account registration similar to parents.

4. Operating Environment
This software can be used in laptop, desktop computers and mobile devices. The website can
be downloaded from the CH Play or App Store. It is compatible with various operating
systems, including:
 Windows.
 iOS .
 Android.
This website is supported by a group of browsers:
 Cốc Cốc.
 Google.
 Chrome.
 Safari.
 Microsoft Edge.

3. Requirements Specification

1. External Interface Requirements


1. User Interfaces
-The interfaces are suitable for all mobile devices and tablets, delivering a good user
experience on all modern technological devices. Both tutors and parents will enjoy the
ideal surfing experience.
-General convention
-Background: White (#ffffff) + Blue (#afc1d0)
-Title:
 Font: Athiti SemiBold
 Size: 54
 Bold
 Color: Black
-Other word:
 Font: Athiti SemiBold
 Size: 30
 Color: Black

2. Hardware Interfaces
-  Server-side: The web application will be hosted on a web server.
- Client-side: Since the website must run over the internet, all the hardware required to
connect to the internet will be hardware interfaces for the system. For e.g. Modem, WAN –
LAN, Ethernet Cross-Cable.
3. Software Interfaces
The following software components would probably be needed for this website.
 Mobile devices operating system: The website must be created to work with a certain
mobile operating system, such as Android, iOS.
 Computer devices: The website must be created to work with a certain computer
operating system, such as Window, iOS.
 Mobile web development framework: It is possible to construct this website utilizing
frameworks like React Native, Corona, Ionic,...
 Computer web development framework: It is possible to construct this website
utilizing frameworks such as Angular, React, Laravel, Vue, Spring,...
 Backend server and database: The software links to databases for storage, queries, and
the necessary information. The backend server may store users databases and use
database management systems (DBMS) such as Oracle, MySQL, MS SQL Server,.. 
 API protocols: This website will interface with the backend server and other external
services using protocols like HTTP or HTTPS.
 The software connects to the banking system and global Internet network.
 The software interacts with the operating system to carry out functions and tasks.
 The software communicates with digital bank to identify available payment, validate
the payments and process payment.
 The software communicates with Google Maps to indicate the location of the teaching
address.

4. Communications Interfaces
1. Requirement associated with communications functions
 Web browser: Website must work good on any version of Google, Chrome,
Safari, Microsoft Edge
 Communication standards and Network server communications protocols:
HTTPS, HTTP, FTP
 Electronic forms: The website uses HTML Forms to get data and feedback
from tutors and parents
 Email: The website must use domain-oriented email address 
2. Message formatting: Image, video-based, text, file
3. Communication security or encryption issues: The website using end - to - end
encryption to ensure that only sender and receiver can access to the message
4. Data transfer rate: This website allows user to send file with a maximum file size of
1GB
5. Synchronization mechanisms: users can login by using email or facebook account;
users can save all files to Google Drive

2. Functional Requirement
 Sign in to the Hire Tutors Web
User class: Parents and Tutors
 Log in to the Hire Tutors Web
User class: Parents and Tutors
 Searching for tutors
User class: Parents
 Pay tuition
User class: Parents
1. Sign in

Use case: Sign in ID: U001


Main actor: User Priority: essential
Brief description: A user wants to sign in. He/she wants to input their information for
registration

Trigger: User
Type: external
Relationship:
+Association: User - Choose Parents or Tutor
+Include: Send verification code - Create new account -  Save - Input user’s information -
Choose Parents or Tutor
+Extend: 
+Generalization: 
Normal flow: 
1. Include Choose “Sign in”
2. The User input information 
3. The system validates the entered user’s information.
1. The system describes which data are inappropriate and requests the User
with suggestion of changing suitable data
2. The system prompts the User to re-enter the information
3. The User re-enters the information and the system re-validates it
4.  If valid information is entered, go to step 6; else go to Step 5.1 or cancel the
change customer information request. If the User entered invalid data or
chose to cancel the change request, there is no change to the Customer’s
record
4.  User chooses Save
5.  User insert username and password to create new account
6.  User choose whether to send the verification code via message or email
7.  User inserts the code to verify
8.  The system validates the entered code
1. If the verification code is invalid, system will request User to re-enter or
choose to send a new code or choose to receive code through another
method
2. The User re-enter the verification code and the system revalidates it
3. If valid code is entered go to step 8; else go to step 7.1 or cancel the save
User’s information request.
9.   The User’s information is stored in the User’s record. The system notify the User
that the registration process is succeeded
Exceptional flows:  
At any time, the User may choose to cancel the registration process. At which point, the
processing is discontinued, the User’s record unchanged, and the User is notified that the
request has been canceled.

2. Log in

Use Case: Log in ID: U002

Main actor: Tutors, Parents Priority: Essential

Brief description: Valid users signed in to the system. This use case allows users to logs
into the Hire Tutor Website.

Trigger: Tutors, Parents


Type: external
Relationship:
+Association: Tutors, Parents- Log in.
+Include: Sign in.
+Extend: Log in by username, Log in by Facebook, Log in by Google.
+Generalization: None.

Normal flow:
1. The use case starts when the user  “Sign in” to the system.
2. The “Log in” action is initiated when the user chooses to “Log in” tab on the
navigation bar.
3. System displays a form that allow users to fill in.
4. Users can select the way to log in.
5. The system prompts for log in by username, Facebook or Google.
6. The system validates the entered name and password and logs the user into the
system.
7. The system displays the user’s main page and the use case ends.
 

Alternate/Exceptional flows:  If in the basic flow the system cannot find the name or the
password is invalid, the system describes the reasons why the user failed
authentication.The  system prompt the user to re-enter the valid information, request for
password reset or choose to cancel the operation, at which point the use case ends.

Use Case: Log in by Facebook ID: U003

Main actor: Tutors, Parents Priority: Essential

Brief description: Valid users signed in to the system. Users want to log into the Hire
Tutors Website by Facebook account.

Trigger: Tutors, Parents.


Type: external

Relationship:
+Association: Tutors, Parents- Log in by Facebook
+Include: None
+Extend: Forgot Password.
+Generalization: None

Normal flow:
1. The user selects log in by Facebook account.
2. System prompts user to Facebook
3. System displays a Facebook log in form that allow user to fill in
4. User input Email or phone number and password
5. Facebook validates the input and logs the user into the user’s main page of Hire
Tutors Website.
6. The system displays the user’s main page and the use case ends.

Alternate/Exceptional flows:  In Facebook , if email, phone number or the password is


invalid, the system describes the reasons why the user failed authentication.The  system
prompt the user to re-enter the valid information, request for password reset or choose to
cancel the operation, at which point the use case ends.

Use Case: Log in by username ID: U004

Main actor: Tutors, Parents Priority: Essential

Brief description: Valid users signed in to the system. Users want to log into the Hire
Tutors Website by username.

Trigger: Tutors, Parents.


Type: external

Relationship:
+Association: Tutors- Login by username.
+Include: None
+Extend: Forgot Password.
+Generalization: None

Normal flow:
1. The user selects log in by username.
2. System prompts user to username.
3. System displays a form that allow user to fill in
4. User input username and password
5. The system validates the entered name and password and logs the user into the
system.
6. The system displays the user’s main page and the use case ends.

Alternate/Exceptional flows:  If in the basic flow the system cannot find the username or
the password is invalid, the system describes the reasons why the user failed
authentication.The  system prompt the user to re-enter the valid information, request for
password reset or choose to cancel the operation, at which point the use case ends.

Use Case: Log in by Email ID: U005

Main actor: Tutors, Parents Priority: Essential

Brief description: Valid users signed in to the system. Users want to log into the Hire
Tutors Website by Email account.

Trigger: Tutors, Parents.


Type: external

Relationship:
+Association: Tutors, Parents- Log in by Google account.
+Include: None
+Extend: Forgot Password.
+Generalization: None

Normal flow:
1. The user selects log in by Email account.
2. System prompts user to Email.
3. System displays a Email log in form that allow user to fill in.
4. User input Email or phone number and password.
5. Facebook validates the input and logs the user into the user’s main page of Hire
Tutors Website.
6. The system displays the user’s main page and the use case ends.

Alternate/Exceptional flows:  In Google , if email, phone number or the password is


invalid, the system describes the reasons why the user failed authentication.The  system
prompt the user to re-enter the valid information, request for password reset or choose to
cancel the operation, at which point the use case ends.

Use Case: Forgot Password ID: U006

Main actor: Tutors, Parents Priority: Essential

Brief description: Valid users signed in to the system. Users have lost their password to
log in and request a new one.

Trigger: Tutors, Parents.


Type: external

Relationship:
+Association: Tutors, Parents- Forgot Password
+Include: Create new password.
+Extend: None.
+Generalization: None

Normal flow:
1. The use case starts when the user clicks “Forgot Password” on the form.
2. System displays a form that requests user input email or phone number.
3. User input Email or phone number.
4. Systems validate the input and send a code to the user’s email or phone number.
5. Users input the code that they just received to the verification form.
6. System verifies that the credentials that are supplied through email or phone
number are valid.
7. System move to create a new password form.

Alternate/Exceptional flows:  If email or phone number is invalid, the system describes


the reasons why the user failed authentication.The  system prompts the user to re-enter the
valid information, request for password reset or choose to cancel the operation, at which
point the use case ends.

Use Case: Create new password ID: U007

Main actor: Tutors, Parents Priority: Essential


Brief description: Valid users signed in to the system. Users have lost password and create
a new one of the existing accounts.

Trigger: Tutors, Parents.


Type: external

Relationship:
+Association: Tutors, Parents- Create new password
+Include: None
+Extend: None
+Generalization: None

Normal flow:
1. The use case starts when the system confirms a code is valid .
2. System displays a form that requests user input a new password twice.
3. User enters  a new password and requests that the system saves the entered
values.
4. System updates the password of an existing account with the new value that is
supplied by the user.
5. The use case ends.

Alternate/Exceptional flows: At any time, the user may choose to cancel the password
creation.  At which point, the processing is discontinued, the user password remains
unchanged, and the user is notified that the account management request has been canceled.

3. Use case 3
Use Case: Searching for tutors ID: U008

Main actor: Customer Priority: Essential

Brief description: Valid customer logged on to the system. They want to find tutor
information based on three conditions.

Trigger: Customer
Type: <external/internal>

Relationship:
+Association: Pảent– Searching for tutors
+Include: Log in, Sign in
+Extend: Choose grade, choose subject, choose province
+Generalization: None
Normal flow:
1. Include “Login” and “Sign in”.
2. The system displays the tuition payment interface
Sub 1: If the parents choose not full 3 extend part, the system will filter the
remaining qualified tutor to output on the screen
Sub 2: If the name of tutor input is valid the system will display name of
tutors available on the screen
Sub 3: If information is valid. Then show the name of the tutor on the
screen. The name of the tutor is sorted by user rating.
         3. The tutor is shown on the screen
                    Sub 1: The customer can see the tutor information by pressing the
view                                    
                  button displayed on the screen if the tutor is still have available grade, the
                  customers can register for this grade. Otherwise, it will not be able to
register.
                

Alternate/Exceptional flows: 
1. If three conditions is empty the report as it not found and request parent to choose
again
2. If the name of tutor is invalid, the report is request parent to enter name of tutor
again 

4. Pay tuition

Use case: Pay tuition ID: U009


Main actor: Parents Priority: essential
Brief description: A valid manager logged in to the system. She/he wants to choose some
subjects for payment.

Trigger: Parents
Type: external
Relationship:
+Association: Parents - Choose Subject to pay
+Include: Log in
+Extend: Pay by bank, pay by cash
+Generalization: None
Normal flow:
1. Include “Log in”.
2. The system displays the tuition payment interface.
3. Parents choose the subject to pay and click the pay button.
4. Parents select payment methods:
Sub 1: If parents choose to pay by cash then the system shows a guideline of
how to pay by cash.   
Sub 2:  If parents choose to pay by the bank then the system shows a form to
input the information of the bank account. After that, the system shows the
code of the transaction.
         5. Modify the status from unpaid to fully paid if the transaction is
successful.                
Exceptional flows:  
1. If the parent bank account information is incorrect, the system will print an error
message and ask the parent to re-enter the information until it is correct.
2. If the parent has not paid the full tuition fee, the system will print a reminder that
the tuition fee is not enough and ask the parent to transfer it back. Modify the status
from unpaid to not enough.

3. Nonfunctional Requirements
1. Performance
 Timing requirements: The time allowed for the system to response to the information
that has received to the processing request from the user is 3 seconds and 5 seconds at the
latest.; the time allow to fully display the static portal is 3 seconds The time allowed to send
informational search results is 10 (s); 
 Maximum capacity: The ability to guarantee the simultaneous access of 200 service
users; ensure the ability to execute 10 transactions/second; ensure that at least 90% of
transactions are successful/per minute.
3.3.2    Reliability
 Availability: The availability of system should be at 99% year-on-year, excluding the
planned maintenance time; the unavailable time of system must be less than 1
hour/month excluding the system maintenance time; 
 Resilience: in any event (data, physical server, application server), the time allowed
for the system to recover to the normal operation is 4(h);
3.3.3  Safety and Security

 Security: the level to which a system ensures the data access is allowed only for the
correspondingly authorized objects.
     Parents have the right to login, register as well as pay tuition fees, search for
tutor’s name and also update personal information such as address, phone number
When registering an account as a tutor, they will be granted the right to update
and change personal information as well as uploading some personal certificates for increased
reliability
 Integrity: This web does not allow the username and password to be transmitted over
the network environment without being encrypted.

3.3.4  Adaptability and Portability

 Portability: The system supports hardware platforms of some popular vendors such as
IOS, HP, Dell ...; The system supports hardware platforms of some popular vendors
such as Mac, HP, Dell ...; Supports displacement from a platform running on Linux to
a platform running on Windows Server easily and do not incur additional costs or
insignificant funds.
 Adaptability: The system supports multi-channel access with different display screen
sizes, such as supporting access through personal computers, smartphones Minh,
mobile device,....Database tables allow field expansion attributes up to 50 fields.

4.    Requirements Specification


4.1    Application Architecture

4.2    Description
From the illustration, the client side includes users: parents and tutors. They can use
desktops, laptops or  smartphones to access the website through browsers such as
Chrome, Microsoft Edge. The main components of the application architecture is the
server side. The server side retrieves data from the client side through the Internet
network and stores these data in the database. 
The third side includes Digital Bank and Google map are integrated in the database. The
Digital Bank account will be used for payment and the Google Map will be used for
indicate the location of teaching address.  
5.   Data design
5.1   Data Description
5.1.1   Conceptual Data Model

5.1.2   Logical Data Model

5.1.3   Physical Data Model


5.2   Data dictionary

-PARENT entity
PID: Parent’s ID
PNAME: Parent’s name
PPHONE: Parent’s phone number
PADDRESS: Parent’s address

-HIRE entity
PID: Parent’s ID
TID: Tutor ID
SID: Student ID
DSTART, DEND: Day start, day end
TIME AMOUNT: Time for whole course
S-TUTOR entity
TID: Tutor’s ID
TNAME: Tutor’s name
TDoB: Tutor’s day of birth
TADDRESS:  Tutor’s address
TCERTIFICATION: Tutor’s certificate
TGENDER: Tutor’s gender

Since the PROVINCE entity is connected to the TUTOR, the TID will be displayed at the top
of the entity and the next, we have 63 province of VietNam

-SUBJECT entity
SID: Subjectt’s ID
SNAME: Subject’s name
SGRADE: Subject’s grade

-TEACH entity
TEACH entity is an intermediary entity between SUBJECT and TUTORS so we have
SID and TID at the top 
Number_Acccount: Tutors’s number account

6.   Detailed Design

6.1   Sign in

 Purpose: Allow user to create account to register as a tutor or to find tutors


 Interface:

  No. Controller Default value Note


type

 1 Form    

2 Textbox Full name Enter full name 

3 Button Gender Click to choose gender 

4 Button Role Click to choose Tutor or Parents

5 Box Day Enter day of birth

6 Box Month Enter month of birth

7 Box Year Enter year of birth

8 Hyperlink Next Click to move to next section

9 Button Cancel Click to cancel 

Data to be used: list the tables in a database or the data structures needed by  this
function.  
No.  Table name / Method
Data  
structure Add  Modify  Delete  Query

1  Full name x

2 Gender x

3 Role x

4 Day of birth x

5 Month of birth x

6 Year of birth x

- Process: describe the algorithm for each event via diagrams (flowchart) < 1.1 >

  No. Controller Default value Note


type

 1 Form    

2 Textbox Email Enter email

3 Textbox Phone Enter phone number 

4 Hyperlink Next Click to move to next section

5 Button Cancel Click to cancel 


No.  Table name / Method
Data  
structure Add  Modify  Delete  Query

1  Email x

2 Phone x

  No. Controller Default value Note


type

 1 Form    

2 Button City Choose your city

3 Button District Choose your district

4 Button Ward Choose your ward

5 Textbox Address Enter your full address

5 Hyperlink Next Click to move to next section

6 Button Cancel Click to cancel 

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  City x
No.  Table name / Method
Data  
structure Add  Modify  Delete  Query

2 District x

3 Ward x

4 Address x

  Controller type Default value Note


No.

 1 Form    

2 Textbox Certification Enter your certifications

3 Button Certification file Upload your certification files

5 Hyperlink Save Click to save the information

6 Button Cancel Click to cancel 

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Certification x

2 Certification’s file x
  Controller type Default value Note
No.

 1 Form    

2 Textbox Username Enter username

3 Textbox Password Enter password

5 Hyperlink Create Click to create account

6 Button Cancel Click to cancel 

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Username x

2 Password x
  No. Controller Default value Note
type

 1 Form    

2 Hyperlink SMS Click to receive verification code via sms


Message message

3 Hyperlink Email Click to receive verification code via sms email

4 Button Cancel Click to cancel 

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  SMS Message x

2 Email x
  No. Controller Default value Note
type

 1 Form    

2 Textbox Enter first digit of the code

3 Textbox Enter second digit of the code

4 Textbox Enter third digit of the code

5 Textbox Enter fourth digit of the code

6 Hyperlink Resend code Receive another code

7 Button Verify Click to check the code

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Verification code x

2 Verify x
  Controller type Default value Note
No.

 1 Form    

2 Hyperlink Go to home page Click to move to home page

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Go to home page x

6.2   Log in

 Purpose: Allow user to log into the Hire Tutors Website


 Interface:
  No. Controller Default value Note
type

 1 Form    

2 Textbox Username Enter username to login.

3 Textbox Password Enter password to login.

4 Checkbox Remember If you want to remember username and password,


me tick to the box.

5 Hyperlink Forgot If you forgot your password, click to the text


password “Click here”.

6 Button   Click to login the website.

7 Hyperlink Email Click to link to the Email account.

8 Hyperlink Facebook Click to link to Facebook account.

- Data to be used: list the tables in a database or the data structures needed by  this
function.  

No.  Table name / Data  Method


structure Add  Modify  Delete  Query

1  Login x

2  Username x

3  Password x

- Process: describe the algorithm for each event via diagrams (flowchart) < 1.1 >

No Controller Default value Note


. type

1 Form    

2 Textbox Email or phone Enter email or phone number to receive


number code.

3 Butron Send Click to send email or phone number.

4 Button Cancel  Refresh textbook to the default values.

- Data to be used: list the tables in a database or the data structures needed by  this
function.  
No.  Table name / Method
Data  
structure Add  Modify  Delete  Query

1  Email x

2 Phone number x

3 Password x

- Process: describe the algorithm for each event via diagrams (flowchart) < 1.1 >

No. Controller Default value Note


type

1 Form    

2 Textbox Create new password Enter new password

3 Textbox Confirm new password Reenter new password

4 Button Create new password Click to createpassword

5 Button Cancel Click to cancel

- Data to be used: list the tables in a database or the data structures needed by  this
function.  
No.  Table name / Method
Data  
structure Add  Modify  Delete  Query

1  Password x

2 Create new password x

No Controller type Default value Note


.

1 Form    

2 Textbox Code Enter first digit of the code

3 Textbox Code Enter second digit of the code

4 Textbox Code Enter third digit of the code

5 Textbox Code Enter fourth digit of the code

6 Hyperlink Code Resend code

7 Button Verify Click to verify code


- Data to be used: list the tables in a database or the data structures needed by  this
function.  

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Code x

2 Verify x

- Process: describe the algorithm for each event via diagrams (flowchart) < 1.1 >

  Controller type Default value Note


No.

 1 Form    

2 Hyperlink Go to home page Click to move to home page

- Data to be used: list the tables in a database or the data structures needed by  this
function.  

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Home page x

- Process: describe the algorithm for each event via diagrams (flowchart) 
6.3   Searching tutor

 Purpose: Search for tutor information on specific requirements


 Interface:

No. Controller Default value Note


type
1 Form    

2 Button Province Including 63 provinces and cities selected will


show up tutors in that area

3 Button Subject Click to choose subject 

4 Button Grade Click to choose grade

Start with tutor information based on the


5 Button Search conditions selected above

Click to search tutor name base on the name that


6 Button Search you entered 

7 Text box Searching follow Enter name’s tutor and it does not necessarily
name accompany the above 3 conditions

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Province x

2 Subject
x

3 Grade x

4 Searching follow name x


Flow chart

6.4   Pay tuition

 Purpose: pay tuition.


 Interface:

No Controller Default Note


. type value

1 Form    
2 Button Pay Click to open the tuition payment interface.

3 Button Not It means that the tuition fee paid for the subject is not
enough.

Click to open the interface and continue to pay the


remaining tuition.

4 Button More View specific information of each subject such as the


number of hours taught, course evaluation, tuition payment
date, payment method, tuition payment deadline, ...

No Controller Default value Note


. type

1 Form    

2 Button Choose Click to choose payment method: Bank or Cash.


payment
method

3 Button Choose a bank Pay tuition by bank, choose a bank name.


4 Textbox Enter your Enter your account number to pay.
account
number…

5 Account name After checking the existence of the bank account


number provided by the parent, if the account exists,
the system will print the account owner's name and
transaction code.

6 Transaction After checking the existence of the bank account


code number provided by the parent, if the account exists,
the system will print the account owner's name and
transaction code.

7 Button Verify Click to verify with an OTP code.

8 Button Cancel Click to cancel.

No Controller Default value Note


. type

1 Form    
2 Textbox Enter OTP code Paste the copied OTP or enter from the
here… keyboard. 

3 Button Pay Click to pay.

No. Controller type Default value Note

1 Form    

2 Button Transaction detail Click to view transaction details.

3 Button Completed Click to complete the transaction.


No Controller Default value Note
. type

1 Form    

2 Button Choose payment Click to choose payment method: Bank or


method Cash.

3 Button Pay Click to pay tuition in cash.

4 Button Cancel Click to cancel.

- Data to be used: list the tables in a database or the data structures needed by  this
function.  

No.  Table name / Method


Data  
structure Add  Modify  Delete  Query

1  Subjects x

2 Tutors x

3 Pay x
- Process: describe the algorithm for each event via diagrams (flowchart) < 1.1 >

7.   Test Case

7.1   Test 1 Sign in       

Test ID: T001

Test Check if the input information are valid or not. Check the verification
description code to create account

Created by: Ung Khánh Như


Date of 20/4/2023
creation:

Date of review: 22/4/2023

Test priority: High

Pre-requisite: None

Post-requisite: None

7.1.1   Drawing the flowchart

Flow chart <1.0>


Flow graph <1.0>
7.1.2       Determining a basis set of independent paths
1 - 2 - 3 - 4 (Re-enter information)
1 - 2 - 3 - 5 (Cancel)
1 - 2 - 3 - 6 - 7 - 8 - 9 - 10 - 11 (Re-enter verification code)
1 - 2 - 3 - 6 - 7 - 8 - 9 - 10 - 12(Request to send another code)
1 - 2 - 6 - 7 - 8 - 9 - 10 - 13 - 14 (Announce create account completed)

7.1.3    Preparing test cases

# Test Input Data Expect Actual Stat


Case ed Output us
Output

Nam Email Phone Addr Verificat x x


e number ess ion code

T001_T nhu nhu@gmail.c 021234 Invalid Invalid No


C01 om . Please
Please re-
re- enter
enter

T001_T Proces Proces No


C02 s has s has
been been
cancel cancel
ed ed

T001_T
C03 1234 Wrong Wrong No
code. code.
Please Please
check check
again again

T001_T
C04 Anothe Anothe Yes
r code r code
has has
been been
sent sent

T001_T
C04 Ung nhu.ct@gmail 0912345 57 3456 Create Create Yes
Kha .com 678 CMT accoun accoun
nh 8, t t
Nhu P.An succee succee
Thoi, ded ded
Q.Bi
nh
Thuy
,
TPC
T

7.2  Test 2 Log in


Test ID: T002

Test Check an existing account (username and password) to logs into the
description Hire Tutors Website.

Created by: Trần Thị Thanh Thanh

Date of 9/4/2023
creation:

Date of review: 22/4/2023

Test priority: High

Pre-requisite: None
Post-requisite: None

7.2.1   Drawing the flowchart

Flow chart < 1.1 >

Flow graph < 1.1 >

7.2.2       Determining a basis set of independent paths


 1 – 2 – 3 – 4 (Reenter username)
 1 – 2 – 3 – 5 – 6 – 7 – 8 – 9 – 10 (Create new password)
 1 – 2 – 3 – 5 – 6 – 7 – 8 – 11 – 12 (Display account)
 1 – 2 – 3 – 5 – 6 – 7 – 11 – 12 (Display account)

7.2.3    Preparing test cases

# Test Case Input Data Expected Actual Output Status


Output
Username Passwor
d

T002_TC01 Linda123 5555 Announcement Announcement1 Invalid


1

T002_TC02 Tranmy567 1111 Announcement Announcement2 Invalid


2

T002_TC03 Announcement Announcement3 Valid


Cominhhieu 3333 3
7

T002_TC04 Announcement Announcement4 Valid


Co3vangngoc 9999 4

7.3   Test 3 Searching tutors        


Test ID: T003

Test description Searching tutors

Created by: Tran Thi Hong Nhan

Date of creation: 8/4/3023

Date of review: 22/4/2023

Test priority: High

Pre-requisite: None

Post-requisite: None

7.3.1   Drawing the flowchart


Flow chart

     Flow graph

7.3.2       Determining a basis set of independent paths

 1-2-4-6-10-11 (Yes-check tutor’ name)


 1-2-4-5-1-2-4-6-10-11 (No-check tutor’ name)
 1-3-7-9-10-11 (Yes-check(x1,x2,x3)
 1–3-7-8-1-3-7-9-10-11 (No-check(x1,x2,x3)

7.3.3    Preparing test cases


# Test Case Input Data Expected Actual Statu
Output Output s
Provinc Subjec Grad Name’
e t e tutor

T003_TC0 Soc Toan Grad Name’s Name’s Yes


1 Trang e6 tutors tutors

T003_TC0 Invalid Invalid No


2 input, input,
information information
not found not found
choose again choose again

T003_TC0
3 Tran Tran Van A Tran Van A Yes
Van A

T003_TC0 Invalid Invalid


4 input, input, No
information information
not found not found
Enter again Enter again

7.4   Test 4 Pay tuition        


Test ID: T004

Test description Pay tuition with two methods: bank and cash.

Created by: Tôn Thị Ngọc Châu

Date of 27-03-2023
creation:

Date of review: 21-04-2023

Test priority: High

Pre-requisite: Log in successfully.

Post-requisite: None

7.4.1   Drawing the flowchart


Flow chart
     Flow graph

7.4.2       Determining a basis set of independent paths

 1-3-4-5-6-18 (Pay by cash)


 1-3-4-7-8-9-10-11-12-13-14-15-6-18 (Logged in, pay by bank)
 1-3-4-7-8-9-10-11-12-13-14-16-13 (Logged in, pay by bank, Limit time > 0)
 1-3-4-7-8-9-10-11-12-13-14-16-17-8 (Logged in, pay by bank, Limit time <=
0)
 1-3-4-7-8-9-10-11-10 (Logged in, pay by bank, not exist account)
 1-3-4-7-8-9-8 (Bank name not selected yet)
 1-3-4-7-3 (Payment method not selected yet)
 1-2-3-4-5-6-18 (Not logged in, pay by cash)

7.4.3    Preparing test cases

# Test Case Input Data Expecte Actual Status


d Output Output
p bank name account OTP
number code

T004_TC0 Cash Cash Cash succes


1 payment payment s
guidelin guidelin
e e

T004_TC0 Ban Sacombank 23333 Update Update succes


2 k 012348754 3 the paid the paid s
status status
for the for the
subject. subject.

T004_TC0
3 Ban Agribank 223322 32f329 Ask Ask failure
k reinput reinput
(Limit OTP OTP
time > code code
0)

T004_TC0 Error Error


4 Ban Vietcomban 098755430 37777 message, message, failure
k k 9 7 Request Request
a redo a redo
(Limit from the from the
time step of step of
<= 0) choosin choosin
g the g the
  bank bank
name. name.

T004_TC0
5 Ban TP bank 9998798A Ask Ask failure
k reinput reinput
Account Account
number number
# Test Case Input Data Expecte Actual Status
d Output Output
p bank name account OTP
number code

T004_TC0 Request Request


6 Ban 28377445 a redo a redo failure
k from the from the
step of step of
choosin choosin
g the g the
bank bank
name name

T004_TC0 Request Request


7 to to failure
choose a choose a
payment payment
method method

  

You might also like