Student Result Management System: REPORT (2022)
Student Result Management System: REPORT (2022)
REPORT(2022)
Project Type:-
Software
Developed by:-
1.Ghusani Deep.
Evaluator:-
Mr.
Submit To:-
-: Acknowledgement :-
It is our great pleasure to present our project report on
“Student Result Management System” which we conceived the
5th Semester of BCA affiliated to BKNMU, Junagadh.
5 - Technical Feasibility 11
- Economical Feasibility
- Operational Feasibility
6 Data Dictionary 14
Data-Flow Diagram
7 0-Level Diagram 20
1st Level Diagram
2nd Level Diagram
8 Use case Diagram 28
9 ER Diagram 30
10 Water fall Model 31
11 Pert Chart 32
12 Gantt Chart 34
13 Implementation & Maintence 36
14 Testing 37
15 Screen Layout 39
Front-End :- Python
Back-End :- SQLLITE3
Stream :- BCA
Evaluator :- Mr.
Feasibility
Study
Technical Feasibility
Economic Feasibility
Operational Feasibility
System Analysis
1) Problem Reorganization.
2) Feasibility Study.
3) Requirement Analysis
Technical feasibility :-
o Hardware Requirement
Ram 1 GB Minimum
Hard disk 30 GB
o Software Requirement
Operating System XP or above
Database SQLLITE3
Platform Python
Operational feasibility:-
o The project requires one person who has knowledge of
basic computer fundamental.
o The client has one computer operator who can handle the
website.
o So, the project is operationally feasible.
Primary key,
cid Int 60 Auto
increment
Primary key,
roll Int 60 Auto
increment
Primary key,
rid Int 60 Auto
increment
o Context(Zero) Level
o First Level
o Second Level
External Entity:
Data Store:
rms
User Database Admin
Admin Side:-
users tour
id id
name pname
email ptype
password location
contect price
feature
sdetali
fdetail
image
booking
id
name
location
date
ptype
price
email
Razor_order_id
Razor_payment_id
phonnumber
adderess
city
status
-: Testing :-
Testing process contains many types of phases testing can
also be divided into various types. Testing is a process to
find the error and to combine it with the development of
the software.
Error may be occurs when the objects are improperly
specified and declared, failed, fault, test case and suite
are connected with the phases process.
Admin Side:-
1.Course
2.Student
3.Result
5.Exit
6.Total Student
7.Total Course
8.Total Result
(dashboard)
def add_course(self):
self.new_win=Toplevel(self.root)
self.new_obj=courseclass(self.new_win)
def add_studen(self):
self.new_win=Toplevel(self.root)
self.new_obj=studentclass(self.new_win)
def add_result(self):
self.new_win=Toplevel(self.root)
self.new_obj=resultclass(self.new_win)
def add_report(self):
self.new_win=Toplevel(self.root)
self.new_obj=reportclass(self.new_win)
def exit_(self):
op=messagebox.askyesno("Confirm","Do you Really want to Exit?",parent=self.root)
if op==True:
self.root.destroy()
if __name__=="__main__":
root=Tk()
obj=RMS(root)root.
mainloop()
def clear(self):
self.show()
self.var_course.set("")
self.var_duration.set("")
self.var_charges.set("")
self.var_search.set("")
self.txt_description.delete('1.0',END)
self.txt_courseName.config(state=NORMAL)
def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_course.get()=="":
Deep Ghusani Page 34
messagebox.showerror("Error","coures Name should be required",parent=self.root)
else:
cur.execute("select * from course where name=?",(self.var_course.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Please Select Coures from the list
First",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from course where name=?",(self.var_course.get(),))
con.commit()
messagebox.showinfo("Delete","Course deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def get_data(self,ev):
self.txt_courseName.config(state='readonly')
self.txt_courseName
r=self.CourseTable.focus()
content=self.CourseTable.item(r)
row=content["values"]
#print(row)
self.var_course.set(row[1])
self.var_duration.set(row[2])
self.var_charges.set(row[3])
#self.var_course.set(row[4])
self.txt_description.delete('1.0',END)
self.txt_description.insert(END,row[4])
def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_course.get()=="":
messagebox.showerror("Error","coures Name should be required",parent=self.root)
else:
cur.execute("select * from course where name=?",(self.var_course.get(),))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Coures Name Already
Present",parent=self.root)
else:
cur.execute("insert into course (name,duration,charges,description)
values(?,?,?,?)",(
self.var_course.get(),
self.var_duration.get(),
self.var_charges.get(),
self.txt_description.get("1.0",END)
))
def show(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from course")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:
self.CourseTable.insert('',END,values=row)
def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute(f"select * from course where name LIKE '%{self.var_search.get()}%'")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:
if __name__=="__main__":
root=Tk()
obj=courseclass(root)
root.mainloop()
def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Please Select student from the list
First",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from student where roll=?",(self.var_roll.get(),))
con.commit()
messagebox.showinfo("Delete","Student deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def get_data(self,ev):
self.txt_roll.config(state='readonly')
r=self.CourseTable.focus()
content=self.CourseTable.item(r)
row=content["values"]
self.var_roll.set(row[0])
self.var_name.set(row[1])
self.var_email.set(row[2])
self.var_gender.set(row[3])
self.var_dob.set(row[4])
self.var_contact.set(row[5])
self.var_a_date.set(row[6])
self.var_course.set(row[7])
self.var_state.set(row[8])
self.var_city.set(row[9])
self.var_pin.set(row[10])
self.txt_address.delete("1.0",END)
def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Roll No. Already Present",parent=self.root)
else:
cur.execute("insert into
student(roll,name,email,gender,dob,contact,admission,course,state,city,pin,address)
values(?,?,?,?,?,?,?,?,?,?,?,?)",(
self.var_roll.get(),
self.var_name.get(),
self.var_email.get(),
self.var_gender.get(),
self.var_dob.get(),
self.var_contact.get(),
self.var_a_date.get(),
self.var_course.get(),
self.var_state.get(),
self.var_city.get(),
self.var_pin.get(),
self.txt_address.get("1.0",END)
))
con.commit()
messagebox.showinfo("Success","Student Added
Successfully",parent=self.root)
self.show()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def update(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_roll.get()=="":
messagebox.showerror("Error","Roll No. should be required",parent=self.root)
else:
cur.execute("select * from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Select student from list",parent=self.root)
else:
cur.execute("update student set
name=?,email=?,gender=?,dob=?,contact=?,admission=?,course=?,state=?,city=?,pin=?,address=?
where roll=?",(
def show(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from student")
rows=cur.fetchall()
self.CourseTable.delete(*self.CourseTable.get_children())
for row in rows:
self.CourseTable.insert('',END,values=row)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def fetch_course(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select name from course")
rows=cur.fetchall()
if len(rows)>0:
for row in rows:
self.course_list.append(row[0])
def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select * from student where roll=?",(self.var_search.get(),))
row=cur.fetchone()
if row!=None:
self.CourseTable.delete(*self.CourseTable.get_children())
if __name__=="__main__":
root=Tk()
obj=studentclass(root)
root.mainloop()
def search(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
cur.execute("select name,course from student where roll=?",(self.var_roll.get(),))
row=cur.fetchone()
if row!=None:
self.var_name.set(row[0])
self.var_course.set(row[1])
else:
messagebox.showerror("Error","No Record Found",parent=self.root)
def add(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_name.get()=="":
messagebox.showerror("Error","Please first Search Student
Record",parent=self.root)
else:
cur.execute("select * from result where roll=? and
course=?",(self.var_roll.get(),self.var_course.get()))
row=cur.fetchone()
if row!=None:
messagebox.showerror("Error","Result Already Present",parent=self.root)
else:
per=(int(self.var_marks.get())*100)/int(self.var_full_marks.get())
cur.execute("insert into result(roll,name,course,marks_ob,full_marks,per)
values(?,?,?,?,?,?)",(
self.var_roll.get(),
self.var_name.get(),
self.var_course.get(),
self.var_marks.get(),
self.var_full_marks.get(),
str(per)
))
con.commit()
messagebox.showinfo("Success","Result Added Successfully",parent=self.root)
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
def clear(self):
self.var_roll.set("Select")
self.var_name.set("")
if __name__=="__main__":
root=Tk()
obj=resultclass(root)
root.mainloop()
def clear(self):
self.var_id=""
self.roll.config(text="")
self.name.config(text="")
self.course.config(text="")
self.marks.config(text="")
self.full.config(text="")
self.per.config(text="")
self.var_search.set("")
def delete(self):
con=sqlite3.connect(database="rms.db")
cur=con.cursor()
try:
if self.var_id=="":
messagebox.showerror("Error","Search Student Result First",parent=self.root)
else:
cur.execute("select * from result where rid=?",(self.var_id,))
row=cur.fetchone()
if row==None:
messagebox.showerror("Error","Invalid Student Result",parent=self.root)
else:
op=messagebox.askyesno("Confirm","Do you really want to
delete?",parent=self.root)
if op==True:
cur.execute("delete from result where rid=?",(self.var_id,))
con.commit()
messagebox.showinfo("Delete","Result deleted Succesfully"
,parent=self.root)
self.clear()
except Exception as ex:
messagebox.showerror("Error",f"Error due to{str(ex)}")
if __name__=="__main__":
root=Tk()
obj=reportclass(root)
root.mainloop()
def exit_(self):
op=messagebox.askyesno("Confirm","Do you Really want to Exit?",parent=self.root)
if op==True:
self.root.destroy()
-www.Google.com
-www.youtube.com
Thank You