100% found this document useful (1 vote)
222 views26 pages

Student Management System Menu Driven Project

Uploaded by

Omkarita
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
222 views26 pages

Student Management System Menu Driven Project

Uploaded by

Omkarita
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

S. D.

Adarsh Vidyalaya
SECTOR-47, SOHNA ROAD, GURUGRAM

A PROJECT REPORT
ON
“STUDENT MANAGEMENT SYSTEM”
FOR
AISSCE: 2023-24
[AS A PART OF THE COMPUTER SCIENCE (083)]

SUBMITTED BY:
Student’s Name: Omkarita singh
Board Roll No.:

UNDER THE GUIDANCE OF:

MS. HARSHA MONGA


PGT COMPUTER SCIENCE
CERTIFICATE
I hereby certify that the Project/Dissertation
titled "Student Management System," completed by
Omkarita Singh in Class XII for the academic
session 2023-24, is an original work. It was
conducted under my direct supervision and
guidance for the partial fulfillment of CBSE Board
Examination 2023-24. To the best of my knowledge,
no part of this work has been submitted for any
other examination, and it is not a component of any
other course undergone by the candidate.

………………………… ……………………………..
Signature of Student Signature of Teacher/Guide
Name: Omkarita singh Name: Ms. Harsha Monga
Roll No.: Designation: PGT (Comp.Sc.)

……….…………………
Signature of Principal
Name: MS. KALPNA KASHYAP
ACKNOWLEDGEMENT
I conducted this Project as part of my XII-Computer Science
course, utilizing my knowledge and experiences gained through
study and class work. Developing a software system is intricate
and time-consuming, demanding systematic study, insightful
vision, and a professional approach to design and development.
Throughout this process, the support, guidance, and well-wishes
of experienced individuals become invaluable.

I express my sincere thanks to my teacher, Ms. Harsha Monga, for


her guidance and support. I am grateful to our Principal, Ms.
Kalpna Kashyap, for dedicating valuable time and providing
moral support during the development of this software.

Special appreciation goes to my friends whose valuable


suggestions significantly contributed to the success of this
project.

Omkarita singh
Class XII
Table of Contents

Sno. Description Page no.

1. Preface 1

2. Introduction 2

3. Objective 3

4. Use of Technology 4-5

5. Problem Definition and Analysis 6

6. System Requirements 7

7. System Design and Development 8-9

8. Source Code 10-21

9. Output 22-33

10. Reference 34
1. Preface

The Student Management System detailed in this project


represents a holistic approach to digitizing and enhancing the
student information management process. The initiative arises
from the imperative to modernize and optimize conventional
student record-keeping systems, capitalizing on the progress in
computer science and database management.

This project is geared towards mitigating the shortcomings of


manual student information systems by introducing a robust,
database-driven solution. Leveraging SQL databases and
programming techniques, the system aims to furnish a user-
friendly interface for students while providing an efficient
backend system for educational administrators.

The core objective of this project is to design and implement a


scalable and secure student management system that simplifies
the information handling process, ensures real-time updates on
student records, and facilitates seamless management of
academic and personal data. The project encompasses
considerations for transaction handling, data integrity, and
system performance to guarantee a reliable and responsive
platform for both users and administrators.

The project's culmination involved a thorough examination of


existing student management systems, principles of database
design, and the application of various computer science concepts
to ensure a comprehensive and operational solution.

This documentation chronicles the evolution from


conceptualization to realization, elucidating the methodologies,
challenges, solutions, and the overarching architecture of the
Student Management System developed.
2. Introduction
In our contemporary, technology-driven era, the management of student-
related operations often involves copious paperwork and administrative
challenges. To enhance the efficiency of educational institutions, the
implementation of a dedicated software system is paramount.

This software is designed to streamline various student management


processes, simplifying tasks such as enrollment and information tracking.
It captures crucial student details, including:

 Student Name
 Age
 Gender
 Contact Number
 Enrollment Date
 Course Preferences
 Academic Records, etc.

Traditionally, students would have to visit administrative offices or


contact educational institutions directly for enrollment and information
updates. However, this software empowers students to effortlessly manage
these tasks online, providing a user-friendly interface for enrollment,
course selection, and access to personalized academic information.

By adopting this software, educational institutions can significantly reduce


