Src
Src
(AUTONOMOUS) TIRUCHENGODE-637215
E-LEARNING PLATFORM
60CS403-SOFTWARE ENGINEERING
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
Submitted by
GOKUL G (2303737710421012)
KAVIN M (2303737710421022)
System Description
2.1 System Overview
2.2 User Classes and Characteristics
2.3 System Features
2.3.1 User Registration and Login
2.3.2 Course Creation and Management
2.3.3 Enrollment and Profile Management
2.3.4 Live Classes and Video Lectures
2.3.5 Assignments and Assessments
2.3.6 Discussion Forums and Messaging
2.3.7 Progress Tracking and Certification
2.4 Operating Environment
Functional Requirements
3.1 User Registration and Login
3.2 Course Creation and Management
3.3 Enrollment and Course Access
3.4 Live Classes and Lecture Access
3.5 Assignment Submission and Grading
3.6 Progress Tracking and Certification
Non-Functional Requirements
4.1 Performance
4.2 Scalability
4.3 Security
4.4 Usability
System Architecture
6.1 Frontend Technologies
6.2 Backend Technologies
6.3 Database Architecture
3
6.4 Authentication and Security
6.5 Notification and Messaging System
Payment Gateway
7.1 Integration Details
7.2 Compliance and Security
Appendices
9.1 Glossary
9.2 Revision History
4
1. Introduction
Purpose
The purpose of this document is to define the software requirements for the E-Learning Platform (ELP). This
document specifies the system’s core functionality, design constraints, user roles, and operational requirements. The
objective of ELP is to create an accessible, interactive, and user-friendly digital platform that facilitates online
learning, course management, assessment delivery, and student-instructor engagement for educational institutions and
independent educators.
Scope
The E-Learning Platform (ELP) will automate and support the following core educational activities:
Course Creation & Management: Allowing instructors to create, organize, and update course content,
including videos, documents, quizzes, and assignments.
User Enrollment & Profiles: Enabling students and instructors to register, manage profiles, and enroll in
courses based on eligibility and interests.
Live Classes & Video Lectures: Supporting real-time virtual classrooms and recorded lectures, integrated
with video conferencing APIs.
Assignments & Assessments: Facilitating submission, automated grading, and feedback on assignments and
quizzes.
Discussion Forums & Messaging: Enabling peer-to-peer and student-instructor communication through
forums and direct messaging.
Progress Tracking & Certificates: Offering dashboards to track progress, performance analytics, and issue
completion certificates.
Admin Controls: Providing platform administrators with tools to manage users, content, roles, and system
settings.
The platform will be accessible via web and mobile applications, and will include administrative and instructor
dashboards for backend management.
References
Overview
This document is structured to cover functional and non-functional requirements, use case scenarios, user roles,
interface descriptions, and system models. It serves as the foundation for developers, testers, and stakeholders to
understand the full capabilities and expectations of the E-Learning Platform (ELP).
2. System Description
System Overview
The E-Learning Platform (ELP) will enable students and instructors to engage in digital learning through an
interactive and scalable online environment. The system allows instructors to create and manage courses, while
students can enroll in courses, attend virtual classes, submit assignments, and receive feedback. The platform will also
include administrative tools for managing users, monitoring system usage, and generating reports. ELP will integrate
with video conferencing tools, payment gateways (for paid courses), and notification services for a seamless learning
experience.
Students: End-users who register for courses, view lectures, participate in discussions, complete assessments,
and receive certifications.
Instructors: Users responsible for creating course content, hosting live classes, evaluating student
submissions, and managing course forums.
Administrators: System admins who oversee platform operations, manage users and permissions, generate
usage analytics, and ensure policy compliance.
System: Core components of the platform including web/mobile interfaces, backend servers, APIs, third-
party integrations (e.g., video conferencing, payment systems).
System Features
Description: All users must register and log in to access the platform’s features.
Functional Requirements:
o Email/phone-based account creation with OTP verification.
o Role-based login (student/instructor/admin).
o Password recovery and reset functionality.
o Multi-factor authentication for secure access.
6
Course Creation and Management
Description: Instructors can create courses by uploading modules, documents, videos, and quizzes.
Functional Requirements:
o Drag-and-drop or guided course builder for creating structured modules.
o Support for multimedia content (PDF, DOCX, MP4, YouTube embeds).
o Version control for course updates.
o Course preview and publish/unpublish options.
Description: Integration with video conferencing tools to facilitate live online classes and access to recorded
lectures.
Functional Requirements:
o Schedule and notify students of upcoming live sessions.
o Record live classes for on-demand viewing.
o Integration with Zoom, Microsoft Teams, or Jitsi.
Description: Instructors can assign quizzes and tasks, and students can submit responses for grading.
Functional Requirements:
o Auto-grading for multiple-choice and objective-type questions.
o Manual grading with feedback for written responses.
o Late submission penalties and time-bound access.
Description: A platform-wide forum for each course and a private messaging feature for direct interaction.
Functional Requirements:
o Threaded discussions for courses.
o Moderation tools for instructors and admins.
o Notifications for replies, mentions, and private messages.
7
Progress Tracking and Certification
Description: Students can view their course completion percentage, quiz scores, and receive digital
certificates.
Functional Requirements:
o Dashboard view of enrolled courses, scores, and upcoming tasks.
o Criteria-based automatic certification generation.
o Downloadable, verifiable certificates in PDF format.
Operating Environment
ELP will be a cloud-based web and mobile application accessible via modern browsers and Android/iOS apps. The
platform will be built with a responsive front-end and a secure RESTful backend API.
Hardware Requirements: Scalable cloud infrastructure (e.g., AWS, Azure) capable of supporting at least
50,000 concurrent users.
Software Requirements:
o Frontend: React.js or Angular
o Backend: Node.js, Django, or Spring Boot
o Database: PostgreSQL or MongoDB
o Authentication: OAuth 2.0, JWT-based security
o Video Integration: Zoom SDK, Jitsi, or WebRTC
o Payment Integration (for premium content): Stripe, Razorpay, or PayPal
o Notifications: Firebase Cloud Messaging or Twilio SMS API
3. Functional Requirements
User Registration and Login
Requirement:
o Users must register and log in using a secure authentication process that includes email verification
and optional multi-factor authentication (MFA).
Requirement:
o Instructors must be able to create and organize courses, upload content (videos, documents, quizzes),
and manage course settings.
o Courses should support drafts and publishing workflows.
Requirement:
o Students can browse, search, and enroll in courses.
o Access to content is granted based on enrollment status.
8
Live Classes and Lecture Access
Requirement:
o The system must support scheduling and hosting live sessions via integrated video tools.
o Students can access recorded lectures post-session.
Requirement:
o Students can submit assignments, and instructors can grade them and provide feedback.
o Auto-grading must be supported for objective assessments.
Requirement:
o Students can track their learning progress, view scores, and receive downloadable certificates upon
course completion.
4. Non-Functional Requirements
Performance
Scalability
The system must scale horizontally via containerized deployment or cloud auto-scaling to accommodate
growing users or institutions.
Security
Usability
The interface should be user-friendly and responsive, supporting mobile and desktop usage.
Must adhere to WCAG 2.1 standards for accessibility.
Support localization with multi-language support.
9
5. External Interface Requirements
Payment Gateway
Requirement: Integration with third-party payment providers (e.g., Stripe, Razorpay) for paid courses or
certifications.
Requirement: Integration with Zoom, Microsoft Teams, or Jitsi for live classes.
Admin Dashboard
Requirement: Web-based dashboard for managing users, courses, payments, feedback, and generating
reports.
6. System Architecture
Frontend: React.js or Angular for modern, responsive UI.
Backend: Microservices architecture using Node.js or Java (Spring Boot).
Database: PostgreSQL or MongoDB for structured/unstructured content.
Authentication: OAuth 2.0 with JWT support.
Notifications: Integrated with Firebase Cloud Messaging and Twilio.
7. Payment Gateway
The system will support secure integration with PayPal, Stripe, or other verified payment APIs.
All payment data will be handled per PCI-DSS compliance.
9. Appendices
Glossary
Revision History
System Components
12
Use Case Diagram:
System
Administrator
student register/login
Instructor
manage users(std,inst)
manage courses
generate reports
e-learning system
13
Sequential diagram:
14
Class diagram:
15