You are on page 1of 24

Requirement & Design Specification

Learning Management System (LMS)


Version: 1.0

– Hanoi, September 2023 –

GAMS-SRS_v1.0 Page 1 / 20
Record of Changes
Version Date A* In charge Change Description
M, D
V1.0 18/09 A Lamnnthe163504 view landing page

V1.0 18/09 A Lamnnthe163504 edit/view profile use

18/09 A Lamnnthe163504 change password

V1.0 18/09 A Tudmhs170634 register user account

V1.0 18/09 A Tudmhs170634 login system

V1.0 18/09 A Tudmhs170634 reset password

V1.0 18/09 A Thinhtdhe173229 view users list

V1.0 18/09 A Thinhtdhe173229 view user detail

V1.0 18/09 A Thinhtdhe173229 add an user

V1.0 18/09 A Thinhtdhe173229 update an exist user

V1.0 18/09 A Thinhtdhe173229 change user’s status (activate/deactivate)

V1.0 18/09 A Longnqhe172355 view subject list

V1.0 18/09 A Longnqhe172355 view subject detail

V1.0 18/09 A Longnqhe172355 add a subject

V1.0 18/09 A Longnqhe172355 update an existed subject

V1.0 18/09 A Longnqhe172355 change subject’s status (activate/deactivate)

V1.0 18/09 A Datnthe173461 setup setting system: user roles

V1.0 18/09 A Datnthe173461 setup setting system: semester

V1.0 18/09 A Datnthe173461 setup setting system: permitted emails domain

*A - Added M - Modified D - Deleted

GAMS-SRS_v1.0 Page 2 / 20
Contents
Record of Changes.........................................................................................................................................2
I. Overview....................................................................................................................................................4
1. User Requirements.................................................................................................................................4
1.1 Actors...............................................................................................................................................4
1.2 Use Cases.........................................................................................................................................4
2. Overall Functionalities...........................................................................................................................5
2.1 Screens Flow....................................................................................................................................5
2.2 Screen Descriptions.........................................................................................................................5
2.3 Screen Authorization.......................................................................................................................5
2.4 Non-UI Functions............................................................................................................................6
3. System High Level Design....................................................................................................................6
3.1 Database Design...............................................................................................................................6
3.2 Code Packages.................................................................................................................................7
II. Requirement Specifications.......................................................................................................................8
1. <<Feature Name>>................................................................................................................................8
1.1 <<UseCaseCode_UC Name>>........................................................................................................8
2. Common Functions..............................................................................................................................11
2.1 UC-2_Login System......................................................................................................................11
3. Patron Feature......................................................................................................................................12
3.1 UC-5_Order a Meal.......................................................................................................................12
3.2 UC-6_Register for Payroll Deduction...........................................................................................13
III. Design Specifications.............................................................................................................................14
1. <<Feature Name>>..............................................................................................................................14
1.1 <<SubFeature Name>>..................................................................................................................14
1.2 System Access...............................................................................................................................15
IV. Appendix................................................................................................................................................19
1. Assumptions & Dependencies.............................................................................................................19
2. Limitations & Exclusions....................................................................................................................19
3. Business Rules.....................................................................................................................................19
4. ..............................................................................................................................................................19

GAMS-SRS_v1.0 Page 3 / 20
I. Overview
1. User Requirements
1.1 Actors

# Actor Description
1 Admin Users who have logged in LMS Admin web application.
Users who are members of LMS, have registered the LMS, only view the
2 Trainee
documents
Users who are teachers/lecturers of LMS, free to edit the documents of
3 Trainer
their classes
4 Common Users who have not logged in LMS web application
5 Subject Manager Users who have logged in LMS Subject Manager web application

GAMS-SRS_v1.0 Page 4 / 20
1.2 Use Cases
a. Diagram(s)

b. Descriptions

