Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
63 views

Final Report

The document discusses developing a student database management system to automate the manual process of storing and retrieving student information. It aims to enhance efficiency and maintain accurate information by overhauling the existing system and improving processes like recording, retrieving and managing student data.

Uploaded by

Chanda
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views

Final Report

The document discusses developing a student database management system to automate the manual process of storing and retrieving student information. It aims to enhance efficiency and maintain accurate information by overhauling the existing system and improving processes like recording, retrieving and managing student data.

Uploaded by

Chanda
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

SYNOPSIS

An organized and systematic office solution is essential for all universities and
organizations. There are many departments of administration for the maintenance of
college information and student databases in any institution. All these departments provide
various records regarding students. Most of these track records need to maintain record
about the students. This information could be the general details like student name, class,
student id, or specific information related to departments like collection of data. They are
maintained manually. So they need to be automated and centralized as, Information from
one module will be needed by other modules. For example, when a student needs his
course completion certificate it needs to check many details about the student like his
name, id number, many other details. So it needs to contact all the modules that are office,
department and examination and result of students.
With that in mind, we overhauled the existing Student Database Management System and
made necessary improvement to streamline the processes. Administrators using the system
will find that the process of recording and retrieving student information and managing
their classes, including name exam detail etc, is now a breeze. In general, this project aims
to enhance efficiency and at the same time maintain information accurateness. Later in this
report, features and improvement that allow achievement to this goal will be demonstrated
and highlighted.
Our work is useful for easy user interface. We are planning to utilize the powerful database
management, data retrieval and data manipulation. We will provide more ease for
managing the data than manually maintaining in the documents. Our work is useful for
saving valuable time and reduces the huge paper work.

1
ACKNOWLEDGEMENT
I am using this opportunity to express my gratitude to everyone who supported me throughout
the course of this MCA project. I am thankful for their aspiring guidance, invaluably constructive
criticism and friendly advice during the project work. I am sincerely grateful to them for sharing
their truthful and illuminating views on a number of issues related to the project.

I express my warm thanks to Ms. Ranju for their support and guidance. During the entire course
of this project he reviewed with greatest care and his innovative ideas led to the successful
completion of this work. His continuous strong and encouragement had some very profound
effect on me that went beyond scientific supervision.

It is difficult to acknowledge adequately the help and encouragement I received from him but I
take this opportunity to thanks them profusely. I wish to thank IIU for his constant support and
encouragement .I am thankful to all other faculty members and all computer center staff in
Department of CSE for their cooperation extended during the project work. I am also thankful to
my colleagues and classmates who helped me directly or indirectly throughout my project work.

Yogesh Kumar

18/NR/US/CA006

Reg.No.18014

2
TABLE OF CONTENT

S.NO TOPIC TITLE PAGE NO.

1. INTRODUCTION 7

2. AIM 8

3. REQUIREMENT 9

4. SOFTWARE REQUIREMENT ANALYSIS 10

5. FUNCTIONS 13

6. DATA FLOW DIAGRAM 15

7. CODING 16

8. OUTPUT 27

9. DATABASE OUTPUT 28
10. TOOLS AND METHODLOGY 29

11. FUTURE SCOPE 31

12. CONCLUSION 32

13. REFERENCES AND BIBLIOGRAPY 33

3
INTRODUCTION
Student Management System deals with all kind of student details, course details, fees
details and other resource related details too. It tracks all the details of a student from the
day one to the end of his course which can be used for all student id student name, course,
etc.
Our design can facilitate us to explore all the activities happening in the student record
even we can get to know which faculty is assigned to which course, the current status of a
student, exam ranking, average , percentage of a student. The student Record system is an
automated version of manual Student Management System. It can handle all details about
a student. The details include college details, subject details, student personnel details,
academic details, exam details etc.
In case of manual system they need a lot of time, manpower etc. Here almost all work is
computerized. So the accuracy is maintained. Maintaining backup is very easy. It can do
with in a few minutes. Student Record system is managed by an administrator. It is the job
of the administrator to insert update and monitor the whole process. When a user log in to
the system. He/she would only view details of the student. Our system has seven modules,
they are student id, student name, course id, exam, average, total, and ranking. These
modules and its attributes with entity relationship module presented in the ER diagram
section

