SMS Project Report
SMS Project Report
KHAGA FATEHPUR
Session 2022-23
PROJECT REPORT ON
SCHOOL MANAGEMENT SYSTEM
(SMS)
ROLL NO :
NAME :
CLASS :
SUBJECT :
SUB CODE :
KHAGA , FATEHPUR
UTTAR PRADESH
1
XYZ INTERNATIONAL SCHOOL
CERTIFICATE
This is to certify that Cadet ______________________ Roll No:____________ of class XII
Session 2022-2023 has successfully completed his /her Project Work entitled SCHOOL
MANAGEMENT SYSTEM in the subject INFORMATICS PRACTICES (065) in XYZ
International School Khaga.
This project file fully implements all the topics and concepts learnt in Python and MySql covered in
class XI and XII as per the CBSE syllabus of INFORMATICS PRACTICES (065)
I certify that this project report file is up to my expectation and per guidelines issued by CBSE New
Delhi.
Examiner:
Name: _______________
Signature: PRINCIPAL
2
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
04 PROPOSED SYSTEM 06
07 FLOW CHART 15
08 SOURCE CODE 16
09 OUTPUT 19
10 TESTING 20
12 BIBLIOGRAPHY 24
3
ACKNOWLEDGEMENT
Secondly I would also like to thanks my parents and friends who helped me a lot in
finishing this project within the limited time.
The guidance and support received from all the members who contributed and who
are contributing to this project, was vital for the success of the project. I am grateful
for their constant support and help.
I am making this project not only for marks but to also increase my knowledge.
4
PROJECT ON SCHOOL MANAGEMENT SYSTEM (SMS)
INTRODUCTION
The objective of this project is to let the students implement the programming
knowledge that they learnt in class XI and Class XII into a real- world
situation/problem and show the students how programming skills use in developing a
good software.
5
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really
wants to stand against today’s merciless competition where not to wise saying “to
err is human” no longer valid, it’s outdated to rationalize your mistake. So, to keep
pace with time, to bring about the best result without malfunctioning and greater
efficiency so to replace the unending heXYZ of flies with a much sophisticated hard
One has to use the data management software. Software has been an ascent
markets, which have helped in making the organizations work easier and efficiently.
Data management initially had to maintain a lot of ledgers and a lot of paper work
has to be done but now software product on this organization has made their work
faster and easier. Now only this software has to be loaded on the computer and work
can be done.
This prevents a lot of time and money. The work becomes fully automated
and any information regarding the organization can be obtained by clicking the
6
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
7
For example, initial project activities might be designated as request,
requirements-definition, and planning phases, or initiation, concept-development,
and planning phases. End users of the system under development should be
involved in reviewing the output of each phase to ensure the system is being built to
deliver the needed functionality.
INITIATION PHASE
8
Careful oversight is required to ensure projects support strategic business
objectives and resources are effectively implemented into an organization's
enterprise architecture. The initiation phase begins when an opportunity to add,
improve, or correct a system is identified and formally requested through the
presentation of a business case. The business case should, at a minimum, describe
a proposal’s purpose, identify expected benefits, and explain how the proposed
system supports one of the organization’s business strategies. The business case
should also identify alternative solutions and detail as many informational, functional,
and network requirements as possible.
9
It may include several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery versus a
complete, onetime deployment.
Construction of executable prototypes is encouraged to evaluate technology
to support the business process. The System Boundary Document serves as
an important reference document to support the Information Technology
Project Request (ITPR) process.
The ITPR must be approved by the State CIO before the project can move
forward.
10
PLANNING PHASE
This phase formally defines the detailed functional user requirements using
high-level requirements identified in the Initiation, System Concept, and Planning
phases. It also delineates the requirements in terms of data, system performance,
security, and maintainability requirements for the system. The requirements are
defined in this phase to alevel of detail sufficient for systems design to proceed. They
need to be measurable, testable, and relate to the business need or opportunity
11
identified in the Initiation Phase. The requirements that will be used to determine
acceptance of the system are captured in the Test and Evaluation MasterPlan.
Further define and refine the functional and data requirements and document
them in the Requirements Document,
Complete business process reengineering of the functions to be supported
(i.e., verify what information drives the business process, what information is
generated, who generates it, where does the information go, and who
processes it),
Develop detailed data and process models (system inputs, outputs, and the
process.
Develop the test and evaluation requirements that will be used to determine
acceptable system performance.
DESIGN PHASE
12
database layouts, and system architectures. End users, designers, developers,
database managers, and network administrators should review and refine the
prototyped designs in an iterative process until they agree on an acceptable design.
Audit, security, and quality assurance personnel should be involved in the review
and approval process. During this phase, the system is designed to satisfy the
functional requirements identified in the previous phase. Since problems in the
design phase could be very expensive to solve in the later stage of the software
development, a variety of elements are considered in the design to mitigate risk.
These include:
13
DEVELOPMENT PHASE
14
Testing as a deployed system with end users working together with contract
personnel
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the
user. In this phase, the system is installed to support the intended business
functions. System performance is compared to performance objectives established
during the planning phase. Implementation includes user notification, user training,
installation of hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase continues until the
system is operating in production in accordance with the defined userrequirements.
15
FLOW CHART
Database connection
16
SOURCE CODE
Index.py
import all_method as am
m=""
while(m not in ['n','N','NO','no']):
print(''' *************************************
WELCOME TO XYZ
SCHOOL MANAGEMENT SYSTEM
**************************************
**************************************
^^^^^^^^^^^^^
^^ PRESS ^^
^^^^^^^^^^^^^
1.for Show all student
2.for Add new student
3.for Delete one student
4.for Search one student
5.for Update details of a student
6.for Show all Teachers
7.for Add New Teacher
8.for Delete one Teacher
9. exit
''')
17
if n==7:
am.add_teacher()
if n==8:
am.delete_teacher()
if n==9:
exit()
print("********************")
m=input("Do you want another operation Y/N:::")
all_method.py
# Database Connection start here.. XYZ khaga
import pandas as pd
import mysql.connector as sqrt
mycon=sqrt.Connect(host="localhost",
user="root",
passwd="123",
database="XYZ")
if mycon.is_connected():
print("database connected successfully ..")
else:
print("mysql connection problem")
def show_student():
query="select * from student;"
df=pd.read_sql(query,mycon)
print(df)
x=input('''Do you want to save this result as pdf
type y::::''')
if x in ['y','Y','yes']:
df.to_csv("C://Users//XYZ//Desktop//XYZ//SMS//list.csv")
print()
print("saved successfully.......list.csv")
def add_student():
s1=int(input("enter roll no ::"))
s2=input("Enter student name ::")
s3=input("Enter student father name ::")
s4=input("Enter DOB in yyyy/mm/dd ::")
s5=input("Enter gender as M or F ::")
s6=input("Enter student address ::")
18
s7=input("Enter mobile number ::")
query="insert into
student(rno,name,fname,dob,gender,address,mobile)values(%s,%s,%s,%s,%s,%s,
%s);"
param=(s1,s2,s3,s4,s5,s6,s7)
mycon.cursor().execute(query,param)
mycon.commit()
print()
print("student added successfully....with name ...",s2)
def delete_student():
print("working....")
s1=input(("Enter student roll no :::"))
sql="delete from student where student_id=%s"
params=(s1,)
p=mycon.cursor()
p.execute(sql,params)
mycon.commit()
print()
print(p.rowcount," record(s) deleted....")
def update_student():
print("working...")
m1=int(input("which student roll no please ::"))
s1=int(input("enter roll no ::"))
s2=input("Enter student name ::")
s3=input("Enter student father name ::")
s4=input("Enter DOB in yyyy/mm/dd ::")
s5=input("Enter gender as M or F ::")
s6=input("Enter student address ::")
s7=input("Enter mobile number ::")
sql="update student set rno=%s , name=%s
,fname=%s,dob=%s,gender=%s,address=%s,mobile=%s where rno=%s "
params=(s1,s2,s3,s3,s4,s5,s6,s7,m1)
p=mycon.cursor()
p.execute(sql,params)
mycon.commit()
print()
print(p.rowcount," record(s) updated ......")
def search_student():
print("working.....")
s1=int(input("Enter student roll no :::"))
query="select * from student where rno=%s;"%(s1,)
df=pd.read_sql(query,mycon)
print()
19
print(df)
x=input('''Do you want to save this result as pdf
type y::::''')
if x in ['y','Y','yes']:
df.to_csv("C://Users//XYZ//Desktop//XYZ//SMS//list.csv")
print()
print("saved successfully.......list.csv")
#teachers method started from here ....
def show_teacher():
query="select * from teacher;"
df=pd.read_sql(query,mycon)
print(df)
x=input('''Do you want to save this result as pdf
type y::::''')
if x in ['y','Y','yes']:
df.to_csv("C://Users//XYZ//Desktop//XYZ//SMS//list.csv")
print()
print("saved sucessfully.......list.csv")
def add_teacher():
s1=input("enter teacher id ::")
s2=input("Enter teacher name ::")
s3=input("Enter DOB in yyyy/mm/dd ::")
s4=input("Enter gender as M or F ::")
s5=input("Enter teacher's address ::")
s6=input("Enter subject of teacher ::")
s7=input("Enter salary:: ")
query="insert into
teacher(tid,name,dob,gender,address,subject,salary)values(%s,%s,%s,%s,%s,%s,%
s);"
param=(s1,s2,s3,s4,s5,s6,s7)
mycon.cursor().execute(query,param)
mycon.commit()
print()
print("teacher added successfully....with name ...",s2)
def delete_teacher():
s1=input(("Enter teacher id :::"))
s2=input("Enter the name of teacher:::")
sql="delete from teacher where tid=%s or name=%s"
params=(s1,s2)
p=mycon.cursor()
p.execute(sql,params)
mycon.commit()
print()
print(p.rowcount," teacher record(s) deleted....")
20
OUTPUT
21
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.
SPECIFICATION-BASED TESTING
22
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 behaviour), either "is" or "is 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
actually 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, black box testing has the
advantage of "an unaffiliated opinion," on the one hand, and the disadvantage of
"blind exploring," on the other.
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)
23
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.
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.
24
HARDWARE AND SOFTWARE REQUIREMENTS
3. MOTHERBOARD : Pletinum
4. RAM : 512MB+
SOFTWARE REQUIREMENTS:
I. Windows OS or linux
II. Python(with pandas module )
III. Mysql
IV. MySql Connector
25
26
BIBLIOGRAPHY
***
27