You are on page 1of 32

BETHANY NAVAJEEVAN SENIOR SECONDARY SCHOOL

Affiliated to CBSE Board, Affiliation No:1931074

BETHANY NAGAR, VENCODE

ACADEMIC YEAR: 2022-23


PROJECT REPORT ON
SCHOOLMANAGEMENT SYSTEM

REGISTER NO :
NAME : AKASH KUMAR S S
CLASS : XII
SUBJECT : COMPUTER SCIENCE
SUB CODE : 083

1
BETHANY NAVAJEEVAN SENIOR SECONDARY SCHOOL

Affiliated to CBSE Board, Affiliation No:1931074

BETHANY NAGAR, VENCODE

DEPARTMENT OF COMPUTER SCIENCE

CERTIFICATE

This is to certify that AKASH KUMAR S S , student of Grade

XII has successfully completed the project work entitled "SCHOOL

MANAGEMENT SYSTEM” in the subject Computer Science (083) under the

guidance of Mrs. MERLIN JOTHI J during the year 2022-2023 for the purpose

of Practical Examination conducted by AISSCE, New Delhi.

Name of Examiner Name of Teacher Signature of Principal

Signature of Examiner Signature of Teacher

2
STUDENT DECLARATION

I AKASH KUMAR S S hereby declare that the project work entitled “BANK

MANAGEMENT” is the work carried out by me and submitted towards the

practical examination held by AISSCE, New Delhi during the academic year

2022-2023

Date:

Place: Signature of Candidate

3
ACKNOWLEDGEMENT

I extended my deep sense of gratitude and sincere thanks to our


Correspondent Fr. JOHN CHRISTOPHER OIC, Bethany group of Institutions for
giving me an opportunity to be a student of this reputed institutions

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.

It is my privilege to thank our Head of the Department Mrs. SARITHA J C


M.C.A., B.Ed. for her support and guidance for doing my project work.

I also express my sense of gratitude to my GUIDE Mrs. MERLIN JOTHI J


B.Tech., M.E., B.Ed. for her valuable suggestion and guidance for doing this project.

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

NAME OF THE CANDIDATE

4
CONTENT

SL. NO. TITLE PAGE NO.

1. Abstract 5

2. Introduction 6

3. Features & Benefits 7

4. System Requirements 10

5. Existing System & Proposed System 11

6. Source Code 12

7, Testing 27

8. Conclusion 31

9. Reference 32

5
ABSTRACT

The School Management System is an application for maintaining a student's


account in a school. In this project I tried to show the working of a school account system and
cover the basic functionality of a School Account Management System. The School Account
Management System undertaken as a project is based on relevant technologies.

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.

School records generally refer to information about students, staff, processes,


facilities, finances etc. it is essential to have these records properly documented to aid
transparency and ease in accessing information in the future. A school administrator takes
responsibility for various decisions, such as curriculum standards and hiring guidelines and
the seemingly endless number of records that the school must keep. Every time a school takes
action, whether by disciplining a student or paying for new equipment, it is necessary to
record such an event.

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

Features Of Student Record Management System:-

• 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

• Attendance Management- Attendance Management- It helps to record daily


attendance automatically using a biometric attendance system

• Easy to Use- The system is easy to use and highly intuitive by all types of individuals

Benefits Of A Student Record Management System:-

1: Paperless System For Digitization Of Work

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.

2: Centralized Platform For Record Management

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 -

• Keep the data at a centralized location

• Give role-based access

• 24*7 access

• OTP & password encryption

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.

3: Records From -Admission To Alumni Journey

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.

Managing students’ records of 100s of batches –

• Year-wise

• Branch-wise

• Section-wise

• Course-wise

4. 100% Student Data Security

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.

6. Student Performance Evaluation & Improvement

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.

7. Monitoring Students Attendance Online

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

Recommended System Requirements Processors: Intel® Core™ i3 processor 4300M at


2.60 GHz. Disk space: 2 to 4 GB. Operating systems: Windows® 10, MACOS, and
UBUNTU. Python Versions: 3.X.X or Higher.

Minimum System Requirements Processors: Intel Atom® processor or Intel® Core™ i3


processor. Disk space: 1 GB. Operating systems: Windows 7 or later, MACOS, and
UBUNTU. Python Versions: 2.7.X, 3.6.X.

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:

➢ Microsoft Windows 10 Pro as Operating System


➢ Python 3.7 as Front-end Development Environment
➢ MYSQL as Back-end server with Database for testing
➢ MYSQL connector to connect Python module with database
➢ MS-Word 2010 for documentation

Prerequisites before installing MySQL Connector

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. ................................................ ")

