123 (1) Organized (1) Organized

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

R.S.B.V.

Gandhi Nagar

ACADEMIC YEAR: 2023-24


Student management system
PROJECT REPORT ON
NAME: SUMIT PANDEY
CLASS: XI
SUBJECT: COMPUTER SCIENCE
SUB CODE : 083
TEACHER INCHARGE: Mr. NIKHIL AGGARWAL
R.S.B.V. Gandhi Nagar

Department of Computer Science


CERTIFICATE
This is to certify that SUMIT PANDEY, a student of class 11th B has
successfully completed the research on the project under the
guidance of Mr. NIKHIL AGGARWAL subject teacher during the year
2023-24 in partially fulfilment of Computer Science Practical
examination.

Subject Teacher Principal / school Stamp


Index

 Introduction
 Objective
 Procedure
 Screen Shots
 Source Code
 Conclusion
 Bibliography
Introduction to Student management system

A student management system (SMS) is a software application that helps


schools and educational institutions manage student data and streamline
administrative tasks. SMS can be used to track student progress, generate
reports, and provide communication tools for students, parents, and
teachers.
Python is a popular programming language for developing SMS applications
due to its simplicity, versatility, and large community support. In this
article, we will provide a comprehensive guide on how to develop a student
management system project in Python.

The student management system is an environment where all the process of


the student in the institution is managed. It is done through the automated
computerized method. Conventionally this system is done using papers, files,
and binders.

This system saves the time of the student and of the administrator. It
includes processes like registration of the student’s details, assigning the
department based on their course, and maintenance of the record. This
system reduces the cost and workforce required for this job. As the system
is online the information is globally present to everyone.

This makes the system easy to handle and feasible for finding the omission
with updating at the same time. As for the existing system, they use to
maintain their record manually which makes it vulnerable to security. If
filed a query to search or update in a manual system, it will take a lot of
time to process the query and make a report which is a tedious job.

As the system used in the institute is outdated as it requires paper, files,


and binders, which will require the human workforce to maintain them. To
get registered in the institute, a student in this system should come to the
university. Get the forms from the counter while standing in the queue
which consumes a lot of the student’s time as well as of the management
team.

As the number of the student increases in the institute manually managing


the strength becomes a hectic job for the administrator. This computerized
system stores all the data in the database which makes it easy to fetch and
update whenever needed.

objective

The objective of this project is to provide students with a comprehensive


and efficient solution for managing their academic records and streamlining
their administrative tasks. The project will involve the development and
deployment of a Python-based student management system (SMS) that
offers a wide range of features, including:

 Student management: This includes storing and managing student


information, such as personal details, academic records, and
attendance.
 Course management: This includes storing and managing course
information, such as course name, description, instructor, and
schedule.
 Grade management: This includes calculating student grades,
generating reports, and tracking student progress.
 Attendance management: This includes tracking student attendance,
generating reports, and identifying students who are at risk.
 Communication tools: This includes providing communication tools for
students, parents, and teachers, such as email, messaging, and
discussion forums.

STUDENT MANAGEMENT

SYSTEM

MODULES OF STUDENT MANAGEMENT

SYSTEM
The system has a different segment to process a specific task which is the
modules. This will help the system to developed easily and makes it more
user-friendly.

Procedure :
The modules of the project are: –

LOGIN MODULE: –

 This will help users to login into the system using institute id and password. A user
who has the valid id and password can only log in to their respective accounts.
 It will help the authentication of the user who enters the system. The module
provides a layer of security over the system as only authorized personnel can login
into the system.
 This prevents any anonymous person to enter the system and mishandle the records.
It is better than the manual method as they do not have any security measure of
who can access the system and who cannot.

REGISTRATION MODULE: –

 In this module, the student will get registered as it is new in the educational
institute. It will be formed like a structure where all the student details will be filled.
 It will have the fields regarding their personal information like date of birth and
