Analysis Report
Analysis Report
Analysis Report
1 Introduction 2
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Definitions, acronyms, and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Overall Description 4
2.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 User Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Assumptions and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5.2 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Specific Requirements 8
3.1 Functional Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 External Interface Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.1 1.User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3.2 Admin Panel Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.3 Course Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 No Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 Logical Database Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.6 Design Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2
List of Figures
3
Table of versions
Version Release Date Author Change
1.0 09 March 2024 Boukra Bettayeb Abdellah First version
1.1 30 April 2024 Boukra Bettayeb Abdellah Second version
1 Introduction
In the era of digital transformation, the education sector is not left behind. Our project is at the
forefront of this revolution, aiming to develop an advanced e-learning website for ESI-SBA. This
initiative is designed to harness the power of technology to facilitate and enhance the teaching and
learning experience.
1.1 Purpose
The purpose of this Software Requirements Specification document is to provide a clear under-
standing what is actually E-Learning platform and to identify the critical requirements essential for
the projects successful completion.
This SRS describes the software requirements both functional and non-functional for the Website.
This document is intended to be used by the members of the project team that will implement and
verify the correct functioning of the system. This document will be used in all phases of Software
Process.
1.2 Scope
This platform aims to enhance the educational process. It provides a comprehensive set of tools
for teachers, students, and administrators. Teachers can manage courses, upload materials, and
design assessments. Students have access to course materials, learning activities, and assessments.
Administrators can efficiently manage student enrollment and users. The platform also fosters col-
laboration through dedicated communication spaces. It aims to empower teachers, engage students,
improve administrative efficiency, and encourage collaboration within the school community.
2
1.3 Definitions, acronyms, and abbreviations
Term Definition
Administrator A user with the authority to manage user
accounts, enroll students, and configure
platform settings.
Assessment An activity designed to evaluate student
learning (e.g., assignments, tests, quizzes).
Cohort A group of students enrolled in the same
group or program.
Collaboration A dedicated area within the platform for
Space communication and collaboration within
specific group or global.
ESI Ecole Supérieure d’Informatique (Higher
School of Computer Science)
SRS Software Requirements Specification
SBA Sidi Bel Abbes
1.4 References
• https://standards.ieee.org/standard/830-1998.html
• IEEE - IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifi-
cations (1998)
• https://elearn.esi-sba.dz/
1.5 Overview
This document is presented in a modified IEEE/ANSI 830-1998 style. The following information
is covered in this document:
• Project Overview
• Development Environment
• Functional Requirements
• Non-Functional Requirements
• Use Cases
• Interfaces
2 Overall Description
2.1 Product Perspective
This platform aims to revolutionize the educational experience at ESI-SBA by facilitating a
collaborative and efficient learning environment for both teachers and students. It empowers:
- Teachers: To share their documents (lectures, TD sheets, TP sheets, Videos), and create activities
and quizzes.
- Students: To conveniently access course materials, actively participate in learning activities and
assessments, and engage in collaborative learning with others.
For student
• Access course materials (lectures, td, tp).
For Teacher
• Upload and share documents (lectures, td ,tp).
• create quizzes.
• make Tests.
For Administrator
• Create accounts for all users.
• Create accounts for new first-year students at the start of each academic year.
4
• Manage user permissions and roles.
Teachers
They are expected to have a high level of education and technical expertise in computer science
and related fields. They are also expected to have experience in teaching and creating online
courses. They need to be able to upload their courses, resources, communication spaces, and learning
activities using the product. They also need to be able to monitor and evaluate the progress and
performance of their learners.
Students
They are expected to have a basic level of education and technical expertise in computer science
and related fields. They are also expected to have motivation and interest in learning online. They
need to be able to access and download the courses, resources, communication spaces, and learning
activities provided by the teachers using the product. They also need to be able to complete and
submit the formative and summative evaluations assigned to them.
Administrators
They are expected to have a moderate level of education and technical expertise in computer
science and related fields. They are also expected to have experience in managing and organizing
online courses. They need to be able to enroll students in batches in a course, create cohorts, and
manage user roles and permissions using the platform. They also need to be able to oversee and
trousbleshoot the overall functioning of the product.
Figure 2.1: use Case Diagram.
2.4 Constraints
The platform must be developed using the ExpressJS web development framework for backend,
and react js framework for frontend, and must be compatible with commonly used web browsers such
as Google Chrome, Mozilla Firefox, and Microsoft Edge. The application must also be compatible
with the Windows 10 and 11 operating systems, macOS Catalina, and Ubuntu 20.04 LTS. The
application server must be deployed on a Linux CentOS 7.x operating system and hosted on a cloud
infrastructure compatible with the security requirements of the company.
2. Users are expected to have a stable, high-speed internet connection to use the application
effectively.
3. We expect users to provide accurate and complete information and data needed for the ap-
plication to function correctly.
2.5.2 Dependencies
1. The application relies on third-party services like cloud storage providers and email services
for its operation.
2. It needs to work well with popular web browsers like Chrome, Firefox, Safari, and Edge for
users to access it smoothly.
3 Specific Requirements
3.1 Functional Specifications
Authentication and Authorization
• The platform must allow users to authenticate using their email address and password.
• The platform must have a password reset functionality for users who have forgotten their
password.
• The platform must grant different levels of access based on the user’s role (administrator,
teacher, student).
• Users should only have access to functionalities appropriate for their role.
Courses Management
• Teachers should have the capability to create and share documents such as lectures, Td’s,
Tp’s and videos within the platform, and the capability to create assignments and quizzes.
• Students should be able to easily enroll in modules of their choice, view module content, open
the documents, and participate in module activities such as assignments and quizzes.
• Student’s answers to assignments and quizzes should be accessible to instructors for evaluation
purposes.
User Interface:
• A user-friendly and intuitive interface is essential for enhancing the overall user experience.
The platform’s interface should be designed to be easily navigable for both instructors and
students, regardless of their technical proficiency.
• It should feature responsive design principles to ensure optimal usability across various devices,
including desktop computers, laptops, tablets, and mobile phones. This ensures that users
can access the platform seamlessly from any device, enhancing accessibility and convenience.
8
3.2 External Interface Requirements
User Interfaces
Software Interfaces
Communications Interfaces
• Email Verification Expiry: Implement a policy to expire email verification links or codes after
a predefined period, prompting users to re-request verification if the link or code has expired
for added security.
• Account Lockout: Implement a mechanism to temporarily lock user accounts after multiple
failed login attempts to prevent brute force attacks.
• Forgot Password: Implement a ”Forgot Password” feature that allows users to reset their
password if they forget it. This feature should prompt users to provide their email address,
send a password reset link or code to the provided email, and allow users to reset their password
securely through the provided link or code.
Figure 3.1: Sequence diagram depicting the sign-up process.
1. Add Teacher:
• The admin should be able to add new teachers to the platform.
• This functionality should include:
– Collecting user information such as name, email address, and password (meeting
complexity requirements defined in User Authentication).
– Assigning a role to the teacher (e.g., Module Leader, Instructor) with appropriate
permissions (defined in section 2.2).
2. Edit Teacher:
• The admin should be able to edit existing teacher information, including name, email
address, and potentially assigned role.
Content Management
3. Add Module:
• The admin should be able to add new modules to the platform.
• This functionality should include:
– Defining the module name and description.
– Assigning a module leader (teacher) responsible for managing the content.
4. Edit Module:
• The admin should be able to edit existing module information, including name, descrip-
tion, and assigned module leader.
Student Management
5. Add Student:
• The admin should be able to add new students to the platform manually.
• The admin should be able to upload student data from a CSV file.
• The system should validate the uploaded data format and ensure required information
(e.g., name, email) is present.
1. Add Chapter:
• The teacher with the module leader role should be able to add new chapters to a module.
• This functionality should require defining a chapter name and description.
• The system should enforce file size limitations for uploaded documents and videos.
• Uploaded documents should be converted to a format suitable for online viewing within the
platform (if necessary).
Figure 3.5: Sequence Diagram depicting Adding New Chapter
Responsiveness
Less response time should be there so that students and faculty should feel good while using this
virtual classroom system.
Availability
24 X 7 availability should be there so that students can use it at any time according to his conve-
nience.
Scalability
Number of users supported in the class will mainly depend on the server load, server processing
capacity and its memory. It should scale maximum number of users.
Security
• HTTPS enables access to web application to secure access of confidential data (student infor-
mation).
• Database Access: There will be no external access to the database, except through the XML
protocol.