administrative burdens. It simplifies the enrollment process, offering
students a seamless experience, while allowing academic staff to
efficiently manage student records, course allocations, and academic
preferences.

This adaptation draws inspiration from the functionalities and advantages


of Hotel Management Systems, emphasizing the efficient capture of guest
information, streamlined reservation processes, and improved overall
efficiency for both students and educational staff.
3. Objective

The Student Management System is designed to:

1. Enhance Student Experience:


 Prioritize creating a positive academic experience.

2. Optimize Operational Efficiency:


 Streamline administrative processes for cost-effective
operations.
3. Provide Real-time MIS Reports:
 Support data-driven decision-making for academic
administrators.
4. Facilitate Departmental Coordination:
 Foster seamless communication among different
academic departments.
5. Enable Centralized Management:
 Offer a centralized platform for top management
control.

The system efficiently manages student enrollment, course


allocation, and academic records. Developed using Python and
MySQL, it follows a structured and sequential model for
systematic development.
4. Use of Technology

1. MYSQL
MySQL is a relational DBMS that can run virtually all platforms, including
Linux, Unix and Windows.

Popular for web-based applications and online publishing, MySQL is a part


of open-source enterprise stack LAMP (Linux, Apache, MySQL, PHP).
MySQL is a freely available open source RDBMS that uses Structured
Query Language (SQL). It is down-loadable from site www.mysql.org.
MySQL is fast, reliable, scalable alternative to many of the commercial
RDBMs available today. MySQL provides you with a rich set of features
that support a secure environment for storing, maintaining, and accessing
data.

MySQL was created and supported by MySQL AB, a company based in


Sweden. This company is now a subsidiary of Sun Microsystems, which
holds the copyright to most of the codebase. On April 20th, 2009 Oracle
Corp., which develops and sells the proprietary Oracle database,
announced a deal to acquire Sun Microsystems.

SQL provides many different types of commands used for different


purposes. SQL commands can be divided into following categories:
i. Data Definition Language (DDL)
ii. Data Manipulation Language (DML)
iii. Transaction Control Language (TCL)
iv. Session Control Commands
System Control Commands
2. Python

Python is an interpreted, object-oriented, high-level programming


language with dynamic semantics. Its high-level built in data structures,
combined with dynamic typing and dynamic binding; make it very attractive
for Rapid Application Development, as well as for use as a scripting or glue
language to connect existing components together.

Python's simple, easy to learn syntax emphasizes readability and therefore


reduces the cost of program maintenance. Python supports modules and
packages, which encourages program modularity and code reuse.
The Python interpreter and the extensive standard library are available in
source or binary form without charge for all major platforms, and can be
freely distributed.

Often, programmers fall in love with Python because of the increased


productivity it provides. Debugging Python programs is easy: a bug or bad
input will never cause a segmentation fault. Instead, when the interpreter
discovers an error, it raises an exception.

A source level debugger allows inspection of local and global variables,


evaluation of arbitrary expressions, setting breakpoints, stepping through
the code a line at a time, and so on.

The debugger is written in Python itself, testifying to Python's introspective


power. On the other hand, often the quickest way to debug a program is to
add a few print statements to the source: the fast edit-test-debug cycle
makes this simple approach very effective.
5. Problem Definition and Analysis
The hardest part of building a software system is deciding precisely what to build.
No other part of the conceptual work is as difficult as establishing the detailed
technical requirement. Defining and applying good, complete requirements are hard
to work, and success in this endeavor has eluded many of us. Yet, we continue to
make progress.
Problem definition describes the what of a system, not how. The quality of a software
product is only as good as the process that creates it. Problem definition is one of the
most crucial steps in this creation process. Without defining a problem, developers
do not know what to build, customers do not know what to expect, and there is no
way to validate that the built system satisfies the requirement.
Problem definition and Analysis is the activity that encompasses learning about the
problem to be solved, understanding the needs of customer and users, trying to find
out who the user really is, and understanding all the constraints on the solution. It
includes all activities related to the following:
 Identification and documentation of user’s needs.
 Creation of a document that describes the external behavior and the association
constraints that will satisfies those needs.
 Analysis and validation of the requirements documents to ensure consistency,
completeness, and feasibility
 Evolution of needs.
 After the analysis of the functioning of a Instant Messenger, the proposed
