Software Requirement Specification (SRS) - Akila-Nipo/CLASS_ROUTINE_MANAGEMENT_SYSTEM GitHub Wiki

1 | Introduction

Class Routine Management System

Recognizing the significance of efficient routine management, our Class Routine Management System aims to revolutionize the way schedules are managed. A dynamic routine management system that automates the scheduling process From educational institutions to corporate environments, the task of creating schedules and managing time is crucial. For instance, constructing a department’s class timetable demands substantial effort and precision, as the arrangement must align with the preferences of all users. Traditionally, this process involves manual efforts and consumes a significant amount of time.The laborious and challenging task of manually creating class timetables, which involves considerations such as teacher allocations, course timings, and avoiding conflicts, becomes significantly easier.

1.1 | Purpose

The primary purpose of developing the Class Routine Management System is to streamline and enhance the process of creating, managing, and communicating class schedules within universities. The system aims to offer a dynamic and automated approach to routine generation, ensuring optimal resource utilization, minimizing conflicts, and promoting effective communication between teachers, students, and administrative personnel.

1.2 | Intended Audience

The target audience for this SRS includes a range of stakeholders involved in different aspects of the software development process and system utilization:

  1. Developpers: Responsible for coding and mplementing the system’s features and functionalities.
  2. Testers: Professionals verifying the system’s behavior against the specified requirements.
  3. Project Manager: Individuals overseeing the project’s planning and execution.
  4. Teacher: Educational professionals who will interact with the system for communication, scheduling, and task-assignment management.
  5. Students: Users who will access the system to view class schedules, submit assignments, and receive exam/class related notifications.
  6. Administration: Individuals responsible for maintaining and managing the system’s database and overall functionality.
  7. Sales and Marketing Teams: Teams promoting the system’s benefits and features to potential users and institutions.

1.3 | Intended Use

The intended audience comprises various roles, each utilizing the system to enhance their specific responsibilities and contribute to the effective functioning of the institution.

  1. Developers and Testers: Developers and testers are key players in the software development process. They will access the Software Requirements Specification (SRS) to gain an understanding of the system’s functional and non-functional requirements. Developers will refer to the SRS to guide the coding and implementation of the system, while testers will utilize it to design test cases and ensure the system meets quality standards.
  2. Project Managers: Project managers hold a crucial role in overseeing the development and implementation of the Class Routine Management System. They will use the SRS to align project goals, monitor progress, and ensure that the final product aligns with the defined requirements. The SRS serves as a reference point for project planning, resource allocation.
  3. Leadership Teams, Sales, and Marketing: Leadership teams, sales, and marketing departments are stakeholders interested in the system’s features and benefits. They will refer to the SRS to understand the system’s potential for enhancing educational experiences, improving communication, and attracting potential students. The SRS assists them in aligning promotional strategies and highlighting the system’s value proposition.
  4. Administrators: Administrators are responsible for ensuring the efficient operation of the departments. They will refer to the SRS to understand how the system streamlines routine management, facilitates communication, and optimizes resource allocation. The SRS assists them in making informed decisions regarding system adoption, customization, and integration into existing workflows.
  5. Teachers: Teachers are primary users of the system, relying on it to manage class schedules, assignments, and communication with students. They will access the SRS to grasp the functionalities that empower them to request rescheduling, communicate with students, access lecture materials, and track course progress. The SRS guides them in utilizing the system to enhance their teaching efficiency and effectiveness.
  6. Students: Students are key beneficiaries of the system, utilizing it to access class schedules, submit assignments, and receive notifications. They will refer to the SRS to understand how the system simplifies task management, enhances communication with teachers and provides a centralized platform for course-related information. The SRS guides students in maximizing the benefits of the system for academic success.

1.4 | Product Scope

The Class Routine Management System is a comprehensive software solution designed to make the scheduling and management of class routines within universities easier. This system encompasses a wide features, including user registration, personalized dashboards, notifications, rescheduling requests, communication channels and a submission portal for assigned tasks.

  1. The system eliminates manual scheduling efforts, reducing the time and resources required for routine creation and adjustments.
  2. Notifications, announcements, and communication channels facilitate interaction between teachers, students, administrators.
  3. Efficient allocation of teachers, classrooms and courses ensures a well organized and conflict-free routine.

Objectives:

  1. Develop a smart routine management system that automates the scheduling process based on provided data.
  2. Provide a user-friendly interface accessible to teachers, students, administrators.
  3. Facilitate timely communication and notifications regarding class schedules, changes, and updates.
  4. Enable teachers to request rescheduling of class timings.
  5. Offer administrators tools to review and resolve conflicts, ensuring an optimized routine.
  6. Enable secure user registration, login, and logout functionalities.
  7. Allow modification of batch-related information for accurate record keeping.

Goals:

  1. Reduce manual efforts and time invested in routine management.
  2. Minimize scheduling conflicts and errors through intelligent algorithms and conflict resolution mechanisms.
  3. Provide a dynamic and adaptable solution that meets the diverse needs of different academic departments.