4
OBJECTIVES
AIMS AND OBJECTIVES
This product will be tested based on the following objectives:-
 To examine the student record.
 To improve the speed of fetching data according to the need of student.
 To design a simple student database to ensure timely processing of data.
 To design a simple student record database by keeping all security and ethics in mind.
 And finally, to reduce the problems immensely and provides a release working
environment.

5
REQUIREMENTS
SOFTWARE REQUIREMENTS-

 Pycharm: python language interface


 MySQL: Database, to perform the tasks related to database in the web applications.
 Text Editor: Notepad, Net beans and Dreamweaver
 Browser: Mozilla Firefox , Google chrome

HARDWARE REQUIREMENTS-

 Pentium IV Processor or
 1 Gigahertz(GHz)or faster 32-bit(x86) or 64-bit(x64)processor.
 A minimum of 512 MB RAM.
 Hard disk : 20 GB.
 A properly arranged PC having all the necessary components-
1. Monitor
2. CPU
3. Keyboard
4. Mouse

6
SOFTWARE REQUIREMENT ANALYSIS
PURPOSE OF THE SYSTEM

The system maintains records of students, the courses and modules on which they are
registered and the outcome of their studies. The application is distributed application because
the data is stored centrally by the university but accessed by academic staff and administrators
across the university. Students also access the system to view their results. The real system
would be service oriented and would expose some of its functionality as a set of services which
could be consumed by other applications.

PROBLEMS IN THE EXISTING SYSTEM

The future of the existing system has to be seen as one of continuous change, where the
information that is stored is of increasing complexity and quantity. The existing system is
required to provide a useable and well managed interface for student, academic and administrator
users to view and manipulate the data for which it is responsible. For each it must allow the
rapid formulation and resolution of queries related to the student information. There is also a
requirement for the system to interact with other information sources as required, both as an
information source and as a consumer of related information during the resolution of queries.

SOLUTION OF THESE PROBLEMS

The development of this new system contains the following activities, which try to automate the
entire process keeping in the view of database integration approach.

 User Friendliness is provided in the application with various controls provided by system
Rich User Interface.

 The system makes the overall project management much easier and flexible.

 It can be accessed over the Intranet.

 The student information can be stored in centralized database which can be maintained
by the system.

 This can give the good security for user information because data is not in client machine.

 Authentication is provided for this application only registered students can access.

7
 There is no risk of data management at any level while the project development is under
process.

System Development life cycle:-

Systems Development Life Cycle (SDLC) is the most common process adopted to develop
a project and not surprisingly, this project is following this model too. To be precise,
waterfall model is being applied. Waterfall model is a sequential model process where the
input of a phase actually results from the previous phase.

Figure : SDLC Phases

There are five phases in this model and the first phase is the planning stage. The
planning stage determines the objectives of the project and whether the project should be
given the green light to proceed. This is where the proposal submission comes into picture.
After obtaining the approval, the next phase is analysis. Gathering and analyzing the
system and user requirements is essential for entry to the design step.
With the user requirements gathering completed, there is a need to prepare the resources
for the project. Be it software or hardware components, careful consideration and selection
is to be taken care at this stage. The decision on the appropriate resources to be used
is further elaborated under the subsections below. The next step is to design the system and
database structure.
Results from the analysis and preparation that were concluded from the previous stage
are put into action. With the user requirements in mind, the flow of the system is planned
and the user interface is designed to suit their easy navigation needs. In addition, the
number of tables, attributes, primary and unique keys of the database is listed.

8
After completing the design, actual coding begins. Database is created and codes are
written. Some of the codes required amendments and improvement to it so these are being
developed at this fourth stage of the waterfall model. With the development completed,
testing will begin. The codes and database are tested to ensure the results obtained are as
intended. More time is spent on both development and testing stages because it is
inevitable to have errors and issues and buffer time is allocated for troubleshooting.

Python language selection:

Python is an interpreted, high-level, general-purpose programming language. Created by Guido


van Rossum and first released in 1991,  Python is very simple for a beginner .

 Python was designed for readability, and has some similarities to the English language
with influence from mathematics.
 Python uses new lines to complete a command, as opposed to other programming