System is expected to do the following: -
 To provide a user friendly, Graphical User Interface (GUI) based integrated
and centralized environment for computerized Instant Messenger.
 The proposed system should maintain all the records, and should generate the
required reports and information when required.
 To provide efficient and secured Information storage, flow and retrieval
system, ensuring the integrity and validity of records.
 To provide graphical and user-friendly interface to interact with a centralized
database based on client-server architecture.
 To identify the critical operation procedure and possibilities of simplification
using modern IT tools and practices.
6. System Requirements

SOFTWARE REQUIREMENTS: -
Operating System : Windows 7
Platform : Python IDLE 3.7
Database : MySQL SERVER 5.1
Languages : Python

HARDWARE REQUIREMENTS: -

Processor : Dual Core and above


Hard Disk : 40 GB
Ram : 1024 MB

Note: For Python-MySQL connectivity, the following data have been


used: -
Host- 127.0.0.1, user- root, password- kr@2006, database- railway_reservation
7. System Design & Development
7.1 Database Design:
An important aspect of system design is the design of data storage structure. To begin with
a logical model of data structure is developed first. A database is a container object which
contains tables, queries, reports and data validation policies enforcement rules or contraints
etc. A logical data often represented as a records are kept in different tables after reducing
anomalies and redundancies. The goodness of data base design lies in the table structure
and its relationship.

7.2 Table Creation:

1. STUDENT_INFO Table:
8. Source Code

# Establish MySQL connection

import mysql.connector

mydb = mysql.connector.connect(host="localhost",user="root",password="12345",database="student")

# Create cursor object to execute queries

cursor = mydb.cursor()

# Function to add a new student with additional details

def add_student_with_details(admission_number, roll_number, name, age, grade, email,


phone_number):

sql = "INSERT INTO student_info VALUES ('{}', '{}', '{}', '{}', '{}', '{}', '{}')".format(admission_number,
roll_number, name, age, grade, email, phone_number)

cursor.execute(sql)

mydb.commit()

print("Student added successfully")

# Function to display all students

def display_student():

cursor.execute("SELECT * FROM student_info")

students = cursor.fetchall()

for student in students:

print(student)

# Function to search for a student by name

def search_student(admission_number):

cursor.execute(f"SELECT * FROM student_info WHERE name = {int(admission_number)}")

student = cursor.fetchone()

if student:
print("Student found:", student)

else:

print("Student not found")

# Function to update student information with additional details by admission number

def update_student_with_details(admission_number, roll_number, name, age, grade, email,


phone_number):

sql = "UPDATE student_info SET roll_number = '{}', name = '{}', age = '{}', grade = '{}', email = '{}',
phone_number = '{}' WHERE admission_number = '{}'"

cursor.execute(sql.format(roll_number, name, age, grade, email, phone_number, admission_number))

mydb.commit()

print("Student information updated successfully")

# Function to delete a student by admission number

def delete_student(admission_number):

cursor.execute(f"DELETE FROM student_info WHERE admission_number = {admission_number}")

mydb.commit()

print("Student deleted successfully")

# Function to count the number of students

def count_students():

cursor.execute("SELECT COUNT(*) FROM student_info")

count = cursor.fetchone()[0]

print(f"Total number of students: {count}")

# Function to display statistics (highest and lowest grades)

def display_statistics():

cursor.execute("SELECT MAX(grade), MIN(grade) FROM student_info")

extremes = cursor.fetchone()

highest_grade, lowest_grade = extremes

print(f"Highest Grade: {highest_grade}")

print(f"Lowest Grade: {lowest_grade}")


# Function to display students by a specific grade

def display_students_by_grade(grade):

cursor.execute(f"SELECT * FROM student_info WHERE grade = {grade}")

students = cursor.fetchall()

if students:

print(f"Students in grade {grade}:")

for student in students:

print(student)

else:

print(f"No students found in grade {grade}")

# Function to count students in a specific grade

def count_students_by_grade(grade):

cursor.execute(f"SELECT COUNT(*) FROM student_info WHERE grade = {grade}")

count = cursor.fetchone()[0]

print(f"Total number of students in grade {grade}: {count}")

# Menu for user interaction

while True:

print("\nStudent Management System")

print("1. Add Student")

print("2. Display Students")

print("3. Search Student")

print("4. Update Student Information")

print("5. Delete Student")