GAMS-SRS_v1.0 Page 5 / 20
ID Feature Use Case Use Case Description
01 Subject Document Add subject Add a new details, materials or documents for a
document subject
02 Subject Document Edit subject Edit documents of a subject
document
03 Subject Document Delete subject Delete documents of a subject
document
04 User Account Register Common can register a account
05 User Account Reset/Change Common can reset or change password after having a
password account
06 User Account Edit profile Common can edit their profile after having a account
07 Class Document Add class Add a new details, materials or documents for a class
document
08 Class Document Edit class Edit documents of a class
document
09 Class Document Delete class Delete documents of a class
document

2. Overall Functionalities
2.1 Screens Flow

GAMS-SRS_v1.0 Page 6 / 20
2.2 Screen Descriptions

# Screen Feature Description


1 User Login Login Account User enter a legal account to login in the system
2 User enter the information to have a legal account of
User Register Register account the learning system
3 User Profile Reset Password User can reset the password
4 User Profile Edit profile User can edit the information again
5 Subjects Page Add Quiz Manager can add quiz
6 Subjects Page Edit Quiz Manager can edit quiz
7 Subjects Page Delete Quiz Manager can delete quiz
8 Manager can add Subject Lesson
Subjects Page Add Subject Lesson
9 Manager can edit Subject Lesson
Subjects Page Edit Subject Lesson
Delete Subject Manager can delete Subject Lesson
Subjects Page lesson
10 Classes
Management Add Class Admin can add class
11 Classes
Management Edit Class Admin can edit class
12 Classes
Management Remove Class Admin can remove class
13 Classes
Management Discussions Admin can join discussions
14 Classes Add Class Trainee
Management Admin can add class trainee
15 Classes Edit Class Trainee
Management Admin can edit class trainee
Classes Delete Class
Management Trainee Admin can delete class trainee
17 Classes
Management Add Grade Admin can add grade for class trainee
18 Classes
Management Edit Grade Admin can edit grade for class trainee

2.3 Screen Authorization

Subject
Screen Trainee Trainer Admin Common
Manager
Manage Users X
View Classes X X X
Reset/Change Password X X X

GAMS-SRS_v1.0 Page 7 / 20
Edit Profile X X X
Edit Document of Class X
Edit document of Subject X
View Document of Class X X
Register User X
Manage Subject Manager X X
Approval User X X
Edit user role X
View document of Subject X X X
Manage Classes X
Manage Class Trainees X
View Grade X X
Grading X

2.4 Non-UI Functions

# Feature System Function Description


1

GAMS-SRS_v1.0 Page 8 / 20
3. System High Level Design
3.1 Database Design
a. Database Schema

b. Table Descriptions
No Table Description
01 Role The role of account
- Primary keys: RoleID
02 User The information of User
- Primary keys: UserID
- Foreign keys: RoleID
03 Subject The information of Subject
- Primary keys: SubjectID
- Foreign keys: SubjectManagerID
04 Chapter The chapter of Subject
- Primary keys: ChapterID
- Foreign keys: SubjectID
05 Question The question of Subject

GAMS-SRS_v1.0 Page 9 / 20
- Primary keys: ChapterID
- Foreign keys: DimensionID, QuizID
06 Assignment The assignment of Class
- Primary keys: AssignmentID
- Foreign keys: ClassID, TraineeID
07 Quiz The quiz assignment
- Primary keys: QuizID
- Foreign keys: ClassID
08 Classes The information of Class
- Primary keys: ClassID
- Foreign keys: SubjectID
09 Trainee The information of Trainee
- Primary keys: TraineeID
- Foreign keys: ClassID, RoleID
10 Trainer The information of Trainer
- Primary keys: TrainerID
- Foreign keys: ClassID, RoleID
11 Lessons - Primary keys: LessonID
- Foreign keys: ClassID
12 Dimension - Primary keys: DimensionID
- Foreign keys: SubjectID

3.2 Code Packages

Package descriptions
No Package Description
01 controller It serves as the intermediary between the user interface (View) and the
application logic (Model).

GAMS-SRS_v1.0 Page 10 / 20
02 model class contains object information (Data), interacts with Database. Responsible for
object modeling
03 util an integrated package that contains various utility classes and interfaces
04 dal It is a design pattern used to abstract the persistence layer of an application,
providing a set of interfaces and classes to access and manipulate data from a
database or other data sources.
05 web include file about Ui of client and admin
06 img include all image which is used in system
07 css used to style and layout the website