languages which often use semicolons or parentheses.
 Python relies on indentation, using whitespace, to define scope; such as the scope of
loops, functions and classes. Other programming languages often use curly-brackets for
this purpose.

Why Python

 Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
 Python has a simple syntax similar to the English language.
 Python has syntax that allows developers to write programs with fewer lines than some
other programming languages.
 Python runs on an interpreter system, meaning that code can be executed as soon as it is
written. This means that prototyping can be very quick.
 Python can be treated in a procedural way, an object-orientated way or a functional way.

Database selection:

There are a variety of databases that we can select from the market. The widely used
databases are Microsoft Access, Microsoft SQL, Oracle and MySQL . Looking at
Microsoft Access, it does not encourage concurrent usage and it may be inefficient, as the
database needs to be saved into one file. It is also unable to process high speed and large
size database as compared to MySQL.
In terms of costs, Oracle database requires a licensing fee but MySQL database is a
freeware. In addition, MySQL database is easy to install, user friendly, reliable and is able

9
to run on different platforms. Moreover PHP can access MySQL database directly without
the need to go through ODBC (Open Database Connectivity).
To conclude, python is able to run faster with MySQL database and the processing time
will definitely be shorter. The pre-school does not require complex and costly software for
its database management system hence MySQL is the ideal database for this project.
FUNCTIONS
While preparing student record database, the functions which were mainly used were SQL
queries which are mentioned below:

1. Insert
2. Update
3. Delete
4. Display
5. Search
6. Exit

 Creating a Function: In Python a function is defined using the def keyword

 Calling a Function: To call a function, use the function name followed by parenthesis

 Parameters: Information can be passed to functions as parameter.

 Default Parameter Value: If we call the function without parameter, it uses the default
value

 Passing a List as a Parameter: You can send any data types of parameter to a function
(string, number, list, dictionary etc.), and it will be treated as the same data type inside
the function.

 Return Values: To let a function return a value, use the return statement

 Recursion : Recursion is a common mathematical and programming concept. It means


that a function calls itself. This has the benefit of meaning that you can loop through data
to reach a result.
Additional Functions:

Tkinter lables:

 Tk:  To create a main window, tkinter offers a method Tk. To change the name of the
window, you can change the className to the desired one
 mainloop():  There is a method known by the name mainloop() is used when you are
ready for the application to run. 

10
 Button: To add a button in your application, this widget is used.
 activebackground: to set the background color when button is under the cursor.
 activeforeground: to set the foreground color when button is under the cursor.
 bg: to set he normal background color.
 command: to call a function.
 font: to set the font on the button label.
 image: to set the image on the button.
 width: to set the width of the button.
 height: to set the height of the button.
 CheckButton:  To select any number of options by displaying a number of options to a
user as toggle buttons.
 Entry: It is used to input the single line text entry from the user.. For multi-line text
input, Text widget is used.

11
SYSTEM DESIGN

DATA FLOW DAIGRAM


Figure is a data flow diagram which identifies the major functions required of the student

and shows their relationship to each other. The numbers included with each function

are keyed to the subsections below that describe that function:

Figure : Data Flow diagram

FUNCTION PROVIDE BY THE STUDENT RECORD DATABASE:

The major functions identified in the data flow diagram of figure 1 are as below:

1. Insertion
2. Updation
3. clear
4. Deletion
5. Search
6. Exit

12
Coding
student record database

from tkinter import *


import tkinter.messagebox
from tkinter import ttk
import time
import datetime
import StudentDatabaseRecord

class Student(Tk):

def __init__(self):
Tk.__init__(self)
self.title("student record mgmt")
self.geometry("1350x750+0+0")
self.config(bg="blue")

StdID = StringVar()
Firstname = StringVar()
Surname = StringVar()
courseCode = StringVar()
Math = StringVar()
Engish = StringVar()
Computer = StringVar()
Science = StringVar()
Hindi = StringVar()
Totalscore = StringVar()
Average = StringVar()
Ranking = StringVar()
Dateisued = StringVar()

#
==============================function======================================

13
def Exit():
qExit = tkinter.messagebox.askyesno("Quit System", "Do yo want to quit?")
if qExit > 0:
root.destroy()
return

