mypythonproject modified qqq-1
mypythonproject modified qqq-1
-Jasmine kaur
CERTIFICATE
This is to certify that Jasmine kaur of XII (Medical) has
completed the Informatics Practices project entitled,
“SCHOOL MANAGEMENT SYSTEM” under the
guidance of his Informatics Practices teacher
Ms. Poonam for class +2 practical examination of the
CBSE in session 2022-2023.
. . . .
Signature of Internal examiner Signature of External examiner
. .
Signature of principal
GURU NANAK PUBLIC SR SEC SCHOOL
Jagaatkhana Nalagarh
PROJECT FILE OF
INFORMATICS PRACTICES(065)
SUBMITTED BY: SUBMITTED TO:
Name : Jasmine kaur Mrs. Poonam
Rollno. :
CONTENTS
▪ Introduction
▪ Objectives of the project
▪ Proposed system
▪ Planning phase
▪ Requirement analysis phase
▪ Design phase
▪ Development phase
▪ Integration and Test phase
▪ Implementation phase
▪ Operation and maintenance phase
▪ Requirements
▪ Source code
▪ Outputs
▪ Chart
▪ Bibliography
STUDENT MANAGEMENT SYSTEM
❖ INTRODUCTION
The School management system is basically a database based project done
with help of python language. This project is very useful for the schools to
maintain the data of the students . This project is multifield project ,so that it
can be modified for various purposes.
One has to use the data management software. Software has been an ascent
in atomization various organisations. Many software products working are
now in 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 button. Moreover, now it’s an age of computers of and automating such
an organization gives the better look
❖ PLANNING PHASE
The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in the
early stages of a project, is necessary to coordinate activities and manage
project risks effectively. The depth and formality of project plans should be
commensurate with the characteristics and risks of a given project. Project
plans refine the information gathered during the initiation phase by further
identifying the specific activities and resources required to complete a
project.
➢ Further define and refine the functional and data requirements and
document them in the Requirements documents.
➢ Develop detailed data and process models (system inputs, outputs, and
the process).
❖ DESIGN PHASE
The design phase involves converting the informational, functional, and
network requirements identified during the initiation and planning phases
into unified design specifications that developers use to script programs
during the development phase. Program designs are constructed in various
ways. Using a top-down approach, designers first identify and link major
program components and interfaces, then expand design layouts as they
identify and link smaller subsystems and connections. Using a bottom-up
approach, designers first identify and link minor program components and
interfaces, then expand design layouts as they identify and link larger
systems and connections.
These include:
❖ DEVELOPMENT PHASE
The development phase involves converting design specifications
into executable programs. Effective development standards include
requirements that programmers and other project participants
discuss design specifications before programming begins. The
procedures help ensure programmers clearly understand program
designs and functional requirements. Programmers use various
techniques to develop computer programs. The large transaction
oriented programs associated with financial institutions have
traditionally been developed using procedural programming
techniques. Procedural programming involves the line-by-line
scripting of logical instructions that are combined to form a
program. Effective completion of the previous stages is a key factor
in the success of the Development phase.
❖ 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 user requirements.
# 3: Search
# 4: Delete
# 6: Exit
# To store and retrieve our admission details we need a database so we used sql sub-module → sqlite3
Print()
Print()
Print()
Def ADM_MENU():
While True:
Print(“\t----------------------------------------------------“)
Print(“\t\t\t\t\t\tWELCOME”)
Print(“\t\t\t\t\t\t To”)
Print(“\t----------------------------------------------------“)
Print(“\t\t\t\t\t3 : Search”)
Print(“\t\t\t\t\t4 : Delete”)
Print(“\t\t\t\t\t6 : Exit”)
Connection = sql.connect(‘school_mgmt.db’)
# Here we created a cursor to make changes in our database by applying operations like insert,
# Here we are creating a table(admission_details) with column names to store our data
Adm_no integer,
Roll_no integer,
Stu_name text,
Address text,
Phn_num integer)”””)
Def fill_details():
:Address, :Phn_num)”,
‘Phn_num’: phn_num})
Connection.commit()
Connection.close()
Def show_details():
Print(list(cursor.fetchall()))
Connection.commit()
Connection.close()
Def search():
Print(list(cursor.fetchone()))
Connection.commit()
Connection.close()
# To delete data
Def delete():
Connection.commit()
Connection.close()
# To update data
Def update():
Connection.commit()
Connection.close()
If choice == 1:
Fill_details()
Break
Elif choice == 2:
Print(show_details())
Break
Elif choice == 3:
Search()
Break
Elif choice == 4:
Delete()
Break
Elif choice == 5:
Update()
Break
Elif choice == 6:
Import main_menu
Else:
Print(“Invalid Input!!”)
ADM_MENU()
# If the user enters 3 then the program will be directed to - fee menu
# We have various sub-options in our Fee-Menu - 1: Fee Deposit
# 2: Fee Details
# 3: Exit
print()
print()
print()
def FEE_MENU():
while True:
print("\t----------------------------------------------------")
print("\t\t\t\t\t\tWELCOME")
print("\t\t\t\t\t\t To")
print("\t\t\t\tSCHOOL MANAGEMENT SYSTEM")
print("\t\t\t\t GNPS School - FEE DETAILS ")
print("\t----------------------------------------------------")
print("\t\t\t\t\t1 : Fee Deposit")
print("\t\t\t\t\t2 : Fee Details")
print("\t\t\t\t\t3 : Exit")
choice = int(input("Enter Your Choice (1 - 3): "))
def show_fee_details():
print()
print("Your Fee Details: ")
cursor.execute("SELECT * FROM fee_details")
print(list(cursor.fetchall()))
connect.commit()
connect.close()
if choice == 1:
print("Successfully Connected to Database")
fee_deposit()
break
if choice == 2:
print("Successfully Connected to Database")
show_fee_details()
break
if choice == 3:
import main_menu
else:
print("Invalid Input!!")
FEE_MENU()
# If the user enters 4 then the program will be directed to - library details
# We have various sub-options in our Library-Menu - 1: Book Issue
# 2: Book Return
# 3: Exit
def LIB_MENU():
print()
print()
print()
while True:
print("\t----------------------------------------------------")
print("\t\t\t\t\t\tWELCOME")
print("\t\t\t\t\t\t To")
print("\t\t\t\tSCHOOL MANAGEMENT SYSTEM")
print("\t\t\t\t GNPS School - LIBRARY DETAILS ")
print("\t----------------------------------------------------")
print("\t\t\t\t\t1 : Book Issue")
print("\t\t\t\t\t2 : Book Return")
print("\t\t\t\t\t3 : Exit")
choice = int(input("Enter Your Choice (1 - 3): "))
if choice == 2:
book_name = input("Enter Book Name: ")
print(book_name, "Book Successfully Returned")
break
if choice == 3:
import main_menu
LIB_MENU()
# Firstly, we defined a function to write our code more efficiently and get
# So, Let's create our Main_Menu - called if required in the entire project.
def MAIN_MENU():
# Here we are doing some formatting using print() to make our output more
attractive.
# The entire formatting is done inside a while loop to keep the Main Menu(Output)
continue until the user selects any option.
print()
print()
print()
while True:
print("\t----------------------------------------------------")
print("\t\t\t\t\t\tWELCOME")
print("\t\t\t\t\t\t To")
print("\t\t\t\tSCHOOL MANAGEMENT SYSTEM")
print("\t\t\t\t GNPS School - MAIN MENU")
print("\t----------------------------------------------------")
print("\t\t\t\t\t1 : Admission")
print("\t\t\t\t\t2 : Student Data")
print("\t\t\t\t\t3 : Fee Details")
print("\t\t\t\t\t4 : Library Details")
print("\t\t\t\t\t5 : Student Performance Chart")
# Taking input from user
choice = int(input("Enter Your Choice (1 - 5): "))
elif choice == 5:
import student_performance
# 3: Search
# 4: Delete
Print()
Print()
Print()
Def STU_MENU():
While True:
Print(“\t----------------------------------------------------“)
Print(“\t\t\t\t\t\tWELCOME”)
Print(“\t\t\t\t\t\t To”)
Print(“\t----------------------------------------------------“)
Print(“\t\t\t\t\t3 : Search”)
Print(“\t\t\t\t\t4 : Delete”)
Print(“\t\t\t\t\t5 : Update Student Details”)
Print(“\t\t\t\t\t6 : Exit”)
Connection = sql.connect(‘school_mgmt2.db’)
Cursor = connection.cursor()
Roll_no integer,
Stu_name text,
Address text,
Std integer,
Stream text)”””)
Def fill_details():
Connection.commit()
Connection.close()
Def show_details():
Print(list(cursor.fetchall()))
Connection.commit()
Connection.close()
Def search():
Stu_name = input(“Enter Student Name: “)
Print(list(cursor.fetchone()))
Connection.commit()
Connection.close()
Def delete():
Connection.commit()
Connection.close()
Def update():
Connection.commit()
Connection.close()
If choice == 1:
Fill_details()
Break
Elif choice == 2:
Print(show_details())
Break
Elif choice == 3:
Search()
Break
Elif choice == 4:
Delete()
Break
Elif choice == 5:
Update()
Break
Elif choice == 6:
Import main_menu
Else:
Print(“Invalid Input!!”)
STU_MENU()
# If the user enters 5 then the program will be directed to – student performance chart
# To create array using mathematical operation we used numpy library as short name – np(just to make
it easy to remember)
Import numpy as np
# We need to show the array created by numpy as a chart(bar graph) so we used matplotlib as short
name – plt
Import matplotlib.pyplot as plt
# Here we created a time array to show our time gap between each term marks x-axis
Time = np.array([2, 4, 6, 8, 10])
# Taken input from user for total marks in each term to plot it on a bar graph on y-axis
Marks1 = int(input(“Enter First-Term Marks: “))
Marks2 = int(input(“Enter Second-Term Marks : “))
Marks3 = int(input(“Enter Third-Term Marks: “))
Marks4 = int(input(“Enter Fourth-Term Marks: “))
Marks5 = int(input(“Enter Fifth-Term Marks: “))
# converting the user inputs in an array to keep in a particular order and effectively plot on bar graph
Marks = [marks1, marks2, marks3, marks4, marks5]
# Here we created a bar graph based on time duration – student marks in each term
Bar = plt.bar(time, marks,color=[‘b’,’r’,’c’,’y’,’m’] label= “Student Performance Chart”)
# Here we defined labels on x-axis and y-axis to make it more clear to the user
Plt.xlabel(“Duration (In months)”)
Plt.ylabel(“Marks Obtained”)
➢ Library details:
Books issued and returned
➢ Student performance data:
CHART
BIBLIOGRAPHY
o Informative practices (Sumita Arora)
o Informative practices with python (Preeti Arora)