address along with that it will also ask its professional details of previous education
if it has.
 As this module is present online, the student can register them from anywhere on
the internet is present. After registration information will go to the admin for
authentication.
 This module will reduce the hectic task of taking multiple forms from the institute
and filling them carefully as any mistake will lead to getting new sets of the forms.

COURSE MODULE: –

 Each student will be able to select various courses present in the system. It will be
published by the administrator under the specific department.
 Every course has the qualification criteria, it will be available to those students who
are eligible for it. The student will pick the course from the given choices according
to his/her interest.

 It will be added to their professional information details. All the courses will be
handled by the department assigned to them by the administrator.

SEARCH MODULE: –

In the institution there will be thousands of students and suppose from this
there is a need to find the detail of specific students. The only information
provided to search is the name of the student. In the manual system, it will
be catastrophic to find the student as it is a very tedious job to do so. But
with the computerized system admin can easily find the specific student by
just typing the name and click the search button.

This module will help the admin in searching the student record for
alteration and maintenance.

ASSIGNMENT MODULE: –

As every course has an assignment that will be given to the student to


complete. Based on these assignments every student will be awarded the
marks. The assignment can of the various types which will be provided to
the student. The student will be able to access the assignment given by the
department that handles the course.

The user will also be able to check the marks he/she got in each exam.
Department can also able to differentiate the assignment into various
categories like quizzes, essays, or report writing. This helps in making the
studies more vibrant for the students.

ATTENDANCE MODULE: –

This module is one of the essential parts of the system as this will act as the
official document of student presence in the institution. It will show the
attendance of the student in every course.
SYSTEM DESIGN OF STUDENT

MANAGEMENT SYSTEM
Once the planning and analysis of the project are completed, the design
phase begins. The goal of system design is to transform the information
collected about the project into the blueprint structure which will serve as a
base while constructing the system. It is considered to be an unwieldy
process as most of the errors are introduced in this phase.

However, if an error gets unnoticed in the later process it may become


difficult to track them down. In our system, we are developing a system
that helps in student management by the institution. It will minimize the
problems faced by both students and the institutes for the duration.

ER DIAGRAM OF STUDENT

MANAGEMENT SYSTEM
Description Above figure shows the E-R diagram of the proposed system.
The ER model defines the conceptual view of a database. It works around
real-world entities and the associations among them. At the view level, the
ER model is considered a good option for designing databases.

So, let’s see each entity in Details-:

ADMINISTRATOR:
 The information of the admin of the institute is stored in this entity. It is stored
data of login and the password. This provides security to the system and keeps the
record of which user entered in the system at what instance of time.
 This entity will have the access to all the entities as it will add the student to the
system.
 This will enter the course in the department and manage them.
It has following attributes:

USERNAME:

It stores the name of the admin which acts as the unique name given to the
manager of the firm. Through this login into the system and the work they
made will be recorded against his name. It will help their seniors to see
what students have the manager brings in the institute and how much of
the task he has completed.

PASSWORD:

This attribute holds the secured keyword given to every manager of the
educational institutions who need access to the system. This should not be
shared with any other member. As it would make any staff employee enter
the system and see the information regarding students which can make
them unbiased.

LOGIN-TIME:

The login time of the admin will be recorded in this field which helps in
tracking the admin performance.

LOGOUT-TIME:

It stores the logout time of the admin from the system.


STUDENTS:

 The essential entity of the system holds the information regarding students. This has
all the attributes required to register a student in the educational institute.
 As the student inputs its information i.e. personal or professional it will be stored in
this entity. It has a relationship with the courses of degree one too many.
 As students will enroll for various courses as per their eligibility so a relationship is
required between both entities.
It has the following attributes: –

S-ID:

Student’s Identity number attribute is a distinct numeric field that will be


given to every student registered in the institute. It helps in making every
student unique throughout the system and helps the administrator.

NAME:

Student name is the personal information of the student. It helps in making