def clear():
StdID.set("")
Firstname.set("")
Surname.set("")
courseCode.set("")
Math.set("")
Engish.set("")
Computer.set("")
Science.set("")
Hindi.set("")
Totalscore.set("")
Average.set("")
Ranking.set("")

def addData():
SID=StdID.get()
FNAME=Firstname.get()
lname=Surname.get()
cc=courseCode.get()
ma=Math.get()
en=Engish.get()
comp=Computer.get()
sc=Science.get()
hin=Hindi.get()

Unit1 = int(ma)
Unit2 = int(en)
Unit3 = int(comp)
Unit4 = int(sc)
Unit5 = int(hin)

UnitAverage = (Unit1 + Unit2 + Unit3 + Unit4 + Unit5) / 5


UnitTotal = (Unit1 + Unit2 + Unit3 + Unit4 + Unit5)
Totalscore.set(int(UnitTotal))
Average.set(int(UnitAverage))

if (UnitTotal >= 480):


Ranking.set("1st")
elif (UnitTotal >= 450):

14
Ranking.set("2nd")
elif (UnitTotal >= 400):
Ranking.set("3rd")
elif (UnitTotal >= 350):
Ranking.set("4th")
elif (UnitTotal >= 250):
Ranking.set("pass")
elif (UnitTotal >= 150):
Ranking.set("Fail")
Dateisued.set(time.strftime("%d/%m/%Y"))
cdate = Dateisued.get();
total = Totalscore.get()
avg = Average.get()
rank = Ranking.get()
#print(SID,FNAME,lname,cc,ma,en,comp,sc,hin,total,avg,rank);
try:
check=StudentDatabaseRecord.addStdRec(SID, FNAME, lname, cc, ma, en, comp, sc, hin,
total, avg,rank, cdate)
if (check > 0):
tkinter.messagebox.showinfo("", "add successfully")

except:
tkinter.messagebox.showinfo("", "student id already exist")

self.txtUnitGrades.insert(END,
'================================================' + "\n")
self.txtUnitGrades.insert(END, 'Student Id:\t\t' + SID + '\t\t' + cdate + "\n")
self.txtUnitGrades.insert(END,
'================================================' + "\n")

self.txtUnitGrades.insert(END, 'Firstname:\t\t\t\t' + FNAME + "\n")


self.txtUnitGrades.insert(END, 'Surname:\t\t\t\t' + lname + "\n")
self.txtUnitGrades.insert(END, 'CourseCode:\t\t\t\t' + cc + "\n")
self.txtUnitGrades.insert(END, 'Math:\t\t\t\t' + ma + "\n")
self.txtUnitGrades.insert(END, 'English:\t\t\t\t' + en + "\n")
self.txtUnitGrades.insert(END, 'Computer:\t\t\t\t' + comp + "\n")
self.txtUnitGrades.insert(END, 'Science:\t\t\t\t' + sc + "\n")
self.txtUnitGrades.insert(END, 'Hindi:\t\t\t\t' + hin + "\n")

self.txtUnitGrades.insert(END,
'================================================' + "\n")
self.txtUnitGrades.insert(END, 'TotalScore:\t\t\t\t' + total + "\n")
self.txtUnitGrades.insert(END, 'Average:\t\t\t\t' + avg + "\n")
self.txtUnitGrades.insert(END, 'Ranking:\t\t\t\t' + rank + "\n")
self.txtUnitGrades.insert(END,

15
'================================================' + "\n")

# =====================================Database
Function=================================

def DisplayData():
studentlist.delete(0, END)
rr=StudentDatabaseRecord.display()
for row in rr:
studentlist.insert(END, row, str(""))

def SearchDatabase():
SID = StdID.get()
if (SID != ""):
studentlist.delete(0, END)
j = StudentDatabaseRecord.searchData(SID)
print(j[1])
Firstname.set(j[1])
Surname.set(j[2])
courseCode.set(j[3])
Math.set(j[4])
Engish.set(j[6])
Computer.set(j[8])
Science.set(j[5])
Hindi.set(j[7])
Totalscore.set(j[9])
Average.set(j[10])
Ranking.set(j[11])