Business Goals: The Class Routine Management System directly aligns with the broader business goals of universities. By streamlining routine management, enhancing communication, and optimizing resource allocation, the system contributes to the institution’s commitment to providing an enriching learning experience. The system’s automation ensures time and cost savings.

2 | OVERALL DESCRIPTION

2.1 | User Classes and Characteristics

The Class Routine Management System serves distinct user classes, each with specific characteristics and roles within the universities. These user classes encompass a wide range of responsibilities, from routine management to communication and decision-making.

  1. Teachers: a. [a] Characteristics: Educators responsible for delivering lectures, assigning tasks, and monitoring student progress.
  2. Students: [a] Characteristics: Learners enrolled in various courses, attending classes, completing assignments, and engaging in academic activities.
  3. Administrators: [a] Characteristics: Responsible for overseeing and managing the educational institution’s operations.
  4. Exam Committee: [a] Characteristics: The members of the Exam Committee rely on the system to schedule and manage final exams, monitor the progress of course coverage and ensure that the exam schedules align with the syllabus and curriculum.

2.2 | User Needs

The Class Routine Management System serves distinct user classes, each with specific characteristics and roles within the universities. These user classes encompass a wide range of responsibilities, from routine management to communication and decision-making.

  1. Teachers: a. [a] Needs: Efficient routine management, clear communication channels for communicating with students, timely updates.
  2. Students: [a] Needs: Clear schedules, assignment submission portal, communication tools, batch-specific updates.
  3. Administrators: [a] Needs: Conflict resolution tools, oversight of routine management, system administration capabilities.
  4. Exam Committee: [a] Needs: Real-time course progress monitoring,exam scheduling.aligning exam dates with syllabus coverage.

2.3 | Operating Environment

The Class Routine Management System operates within a specific technological and organizational environment and aims at providing a better experience for users across different devices and platforms. The system’s operating environment encompasses the following aspects:

  1. Web-Based Platform: The system is designed as a web-based application, accessible through modern web browsers.
  2. Internet Connectivity: Reliable and stable internet connectivity is essential for users to access the system’s features and functionalities. Users should have access to the internet to navigate the system, receive notifications and submit assignments.
  3. Hardware Requirements: Users’ devices should meet basic hardware requirements, including sufficient processing power, memory, and display capabilities to ensure a smooth user experience.
  4. User Training and Support: The operating environment should include provisions for user training and technical support to help users navigate the system effectively and address any challenges they may encounter.

2.4 | Constraints

  1. The system should be developed in a specific programming language.
  2. We assume that all the users of this system have institutional email.
  3. We assume that for any case for the lecture materials sharing the system has enough memory to share big files.
  4. The response time of system should be less than 1 second.
  5. We assume that there are enough classrooms in the departments to manage the case of any contradiction of time in the routine.
  6. Make up classes for more than one course cannot be managed due to strict schedule of classes.

2.5 | Assumptions

  1. The system maybe unavailable if the internet server is down.
  2. Users, including teachers, students, and CRs, are assumed to have a basic level of digital literacy and familiarity with web-based applications, allowing them to navigate the system’s features and functionalities.
  3. It is assumed that administrators and relevant personnel will update the system’s database promptly to reflect changes in course schedules, teacher assignments, and classroom availability. Delays in data updates may lead to inconsistencies in the generated routines.
  4. Users are assumed to actively engage with the system, regularly checking notifications, accessing dashboards, and submitting assignments. Low user engagement may limit the system’s effectiveness in achieving its intended goals.
  5. We assume that for any case for the lecture materials sharing the system has enough memory to share big files.
  6. We assume in case if any teacher comes or leaves for higher studies in the mid of the course the system should update the course related info as soon as possible.
  7. We assume that there are enough classrooms in the departments to manage the case of any contradiction of time in the routine.

3 | Requirements

3.1 | Functional Requirements in the form of User Story

As an admin, I want to create, reactive and update user accounts so that only authorized users can access the system.

Confirmation:

  1. Add Account: Check if the account already exits while creating a new account.

    [a] check provided institutional mail to confirm if the user has already an account(only institutional mails are required to open an account).

    [b] Allow to create account if the user hasn’t any previously registered accounts.

    [c] Prevent from creating accounts for the user trying to open a second account.

  2. Confirm that the user has given the correct input for the role he wants
    to use the system(teacher/student,name,batch etc.)

    [a] Send error message in case the user gives wrong role.

  3. Delete Account:

    [a] Accounts of expelled students will be deactivated.

    [b] Accounts of graduated students will be deactivated.

    [c] Accounts of retired teachers will be archived.

  4. Update Account:

    [a] The admin will have the authority to update the accounts of users on their requests(For example, if a student who wants to take retake and requires to update his batch info, can request the admin to update his info).

    [b] Grant the request only upon successful verification.

As an admin, I want to have a personalized dashboard so that I can monitor, manage the activities and receive requests for any updates from the users.

Confirmation:

  1. Show the current batches and the list of enrolled students in those batches.

  2. Show the year wise list of all courses

    [a] Show the list of enrolled students.

    [b] Allow to assign teacher(s) in a specific course.

    [c] Allow to remove teacher from any course.

    [d] Allow to add student.

    [e] Allow to remove a student who wants to take retake.

  3. Allow to archive courses.

  4. Allow to send any important announcements to the batches/teachers

  5. Show a notification panel where users might send requests to reschedule class timings.

