Exp-2 doc
Exp-2 doc
Introduction
1.1 Purpose
This SRS document outlines the requirements for an Online Course Registration System that
will manage the registration process, course selection, and schedule management for
students in an educational institution.
1.2 Scope
The software will allow users to:
Input, store, and manage course registration data.
Generate reports for course enrollment analysis.
Enable role-based access for students, teachers, and administrators.
2. Functional Requirements
User Roles:
oStudent: Register for courses, view course schedules, and manage personal
course enrollment.
o Teacher: View course enrollment, manage class lists, and communicate with
enrolled students.
o Admin: Manage courses, schedules, and user roles; generate institution-wide
registration reports.
Features:
o Course Registration: Students can search for courses, register, and drop
courses within the system.
o Schedule Management: The system generates individual schedules based on
registered courses.
o Role-based Access Control: Access is restricted based on user roles.
o Course Availability Tracking: Tracks and updates course availability in real-
time based on registration activity.
3. Non-Functional Requirements
Usability: Interface should be intuitive and easy to navigate for all user roles.
Performance: Fast processing for course search, registration, and schedule
generation.
Security: Ensure user data protection and restricted access.
Scalability: Able to handle a large number of students and courses.
4. System Requirements
Hardware: Standard PC with internet access.
Software: Web-based application compatible with modern browsers.
Database: MySQL or equivalent.
Design Document
1. Introduction
This document outlines the design of the Online Course Registration System, including the
architecture, components, and data flow necessary to implement the software effectively.
2. System Architecture
Client-Server Architecture: The system will follow a client-server architecture,
where clients (students, teachers, and admins) interact with the system via a web
browser, and the server handles data processing, storage, and management.
Components:
1. Frontend (Client Side):
Developed using HTML, CSS, JavaScript, and a frontend framework
like React or Angular.
Responsible for user interface and input validation.
2. Backend (Server Side):
Built using a framework like Node.js or Django.
Handles business logic, course registration, and user authentication.
3. Database:
A relational database like MySQL stores user information, course
data, and registration records.
3. Module Design
User Module:
o Student: Register for courses, manage schedules.
o Teacher: View course enrollment, manage class lists.
o Admin: Manage courses, access comprehensive registration reports.
Course Registration Module:
o Implements algorithms to check course availability, manage waiting lists, and
update schedules upon registration or withdrawal.
Schedule Generation Module:
o Generates and updates individual schedules for students based on their course
registrations.
o Process: The backend processes course data and fetches relevant scheduling
information from the database.
o Output: Schedules are displayed to users based on their roles.
5. Database Design
Entities:
1. User: Stores user credentials, roles, and personal information.
2. Course: Stores course information including availability, schedule, and
prerequisites.
3. Registration: Stores student registration records for each course.
4. Schedule: Stores generated schedules for retrieval.
Relationships:
o One-to-many between users and registrations.
o One-to-many between courses and registrations.
1. Introduction
This document outlines the testing strategy for the Online Course Registration System. The
purpose of this testing phase is to ensure the system meets the defined requirements and
functions as expected.
2. Testing Strategy
Unit Testing: Test individual modules such as course registration, schedule
generation, and user authentication.
Integration Testing: Ensure that different system modules (e.g., course registration
and schedule generation) work together seamlessly.
System Testing: Validate that the system meets all functional and non-functional
requirements by testing the entire workflow.
User Acceptance Testing (UAT): Real users (students, teachers, and admins) will
test the system to confirm it meets their needs and is user-friendly.
3. Test Cases
TC01: Verify successful login for students, teachers, and admins.
TC02: Validate accurate course registration and schedule generation.
TC03: Check course availability updates and registration process.
TC04: Ensure role-based access control is functioning correctly (e.g., students can
only register for courses they are eligible for).
TC05: Confirm data security (e.g., registration data is not accessible by unauthorized
users).
4. Test Environment
Hardware: Standard PCs or mobile devices.
Software: Web browsers (Chrome, Firefox, Safari) and backend testing tools
(Postman for APIs).
Database: MySQL.
5. Defect Tracking
Defects found during testing will be logged and tracked using a bug-tracking tool like JIRA
or Bugzilla. Each defect will be assigned severity, priority, and tracked until resolved.