self.btnDeleteData.configure(state="normal")
self.btnUpdateData.configure(state="normal")

else:
tkinter.messagebox.showinfo("", "enter sid")

def update():
SID = StdID.get()
FNAME = Firstname.get()
lname = Surname.get()
cc = courseCode.get()
ma = Math.get()
en = Engish.get()
comp = Computer.get()

16
sc = Science.get()
hin = Hindi.get()

Unit1 = float(ma)
Unit2 = float(en)
Unit3 = float(comp)
Unit4 = float(sc)
Unit5 = float(hin)

UnitAverage = (Unit1 + Unit2 + Unit3 + Unit4 + Unit5) / 5


UnitTotal = (Unit1 + Unit2 + Unit3 + Unit4 + Unit5)
Totalscore.set(int(UnitTotal))
Average.set(int(UnitAverage))

if (UnitTotal >= 480):


Ranking.set("1st")
elif (UnitTotal >= 450):
Ranking.set("2nd")
elif (UnitTotal >= 400):
Ranking.set("3rd")
elif (UnitTotal >= 350):
Ranking.set("4th")
elif (UnitTotal >= 250):
Ranking.set("pass")
elif (UnitTotal >= 150):
Ranking.set("Fail")
Dateisued.set(time.strftime("%d/%m/%Y"))
cdate = Dateisued.get();
total = Totalscore.get()
avg = Average.get()
rank = Ranking.get()
#print(SID, FNAME, lname, cc, ma, en, comp, sc, hin, total, avg, rank);
check = StudentDatabaseRecord.updateData(SID, FNAME, lname, cc, ma, en, comp, sc, hin,
total, avg, rank,
cdate)
if(check>0):
tkinter.messagebox.showinfo("","update successfully")
self.btnUpdateData.configure(state="disabled")

self.txtUnitGrades.insert(END,
'================================================' + "\n")
self.txtUnitGrades.insert(END, 'Student Id:\t\t' + SID + '\t\t' + cdate + "\n")
self.txtUnitGrades.insert(END,
'================================================' + "\n")

17
self.txtUnitGrades.insert(END, 'Firstname:\t\t\t\t' + FNAME + "\n")
self.txtUnitGrades.insert(END, 'Surname:\t\t\t\t' + lname + "\n")
self.txtUnitGrades.insert(END, 'CourseCode:\t\t\t\t' + cc + "\n")
self.txtUnitGrades.insert(END, 'Math:\t\t\t\t' + ma + "\n")
self.txtUnitGrades.insert(END, 'English:\t\t\t\t' + en + "\n")
self.txtUnitGrades.insert(END, 'Computer:\t\t\t\t' + comp + "\n")
self.txtUnitGrades.insert(END, 'Science:\t\t\t\t' + sc + "\n")
self.txtUnitGrades.insert(END, 'Hindi:\t\t\t\t' + hin + "\n")

self.txtUnitGrades.insert(END,
'================================================' + "\n")
self.txtUnitGrades.insert(END, 'TotalScore:\t\t\t\t' + total + "\n")
self.txtUnitGrades.insert(END, 'Average:\t\t\t\t' + avg + "\n")
self.txtUnitGrades.insert(END, 'Ranking:\t\t\t\t' + rank + "\n")
self.txtUnitGrades.insert(END,
'================================================' + "\n")

#
====================================frame==================================#

MainFrame = Frame(self, bg="blue")


MainFrame.grid()

DataFrame2 = Frame(MainFrame, bd=1, width=1300, height=500, padx=10, pady=20,


relief=RIDGE, bg="blue")
DataFrame2.pack(side=BOTTOM)

ListFrame = Frame(DataFrame2, bd=2, width=1350, height=100, padx=25, pady=50, relief=RIDGE,


bg="powder blue")
ListFrame.pack(side=TOP)

ButtonFrame = Frame(DataFrame2, bd=2, width=1350, height=40, padx=18, pady=10,


relief=RIDGE, bg="powder blue")
ButtonFrame.pack(side=BOTTOM)

DataFrame = Frame(MainFrame, bd=1, width=1300, height=400, padx=20, pady=20, relief=RIDGE,


bg="blue")
DataFrame.pack(side=TOP)