As an admin, I want to respond to the requests to reschedule classes according to the available slots.

Confirmation:

  1. If a teacher confirms to take class in his scheduled timing, admin should update the status of the class to ’booked’ and reflect the changes immediately in the class routine.

  2. If any teacher cancels any class,the status of the slot will be made ’vacant’.

  3. If the teacher requests to reschedule class timing-

    [a] assign a class at an available time.

    [b] send notifications to the concerned teacher and the students about time and room number of the newly assigned class.

    [c] Vacant the previously scheduled slot of the class and reflect the changes in the class routine.

As an exam committee, I want to collect progress report of all the batches so that I can prepare the exam routine of the semester final.

Confirmation:

  1. Show Current Batches.

  2. Collect Batch wise progress.

    [a] allow a two way communication channel to contact teachers and students.

  3. Notify all the concerned batches and teachers about the upcoming exam dates.

  4. Send the tentative exam date to the admin.

  5. Send the exam routine to the Admin(from where he can inform the concerned batches and teachers)

As a teacher,I want to have a personalized dashboard so that I can view my assigned classes,class timings and receive notifications regarding any updates.

Confirmation:

  1. Show the class schedule for the day.

  2. Notification Panel Section:

    [a] Send notifications about class timing and room no.

    [b] Send notifications regarding any updates to the schedule.

  3. Show batch wise course lists:

    [a] Show the lists of enrolled students in that batch.

    [b] Provide a communication stream to allow maintain two way communication with students.

    [c] Provide a task assignment section where a teacher can assign tasks to students.

     i. Allow to check the status of works of the students' submitted/pending.
     ii. Send reminders accordingly.
    

As a teacher, I want to have a communication channel so that my students are informed with any latest updates from me and also I can address their queries.

Confirmation:

  1. Allow an announcement section where a teacher can announce any important notice to the students.

  2. Allow a stream where a teacher can post lecture contents/necessary files

    [a] Allow students to comment on the posted content.

  3. Provide a task assignment section where the teacher can assign tasks to students

    [a] Allow to check the status of works of the students' submitted/pending.

    [b] Send reminders accordingly.

    [c] Provide an option to send marks/remarks.

As a student,I want to have a personalized dashboard so that I can have a clear overview of the schedule of the day and stay updated to all the important messages send by the teacher.

Confirmation:

  1. Show the class schedule for the day.

  2. Notification Panel Section:

    [a] Send notifications about class timing and room no.

    [b] Send notifications regarding any updates to the schedule.

  3. Show the lists of enrolled courses

    [a] Show the assigned teacher of the particular course.

    [b] Provide a communication stream where a student can see important announcements from the teacher as well as he can ask questions.

    [c] Provide a submission portal where a student submit the tasks assigned to him by the teacher

     i. Send notifications whenever teacher assigns any task.
     ii. Allow to check the status of works submitted/pending.
     iii. Send reminders accordingly.
    

As an user, I want to login to the Class Routine Management System so that I can access the system using my credentials.

Confirmation:

  1. If the user had logged out in his last session,redirect the user to the login page.

  2. If the user didn’t log out in the previous session and the duration of login session is over, then redirect the user to the login page

  3. Login Page:

    [a] Check if the user wants to remember the session and save his credentials accordingly for a limited time period.

    [b] check if login from any unknown device is attempted and send confirmation mail and confirmation message to contact number of the user immediately.

    [c] If user forgets his password:

     i. Send an OTP code to user’s contact number.
     ii. Send an email where the user requires to enter the OTP code sent to his contact number.
     iii. If the confirmation steps are validated, then allow to login through email.
     iv. ask if the user wants to reset his password.
     v. if the user resets his password,update his password in the database.
    
  4. If login duration hasn’t exceeded the session, then redirect the user to the login page.

  5. If any suspended student attempts to login , then the system will prevent him from logging in.

As an user,I want to register into the Class Routine Management System so that I can gain access to perform my administrative functionalities efficiently.

Confirmation:

  1. Check if the user has filled all the required fields-Name,Institutional Mail.

  2. It will be mandatory for the user to provide a secondary email and contact number.

  3. It will be mandatory for the user to take a security question(along with providing answers).

  4. The system will check if the password and retyped password are same or not.

  5. After verifying all the information,the user’s account will be created upon approval from the admin panel.

3.2 | Non Functional Requirements

The non-functional requirements of the project include:

  1. The system should give a session of at most 2 days for one login. After 2 days the system should timeout to prevent unauthorized access.
  2. User passwords should be securely stored in the database to prevent unauthorized access to user accounts.
  3. The time taken to generate an update classes schedule should be optimized to reduce wait time.
  4. The time taken to grant a rescheduled class timing should not be more than 5 minutes.
  5. Users (faculty, students, and Exam Committee) will actively engage with the platform and provide timely updates and feedback.
  6. The response time of the system should be less than 1 second.
  7. The system should be able to handle many users concurrently without significantly performance degradation.