the system friendlier for the user and aids the admin in search or update
the record.

SECTION:

Every student is divided into different segments that belong to the same
course. This helps in making the study more efficient for every student.

EMAIL-ID:

This will store the email id of the student required for sending the urgent
update to a student from the institute.

C-ID:
As many courses can be opted by a student. So, the multivalued attribute
required to store all the reference id of the courses for which the student
has enrolled. Courses Id is, therefore, belonging to course entity.

MOBILE:

The mobile number of the student is an attribute is used as a point of


contact to the student.

ADDRESS:

This field is a composite attribute of the city and the pin code. As the
address required the full location of the student.

DEPARTMENTS:

To manage all the courses, present in the institute there is a need for the
upper house to manage them. It is the body that allows the assignment for
the courses that come from them. This entity will also handle the
attendance of the student in the specific course. As per the requirement
entity will have a relationship with the attendance and courses entity.

Department had to manage the attendance as it is the responsibility of the


division to keep a record of the information of the students who belong to
their courses are coming to attend classes or not. This makes them
informed about the course situation and constructs the roadmap for the
future of each course. Every department also requires allotting the
assignment to each student who has opted for the course.
The allotment should be such that every type of assignment could be given
to each student and no one is left. Admin will manage this entity as it
comes indirectly under the institute.

It has following attributes: –

DEPT-ID:

Department Id is a distinct numeric field. This attribute stores the unique


number given to each department present in the institute. It also helps the
admin in further reference department in other entity rather than giving
full information.

D-NAME:

Department name is string field which holds the name of the department.

COURSES:

There is a requirement in the system to store all the information about the
courses given by the institute. Each course has its properties like which
departments it belongs to or it belongs to which type. When students enroll
for a course, it must check the qualification required for him/her to apply.
As every course has some eligibility criteria which one has to follow to enroll.

It has the following attributes-:

C-ID:

Course identity attribute is the distinct number given to each course given
by the institute. This attribute further aid in giving reference to the course
in the student’s profile. It also eases the entity assignment as they cannot
get all the information every time a new assignment is added for the course.
C-NAME:

Name of the course is stored in the course name attribute.

CT-ID:

Course type id attribute stores the unique identification number that refers
to each type of the course. As the three is various type of course as a minor,
major or optional. A course should be categories to avoid any type of
confusion.

DEPT-ID:

The department identity number attribute is a reference to the department


to which a specific course belongs. It is important to make a relation with
the department so the threads can be pulled when needed.

QUALIFICATION:

Every course has the qualification attribute for which type of qualification a
specific course is needed like for high school national history course would be
used but for intermediate contemporary world history is required.

COURSE TYPE:

This entity is a part of the course entity. Courses can be of various types
based on the credit and value in the world of education. They can easily
categorize the Institute norms like major, minor, optional, and core. As the
student enrolls for the course it must be known to them that what kind, of
course, is it. This makes the system more transparent for both the admin
and the students.
This categorization further hassles out the confusion for the student for
calculating their grades based on the credits. It has relation with the course
entity as the latter owns this entity with the degree of one to many.

The entity has following attributes:

CT-ID:

Course type id attribute stores the unique identification number that refers
to each type of the course. It acts as the primary key for the entity as it is
distinct for each category.

CT-NAME:

The course type name is a string name given to each category to identify
for the student as it becomes difficult for the user to differentiate course
type on the basis of the number. It helps the student in various processes of
registration like selecting the course, they first have to select for which
category they are searching for. Thus, make the system faster and more
reliable in the course search.

ASSIGNMENTS:

Exams or Assignment is required in the system to keep track of the


student’s performances. This helps the institute to construct the roadmap
for the future of its pupils. This entity is in direct relation to the
department. They will manage the assignment given to a student based on
the courses latter have opted for.

It has the following attribute:

