Professional Documents
Culture Documents
REGISTER NO :
NAME : AKASH KUMAR S S
CLASS : XII
SUBJECT : COMPUTER SCIENCE
SUB CODE : 083
1
BETHANY NAVAJEEVAN SENIOR SECONDARY SCHOOL
CERTIFICATE
guidance of Mrs. MERLIN JOTHI J during the year 2022-2023 for the purpose
2
STUDENT DECLARATION
I AKASH KUMAR S S hereby declare that the project work entitled “BANK
practical examination held by AISSCE, New Delhi during the academic year
2022-2023
Date:
3
ACKNOWLEDGEMENT
I extend my respect to our Academic Mentor Mr. SIBIN JOSE S P M. A., B.Ed.
for his valuable support in carrying my project work.
I also express my gratitude to all the faculty members, parents and my fellow
mates who have helped me to carry out this work. Last but not least, I thank my almighty
God for His blessings showed me during this period.
AKASH KUMAR S S
4
CONTENT
1. Abstract 5
2. Introduction 6
4. System Requirements 10
6. Source Code 12
7, Testing 27
8. Conclusion 31
9. Reference 32
5
ABSTRACT
The main aim of this project is to develop software for School Account Management
System. This project has been developed to carry out the processes easily and quickly, which
is not possible with the manuals systems, which are overcome by this software. Keeping
records is irrefutably one of the most tedious and time-consuming tasks for a school’s
administration. However, this does not curtail the importance records hold for the school’s
overall growth. So, we can either employ resources for maintaining loads of papers and data
or automate the process.
A student record management system helps you keep and maintain multiple records
effortlessly. The tool automates data tracking and record-keeping related to various academic
aspects such as performance, attendance, documents, admission, fees, and disciplinary
records. The key advantage of a student record management system is that an educational
institution can keep proper track of students’ data. This includes areas such as fee records,
examination records of the students, hostel records, transport records, offered by the
institutes.
This project is developed using PYTHON language and MYSQL used for database
connection. Creating and managing requirements is a challenge of IT, systems and product
development projects or indeed for any activity where we have to manage a contractual
relationship.
6
INTRODUCTION
A student record management software is a tool that tracks and records regular
activities of the students in institutes including attendance, exam performance, and their
behaviour. The software can be accessed by students, teachers, admin and parents with a role-
based login. It collects all the student data along with their personal information which can be
easily searched and retrieved later on. The software stores years of data online on a cloud
platform.
Some organizations have continued to use paper and pen, the traditional method of
record-keeping, for their documentation process. However, regardless of the chosen method,
paper-based or electronic, the focus is on efficiently managing time, costs, and resources.
Schools have various documents and files to manage, and thus, records management is
essential. There are strict guidelines about which documents a school should keep, how long
it should keep them, and who should access them.
On the other hand, it is also essential to keep an accurate record of non-actions, such
as the failure of parents to respond to a letter. To keep records clean, complete, organized,
and easily retrievable, schools should use a software based student record management
system that automates and streamlines most of this process. The School records management
software helps teachers, administrators, and other support staff streamline their daily duties
and keep track of whatever happens in the classroom, office, or anywhere else.
7
FEATURES & BENEFITS
• Easy Report Generation- The software helps to generate reports easily in required
formats
• Data Search and Retrieval- The system can help users to find and retrieve student’s
data over a few clicks
• High Data Storage- The system stores large amounts of data without hampering its
functioning
• Role-Based Access- The software offers role-based access to the teachers, students,
and parents
• Easy to Use- The system is easy to use and highly intuitive by all types of individuals
The first & foremost benefit of a student record management system is that it is a paperless
system! It digitizes the complete procedure of compiling, accessing, analysing &
saving student information. As an educator or administrative faculty member, you don’t need
to maintain piles of files anymore. Just integrate the education ERP system with the student
information system and you are sorted. Zero paper hassles equal a lot of cost savings as well
as money savings.
An educational institution with multiple branches or the one that’s a part of MAT (Multi-
Academy Trust) needs to be extra careful when it comes to student record management.
8
Either belong to MAT or an individual institution with multiple courses & programs, the
student information management system helps us -
• 24*7 access
In this way, any faculty member or higher authority of the institution can anytime check &
extract the required student data at any given point in time.
Right from admission to the point when students leave the organization and become alumni,
institutions need to have their records. We could also keep in touch with the students even
after they graduate.
• Year-wise
• Branch-wise
• Section-wise
• Course-wise
Student data management is one aspect. Maintaining 100% student data security is another.
We keep on hearing numerous cases where student data is hacked & misused for various
criminal activities. As an educator, always think of implementing a student record
management system that offers complete student data security. We may look for features
such as – cloud-based data storage with encryption provision, multiple data backups.
student record management system with an AI-powered analytics dashboard can hack the
path to success in such instances. The analytics dashboard integration would help us analyse
9
students’ performance throughout the semester and add on a scope of evaluation of teaching
practices. We can also utilize the MIS reports generated from the ERP software for better &
in-depth analysis.
Online student attendance monitoring is yet another feather in the cap of the student
information management system. Nowadays, owing to the online classes’ culture across the
globe, we need to pay attention to everything that goes on especially – tracking online
attendance! The student record management system offers us crucial student attendance MIS
reports – weekly, monthly, yearly. This way, we can examine the behaviour of students &
their attendance records seamlessly. If we find out chronic absenteeism, you can directly
confront students & their parents for managing healthy work culture.
10
SYSTEM REQUIREMENTS
Hardware Required:
PC with Intel Core i5-2400S processor having 4.00 GB RAM, 64 bit operating system,
SVGA and other required devices.
Software Required:
Python
You need root or administrator privileges to perform the installation process. Python must be installed
on your machine.
Note: – MySQL Connector Python requires python to be in the system’s PATH. Installation fails if it
doesn’t find Python.
On Windows, If Python doesn’t exist in the system’s PATH, please manually add the directory
containing python.exe yourself.
11
EXISTING SYSTEM & PROPOSED SYSTEM
Existing System:
In the present School Management System, it is uneasy to store the information
related to students, faculty and parents on the paper. As there is too many information when
someone tries to access any of stored information it becomes a difficult and time-consuming
task. While these days parents and faculty have more work than just take care of students it is
difficult for both parents and faculty to monitor them. Whereas the storing and retrieving an
information is a difficult task, it also requires much amount of unnecessary worker to do the
task.
Proposed System:
The school management system will manage all the work in any school in particular
order so that the time requirement and complexity of the system will be reduced, at first it
will focus on student related information. As a student gets the admission in the school
system will start managing the details regarding the students. It will manage the fee details,
and if the full payment has not done, then it will notify about the fee to a staff of the school.
School Management System will then display the date of the test and when the test completes
it will display the results of the students. While the parents can use it to monitor their
children’s performance, also they can contact with the teachers.
12
SOURCE CODE
Main_Menu.py:
import main_menu
import admission
importstudent_data
importfee_details
while True:
print("\t\t.....*********SCHOOL MANAGEMENT
SYSTEM***********")
print("\n\t\t*****************SUNBEAM SCHOOL
MAU*******************")
print("*1. Admission*")
print("*4. Exit*")
print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")
if choice==1:
admission.adm_menu()
elif choice==2:
student_data.stu_menu()
13
elif choice==3:
fee_details.fee_menu()
elif choice==4:
break
else:
Admission.py:
import main_menu
import admission
import mysql.connector as co
def adm_menu():
while True:
print("\t\t.....*********School Management
System***********")
print("\n**Admission**\n")
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")
if choice==1:
14
admission.admin_details()
elif choice==2:
admission.show_admin_details()
elif choice==3:
admission.search_admin_details()
elif choice==4:
admission.delete_admin_details()
elif choice==5:
admission.edit_admin_details()
elif choice==6:
return
else:
def admin_details():
try:
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
15
phon,clas)
value('{}','{}','{}','{}','{}','{}')".format(adno,rno,sname,ad
dress,phon,clas)
cursor.execute(query)
mycon.commit()
mycon.close()
cursor.close()
except:
print('error')
def show_admin_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
data = cursor.fetchall()
print(row)
def search_admin_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
data = cursor.fetchall()
print(data)
def delete_admin_details():
16
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_admin_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")
if choice == 1:
admission.edit_name()
elif choice == 2:
admission.edit_address()
elif choice == 3:
admission.edit_phno()
elif choice == 4:
return
else:
17
conti="Press any key to return to "
def edit_name():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_address():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_phno():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
18
st = "update Admission set phon='%s' where adno ='%s'"%(nm,ac)
cursor.execute(st)
mycon.commit()
student_data.py:
import main_menu
import student_data
import mysql.connector as co
def stu_menu():
while True:
print("\t\t.....*********SCHOOL MANAGEMENT
SYSTEM***********")
print("\n\t\t*******************STUDENT
DATA*******************")
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")
if choice==1:
student_data.add_record()
elif choice==2:
19
student_data.show_stu_details()
elif choice==3:
student_data.search_stu_details()
elif choice==4:
student_data.delete_stu_details()
elif choice==5:
student_data.edit_stu_details()
elif choice==6:
return
else:
def add_record():
try:
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
sub = []
for i in range(3):
sub.append(sb)
20
format(session,stname,stclass,stsec,stroll,sub[0],sub[],sub[2]
)
cursor.execute(query)
mycon.commit()
mycon.close()
cursor.close()
except:
print('error')
def show_stu_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
data = cursor.fetchall()
print(row)
def search_stu_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
data = cursor.fetchall()
print(data)
def delete_stu_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
21
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_stu_details():
mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐") choice =
choice == 1:
student_data.edit_name()
elif choice == 2:
student_data.edit_sub1()
elif choice == 3:
student_data.edit_sub2()
elif choice == 4:
student_data.edit_sub3()
elif choice == 5:
return
else:
22
print("Error: Invalid Choise try again. .... ")
def edit_name():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_sub1():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
cursor.execute(st)
mycon.commit()
def edit_sub2():
mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")
cursor=mycon.cursor()
23
st = "update Student setsub2='%s' where stroll = '%s'"%(nm,ac)
cursor.execute(st)
mycon.commit()
fee_details.py:
import main_menu
import fee_details
import mysql.connector
def fee_menu():
while True:
print("\t\t.....*********SCHOOL MANAGEMENT
SYSTEM***********")
print("*4 : Return*")
try:
except ValueError:
else:
print("\n")
if (userInput==1):
fee_details.feeDeposit()
24
elif (userInput==2):
fee_details.feeView()
elif (userInput==3):
fee_details.feeViewPart()
elif (userInput==4):
return print("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)
mycursor=mydb.cursor()
L=[]
L.append(roll)
L.append(feedeposit)
L.append(month)
fee=(L)
mycursor.execute(sql,fee)
mydb.commit()
def feeView():
mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)
25
mycursor=mydb.cursor()
mycursor.execute(sql)
res=mycursor.fetchall()
month=['April','May','June','July','August','September','Octob
er','November','December',
'January','February','March']
for x in res:
x = list(x)
a = x.pop()
x.append(month[a‐1])
print('\n','\n')
def feeViewPart():
mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)
mycursor=mydb.cursor()
adm=(admno,)
mycursor.execute(sql,adm)
res=mycursor.fetchall()
26
month=['April','May','June','July','August','September','Octob
er','November','December',
'January','February','March']
for x in res:
x = list(x)
a = x.pop()
x.append(month[a‐1])
print('\n'
,x,
'\n')
print('\n','\n')
27
TESTING
TESTING METHODS:
Software testing methods are traditionally divided into black box testing and white box
testing. These two approaches are used to describe the point of view that a test engineer takes
when designing test cases.
28
not" the same as the expected value specified in the test case. Specification-based testing is
necessary, but it is insufficient to guard against certain risks
The black box tester has no "bonds" with the code, and a tester's perception is very simple:
a code must have bugs. Using the principle, "Ask and you shall receive," black box testers find
bugs where programmers don't. But, on the other hand, black-box testing has been said to be "like
a walk in a dark labyrinth without a flashlight," because the tester doesn't know how the software
being tested was constructed.
That's why there are situations when (1) a black-box tester writes many test cases to check
something that can be tested by only one test case, and/or (2) some parts of the back end are not
tested at all. Therefore, the black box has the advantage of "an unaffiliated opinion," on the one
hand, and the disadvantage of "blind exploring," on the other.
WHITE-BOX TESTING:
White box testing, by contrast to black-box testing, is when the tester has access to the
internal data structures and algorithms (and the code that implement these)
Types of white-box testing:-
The following types of white box testing exist:
api testing - Testing of the application using Public and Private APIs.
Code coverage - creating tests to satisfy some criteria of code coverage.
For example, the test designer can create tests to cause all statements in the program to be
executed at least once.
Fault injection methods.
Mutation testing methods.
Static testing - White box testing includes all static testing.
29
CODE COMPLETENESS EVALUATION:
White box testing methods can also be used to evaluate the completeness of a test suite that
was created with black-box testing methods. This allows the software team to examine parts of a
system that are rarely tested and ensures that the most important function points have been tested.
30
CONCLUSION
Thus, the School Record Management system is developed and executed successfully.
31
REFERENCE
➢ www.slideshare.com
➢ www.academia.edu
➢ www.inettutor.com
➢ www.academiaerp.com
➢ www.projectgurukul.org
➢ www.google.com
32