(LMS) 1. Introduction 1.1 Purpose The purpose of this Software Requirements Specification (SRS) is to define the functional and non-functional requirements for the development of a Learning Management System (LMS). The LMS is designed to facilitate quiz and test creation, automated grading, feedback, randomized questions, timer functionality, progress tracking, and the creation of a question bank. 1.2 Scope This document outlines the key features and functionalities of the LMS, serving as a guide for the development team to create the Minimum Viable Product (MVP) for this system. 2. System Overview The LMS will consist of two main user roles: Instructors and Students. Instructors will have the capability to create assessments, manage a question bank, and review student progress. Students can access assessments, complete them, and track their scores and progress. 3. Functional Requirements 3.1 User Management • FR-1: Users can register for the system with a valid email address and password. • FR-2: Registered users can log in to the system. 3.2 Quiz and Test Creation • FR-3: Instructors can create assessments, specifying the assessment title, description, and time limit. • FR-4: Instructors can add questions to assessments. • FR-5: Questions can be of multiple types, including multiple-choice, fill in the blanks, true/false, matching exercises, short answer, long answer, and essay questions. • FR-6: Instructors can choose questions from the question bank to include in assessments. 3.3 Grading and Feedback • FR-7: The system automatically grades assessments based on the selected question types. • FR-8: Instructors can manually review and adjust grades if necessary. • FR-9: Students receive instant feedback after completing an assessment. 3.4 Randomized Question Order • FR-10: Instructors can enable the randomization of question order in assessments to ensure uniqueness for each student. 3.5 Timer Functionality • FR-11: Instructors can set a timer for each assessment. • FR-12: Students taking assessments see a timer display to manage their time effectively. 3.6 Progress Tracking • FR-13: Students have access to a dashboard to track their progress. • FR-14: Students can view their scores for each assessment. • FR-15: Instructors can access students' assessment results for evaluation and feedback purposes. 3.7 Question Bank • FR-16: Instructors can create a question bank to store questions. • FR-17: Instructors can categorize and organize questions within the question bank. • FR-18: Instructors can select questions from the question bank when creating assessments. 4. Non-Functional Requirements 4.1 Technology Stack – SUBJECTED TO CHANGE • NFR-1: The system will be developed using HTML, CSS, JavaScript, React for the frontend, and Node.js with Express.js for the backend. • NFR-2: The database will be MongoDB. • NFR-3: User authentication will be handled using JSON Web Tokens (JWT). • NFR-4: Real-time features (optional) will be implemented using WebSockets or WebRTC. 4.2 User Experience • NFR-5: The system will have a user-friendly and responsive design to ensure access from various devices, including mobile and tablet. 5. Additional Features (Optional for MVP) • AF-1: User profile management for instructors and students. • AF-2: Course management and content upload for instructors. • AF-3: Analytics and reporting for both instructors and students. • AF-4: Discussion forums or messaging features for communication. 6. Conclusion This Software Requirements Specification (SRS) outlines the key features, functional and non-functional requirements for the development of the Learning Management System (LMS). This document serves as a reference for the development team to implement the MVP of the LMS and can be expanded upon based on user feedback and future development needs.