GAMS-SRS_v1.0 Page 11 / 20
II. Requirement Specifications
1.Common Feature
1.1 Register/Login User Account

UC ID and Name: UC-1_Register/Login User Account


Created By: TuDM Date Created: 11/Sep/2023
Primary Actor: Customer Secondary Actors: None
Trigger: User clicks “Login/Sign up” button from the page header, or
User accesses an authenticated feature (from a link or type the page URL directly
into the address bar)
Description: As a user, I want to be able to log into the system or sign up so that I can use the
system’s authenticated features and access my personalized account.
Preconditions: User account has been created & authorized
Postconditions: ● User logs in the system successfully

● The system tracked successful login into the Activity Log


Normal Flow Register:
1. The user accesses the registration page by clicking on the "Register" link
on the homepage or the login page.
2. The registration page displays a form with fields such as Username, Email
Address, Password, and Confirm Password.
3. The user enters their information into the form and clicks the "Register"
button.
4. The system checks if the email address is already in use. If it exists, it
displays an error message and requests the user to provide a different
email address. If it doesn't exist, proceed to the next step.
5. The system validates the data (e.g., password length, email format) and
creates a new account.
6. The user receives a confirmation message of successful registration and
is automatically logged into the system.
Login:
1. The user accesses the login page by clicking on the "Login" link on the
homepage.
2. The login page displays a form with fields for Email Address and
Password.
3. The user enters their login information and clicks the "Login" button.
4. The system checks if the login information is correct. If it's incorrect, it
displays an error message and requests the user to provide the correct
information. If it's correct, proceed to the next step.
5. The user is redirected to the homepage after a successful login.

Alternative Flows: Google Login


1. User chooses to login system using Google account
2. System redirects the user to the Google’s Login screen
3. User types in the Google account details and chooses to login

GAMS-SRS_v1.0 Page 12 / 20
4. Google validates user’s login information successfully and redirect him/her
back to the system
5. Return to step 5 of normal flow.

Exceptions: E1 System can’t authenticate the user


1. The Error Message screen is shown to the user
2. User cancels the logging in => UC stops, change to UC-1_View Home Page
3. User clicks “Forgot Password?” link => change to UC-3_Reset Password
4. User clicks “Register” link => change to UC-4_Register User Account

Priority: Must Have


Frequency of
Use:
Business Rules: BR1, BR2, BR3
Other
Information:
Assumptions:

1.2 View/Edit User Profile

UC ID and Name: UC-2_View/Edit User Profile


Created By: LamNNT Date Created: 11/Sep/2023
Primary Actor: Customer Secondary Actors: None
Trigger: User clicks “Profile” button from the page header
Description: As a user, I want to view my profile and be able to edit it.
Preconditions: User account has been created & authorized
Postconditions: ● User logs in the system successfully

● The system displays all the information that the user has registered.
Normal Flow 1. View User Profile:
1. The user logs into the system.
2. After a successful login, they are directed to their main page or
personal profile page.
3. On the personal profile page, they can view their personal
information, including their name, profile picture, contact
information, and any other details they provided during
registration.
4. They can also see recent activities or other account-related
information.

2. Edit User Profile:

GAMS-SRS_v1.0 Page 13 / 20
1. The user logs into the system.
2. After a successful login, they are directed to their personal profile
page or a dedicated page for editing personal information.
3. On the profile editing page, they can make changes or updates to
their personal information, such as their name, profile picture,
email address, password, and any other information they wish to
modify.
4. They can also upload a new profile picture, change their
password, or update contact information.
5. After making changes, they need to press the "Save" or "Update"
button to save the modifications to the database.
6. After successful saving, the system updates their personal
information and notifies them that the changes have been saved
successfully.
Alternative Flows:
Exceptions: Exceptions during "View User Profile":
1. User Profile Not Found:
- Exception: When a user tries to view a profile that doesn't exist in the system
(e.g., due to a typo in the username or an inactive account).
- Handling: Display an error message like "User profile not found" and offer
options to return to the main page or perform a new search. Additionally, log this
event for system administrators to review.