ASS-ID:
Every assignment will have a unique number that will be stored in this
attribute. It is required to maintain a record that is unique and distinct. It
helps in removing the redundancy in the record which can create errors
and bugs in the system.

ASS-NAME:

Assignment name is given to each assignment to make it understandable to


the user and make the system more reliable to use.

S-ID:

Is will store the student identification number as reference to students to


whom this assignment is allotted.

ASST-ID:

It holds the information about what category this assignment belongs to


which is further discussed in its own entity description.

C-ID:

This attribute holds the reference id of the course to which an assignment


belongs. It creates the relationship between the course and this entity.

MARKS:

It will hold the marks or the evaluation criteria for the assignment. This
attribute helps in evaluating the student and give them remarks about their
performance.
ASSIGNMENT TYPE:

This entity keeps the record of types of assignments present in the institute.
An assignment can a written exam, project, or group activity. Thus, the
different entity is required to hold the categorize only as this will remove
the repetition of information in the assignment entity.

It has the following attributes:

ASST-ID:

A unique and distinct numeric value given to each type of assignment. It


uses to identify and differentiate each type from another and act as the
primary key to the entity.

ASST-NAME:

Assignment Name is given to each type as it aids the user to identify the
category without mixing them with the assignment given to the student.

ATTENDANCE:

One of the essential parts of the institute to keep track of the student
whether they are attending the classes or not. In the system, this entity will
help them to achieve that goal. It will store the record of each student’s
presence or absence based on the courses they opt for.

It has the following attributes:

S-ID:

It holds the id of the student to whom this attendance belongs.

C-ID:
The course id will be referencing the course whose attendance is recorded.

P/A:

It is a multivalued attribute which shows a number of classes student was


present and absent.

TOTAL CLASSES:

It holds the total classes held for the course of Percentage: It shows the
percentage of students’ presence in class based on total classes held.

USER INTERFACE OF STUDENT MANAGEMENT

SYSTEM

The student management system for the institution eases the admin
problems by providing a user-friendly interface for students and managers.
It does that by designing a simple and easy to interact interface through
which users will not have any problem interacting and queries for the
system.

To show the ease of interaction with system sees the use case diagram of the system:
 In the figure, it is clearly shown how the user is directly interacting with the
registration process. He/she can further go to a home page which gives them various
tabs to navigate.
 Each tab will provide special functionality to the user like for student attendance
will show their percentage of absence and presence for every course they opted or
for admin enroll course help them to add a new course in the institute.
 In the figure, it is clearly shown how the user is directly interacting with the
registration process. He/she can further go to a home page which gives them various
tabs to navigate.
 Each tab will provide special functionality to the user like for student attendance
will show their percentage of absence and presence for every course they opted or
for admin enroll course help them to add a new course in the institute.

REQUIREMENT ANALYSIS OF STUDENT

MANAGEMENT SYSTEM

HARDWARE REQUIREMENTS OF STUDENT


MANAGEMENT SYSTEM
The hardware required for the development of the project is:
 Processor: Intel P-IV System
 Processor Speed: 250 MHz to 833 MHz
 Ram: 512 Mb Ram
 Hard Disk: 40 Gb

SOFTWARE REQUIREMENTS OF STUDENT

MANAGEMENT SYSTEM

The software required for the development of the project is:


 Operating System: Windows 2000 Professional

 Environment: Visual Studio .NET 2002


 Framework: Version 1.0
 Language: Visual Basic
 NET Backend: SQL Server 2000

FUNCTIONAL REQUIREMENT OF THE STUDENT

MANAGEMENT SYSTEM

 Creation of the new record for the new student.


 Deletion of the record which already exists in the system based on the requirement
of the institute.
 Update in the record which is present in the system as per the need.
 Generate the report on the attendance of the student as per his/her record.
 Admin’s handle of the department, this function eases the process of management.

NON-FUNCTIONAL REQUIREMENT OF THE

