EXAM PLANNING SYSTEM PROJECT

INTRODUCTION

 

The Exam Planning System is designed to streamline the process of organizing and managing exams within an educational institution. It ensures efficient scheduling, allocation of resources, and coordination among different stakeholders.

 

SYSTEM OVERVIEW

 

The Exam Planning System consists of the following main entities (you can have more):

 

Employee: Represents individuals involved in the exam process.

 

Department: Represents academic departments within the university.

 

Faculty: Represents faculties within the university.

 

Courses: Represents individual courses offered by the university.

 

Exam: Represents scheduled exams.

 

USER ROLES AND RESPONSIBILITIES

 

The system defines the following user roles:

 

Assistants:

 

Responsible for proctoring exams.

 

View their weekly program in table format.

 

Select the courses s/he will attend.

 

Secretaries:

 

Responsible for creating exams of his/her department inserting exam name,

 

exam date, exam time, and number of classes that will be used in the exam.

 

Responsible for inserting course information of the corresponding department

 

into the system.

 

Match assistants in the department with exams fairly.

 

Head of Department:

 

Oversees the entire exam schedule of the department on a list.

 

Views the report of the workloads of department’s assistants.

 

Head of Secretary:

 

Responsible for creating exams of the faculty inserting exam name, exam date,

 

exam time, and number of classes that will be used in the exam.

 

Responsible for inserting course information of corresponding faculty into the

 

system.

 

Match assistants of the faculty with exams fairly.

 

Dean:

 

Oversees the entire exam schedule of the whole faculty.

 

DETAILED FUNCTIONALITIES FOR EACH USER ROLE

 

The system must have a login page where users can authenticate with their username and password. Please add a “forgot password” functionality. After authentication, each user has to be welcomed by his or her name, which is the title of the page. The page layout must be designed according to the functionalities assigned in the previous chapter.

 

THE PAGE FOR ASSISTANT

 

On the page (or pages) for the assistant role, there should be some drop-down menus consisting of courses that the assistant could select the courses she/he has registered for. This selection aims to enter the system that assistant is not available at that time slot. System should know the timeslot of the courses from course table.

 

The weekly plan of the assistant, which includes exams and courses, should be displayed on a table. Table should look like a weekly course program where timeslots are the titles of the rows and days are the titles of the columns. You should add a button to refresh the table. The system must autofill the weekly plan of assistants with the courses they attend and exams they are appointed to.

 

THE PAGE FOR SECRETARIES

 

On the page (or pages) for the secretary role, there should be some drop-down menus in order to select the course whose exam will be inserted into the system. There should be some input areas to insert exam information like date, time, and how many assistants are needed. After this information is entered, there should be a list showing the least-scored assistants should be selected according to the given input. Scores should be calculated for each assistant when they are assigned to an exam. Moreover, the selected assistant should not have an intersecting course with the exam. For example, the secretary of the computer engineering department in the engineering faculty is inserting the below information:

 

CSE348 Spring 30.04.2024 18:00-20:00 2 assistants

 

The system selects 2 assistants from the assistant list who are working for the computer engineering department and prints the selected assistants. The resulting list will be

 

→ John White

 

→ Darren Brown

 

After this operation, John White and Darren Brown will have 1 more score.

 

For course insertion you should use drop-down menus for selecting faculty and department and text inputs for the others. If you want to insert an exam you should insert the course beforehand.

 

Finally, you should design a display for secretaries to list the scores of all assistants.

 

THE PAGE FOR THE HEAD OF THE DEPARTMENT

 

On this page (or pages) you should design a display area for overseeing the entire exam schedule of the department on a list. This list should be displayed in ascending order according to the date and time of the exam.

 

The workloads should be displayed on a table with names and percentages of scores. For example,

 

Assistant1 has a 3, assistant2 has a 5, and assistant3 has a 2 as a score. The resulting table displayed to the head of the department should be like:

 

Assistant Name Percentage
Assistant 1 30%
Assistant 2 50%
Assistant 3 20%

THE PAGE FOR THE HEAD OF THE SECRETARY

 

It is similar to the secretary page, but the head of the secretary will insert the faculty courses into the system and can assign the exams to all assistants in all departments under the faculty.

 

THE PAGE FOR THE DEAN

 

On this page, there should be a drop-down menu listing the departments under faculty. When the department is selected there should be a list of exams like in the head of the department page.

 

REPORTING AND DEMO

 

You should design the database with at least the given entities. You will decide the

 

attributes for each entity. Create the ER diagram of the database. You should create your

 

tables according to the ER diagram you draw. You should justify your design choices.

 

For each table, you should insert a minimum of 5 data when you create the database and

 

tables. You should use SQL queries for these insertions.

 

Save all your “create database”, “create table”, and “insert into” queries into an SQL file

 

to submit (like insertData.sql file).

 

Use concepts like joins, subqueries, and other sql features.

 

Submit an ER diagram, an SQL file, and some PHP and HTML files.

 

Hint: To store user information, you may want to use the SESSION variable in PHP.

 

Assignment – Copy