2. Unauthorized Access:
- Exception: If a user attempts to view another user's profile without proper
authorization (e.g., trying to access an admin profile).
- Handling: Deny access and display an error message such as "Access denied.
You do not have permission to view this profile." Provide guidance on what
actions the user can perform and ensure that sensitive information remains
protected.

Exceptions during "Edit User Profile":


1. Validation Errors:
- Exception: When a user submits invalid or incomplete data while editing their
profile, such as entering an invalid phone number format or choosing an already
used username.
- Handling: Display clear validation error messages next to the relevant fields,
explaining what needs to be corrected. Prompt the user to fix the errors before
allowing them to save the changes.

2. Concurrent Editing:
- Exception: If two users attempt to edit the same user's profile simultaneously,
leading to a potential data conflict.
- Handling: Implement a concurrency control mechanism to prevent conflicts.
You could lock the profile during editing and notify the second user that someone
else is currently editing the profile. Provide options for the second user to review
changes made by the first user or try again later.

GAMS-SRS_v1.0 Page 14 / 20
Priority: Should Have
Frequency of
Use:
Business Rules: BR4
Other
Information:
Assumptions:

1.3 Reset/Change Password

UC ID and Name: UC-3_Reset/Change Password


Created By: TuDM Date Created: 11/Sep/2023
Primary Actor: Customer Secondary Actors: None
Trigger: User clicks “Forgot password” button from the Login/Register Page, or
User clicks “Change your password?” button from the View/Edit profile Page.
Description: As a user, I would like to be able to change my password for my account
whenever I want or reset my password in case I forget it.
Preconditions: ● Account Authentication
● Current Password (for password change)
● Identity Verification
● Time Limits and Retry Limits
● Account Access Rights
Postconditions: ● Password Successfully Changed

● Email Confirmation (Optional)

● Access Restored (in case of password reset)

● Security Measures Updated

● Notification (Optional)

● Logging and Security Auditing


Normal Flow 1.Access Account Settings
2. Find Password Options
3.Verification
4. Set a New Password
5. Confirm New Password
6. Password Change Confirmation
7. Log In with New Password
8. Review Security Settings (Optional)
Alternative Flows:
Exceptions: 1. Invalid Current Password

GAMS-SRS_v1.0 Page 15 / 20
2. Password Complexity Requirements
3. Authentication Failure
4. Account Lockout
5. Two-Factor Authentication Issues
Priority: Should Have
Frequency of
Use:
Business Rules: BR4
Other
Information:
Assumptions:

Business Rules
Provide the business rules those are applied only to the use case
ID Business Rule Business Rule Description
BR1 Name Limit ● Name length limit must be in range 1 – 50 characters.
● Name only contains alphabetical characters.
BR2 Phone number requirements ● Phone number only contains numeric characters.
● Phone number length limit must be 10 characters.

BR3 Phone number and email Phone number and email must be unique
BR4 Users Data requirements ● Accuracy
● Editability
● Access Control
● Logging
BR6
BR7

GAMS-SRS_v1.0 Page 16 / 20
2. Admin
2.1 Manage Users
a. Functional Description
UC ID and Name: UC-2_Manage Users
Created By: ThinhTD Date Created: 11/Sep/2023
Primary Actor: Admin Secondary Actors: None
Trigger: ● User Management (Add/Edit/Delete)
● Locking or Unlocking an Account
● User Role Assignment
● Monitoring User Activity
Description: As an administrator, my role is vital in maintaining the security and efficiency of
the system by managing users and ensuring they have the appropriate level of
access.
Preconditions:
Postconditions:
Normal Flow Administrator User Management and Permissions Assignment:
1. Login: Start by logging into the administrative account using the appropriate
credentials.
2. Access User Management: Once logged in, access the user management
section of the system or platform. This is typically found in the admin dashboard
or control panel.
3. Add New Users:To add new users, select the "Add User" option. Provide the
required information, such as username, password, email, and any additional
details. Assign appropriate roles or permissions to the new user based on their
responsibilities.
4. Edit User Information: If you need to update existing user information, select
the user you want to edit from the list of users. Modify their details, such as
name, contact information, or access permissions. Save the changes.
5. Delete User Accounts: To remove a user from the system, select the user's
account and choose the "Delete" option. Confirm the action, and the user's
account will be permanently removed, along with their associated data.
6. Permissions Assignment: Access the permissions or roles section to assign or
modify user access rights. Depending on your system, you may have predefined
roles (e.g., admin, user, manager) or the ability to customize permissions. Adjust
permissions based on user roles and responsibilities.
7.Review and Audit: Periodically review user accounts, permissions, and user
activity logs to ensure they align with security and operational requirements.
8. Log Out: Once you've completed your user management and permissions
tasks, log out of the admin account to maintain security.
Alternative Flows:
Exceptions:
Priority: Must Have
Frequency of
Use:
Business Rules:
Other