DataFrameLEFT = LabelFrame(DataFrame, bd=1, width=900, height=200, padx=20, pady=20,


relief=RIDGE, bg="white",
font=('Arial', 20, 'bold'), text="Student Details")

18
DataFrameLEFT.pack(side=LEFT)

DataFrameRIGHT = LabelFrame(DataFrame, bd=1, width=450, height=200, padx=31, pady=3,


relief=RIDGE, bg="powder blue",
font=('Arial', 20, 'bold'), text="Unit Grades")
DataFrameRIGHT.pack(side=RIGHT)

#
=============================widget======================================

self.lblStuID = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Student Id", padx=2, pady=2,


bg="Ghost white")
self.lblStuID.grid(row=0, column=0, sticky=W)
self.txtStuID = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=StdID, bg="Ghost
white")
self.txtStuID.grid(row=0, column=1)

self.lblCousrseCode = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="CousrseCode",


padx=2, pady=2,
bg="Ghost white")
self.lblCousrseCode.grid(row=1, column=0, sticky=W)
self.cboCoureCode = ttk.Combobox(DataFrameLEFT, textvariable=courseCode, state='randonly',
font=('arial', 14, 'bold'), width=23)
self.cboCoureCode['value'] = ('', '1111', '2222', '3333', '4444', '5555')
self.cboCoureCode.current(0)
self.cboCoureCode.grid(row=1, column=1, pady=3, padx=20)

self.lblFirstname = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Firstname", padx=2,


pady=2,
bg="Ghost white")
self.lblFirstname.grid(row=2, column=0, sticky=W)
self.txtFirstname = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Firstname,
bg="Ghost white")
self.txtFirstname.grid(row=2, column=1)

self.lblSurname = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Surname", padx=2,


pady=2,
bg="Ghost white")
self.lblSurname.grid(row=3, column=0, sticky=W)
self.txtSurname = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Surname,
bg="Ghost white")
self.txtSurname.grid(row=3, column=1)

19
self.lblMaths = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Maths", padx=2, pady=2,
bg="Ghost white")
self.lblMaths.grid(row=0, column=2, sticky=W)
self.txtMaths = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Math, bg="Ghost
white")
self.txtMaths.grid(row=0, column=3)

self.lblEnglish = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="English", padx=2, pady=2,


bg="Ghost white")
self.lblEnglish.grid(row=1, column=2, sticky=W)
self.txtEnglish = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Engish, bg="Ghost
white")
self.txtEnglish.grid(row=1, column=3)

self.lblComputer = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Computer", padx=2,


pady=2, bg="Ghost white")
self.lblComputer.grid(row=2, column=2, sticky=W)
self.txtComputer = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Computer,
bg="Ghost white")
self.txtComputer.grid(row=2, column=3)

self.lblScience = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Science", padx=2, pady=2,


bg="Ghost white")
self.lblScience.grid(row=3, column=2, sticky=W)
self.txtScience = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Science, bg="Ghost
white")
self.txtScience.grid(row=3, column=3)

self.lblHindi = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Hindi", padx=2, pady=2,


bg="Ghost white")
self.lblHindi.grid(row=4, column=2, sticky=W)
self.txtHindi = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Hindi, bg="Ghost
white")
self.txtHindi.grid(row=4, column=3)

self.lblTotalscore = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Totalscore", padx=2,


pady=2,
bg="Ghost white")
self.lblTotalscore.grid(row=4, column=0, sticky=W)

20
self.txtTotalscore = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Totalscore,
bg="Ghost white")
self.txtTotalscore.grid(row=4, column=1)

self.lblAverage = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Average", padx=2,


pady=2,
bg="Ghost white")
self.lblAverage.grid(row=5, column=0, sticky=W)
self.txtAverage = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Average, bg="Ghost
white")
self.txtAverage.grid(row=5, column=1)

