GAMS-SRS Version 1.0 Specification Document
GAMS-SRS Version 1.0 Specification Document
GAMS-SRS_v1.0 Page 1 / 35
– Hanoi, August 2022 –
Record of Changes
Version Date A* In charge Change Description
M, D
V1.0 10/6 A MinhPCHE172291 File is created
GAMS-SRS_v1.0 Page 2 / 35
Contents
Record of Changes.......................................................................................................................................2
I. Overview..................................................................................................................................................4
1. User Requirements..............................................................................................................................4
1.1 Actors.............................................................................................................................................4
1.2 Use Cases.......................................................................................................................................4
2. System Functionalities.........................................................................................................................5
2.1 Screens Flow..................................................................................................................................5
2.2 Screen Authorization.....................................................................................................................5
2.3 Non-UI Functions...........................................................................................................................6
3. High Level Design.................................................................................................................................6
3.1 Database Design............................................................................................................................6
3.2 Code Packages...............................................................................................................................7
II. Functional Requirements.........................................................................................................................8
1. <<Feature Name1>>............................................................................................................................8
1.1 <<Screen/Function Name1>>........................................................................................................8
1.2 User Login......................................................................................................................................8
1.3 …....................................................................................................................................................8
2. System Administration........................................................................................................................8
2.1 System Settings..............................................................................................................................8
2.2 …....................................................................................................................................................9
3. …..........................................................................................................................................................9
III. Detailed Designs.....................................................................................................................................9
1. <Feature/Function Name1>.................................................................................................................9
1.1 Class Diagram................................................................................................................................9
1.2 Sequence Diagram(s)...................................................................................................................10
1.3 Database Queries.........................................................................................................................10
2. <Feature/Function Name2>...............................................................................................................10
GAMS-SRS_v1.0 Page 3 / 35
I. Overview
1. User Requirements
1.1 Actors
# Actor Description
Owner of the page, can create expert accounts,, manage user accounts,
1 Admin interact and moderate the system.
Can accept or reject course from expert
Send courses to admin, receive feedback and can edit the content of owned
2 Expert
courses when granted permission from the admin.
Group of logged in users, they can manage personal information, view and
search details of all courses and experts, add, delete or purchase courses in
3 Customer
the shopping cart. Can study and take tests and exams of the purchased
courses.
Group of users that do not log in to the web, they can register customer
4 Guest account, view information about the web, product information, add
products to the cart, search for products with filters (name, category,...).
GAMS-SRS_v1.0 Page 4 / 35
1.2.2 UCs for Customer
GAMS-SRS_v1.0 Page 5 / 35
1.2.4 UCs for Admin
GAMS-SRS_v1.0 Page 6 / 35
2. System Functionalities
2.1 Screens Flow
GAMS-SRS_v1.0 Page 7 / 35
Manage Courses X
Manage Users X
Add new expert X
Manage Orders X
Order Details X
GAMS-SRS_v1.0 Page 8 / 35
3.1.2 Table Descriptions
No Table Description
GAMS-SRS_v1.0 Page 9 / 35
01 Roles Store information of all roles
- Primary key: role_id
- Foreign key: none
- Unique key: role_name
02 Users Stores information of all accounts
- Primary keys: user_id
- Foreign keys: role_id
- Unique keys: username, email
03 Experts Stores information of expert’s account
- Primary keys: expert_id
- Foreign keys: user_id
- Unique keys: user_id
04 Categories Stores all types of courses
- Primary keys: category_id
- Foreign keys: none
- Unique keys: name
05 Courses Stores information of all courses
- Primary keys: course_id
- Foreign keys: category_id
- Unique keys: none
06 ExpertCategories Stores all experts’s majors
- Primary keys: (expert_id, category_id) (both of them are same as 1 pk)
- Foreign keys: expert_id, category_id
- Unique keys: none
07 ExpertCourses Stores all courses’s owners
- Primary keys: (expert_id, course_id) (both of them are same as 1 pk)
- Foreign keys: expert_id, course_id
- Unique keys: none
08 Sections Stores all course’s sections
- Primary keys: section_id
- Foreign keys: course_id
- Unique keys: none
08 Lectures Stores all section’s lectures
- Primary keys: lecture_id
- Foreign keys: section_id
- Unique keys: none
08 Articles Stores all lecture’s articles
- Primary keys: article_id
- Foreign keys: lecture_id
- Unique keys: none
08 Videos Stores all lecture’s video
- Primary keys: video_id
- Foreign keys: lecture_id
- Unique keys: none
08 Exams Stores all lecture’s exams
- Primary keys: exam_id
- Foreign keys: lecture_id
GAMS-SRS_v1.0 Page 10 / 35
- Unique keys: none
08 ExamQuestions Stores all exam’s questions
- Primary keys: question_id
- Foreign keys: exam_id
- Unique keys: none
ExamChoices Stores all question’s choices
- Primary keys: choice_id
- Foreign keys: question_id
- Unique keys: none
UserChoices Stores all user’s choices
- Primary keys: (user_id, choice_id) (both of them are same as 1 pk)
- Foreign keys: user_id, choice_id
- Unique keys: none
GAMS-SRS_v1.0 Page 11 / 35
3.2 Code Packages
3.2.1 Package Diagram
GAMS-SRS_v1.0 Page 12 / 35
II. Functional Requirements
[Provide descriptions about the system’s functions/screens. The functions/screens are grouped by the
system features, and even sub-features if needed. For the screens, you need to provide the screen
layouts (mock-up screens) and relevant specifications if needed]
[Link] Features
1.1 User Login
This screen allows user to be authenticated to the system screens/functionalities.
GAMS-SRS_v1.0 Page 13 / 35
Field Name Field Type Description
Username Text Box This is for the user to input a valid username for logging in
Password Textbox This is for user to input password for logging in
Login Button User clicks to authenticate him/herself into the system with
provided email & password
Show Password Checkbox User can check this box to toggle the visibility of the
password
Forgot Password? Hyperlink User clicks to redirect to the Password Reset page for
resetting his/her forgot password
Login with Google Hyperlink Allow user to login with his/her Google account
Sign up now Hyperlink User clicks to redirect to the User Register page
Database Access
Table CRUD Description
User R Get exist username
User R Verify UserName & Password information
User R Get Lock time
User U UpdateFailedAttempt
User U Reset Failed Attemp
User U Update Lock Time
GAMS-SRS_v1.0 Page 14 / 35
Field Name Field Type Description
Email Address String (255) The user enters the email account registered in the system
here.
Send Mail Hyperlink Redirect sending otp code to email and enter the code, click
again to go to reset password
Sign up Button The user clicks to go to the account registration page
Login Hyperlink User clicks on login redirected to login page
Email OTP String (255) Users enter the OTP code sent via email here.
New Password String (255) User enters a new password here.
Confỉm New String (255) Users confirm the new password they want to set here.
Password
Submit Button Click to save password changes
GAMS-SRS_v1.0 Page 15 / 35
Login with Google Hyperlink Clicking "Login with Google" will redirect to sign in with a
google account
Login with Hyperlink Clicking "Login with Facebook" will redirect to sign in with a
Facebook Facebook account
Database Access
GAMS-SRS_v1.0 Page 16 / 35
Field Name Field Type Description
Home Hyperlink User clicks to go to home page.
About Hyperlink About the site.
Course Hyperlink Click to display the course list page.
Pages Hyperlink Click to see course creation experts.
Contact Hyperlink Contact about website.
John Now Hyperlink Click to login or register.
Read more Hyperlink Click to go to the course details page.
GAMS-SRS_v1.0 Page 17 / 35
Database Access
GAMS-SRS_v1.0 Page 18 / 35
Field Name Field Type Description
Search by name String (255) Users can search for courses by name.
All categories Option Users can search for courses by category.
Search Button Users click to search for courses by name or category.
Read more Hyperlink Click to go to the course details page.
Database Access
GAMS-SRS_v1.0 Page 19 / 35
1.7 View course details
Database Access
2. Expert Features
2.1 Expert List in About us page
GAMS-SRS_v1.0 Page 20 / 35
Field Name Field Type Description
Name Text Box Name of the expert
Social Media Links/Icons Links to the expert's social media profiles (e.g., Facebook,
Links Twitter, LinkedIn)
Description Text Area/String Short description or bio of the expert
Data Table
Data Actions
Image Image Picture of the expert. Click the image to view the detail of that
expert
Database Access
Table CRUD Description
Expert R Get the expert List
GAMS-SRS_v1.0 Page 21 / 35
Database Access
Table CRUD Description
Expert U Get the expert by id
Sql Command
1/ Get the expert by id
SELECT * FROM Experts e JOIN Users u ON e.user_id = u.user_id WHERE expert_id = ?
Section Description
Manage Course Expert can manage course their talk
GAMS-SRS_v1.0 Page 22 / 35
Section Description
View feedback Expert can view feedback about their course
View revenue Expert can view profit of their course
Upload course Expert can update or create course and course content
2.1.1 Manage Course
GAMS-SRS_v1.0 Page 23 / 35
2.1 Expert create or update course
Section
Lecture
GAMS-SRS_v1.0 Page 24 / 35
3. Admin Features
3.1 Admin interface
Section Description
Manage Course Admin can view and edit course and course information
Manage Customer Admin can view all customer information
Expert Manage Admin can view and edit all expert information
View Reports Admin can view and manage all reports from customers
GAMS-SRS_v1.0 Page 25 / 35
Field Name Field Type Description
ID Text Unique identifier of the course
Course Name Text Name of the course
Instructor Text Name of the instructor(s)
Status Text Current status of the course (e.g., Active, Inactive)
Certifications Text List of certifications the instructor holds
Experience Text Number of years of experience the instructor has
Data Table
Data Actions
Delete course Button delete button of each course
Edit course Button send redirect to detail course by course id
Database Access
Table CRUD Description
Course R Get all course
Course R Get course by id
Course R Delete course
GAMS-SRS_v1.0 Page 26 / 35
Field Name Field Type Description
Data Table
Data Actions
Delete customer Button delete button of each customer
Edit customer Button send redirect to detail customer by customerID
Database Access
Table CRUD Description
Users U Get all users
Users U Get users by id
Users R Delete users
3.1.3 Manager Expert Section
GAMS-SRS_v1.0 Page 27 / 35
Field Name Field Type Description
ID Integer Unique identifier of the course
Course Name Text Name of the course
Category Text Identifier of course category
Price Decimal Price of the course
Created At Date Date when course created
Updated At Date Date when course updated
Status Text Status of the course
Data Table
Data Actions
View Detail Button View detail of the course which is pending
Database Access
Table CRUD Description
Course U Get all course which is pending
Course U View detail of course by ID
3.1.5 View Monthly Revenue
GAMS-SRS_v1.0 Page 28 / 35
Database Access
Table CRUD Description
Orders U Get Monthly static by Date Month
3.1.6 View Monthly Revenue
Database Access
Table CRUD Description
Orders U Gen top 5 customer by user id
GAMS-SRS_v1.0 Page 29 / 35
Field Name Field Type Description
Name Text Name of the expert
Email Text Box Email address of the expert
Specialty Text Areas of expertise of the expert
Data Table
Data Actions
Save Button Save the changes made to the expert information
Database Access
Table CRUD Description
Expert U Get experts information by id
Expert R Insert new information for expert
[Link] Course taught by Expert
GAMS-SRS_v1.0 Page 30 / 35
Field Name Field Type Description
ID Text Unique identifier of the course
Course Name Text Name of the course
Description Text Area Detailed description of the course
Data Table
Data Actions
View course Button View course button
Database Access
Table CRUD Description
Course U Get course by id
3.2.1 Approve of reject pending Course
GAMS-SRS_v1.0 Page 31 / 35
Section
Lecture
Field Name Field Type Description
Lecture ID Integer Unique identifier of lecture
Lecture Title Text Title of the lecture
GAMS-SRS_v1.0 Page 32 / 35
Data Actions
Approve Button Change status of course to approved
Reject Button Change status of course to rejected
Data Actions
Create Expert Button Insert into database new account
Account
Database Access
Table CRUD Description
Expert R Insert new information for expert
GAMS-SRS_v1.0 Page 33 / 35
GAMS-SRS_v1.0 Page 34 / 35
1.2 Sequence Diagram
1.2.1. Common feature
[Link] Reset password
[Link] Login
GAMS-SRS_v1.0 Page 35 / 35
[Link] View product list
GAMS-SRS_v1.0 Page 36 / 35
[Link] View Course Details
[Link] feature
GAMS-SRS_v1.0 Page 37 / 35
[Link]. Edit Expert Information
GAMS-SRS_v1.0 Page 38 / 35
[Link] View all Course
GAMS-SRS_v1.0 Page 39 / 35
1.2.5 Expert account management
GAMS-SRS_v1.0 Page 40 / 35
1.2.6 View Payment history
GAMS-SRS_v1.0 Page 41 / 35
1.2.7 View owned course detail
GAMS-SRS_v1.0 Page 42 / 35
1.2.9 View about business
GAMS-SRS_v1.0 Page 43 / 35
SELECT * FROM Users where username=? and password=?
GAMS-SRS_v1.0 Page 44 / 35
1.2.4 Forgot password
1/ Check exist email
SELECT * FROM Users WHERE email=?l
IV. Appendix
1. Assumptions & Dependencies
AS-1: All students and instructors will have reliable internet access to participate in online courses
without interruptions.
AS-2: The online course platform will be compatible with various operating systems and devices (e.g.,
desktops, laptops, tablets, and smartphones).
AS-3: Instructors will have the necessary skills to create and manage online course content effectively.
AS-4: Students will have basic digital literacy skills to navigate the online course platform.
AS-5: The institution will provide adequate technical support for both students and instructors to
resolve any issues that arise with the online platform.
AS-6: The necessary licenses for any third-party software or tools used within the online course
platform will be obtained and maintained.
DE-1: The online course platform must integrate with the institution’s existing student information
system for seamless enrollment and grade management.
DE-2: The online course platform must support bi-directional communication with external learning
management systems (LMS) if required.
DE-3: The platform must comply with relevant data protection and privacy regulations to ensure the
security of users' personal information.
GAMS-SRS_v1.0 Page 45 / 35
GAMS-SRS_v1.0 Page 46 / 35