GAMS-SRS_v1.0 Page 17 / 20
Information:
Assumptions:

b. Business Rules

UC ID and Name: UC-3_Manage Subjects


Created by: LongNQ Date Created: 11/Sep/2023
Primary Actor: Admin/assigned subject Secondary Actors: None
manager
Trigger: ● Subjects Management (Add/Edit/Delete)
● Look up for Subjects
Description:
Preconditions:
Postconditions:
Normal Flow 1. Course Setup: Initially, Admin would set up the courses that are available for
students to register for. This includes defining course details such as course
name, description, prerequisites, and availability for different semesters or
terms.
2. Student Registration: Students will register for courses based on their
academic requirements and preferences. You may have an online registration
system where students select the courses they want to take.
3. Course Allocation: After the registration period, you will need to allocate
students to specific sections or classes within each course. This could involve
considering factors such as class size, scheduling conflicts, and student
preferences.
4. Waitlisting: If a course is full, some students may be put on a waitlist. As an
admin, you would manage the waitlist and potentially open additional sections
or expand class sizes based on demand.
5. Communication: Keep open lines of communication with students,
instructors, and faculty advisors. Inform them about course availability,
registration deadlines, and any changes in course offerings.
6. Resource Management: Ensure that classrooms, teaching materials, and
resources are allocated appropriately for each course. This might involve
coordinating with facilities management and IT departments.
7. Monitoring Enrollment: Continuously monitor enrollment numbers in each
course to ensure that classes are neither under-enrolled nor over-enrolled.
Adjustments may be needed to optimize class sizes.
8. Waitlist Management: Keep track of waitlisted students and notify them if
spots become available. This may involve manually enrolling students from the
waitlist as others drop the course.
9. Scheduling: Coordinate course schedules to minimize conflicts for both
students and instructors. Make sure there are no overlapping class times or
resource conflicts.
10. Reporting: Generate reports on course enrollment, student progress, and
other relevant data to help with decision-making and planning for future
semesters.
Alternative Flows:

GAMS-SRS_v1.0 Page 18 / 20
Exceptions:
Priority: Must Have
Frequency of Use:
Business Rules:
Alternative Flows:
Exceptions:
Priority: Must Have

III. Design Specifications


1. Common Feature (Thêm phần hình ảnh)

1.1.Landing Page

a,Description: This is the primary welcome page when a user first visits the website. It displays an
overview of the system, its features, and benefits.

b,UC: View system's overview, navigate to Register or Login.

1.2. Register User Account

a,Description: A form allowing a new user to create an account.

b,UC: Input details (e.g., username, email, password), submit registration form, receive confirmation
email.

SQL commands:

String sql = "INSERT INTO `lms_db`.`users`\n"

+ "(\n"

+ "`username`,\n"

+ "`password`,\n"

+ "`email`,\n"

+ "`phone_number`,\n"

+ "`is_verified`,\n"

GAMS-SRS_v1.0 Page 19 / 20
+ "`status`,\n"

+ "`avatar_img`,\n"

+ "`user_created_by`,\n"

+ "`user_created_at`,\n"

+ "`user_updated_by`,\n"

+ "`user_updated_at`,\n"

+ "`role_id`)\n"

+ "VALUES\n"

+ "(\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?,\n"

+ "?);";

1.3.Login System