self.lblRanking = Label(DataFrameLEFT, font=('Arial', 14, 'bold'), text="Ranking", padx=2,


pady=2, bg="Ghost white")
self.lblRanking.grid(row=5, column=2, sticky=W)
self.txtRanking = Entry(DataFrameLEFT, font=('Arial', 14, 'bold'), textvariable=Ranking, bg="Ghost
white")
self.txtRanking.grid(row=5, column=3)

# ========================================Unit Grades
===============================

self.txtUnitGrades = Text(DataFrameRIGHT, height=14, width=55, bd=10, font=('arial', 11, 'bold'))


self.txtUnitGrades.grid(row=0, column=0)
#
========================================LisFrame============================
======
scrollbar = Scrollbar(ListFrame)
scrollbar.grid(row=0, column=1, sticky='ns')

studentlist = Listbox(ListFrame, width=141, height=7, font=('arial', 12, 'bold'),


yscrollcommand=scrollbar.set)
studentlist.grid(row=0, column=0, padx=8)
scrollbar.config(command=studentlist.yview)

# ===========================================Button
Frame=================================
self.btnAddData = Button(ButtonFrame, text='Save', font=('arial', 12, 'bold'), height=1, width=16,
bd=2, padx=13,
command=addData)
self.btnAddData.grid(row=0, column=0)

self.btnDisplayData = Button(ButtonFrame, text='Display', font=('arial', 12, 'bold'), height=1,

21
width=16, bd=2,
padx=8,
command=DisplayData)
self.btnDisplayData.grid(row=0, column=1)

self.btnClearData = Button(ButtonFrame, text='Clear', font=('arial', 12, 'bold'), height=1, width=16,


bd=2, padx=8,
command=clear)
self.btnClearData.grid(row=0, column=2)

def DeleteData():
SID = StdID.get()
if (SID != ""):
studentlist.delete(0, END)
rr = StudentDatabaseRecord.deleteRec(SID)
if(rr>0):
tkinter.messagebox.showinfo("messagebox","record deleted ")
self.btnDeleteData.configure(state="disabled")
clear()

self.btnDeleteData = Button(ButtonFrame, text='Delete', state="disabled" ,font=('arial', 12, 'bold'),


height=1, width=16, bd=2,padx=8,

command=DeleteData)
self.btnDeleteData.grid(row=0, column=3)

self.btnSearchingData = Button(ButtonFrame, text='Search', font=('arial', 12, 'bold'), height=1,


width=16, bd=2,
padx=8, command=SearchDatabase)
self.btnSearchingData.grid(row=0, column=4)

self.btnUpdateData = Button(ButtonFrame, text='Update', state="disabled",font=('arial', 12, 'bold'),


height=1, width=16, bd=2,
padx=8,command=update)
self.btnUpdateData.grid(row=0, column=5)

self.btnExitData = Button(ButtonFrame, text='Exit', font=('arial', 12, 'bold'), height=1, width=16,


bd=2, padx=8,
command=Exit)
self.btnExitData.grid(row=0, column=6)

22
if __name__ == '__main__':
root = Student()
root.mainloop()

Database inut for stuent record system

import pymysql
import tkinter.messagebox
db_con=pymysql.connect("localhost","root","root","dbproject")

def
addStdRec(sid,Firstname,Surname,Coursecode,Math,English,Computer,Science,Hindi,Totalscore,Averag
e,Ranking,cd):
cur = db_con.cursor()
sql = "insert into students values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
val =
(sid,Firstname,Surname,Coursecode,Math,Science,English,Hindi,Computer,Totalscore,Average,Ranking,
cd)
cur.execute(sql,val)
db_con.commit()
a = cur.rowcount
return a

def
updateData(sid,Firstname,Surname,Coursecode,Math,English,Computer,Science,Hindi,Totalscore,Avera
ge,Ranking,cd):
cur = db_con.cursor()
sql = "update students set fname=%s, lname=%s, course_code=%s, math=%s, science=%s,english=
%s,hindi=%s,computer=%s,total=%s,avg=%s,ranking=%s,cdate=%s where id = %s"
val =
(Firstname,Surname,Coursecode,Math,Science,English,Hindi,Computer,Totalscore,Average,Ranking,cd,s
id)
cur.execute(sql,val)
db_con.commit()
a = cur.rowcount
return a

def display():
sql="select * from students"
cur=db_con.cursor()
cur.execute(sql)
c=cur.fetchall()

23
cur.close()
return c

def deleteRec(id):
cur = db_con.cursor()
cur.execute("delete FROM students WHERE id=%s",(id))
c=cur.rowcount
db_con.commit()
cur.close()
return c

def searchData(id):
sql = "SELECT * FROM students WHERE id =%s"
val=(id)
cur = db_con.cursor()
cur.execute(sql,val)

a = cur.rowcount

if(a>0):
c = cur.fetchone()
return c
else:
tkinter.messagebox.showinfo(""," record not exist ")
cur.close()

Output:-

24
25
Database record output:

26
Tools and technologies Used
Since the project in itself offers a broad purview in terms of implementation platforms. So, we
needed to assay which platform could be used for the implementation. Primarily the tool used for
implementation is Python. Various classification algorithms were implemented in Python using
the machine learning library – scikit -learn and other essential libraries including Numpy were
also utilized. Apart from this, the various libraries of Python were used along with excel and
various other Microsoft tools that were necessary for the processing of the data that was
provided.

 Python

Python is simply made to be easy to study and very powerful language. It is an open source
programming language. Basically python is an interpreted language that does not need to be
compiling to run. It is a good programming language for the beginners. It is a high level
programming language, which implies a software engineer can centre on what to do rather than
how to do it. It gives assembles that enable clear programming on both minor and huge scales.
Python incorporates a dynamic sort structure and customized memory organization. It underpins
various programming perfect models, including object-situated, essential, helpful and procedural,
and has a far reaching and thorough standard library.
Python interpreters are open for some working structures. CPython, the reference utilization of
Python, is open source programming and has a system based progression show, as do nearly
most of its variety executions. Python is utilized by countless software engineers and is utilized
as a part of numerous spots. Some of the time just Python code is utilized for a program,
however more often than not it is utilized to do straightforward occupations while another
programming language is utilized to accomplish more difficult or complex tasks. Python is a
multi-worldview programming language. Object oriented programming and organized writing
computer programs are completely supported, and huge numbers of its highlights functional
programming and perspective arranged programming and meta objects. Many different standards
are supported by means of expansions, including outline by contract and rationale programming.
Python utilizes dynamic composing, and a mix of reference tallying and a cycle-recognizing city
worker for memory administration. It likewise includes dynamic name determination, which ties
technique and variable names during program execution.

Scikit Learn Libraries

27
Scikit Learn is a free software machine learning library for python. Its main
characteristics various classification, regression and clustering algorithms which includes support
vector machines (SVM), random forests, gradient boosting, k- means and DBSCAN and is
intended to interoperate with the Python numerical and logical libraries Numpy and
Scipy. Scikit-learn is to a great extent written in Python, with some centre calculations written in
Cython to accomplish execution. It incorporates calculations for division, geometric changes,
shading space control, investigation, filtering, morphology, feature detection and more. It is
intended to interoperate with the Python numerical and logical libraries NumPy and SciPy.
Scikit-learn is to a great extent written in Python, with some centre calculations written in python
to accomplish execution.

28
FUTURE SCOPE
An organized and systematic office solution is essential for all universities and organizations.
There are many departments of administration for the maintenance of college information and
student databases in any institution. All these departments provide various records regarding
students. Most of these track records need to maintain information about the students. This
information could be the general details like student name, address, performance, attendance etc
or specific information related to departments like collection of data.

All the modules in college administration are interdependent. They are maintained manually. So
they need to be automated and centralized as, Information from one module will be needed by
other modules. For example when a student needs his course completion certificate it needs to
check many details about the student like his name, reg number, year of study, exams he
attended and many other details. So it needs to contact all the modules that are office, department
and examination and result of students.

29
CONCLUSION
Student Management System can be used by educational institutions to maintain their student
records easily. Achieving this objective is difficult using the manual system as the information is
scattered, can be redundant and collecting relevant information may be very time-consuming.

All these problems are solved by this project. This system helps in maintaining the information
of pupil of the organization. It can be easily accessed by the manager and kept safe for a long
period of time without any changes.

30
REFERENCES AND BIBLIOGRAPY
 Google for problem solving .
 https://www.tutorialspoint.com/python
 https://www.w3docs.com/python
 https://www.w3schools.com/python
 https://www.scribd.com/python
 https:apache.org/doc/2.0/misc/tutorial.python

31

You might also like