STUDENT MANAGEMENT SYSTEM

 The security of the system is maintained by providing a login interface to the user.
Only those who have the login is and password can enter the system.

 User-Friendly as the system is very interactive and can be easily operated.


 Maintainability and reliability if the system is kept very thoroughly as all the records
kept in the database have the backups and system can restore if there is power loss.

CONCLUSION OF STUDENT

MANAGEMENT SYSTEM
Student Management System can be used by educational institutions to
maintain their student records easily. Achieving this objective is difficult
using the manual system as the information is scattered, can be redundant,
and collecting relevant information may be very time-consuming. All these
problems are solved by this project.

This system helps in maintaining the information of pupils of the


organization. It can be easily accessed by the manager and kept safe for a
long period of time without any changes.
Bibliography

Websites:

 https://www.scribd.com...
 https://www.scaler.com/topics/python/
 www.github.com
 www.stackoverflow.com
 https://project.raspberrypi.org
 Preeti Arora Book

 Sumitra Arora Book
 source code testing on VS Code
Source Code :

class StudentManagementSystem:def init (self):


self.students =
{}self.courses
= {}

def add_student(self, student_id, name, age, grade):self.students[student_id]


=
{'name': name,
'age': age,
'grade': grade,
'courses': []
}

def add_course(self, course_id, name):


self.courses[course_id] = {'name': name, 'students_enrolled': []}

def enroll_student(self, student_id, course_id):


if student_id in self.students and course_id in self.courses:
if student_id not in self.courses[course_id]['students_enrolled']:
self.courses[course_id]['students_enrolled'].append(student
_id)self.students[student_id]['courses'].append(course_id)
print(f"Student {self.students[student_id]['name']} enrolled
in
{self.courses[course_id]['name']}")
else:
print("Student is already enrolled in this course.")
else:
print("Student or course not found.")

def add_grade(self, student_id, course_id, grade):


if student_id in self.students and course_id in self.courses:
if student_id in
self.courses[course_id]['students_enrolled']:#
Logic to add grades for a student in a course
# Here, you can implement adding grades functionality
print(f"Grade {grade} added for student
{self.students[student_id]['name']}in {self.courses[course_id]['name']}")
else:
print("Student is not enrolled in this course.")
else:
print("Student or course not found.")

def display_student_details(self,
student_id):if student_id in
self.students:
student_info =
self.students[student_id]
print(f"Student ID: {student_id}")
print(f"Name:
{student_info['name']}")
print(f"Age: {student_info['age']}")
print(f"Grade:
{student_info['grade']}")
print("Courses Enrolled:")
for course_id in student_info['courses']:
print(f"-
{self.courses[course_id]['name']}")
else:
print("Student not found.")

def display_course_students(self,
course_id):if course_id in
self.courses:
course_info =
self.courses[course_id]
print(f"Course ID: {course_id}")
print(f"Name:
{course_info['name']}")
print("Students Enrolled:")
else:
print("Student is not enrolled in this course.")
else:
print("Student or course not found.")

def display_student_details(self,
student_id):if student_id in
self.students:
student_info =
self.students[student_id]
print(f"Student ID: {student_id}")
print(f"Name:
{student_info['name']}")
print(f"Age: {student_info['age']}")
print(f"Grade:
{student_info['grade']}")
print("Courses Enrolled:")
for course_id in student_info['courses']:
print(f"-
{self.courses[course_id]['name']}")
else:
print("Student not found.")

def display_course_students(self,
course_id):if course_id in
self.courses:
course_info =
self.courses[course_id]
print(f"Course ID: {course_id}")
print(f"Name:
{course_info['name']}")
print("Students Enrolled:")
for student_id in
course_info['students_enrolled']:print(f"-
{self.students[student_id]['name']}")
else:
print("Course not found.")
for student_id in
course_info['students_enrolled']:print(f"-
{self.students[student_id]['name']}")
else:
print("Course not found.")

You might also like