GAMS-SRS_v1.0 Page 20 / 20
a,Description: A portal for registered users to input their credentials and access the system.

b,UC: Input username and password, request access, navigate to user dashboard upon successful login.

SQL commands:"SELECT * FROM users where username=? and password=?"

1.4.Reset Password

a,Description: Allows users to reset their forgotten password via email.

b,UC: Input registered email, receive reset password link, navigate to reset password page, input new
password.

SQL command:

UPDATE users SET email = 'new_email' WHERE user_id = 'user_id_to_edit';

1.5.View/Edit User Profile

a,Description: Display user's profile details and allow modifications.

b,UC: View profile details, update information (e.g., profile picture, contact details), save changes.

SQL commands:

UPDATE user SET

first_name = ?

“+”, last_name = ?

“+”, phone_number = ?

“+”, address = ?

“+” email = ?

WHERE user_id = ?;

1.6.Change Password

a,Description: Allows users to change their current password.

b,UC: Input current password, input new password, confirm new password, save changes.

GAMS-SRS_v1.0 Page 21 / 20
SQL commands:

SELECT * FROM users WHERE user_id = 'user_id_to_view';

2. Admin

2.1.Manage Users

a,Description: A dashboard where the admin can view, add, modify, or activate/deactivate user
accounts.

b,UC: View user list, search for a user, add a new user, modify user details, activate/deactivate user.

SQL commands:

update users set username = ?"

+ ", password = ?"

+ ", email = ?"

+ ", phone_number = ?"

+ ", user_updated_by = 1"

+ ", user_updated_at = ? "

+ "where user_id = ?"

insert into users values(?,?,?,?,1,1,null,1,?,null,null)

delete from users where id = ?

select * from users

2.2.Manage Subjects and Subject Managers

a,Description: Interface to add, update, or delete subjects and assign managers to them.

b,UC: View subject list, add a new subject, update subject details, assign a subject manager, remove a
subject manager.

2.3.Setup System Settings

GAMS-SRS_v1.0 Page 22 / 20
a,Description: A page where the admin can define or modify system-wide settings.

b,UC: Set active semesters, define user roles, whitelist/blacklist email domains.

SQL commands: INSERT INTO users (username, password, email) VALUES ('new_user',
'hashed_password', 'user@example.com');
SELECT * FROM users WHERE username = 'input_username' AND password =
'hashed_input_password';
UPDATE users SET password = 'new_hashed_password' WHERE email =
'user@example.com';

IV. Appendix
1. Assumptions & Dependencies
[Record any assumptions that were made when conceiving the project and writing this vision and scope
document. Note any major dependencies the project must rely upon for success, such as specific
technologies, third-party vendors, development partners, or other business relationships.]
<<Sample:
AS-1: Systems with appropriate user interfaces will be available for cafeteria employees to process
the expected volume of meals ordered.
AS-2: Cafeteria staff and vehicles will be available to deliver all meals for specified delivery time slots
within 15 minutes of the requested delivery time.
DE-1: If a restaurant has its own on-line ordering system, the Cafeteria Ordering System must be able
to communicate with it bi-directionally.
>>

2. Limitations & Exclusions


[Identify any product features or characteristics that a stakeholder might anticipate, but which are not
planned to be included in the new product]

3. Business Rules
[Provide common business rules that you must follow. The information can be provided in the table
format as the sample below]
<<Sample
ID Category Rule Definition
BR-01 Constraints Delivery time windows are 15 minutes, beginning on each quarter
hour.
BR-02 Constraints Deliveries must be completed between 10:00 A.M. and 2:00 P.M.
local time, inclusive.
BR-03 Facts All meals in a single order must be delivered to the same location.
BR-04 Facts All meals in a single order must be paid for by using the same

GAMS-SRS_v1.0 Page 23 / 20
payment method.
BR-11 Constraints If an order is to be delivered, the patron must pay by payroll
deduction.
BR-12 Computations Order price is calculated as the sum of each food item price times
the quantity of that food item ordered, plus applicable sales tax,
plus a delivery charge if a meal is delivered outside the free
delivery zone.

>>

4.

GAMS-SRS_v1.0 Page 24 / 20

You might also like