print("6. Display Statistics")

print("7. Display Students by Grade")


print("8. Count Students by Grade")

print("9. Exit")

choice = input("Enter your choice: ")

if choice == '1':

admission_number = input("Enter student's admission number: ")

roll_number = input("Enter student's roll number: ")

name = input("Enter student's name: ")

age = int(input("Enter student's age: "))

grade = input("Enter student's grade: ")

email = input("Enter student's email: ")

phone_number = input("Enter student's phone number: ")

add_student_with_details(admission_number, roll_number, name, age, grade, email,


phone_number)

elif choice == '2':

print("\nList of Students:")

display_students()

elif choice == '3':

admission_number = input("Enter student admission number to search: ")

search_student(name)

elif choice == '4':

admission_number = input("Enter student admission number to update: ")

roll_number = input("Enter student's new roll number: ")

name = input("Enter student's new name: ")

age = int(input("Enter student's new age: "))

grade = input("Enter student's new grade: ")

email = input("Enter student's new email: ")

phone_number = input("Enter student's new phone number: ")


update_student_with_details(admission_number, roll_number, name, age, grade, email,
phone_number)

elif choice == '5':

admission_number = input("Enter student admission number to delete: ")

delete_student(admission_number)

elif choice == '6':

display_statistics()

elif choice == '7':

grade = input("Enter grade to display students: ")

display_students_by_grade(grade)

elif choice == '8':

grade = input("Enter grade to count students: ")

count_students_by_grade(grade)

elif choice == '9':

print("Exiting...")

break

else:

print("Invalid choice. Please enter a valid option.")


9. Output

Student Management System

1. Add Student

2. Display Students

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 1

Enter student's admission number: 105

Enter student's roll number: 5

Enter student's name: kartik

Enter student's age: 17

Enter student's grade: 93

Enter student's email: [email protected]

Enter student's phone number: 92837377XX

Student added successfully


Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 2

List of Students:

(101, 1, 'aditaya', 17, '87', '[email protected]', '992773XXX')

(102, 2, 'bhannu', 18, '86', '[email protected]', '99282772XX')

(103, 3, 'karan', 18, '97', '[email protected]', '844748605X')

(104, 4, 'rohit', 17, '92', '[email protected]', '93737377XX')

(105, 5, 'kartik', 17, '93', '[email protected]', '92837377XX')

(111, 1, 'adity', 17, '98', '[email protected]', '99207XXXXX')

Student Management System

1. Add Student

2. Display Student
3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 3

Enter student admission number to search: 111

Student not found

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit
Enter your choice: 4

Enter student admission number to update: 104

Enter student's new roll number: 6

Enter student's new name: rohit

Enter student's new age: 18

Enter student's new grade: 94

Enter student's new email: [email protected]

Enter student's new phone number: 883838XXX

Student information updated successfully

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 5


Enter student admission number to delete: 111

Student deleted successfully

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 6

Highest Grade: 97

Lowest Grade: 86

Student Management System

1. Add Student

2. Display Student

3. Search Student
4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 7

Enter grade to display students: 97

Students in grade 97:

(103, 3, 'karan', 18, '97', '[email protected]', '844748605X')

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit
Enter your choice: 8

Enter grade to count students: 94

Total number of students in grade 94: 1

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 2

List of Students:

(101, 1, 'aditaya', 17, '87', '[email protected]', '992773XXX')

(102, 2, 'bhannu', 18, '86', '[email protected]', '99282772XX')

(103, 3, 'karan', 18, '97', '[email protected]', '844748605X')

(104, 6, 'rohit', 18, '94', '[email protected]', '883838XXX')


(105, 5, 'kartik', 17, '93', '[email protected]', '92837377XX')

Student Management System

1. Add Student

2. Display Student

3. Search Student

4. Update Student Information

5. Delete Student

6. Display Statistics

7. Display Students by Grade

8. Count Students by Grade

9. Exit

Enter your choice: 9

Exiting...
10. Reference

In order to work on this project titled Student Management System ,the following books and
literature are refered by me during the various phases of development of the project.

(1) http://www.mysql.org/

(2) http://www.python.org/

(3) Computer Science for class XII


-by Sumita Arora & Preeti Arora

Other than the above-mentioned books, the suggestions and supervision of my teacher and my class
experience also helped me to develop this software project.

You might also like