print("\t\t.....*********SCHOOL MANAGEMENT

SYSTEM***********")

print("\t\t. ................................................ ")

print("\n\t\t*****************SUNBEAM SCHOOL

MAU*******************")

print("*1. Admission*")

print("*2. Student Data*")

print("*3. Fee Details*")

print("*4. Exit*")

print("\t\t. ................................................ ")

print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")

choice=int(input("Enter your choice : "))

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:

print("Error: Invalid Choice try again..")

conti=input("press any key ti continue..")

Admission.py:

import main_menu

import admission

import mysql.connector as co

def adm_menu():

while True:

print("\t\t. ................................................ ")

print("\t\t.....*********School Management

System***********")

print("\t\t. ................................................ ")

print("\n**Admission**\n")

print("*1. Add New Admission Details*")

print("*2. Show Admission Details*")

print("*3. Search Admission record*")

print("*4. Deletion of Record")

print("*5. Update Admission Details*")

print("*6. Return*") print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")

choice=int(input("Enter your choice : "))

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:

print("Error: Invalid Choice try again..")

conti=input("press any key ti continue..")

def admin_details():

try:

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

adno=input("Enter Admission No.: ")

rno=input("Enter Role No.: ")

sname=input("Enter Student name No.: ")

address=input("Enter Address: ")

phon=input("Enter Mobile No.: ")

clas=input("Enter Class: ")

query="insert into Admission(adno,rno,sname,address,

15
phon,clas)
value('{}','{}','{}','{}','{}','{}')".format(adno,rno,sname,ad
dress,phon,clas)

cursor.execute(query)

mycon.commit()

mycon.close()

cursor.close()

print('Record has been saved in admission table')

except:

print('error')

def show_admin_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

cursor.execute("Select * from Admission")

data = cursor.fetchall()

for row in data:

print(row)

def search_admin_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

adn=input("Enter Admission Number: ")

st="select * from Admission where adno='%s'"%(adn)

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()

adn=input("Enter Admission Number: ")

st="delete from admission where adno='%s'"%(adn)

cursor.execute(st)

mycon.commit()

print("Record has been deleted")

def edit_admin_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

print("1: Edit Name: ")

print("2: Edit Address: ")

print("3: Phone number: ")

print("4: Return: ")

print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")

choice = int(input("Enter your choise: "))

if choice == 1:

admission.edit_name()

elif choice == 2:

admission.edit_address()

elif choice == 3:

admission.edit_phno()

elif choice == 4:

return

else:

print("Error: Invalid Choise try again. .... ")

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()

ac=input("Enter Admission no: ")

nm=input("Enter correct name: ")

st = "update Admission set sname='%s' where adno


='%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

def edit_address():

mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

ac=input("Enter Admission no: ")

nm=input("Enter correct address: ")

st = "update Admission set address='%s' where adno


='%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

def edit_phno():

mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

ac=input("Enter Admission no: ")

nm=input("Enter correct Phone: ")

18
st = "update Admission set phon='%s' where adno ='%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

student_data.py:

import main_menu

import student_data

import mysql.connector as co

def stu_menu():

while True:

print("\t\t. ................................................ ")

print("\t\t.....*********SCHOOL MANAGEMENT

SYSTEM***********")

print("\t\t. ................................................ ")

print("\n\t\t*******************STUDENT

DATA*******************")

print("*1. Add Student Record*")

print("*2. Show Student Records*")

print("*3. Search Student record*")

print("*4. Deletion of Record")

print("*5. Update Student Record*")

print("*6. Return*") print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐")

choice=int(input("Enter your choice : "))

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:

print("Error: Invalid Choice try again..")

conti=input("press any key ti continue..")

def add_record():

try:

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

session=input("Enter Session: ")

stname=input("Enter Student Name: ")

stclass=input("Enter Class: ")

stsec=input("Enter Section: ")

stroll=input("Enter Roll No.: ")

sub = []

for i in range(3):

sb = input(f"Enter subject {i+1}: ")

sub.append(sb)

query="insert into Student()


value('{}','{}','{}','{}','{}','{}','{}','{}')".

20
format(session,stname,stclass,stsec,stroll,sub[0],sub[],sub[2]
)

cursor.execute(query)

mycon.commit()

mycon.close()

cursor.close()

print('Record has been saved in admission table')

except:

print('error')

def show_stu_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

cursor.execute("Select * from Student")

data = cursor.fetchall()

for row in data:

print(row)

def search_stu_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

adn=input("Enter Admission Number: ")

st="select * from Student where stroll='%s'"%(adn)

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()

adn=input("Enter Admission Number: ")

st="delete from Student where stroll='%s'"%(adn)

cursor.execute(st)

mycon.commit()

print("Record has been deleted")

def edit_stu_details():

mycon=co.connect(host="localhost", user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

print("*1: Edit Name* ")

print("*1: Edit First Subject* ")

print("*3: Edit Second Subject* ")

print("*4: Edit Third Subject* ")

print("*5: Return* ") print("\t\t‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐") choice =

int(input("Enter your choise: ")) if

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. .... ")

conti="Press any key to return to "

def edit_name():

mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

ac=input("Enter Roll no: ")

nm=input("Enter Correct name: ")

st = "update Student setstname='%s' where stroll


='%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

def edit_sub1():

mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

ac=input("Enter Roll no: ")

nm=input("Enter Correct Subject: ")

st = "update Student setsub1='%s' where stroll = '%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

def edit_sub2():

mycon =co.connect(host="localhost",user="root",passwd="root",
database="MPS")

cursor=mycon.cursor()

ac=input("Enter Roll no: ")

nm=input("Enter Correct Subject: ")

23
st = "update Student setsub2='%s' where stroll = '%s'"%(nm,ac)

cursor.execute(st)

mycon.commit()

print('Data updated successfully')

fee_details.py:

import main_menu

import fee_details

import mysql.connector

def fee_menu():

while True:

print("\t\t. ................................................ ")

print("\t\t.....*********SCHOOL MANAGEMENT

SYSTEM***********")

print("\t\t. ................................................ ")

print("\n **FEE DETAILS**\n")

print("*1 : Deposit Fee*")

print("*2 : View Fee of All Students*")

print("*3 : View Fee of a Particular Student*")

print("*4 : Return*")

try:

userInput = int(input("Please Select An AboveOption: "))

except ValueError:

exit("\nHy! That's Not A Number")

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("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

‐‐‐‐") def feeDeposit():

mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)

mycursor=mydb.cursor()

L=[]

roll=int(input("Enter the Admission number : "))

L.append(roll)

feedeposit=int(input("Enterthe Fee to be deposited : "))

L.append(feedeposit)

month=input("Enter month of fee : ")

L.append(month)

fee=(L)

sql="insert into Fees(adno,FeeDeposit,Month) values


(%s,%s,%s)"

mycursor.execute(sql,fee)

mydb.commit()

print ("Fee has been Deposited Succefully!!!")

def feeView():

print ("*ALL FEE DETAILS*")

mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)

25
mycursor=mydb.cursor()

sql="Select Admission.adno, Admission.sname,

Admission.clas, sum(Fees.FeeDeposit), count(Fees.month)from


Admission,Fees where Admission.adno=Fees.adno Groupby adno"

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(x,end = ' ')

print (f" Fee left from {month[a]}")

print('\n','\n')

def feeViewPart():

mydb=mysql.connector.connect(host="localhost",user="root",pass
wd="root",database="MP)

mycursor=mydb.cursor()

admno=int(input("Enter the Admission number of theStudent :


"))

sql="Select Admission.adno, Admission.sname,

Admission.clas, sum(Fees.FeeDeposit), count(Fees.month)

from Admission INNER JOIN Fees ON Admission.adno=Fees.adno and


Fees.adno = %s"

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 (f"Fee left from {month[a]}")

print('\n','\n')

27
TESTING

Software Testing is an empirical investigation conducted to provide stakeholders with


information about the quality of the product or service under test, with respect to the context in
which it is intended to operate. Software Testing also provides an objective, independent view of
the software to allow the business to appreciate and understand the risks at implementation of the
software. Test techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying that a software
program/application/product meets the business and technical requirements that guided its design
and development so that it works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method employed, can be implemented
at any time in the development process, however, most test effort is employed after the
requirements have been defined and the coding process has been completed.

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.

BLACK BOX TESTING:


Black box testing treats the software as a "black box," without any knowledge of the
internal implementation. Black box testing methods include: equivalence partitioning, boundary
value analysis, all-pairs testing, fuzz testing, model-based testing, traceability matrix, exploratory
testing, and specification-based testing.
SPECIFICATION-BASED TESTING:

Specification-based testing aims to test the functionality of software according to the


applicable requirements.[16] Thus, the tester inputs data into, and only sees the output from, the
test object. This level of testing usually requires thorough test cases to be provided to the tester,
who then can simply verify that for a given input, the output value (or behavior), either "is" or "is

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

ADVANTAGES AND DISADVANTAGES:

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.

Two common forms of code coverage are:


Function Coverage: Which reports on functions executed and
Statement Coverage: Which reports on the number of lines executed to complete the
test?

30
CONCLUSION

This project of ‘School Record Management System’ discussed the features of


maintaining a record of student, staff, etc.. And also the important benefits in which it
includes lot of advantages. This projects brings out the step-by-step process that how an
educational institution can create, insert, manipulate, analyse and deleted the data according
to their needs. Here, it has been used Python language and MySQL database system for
maintaing the record for an institution. It became crucial for one to keep records for
everything and even to avoid the usage of lots of paper and to create a paperless society for
the betterment of the environment. It also helps us 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. Even there are lots of way to storing the records for their respective information, this
is the one of the simplest and easy way of handling the records.

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

You might also like