College Management Trs
College Management Trs
College Management Trs
ABSTRACT
Chapter 1- INTRODUCTION
1.1 GENERAL
1.2 OBJECTIVE
1.3 WHAT’S INCLUDED
1.4 SMS GATWAY
1.5 EXISTING SYSTEM
1.6 PROPOSED SYSTEM
1.7 LITERATURE SURVEY
College management system is an integrated console based application that handles various academic
activities of a College. It is a mini python project that is used to keep and maintain the complete record of
Students. It was developed using Python Tkinter and used sqlite3.
INTRODUCTION
1.1GENERAL
A student information system (SIS), student management system, school administration
software or student administration system is a management information system for education
establishments to manage student data. Student information systems provide capabilities for
results of student tests andother assessment scores; building student schedules; tracking student
details; and managing many other student-related data needs in a college. College Management
System deals with all kind ofstudentdetails,academicrelatedreports,collegedetails,library details
etc.Ittracksallthedetailsofastudentfromthedayone to the end of his course which can be used for
all reporting purpose, progress in the course, completed semesters years, coming semester year
curriculum details, exam details, project or any other assignment details, final exam result;
1.3WHAT’S INCLUDED
Login: This Login window prevent unauothrised access.
Student Profile: Over here we can see all the general informations related to students. Furthermore, we can
add, remove and update the informations.
Library Management System: In this window we can see all the issued book related details. It
additionally provides a book issue feature where we can check all the present books and issue them.
Marksheet: Over here we can search students mark sheet via roll number and also we can instantly add
new mark sheet too into the local database.
1.5EXISTINGSYSTEM
Proposed approach mainly focuses on the marks obtained by the students and sending
those marks to their individual parents through an SMS. An SMS Gateway technique is usedto
provide service where in all the parents are getting SMS regarding marks obtained after every
internal examination inthecollege.SMSGatewayhelpsparentstohaveupdatesoftheirchildren
performance throughout the year.
ADVANTAGES
➢ Neednottohaveanyinternetconnectionastheyaresendingdirectlytotheparents mobile.
➢ Parents can have update regarding performance of the student.
DISADVANTAGES
APPLICATIONS:
CollegeManagementSystem(CMS)providesasimpleinterfaceformaintenance of
studentinformation.Itcanbeusedbyeducationalinstitutesorcollegestomaintainthe
recordsofstudentseasily.Thecreationand management of accurate, up- to - date information
regarding a students’ academic career is critically important in the university as well as colleges.
Studentinformationsystemdealswithallkindofstudentdetails,academicrelatedreports,
collegedetails,coursedetails,curriculum,batchdetails,placementdetailsandotherresource related
details too.Itwillalsohavefacultydetails,batchexecutiondetails,students’detailsinall
aspects,thevariousacademicnotificationstothestaffandstudentsupdatedby thecollege
administration.It also facilitate us explorealltheactivitieshappeninginthecollege,
Differentreportsand Queries can be generated based on vast options related to students, batch,
course,faculty,exams, semesters, certification and even for the entire college.The
placementofficeris responsibleforupdatingtheplacementrelatedinformationlikeeligible
criteriaforaparticularcompany,arrivingdateforthecompanywhichiscomingfor
recruitment,thelistofstudentswhoareeligibleforattendingtherecruitmentprocess. E-
Library(alsoreferredtoasdigitallibrary)isaspeciallibrarywithafocusedcollectionof digital object.
This project is aimed at designing the software to manage the students' academic data
such astheirstatus(pass,fail,probation,dismiss)sothattheirGPAandCGPAcanbegenerated. This
information is useful for students to plan their academic performance in the nextsemester. The
system will also enable the Head of Programs, the Academic Advisors as well as other faculty's
management teams to easily simulate the students' study plan through user friendly menu driven
interest.
CHAPTER-II
PROPOSEDSYSTEMMETHODOLOGIES
2.1 PROPOSEDSYSTEMBLOCKDIAGRAM
❖ Faculty Update
Admin will update or register the Faculty details who newly joined in the College. Admin has to
update the details like Faculty_ID i.e. respective identity number provided to the staff,
Faculty_Name i.e., respective name of the faculty, Subject the faculty is about to
teach/lecture, Semester and department which faculty is joining and lecturing.
❖ Student Update
Admin will update or register the Student details such as Name, respectedVTU_NOprovidedfrom
the university, Academic details like Semester, Subject, Department, Contact_No, etc
who’s newly joined.
❖ Student Updates to Parents
Admin will check all the marks and attendance details provided from the faculty with respect to
subject and student, later will send the marks and attendance of the respectivestudentto
the registered contact number in student registration page to provide the details to the
parents through the SMS gateway service.
Dataflow Diagram:
Stores the
Details in the Database
Retrieves the FacultyValues from the Database
SDLC is nothing but Software Development Life Cycle. It is a standard which is used by software
industry to develop good software.
Stages in SDLC:
Requirement Gathering
Analysis
Designing
Coding
Testing
Maintenance
Requirements Gatheringstage:
The requirements gathering process takes as its input the goals identified in thehigh-level
requirements section of the project plan. Each goal will be refined intoa set of one or more
requirements.These requirements define the major functions of the intended application, define
operational data areas and reference data areas, and define the initial data entities.Major
functions include critical processes to be managed, as well as missioncritical inputs, outputs and
reports. A user class hierarchy is developed andassociated with these major functions, data
areas, and data entities.Each of these definitions is termed a Requirement. Requirements are
identified byunique requirement identifiers and, at minimum, contain a requirement title and
textual description.
These requirements are fully described in the primary deliverables for this stage:the
Requirements Document and the Requirements Traceability Matrix (RTM).The requirements
document contains complete descriptions of each requirement,including diagrams and references
to external documents as necessary. Note thatdetailed listings of database tables and fields are
not included in the requirementsdocument.
The title of each requirement is also placed into the first version of the RTM,along with the
title of each goal from the project plan. The purpose of the RTM isto show that the product
components developed during each stage of the softwaredevelopment lifecycle are formally
connected to the components developed inprior stages.
In the requirements stage, the RTM consists of a list of high-level requirements,or goals, by
title, with a listing of associated requirements for each goal, listed byrequirement title. In this
hierarchical listing, the RTM shows that eachrequirement developed during this stage is formally
linked to a specific productgoal. In this format, each requirement can be traced to a specific
product goal,hence the term requirements traceability.
The outputs of the requirements definition stage include the requirementsdocument, the
RTM, and an updated project plan.
Feasibility study is all about identification of problems in a project.
No. of staff required to handle a project is represented as Team Formation, in this case only
modules are individual tasks will be assigned to employees who are working for that project.
Project Specifications are all about representing of various possible inputs submitting to the
server and corresponding outputs along with reports maintained by administrator
Analysis Stage:
The planning stage establishes a bird's eye view of the intended software product,and uses
this to establish the basic project structure, evaluate feasibility and risksassociated with the
project, and describe appropriate management and technicalapproaches.
The most critical section of the project plan is a listing of high-level productrequirements, also
referred to as goals. All of the software product requirementsto be developed during the
requirements definition stage flow from one or moreof these goals. The minimum information for
each goal consists of a title andtextual description, although additional information and references
to externaldocuments may be included.The outputs of the project planning stage are the
configuration management plan,the quality assurance plan, and the project plan and schedule,
with a detailedlisting of scheduled activities for the upcoming Requirements stage, and
highlevelestimates of effort for the out stages.
Designing Stage:
The design stage takes as its initial input the requirements identified in theapproved
requirements document. For each requirement, a set of one or moredesign elements will be
produced as a result of interviews, workshops, and/orprototype efforts.Design elements describe
the desired software features in detail, and generallyinclude functional hierarchy diagrams, screen
layout diagrams, tables of businessrules, business process diagrams, pseudo code, and a
complete entity-relationshipdiagram with a full data dictionary. These design elements are
intended todescribe the software in sufficient detail that skilled programmers may developthe
software with minimal additional input.
When the design document is finalized and accepted, the RTM is updated to showthat each
design element is formally associated with a specific requirement. Theoutputs of the design stage
are the design document, an updated RTM, and anupdated project plan.
The development stage takes as its primary input the design elements described inthe
approved design document. For each design element, a set of one or moresoftware artifacts will
be produced. Software artifacts include but are not limitedto menus, dialogs, data management
forms, data reporting formats, andspecialized procedures and functions. Appropriate test cases
will be developedfor each set of functionally related software artifacts, and an online help
systemwill be developed to guide users in their interactions with the software.
The RTM will be updated to show that each developed artifact is linked to aspecific design
element, and that each developed artifact has one or morecorresponding test case items. At this
point, the RTM is in its final configuration.The outputs of the development stage include a fully
functional set of softwarethat satisfies the requirements and design elements previously
documented, anonline help system that describes the operation of the software, an
implementationmap that identifies the primary code entry points for all major system functions,
atest plan that describes the test cases to be used to validate the correctness andcompleteness
of the software, an updated RTM, and an updated project plan.
During the integration and test stage, the software artifacts, online help, and testdata are
migrated from the development environment to a separate testenvironment. At this point, all test
cases are run to verify the correctness andcompleteness of the software. Successful execution of
the test suite confirms arobust and complete migration capability.During this stage, reference data
is finalized for production use and productionusers are identified and linked to their appropriate
roles. The final reference data(or links to reference data source files) and production user list are
compiled intothe Production Initiation Plan.
The outputs of the integration and test stage include an integrated set of software,an online
help system, an implementation map, a production initiation plan thatdescribes reference data
and production users, an acceptance plan which containsthe final suite of test cases, and an
updated project plan.
During the installation and acceptance stage, the software artifacts, online help,and initial
production data are loaded onto the production server. At this point, alltest cases are run to verify
the correctness and completeness of the software.Successful execution of the test suite is a
prerequisite to acceptance of thesoftware by the customer.
After customer personnel have verified that the initial production data load iscorrect and the
test suite has been executed with satisfactory results, the customerformally accepts the delivery
of the software.
The primary outputs of the installation and acceptance stage include a productionapplication,
a completed acceptance test suite, and a memorandum of customeracceptance of the software.
Finally, the PDR enters the last of the actual labordata into the project schedule and locks the
project as a permanent project record.At this point the PDR "locks" the project by archiving all
software items, theimplementation map, the source code, and the documentation for future
reference.
Maintenance:
Outer rectangle represents maintenance of a project, Maintenance team will start with
requirement study, understanding of documentation later employees will be assigned work and
they will under go training on that particular assigned category.
For this life cycle there is no end, it will be continued so on like an umbrella (no ending point to
umbrella sticks).
SYSTEM ARCHITECTURE
Architecture flow:
Below architecture diagram represents mainly flow of requests from users to database through
servers. In this scenario overall system is designed in three tires separately using three layers
called presentation layer, business logic layer and data link layer. This project was developed
using 3-tire architecture.
Presentation
Layer
Request Response
Business
Logic Layer
Data Link
Layer
Data
Base
CHAPTERIII
DOMAINEXPLANATION
3.1 DATABASEMANAGEMENTSYSTEM
Database is a collection of related data and data is a collection of facts and figures that
can be processed to produce information. Mostly data represents recordable facts.Data aids in
producing information, which is based on facts. For example, if we have data about marks
obtained by all students, we can then conclude about toppers and average marks. A database
management system stores data in such a way thatitbecomeseasiertoretrieve,manipulate,and
produce information
3.2 CHARACTERISTICS
❖ Real-world entity: A modern DBMS is more realistic and uses real-world entities to
design its architecture. It uses the behavior and attributes too. For example, a school
database may use students as an entity and their age as an attribute.
❖ Relation-based tables: DBMS allows entities and relations among them to form tables.
A user can understand the architecture of a database just by looking at the table names.
❖ Lessredundancy: DBMS follows the rules of normalization, which splits arelation when
any of its attributes is having redundancy in values. Normalization is a mathematically
rich and scientific process that reduces data redundancy.
❖ Multiple views:DBMS offers multiple views for different users.A user who is in the
Sales department will have a different view of database than a person working in the
Production department. This feature enables the users to have a concentrate view of the
database according to their requirements.
❖ DatabaseInstance:Adatabaseinstanceisastateofoperationaldatabasewithdata
atanygiven time. It contains a snapshot of the database. Database instance tend to change
with time. A DBMS ensures that its every instance (state) is in a valid state, by diligently
following all the validations, constraints and conditions that the database designers have
imposed.
❖ Attributes:Entitiesarerepresentedbymeansoftheirpropertiescalledattributes.All
attributes have values. For example, a student entity may have name, class, and age as
attributes. There exists a domain orrangeofvaluesthatcanbeassignedtoattributes.For
example, a student's name cannot be a numeric value. Ithastobealphabetic.Astudent's age
cannot be negative, etc.
❖ Entity-SetandKeys:Keyisanattributeorcollectionofattributesthatuniquely
identifies an entity among entity set. For example, the roll_number of a student makes
him/her identifiable among students.
TECHNOLOGIES USED
CHAPTER IV
Technologies Used
Python : -
Python is an interpreted, object-oriented, high-level programming
language with dynamic semantics. Its high-level built in data
structures, combined with dynamic typing and dynamic binding, make
it very attractive for Rapid Application Development, as well as for use
as a scripting or glue language to connect existing components \\
together. Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost
of program maintenance. Python supports modules and packages, which encourages program
modularity and code reuse. The Python interpreter and the extensivestandard library are available in
source or binary form without charge for all major platforms,and can be freely distributed.Often,
programmers fall in love with Python because of the increased productivity it provides. Since there
is no compilation step, the edit-test-debug cycle is incredibly fast. Debugging Python programs is
easy: a bug or bad input will never cause a segmentation fault. Instead, when the interpreter
discovers an error, it raises an exception. When the program doesn't catch the exception, the
interpreter prints a stack trace. A source level debugger allows inspection of local and global
variables, evaluation of arbitrary expressions, setting breakpoints, stepping through the code a line at
a time, and so on. The debugger is written in Python itself, testifying to Python's introspective
power. On the other hand, often the quickes t way to debug program is to add a few print statements
to the source: the fast edit-test-debug cyclemakes this simple very attractive.
Pycharm :-
PyCharm is the most popular IDE used for Python scripting language.This chapter will give you an
introduction to PyCharm and explains its features.PyCharm offers some of the best features to its
users and developers in the following aspects −
Advanced debugging.
Features of PyCharm : -
Besides, a developer will find PyCharm comfortable to work with because of the features
mentioned below −
Code Completion :-
PyCharm enables smoother code completion whether it is for built in or for an external package.
SQLAlchemy as Debugger :-
You can set a breakpoint, pause in the debugger and can see the SQL representation of the user
expression for SQL Language code.
When coding in Python, queries are normal for a developer. You can check the last commit
easily in PyCharm as it has the blue sections that can define the difference between the last
commit and the current one.
Package Management :-
All the installed packages are displayed with proper visual representation. This includes list of
installed packages and the ability to search and add new packages.
Sqlite3 Database :-
Sqliteis a self-contained, high-reliability, embedded, full-featured, public-domain, SQL database
engine. It is the most used database engine in the world. It is an in-process library and its code is
publicly available. It is free for use for any purpose, commercial or private. It is basically an
embedded SQL database engine. Ordinary disk files can be easily read and write by SQLite
because it does not have any separate server like SQL. The SQLite database file format is cross-
platform so that anyone can easily copy a database between 32-bit and 64-bit systems.
Features of SQLite :-
The transactions follow ACID
properties i.e. atomicity,
consistency, isolation, and
durability even after system crashes
and power failures.
The configuration process is very
easy, no setup or administration needed.
All the features of SQL areimplemented in it with some additional features like partial
indexes, indexes on expressions, JSON, and common table expressions.
Sometimes it is faster than the direct file system I/O.
Applications of SQLite :-
Due to its small code print and efficient usage of memory, it is the popular choice for the
database engine in cellphones, PDAs, MP3 players, set-top boxes, and other electronic
gadgets.
It is used as an alternative for open to writing XML, JSON, CSV or some proprietary
format into disk files used by the application.
As it has no complication for configuration and easily stores file in an ordinary disk file,
so it can be used as a database for small to medium sized websites.
It is faster and accessible through a wide variety of third-party tools, so it has great
application in different software platforms.
Django Framework :-Django is a Python-based web framework which allows you to quickly
create web application without all of the installation or dependency problems that you normally
will find with other frameworks.When you’re building a website, you always need a similar set
of components: a way to handle user authentication (signing up, signing in, signing out), a
management panel for your website, forms, a way to upload files, etc. Django gives you ready-
made components to use.
Features of Django :-
Versatility of Django :-
Django can build almost any type of website. It can also work with any client-side
framework and can deliver content in any format such as HTML, JSON, XML etc.
Some sites which can be built using Django are wikis, social networks, new sites etc.
Security :-
Since Django framework is made for making web development easy, it has been
engineered in such a way that it automatically do the right things to protect the
website. For example, In the Django framework instead of putting a password in
cookies, the hashed password is stored in it so that it can’t be fetched easily by
hackers.
Scalability :-
Django web nodes have no stored state, they scale horizontally – just fire up more of them
when you need them. Being able to do this is the essence of good scalability. Instagram and
Disqus are two Django based products that have millions of active users, this is taken as an
example of the scalability of Django.
Portability :-
All the codes of the Django framework are written in Python, which runs on many platforms. Which
leads to run Django too in many platforms such as Linux, Windows and Mac OS.
4.2Front-End Technologies :-
Html stands for HyperText Markup Language. It is used to design web pages using a markup
language. HTML is the combination of Hypertext and Markup language. Hypertext defines the
link between the web pages. A markup language is used to define the text document within tag
which defines the structure of web pages. This language is used to annotate (make notes for the
computer) text so that a machine can
understand it and manipulate text
accordingly.
Disadvantages :-
HTML can only create static web pages. For dynamic web pages, other languages have to be
used.
A large amount of code has to be written to create a simple web page.
The security feature is not good.
CSS (Cascading Style Sheets) :-
CSS stands for Cascading Style Sheets. It is the language for describing the presentation of Web
pages, including colours, layout, and fonts, thus making our web pages presentable to the
users.CSS is designed to make style sheets for
the web. It is independent of HTML and can
be used with any XML-based markup
language. Now let’s try to break the
acronym:
CSS is used to define styles for your web pages, including the design, layout and variations in
display for different devices and screen sizes.
HTML was NEVER intended to contain tags for formatting a web page!
<p>This is a paragraph.</p>
When tags like <font>, and color attributes were added to the HTML 3.2 specification, it started a
nightmare for web developers. Development of large websites, where fonts and color information were
added to every single page, became a long and expensive process.
To solve this problem, the World Wide Web Consortium (W3C) created CSS.CSS removed the
style formatting from the HTML page!
Bootstrap :-
Bootstrap is the most popular CSS Framework for developing responsive and mobile-first
websites.Bootstrap 5 is the newest version of Bootstrap.
Bootstrap is an HTML, CSS & JS Library that focuses on simplifying the development of
informative web pages (as opposed to web apps). The primary purpose of adding it to a web project
is to apply Bootstrap's choices of color, size, font and
layout to that project. As such, the primary factor is
whether the developers in charge find those
choices to their liking. Once added to a project,
Bootstrap provides basic style definitions for
all HTML elements. The result is a uniform
appearance for prose, tables and form elements
across web browsers. In addition, developers can take
advantage of CSS classes defined in Bootstrap to further customize the appearance of their contents.
For example, Bootstrap has provisioned for light- and dark-colored tables, page headings, more
prominent pull quotes, and text with a highlight.
SOFTWARE REQUIREMENT
SPECIFICATION
CHAPTER V
Table:1HardwareRequirements :-
SL Hardware MinimumSystemRequirement
01 Processor 2.4GHzProcessorspeed
02 Memory 4GBRAM
03 DiskSpace 256GB
SL Software MinimumSystemRequirement
01 OperatingSystem Windows8,Windows10orMACOx10.8,10.9,or10.11,
LINUX
02 DatabaseManagement SQLLite3
System
03 RuntimeEnvironment PyCharm or VSCode
04 IDLE Python
5.2 Overall Description- Software requirements specification establishes the basis for an
agreement between customers and contractors or suppliers on how the software product should
function (in a market-driven project, these roles may be played by the marketing and development
divisions). Software requirements specification is a rigorous assessment of requirements before the
more specific system design stages, and its goal is to reduce later redesign. It should also provide a
realistic basis for estimating product costs, risks, and schedules. [1] Used appropriately, software
requirements specifications can help prevent software project failure.
5.3System Features & Feasibility Study :The notion of requirement smell has been
proposed to describe issues in requirement specification where the requirement is not necessarily
wrong but could be problematic.
Examples of requirements smells are subjective language, ambiguous adverbs and
adjectives, superlatives and negative statements
As functional requirements indicate what a system must do, non-functional requirements support them and
determine how the system must perform.
These features are usually expressed as constraints or criteria that define a level of freedom for developers
or users.
Although non-functional requirements may seem a bit subtler, they are still as important as functional
features, epics, and user stories.
SOURCE CODE
Page_Login.py
from tkinter import*
import tkinter.messagebox
import os
def main():
root = Tk()
app = Screen_Window_1(root)
class Screen_Window_1:
def __init__(self, master):
self.master = master
self.master.title("Login Window")
self.master.geometry('1350x750')
self.master.config(bg = 'lightskyblue')
self.Frame = Frame(self.master, bg = 'lightskyblue')
self.Frame.pack()
#===================================================LABEL and
ENTRIES=======================================================================
self.lbl_uname = Label(self.Log_Frame_1, text ='Username', font = ('arial', 20,
'bold'), bg ='lightskyblue', bd = 20)
self.lbl_uname.grid(row = 0, column = 0)
self.txt_uname = Entry(self.Log_Frame_1, font = ('arial', 20, 'bold'), textvariable =
self.u_name)
self.txt_uname.grid(row = 0, column = 1, padx = 50)
def Exit(self):
self.Exit = tkinter.messagebox.askokcancel("Login System", "Confirm if you want to
Exit")
if self.Exit >0:
self.master.destroy()
return
def __menu__(self):
filename = 'College_Menu.py'
os.system(filename)
os.system('notepad'+filename)
'''def new_window(self):
self.new_Window = Toplevel(self.master)
self.app = Window_2(self.new_Window)'''
class Screen_Window_2:
def __init__(self, master):
self.master = master
self.master.title("Login Main Menu")
self.master.geometry('1350x750')
self.master.config(bg = 'sky blue')
self.Frame = Frame(self.master, bg = 'lightskyblue')
self.Frame.pack()
if __name__ == '__main__':
main()
College_Menu.py
from tkinter import*
import random
import os
def __marksheet__():
filename = 'College_Search_Page.py'
os.system(filename)
os.system('notepad'+filename)
def __Library__():
filename = 'College_Library_Frontend.py'
os.system(filename)
os.system('notepad'+filename)
def __information__():
filename = 'College_Std_info_FrontEnd.py'
os.system(filename)
os.system('notepad'+filename)
def __FeeReport__():
filename = 'College_Fee_Frontend.py'
os.system(filename)
os.system('notepad'+filename)
def menu():
root = Tk()
root.title('Menu')
root.geometry('1350x750')
root.config(bg = 'navajo white')
#========================================================FRAMES=======================
============================================
Menu_Frame_1 = LabelFrame(root, font = ('arial',17,'bold'), width = 1000, height =
100, bg = 'navajo white', relief = 'ridge', bd = 10)
Menu_Frame_1.grid(row = 1, column = 0, padx = 280)
Menu_Frame_2 = LabelFrame(root, font = ('arial',17,'bold'), width = 1000,
height = 100, bg = 'navajo white', relief = 'ridge', bd = 10)
Menu_Frame_2.grid(row = 2, column = 0, padx = 130, pady = 7)
Menu_Frame_3 = LabelFrame(root, font = ('arial',17,'bold'), width = 1000,
height = 100, bg = 'navajo white', relief = 'ridge', bd = 10)
Menu_Frame_3.grid(row = 3, column = 0, pady = 7)
Menu_Frame_4 = LabelFrame(root, font = ('arial',17,'bold'), width = 1000,
height = 100, bg = 'navajo white', relief = 'ridge', bd = 10)
Menu_Frame_4.grid(row = 4, column = 0, pady = 7)
#========================================================LABELS=======================
============================================
Label_1_STUDENTINFO = Label(Menu_Frame_1, text = 'STUDENT PROFILE', font =
('arial',25,'bold'), bg = 'navajo white')
Label_1_STUDENTINFO.grid(row = 0, column = 0, padx = 50, pady = 5)
Label_2_FEEREPORT = Label(Menu_Frame_2, text = 'FEE REPORT', font =
('arial',25,'bold'), bg = 'navajo white')
Label_2_FEEREPORT.grid(row = 0, column = 0, padx = 100, pady = 5)
Label_3_LIBRARYSYSTEM = Label(Menu_Frame_3, text = 'LIBRARY SYSTEM', font =
('arial',25,'bold'), bg = 'navajo white')
Label_3_LIBRARYSYSTEM.grid(row = 0, column = 0, padx = 60, pady = 5)
Label_4_MARKSHEET = Label(Menu_Frame_4, text = 'MARKSHEET', font =
('arial',25,'bold'), bg = 'navajo white')
Label_4_MARKSHEET.grid(row = 0, column = 0, padx = 101, pady = 5)
#========================================================BUTTONS======================
=============================================
Button_1_VIEWINFO = Button(Menu_Frame_1, text = 'VIEW', font = ('arial',16,'bold'),
width = 8, command = __information__)
Button_1_VIEWINFO.grid(row = 0, column = 3, padx = 50)
Button_2_VIEWREPORT = Button(Menu_Frame_2, text = 'VIEW', font =
('arial',16,'bold'), width = 8, command = __FeeReport__)
Button_2_VIEWREPORT.grid(row = 0, column = 3, padx = 50)
Button_3_VIEWLIBRARY = Button(Menu_Frame_3, text = 'VIEW', font =
('arial',16,'bold'), width = 8, command = __Library__)
Button_3_VIEWLIBRARY.grid(row = 0, column = 3, padx = 50)
Button_4_VIEWMARKSHEET = Button(Menu_Frame_4, text = 'VIEW', font =
('arial',16,'bold'), width = 8, command = __marksheet__)
Button_4_VIEWMARKSHEET.grid(row = 0, column = 3, padx = 50)
root.mainloop()
if __name__ == '__main__':
menu()
College_Search_Page.py
from tkinter import *
import random
import College_Marksheet_Backend
import College_Marksheet_Frontend
import tkinter.messagebox
import os
class Window_1():
def __init__(self, master):
self.master = master
self.master.title('Search Page')
self.master.geometry('1360x750')
self.master.config(bg = 'navajowhite')
self.roll = StringVar()
search_frame = LabelFrame(self.master, width = 1000, height = 100, font
= ('arial',30,'bold'), relief = 'ridge', bd = 15, bg = 'wheat')
search_frame.grid(row = 1, column = 0, padx = 200, pady = 200)
def Search():
if(len(self.roll.get()) != 0):
row =
College_Marksheet_Backend.search(int(self.roll.get()))
print(row)
College_Marksheet_Frontend.search_result_marksheet(row)
else:
tkinter.messagebox.askokcancel('Attention','Please enter
valid Roll No.')
return
def new():
filename = 'College_Marksheet_Frontend.py'
os.system(filename)
os.system('notepad'+filename)
root = Tk()
root.title("Login Form")
Window_1(root)
root.mainloop()
College_Std_info_BackEnd.py
import sqlite3
def connect():
conn = sqlite3.connect("College_student.db")
cur = conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS student (id INTEGER PRIMARY KEY, name
text, father_name text, mother_name text, \
address text, mobileno integer,email_address text, date_of_birth
integer, gender text)")
conn.commit()
conn.close()
def insert(name = " ", father_name =" ", mother_name =" ", address =" ", mobileno ="
", email_address =" ", date_of_birth =" ", gender =" "):
conn = sqlite3.connect("College_student.db")
cur = conn.cursor()
conn.commit()
conn.close()
def view():
conn = sqlite3.connect("College_student.db")
cur = conn.cursor()
conn.close()
def delete(id):
conn = sqlite3.connect("College_student.db")
cur = conn.cursor()
conn.commit()
conn.close()
def update(id, name = " ", father_name =" ", mother_name =" ", address =" ", mobileno
=" ", email_address =" ", date_of_birth =" ", gender =" "):
conn = sqlite3.connect("College_student.db")
cur = conn.cursor()
College_Fee_BackEnd.py
import sqlite3
def connect():
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
con.close()
def insert(receipts =' ', name =' ', admin =' ', date =' ', branch =' ', semister ='
', total =' ', paid =' ', due =' '):
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
con.close()
def view():
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
def delete(id):
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
con.close()
def update(id, receipts =' ', name =' ', admin =' ', date =' ', branch =' ', semister
=' ', total =' ', paid =' ', due =' '):
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
con.close()
def search(receipts =' ', name =' ', admin =' ', date =' ', branch =' ', semister ='
', total =' ', paid =' ', due =' '):
con = sqlite3.connect('College_fee.db')
cur = con.cursor()
con.commit()
connect()
College_Fee_FrontEnd.py
from tkinter import*
from tkinter import ttk
import tkinter.messagebox
import datetime
import College_Fee_Backend
class college_fee():
def __init__(self, master):
self.master = master
self.master.title('Fee Report')
self.master.geometry('1350x750')
self.master.config(bg='Navajo white')
self.receipts = StringVar()
self.name = StringVar()
self.admin = StringVar()
self.date = StringVar()
self.branch = StringVar()
self.semister = StringVar()
self.total = DoubleVar()
self.paid = DoubleVar()
self.due = DoubleVar()
def Tuple(event):
try:
global studentInfo
index = self.list.curselection()[0]
studentInfo = self.list.get(index)
self.receipts_entry.delete(0, END)
self.receipts_entry.insert(END, studentInfo[1])
self.studentname_entry.delete(0, END)
self.studentname_entry.insert(END, studentInfo[2])
self.collegeAdmin_entry.delete(0, END),
bg='Navajo white', relief='ridge', bd=15)
College_List_Frame.pack(side=TOP, padx=15)
root = Tk()
obj = college_fee(root)
root.mainloop()
College_Library_Backend.py
import sqlite3
def connect():
con = sqlite3.connect('College_library.db')
cur = con.cursor()
con.commit()
con.close()
def insert(Mbtype =' ', referenceno =' ', firstname =' ', lastname =' ', address =' ',
post =' ', mobileno =' ', ID =' ', \
title = ' ', author = ' ', borrow = ' ', due = ' ', loan = ' '):
con = sqlite3.connect('College_library.db')
cur = con.cursor()
con.commit()
con.close()
def view():
con = sqlite3.connect('College_library.db')
cur = con.cursor()
con.close()
def delete(x):
College_Library_FrontEnd.py
from tkinter import*
from tkinter import ttk
import random
from datetime import datetime
import tkinter.messagebox
import College_Library_Backend
class Library:
self.Mbtype = StringVar()
self.referenceno = StringVar()
self.firstname = StringVar()
self.lastname = StringVar()
self.address = StringVar()
self.post = StringVar()
self.mobileno = StringVar()
self.ID = StringVar()
self.title = StringVar()
self.author = StringVar()
self.borrow = StringVar()
self.due = StringVar()
self.loan = StringVar()
self.yr_of_pub = StringVar()
self.editions = StringVar()
def BookRec(event):
try:
global selected_tuple
index = self.List_bx_2.curselection()[0]
selected_tuple = self.List_bx_2.get(index)
self.txt_Entry_0.delete(0, END)
self.txt_Entry_0.insert(END, selected_tuple[1])
self.txt_Entry_1.delete(0, END)
self.txt_Entry_1.insert(END, selected_tuple[2])
self.txt_Entry_2.delete(0, END)
self.txt_Entry_2.insert(END, selected_tuple[3])
self.txt_Entry_3.delete(0, END)
self.txt_Entry_3.insert(END, selected_tuple[4])
self.txt_Entry_4.delete(0, END)
self.txt_Entry_4.insert(END, selected_tuple[5])
self.txt_Entry_5.delete(0, END)
self.txt_Entry_5.insert(END, selected_tuple[6])
self.txt_Entry_6.delete(0, END)
self.txt_Entry_6.insert(END, selected_tuple[7])
self.txt_Entry_7.delete(0, END)
self.txt_Entry_7.insert(END, selected_tuple[8])
self.txt_Entry_8.delete(0, END)
self.txt_Entry_8.insert(END, selected_tuple[9])
self.txt_Entry_9.delete(0, END)
self.txt_Entry_9.insert(END, selected_tuple[10])
self.txt_Entry_10.delete(0, END)
self.txt_Entry_10.insert(END, selected_tuple[11])
self.txt_Entry_11.delete(0, END)
self.txt_Entry_11.insert(END, selected_tuple[12])
self.txt_Entry_12.delete(0, END)
self.txt_Entry_12.insert(END, selected_tuple[13])
except IndexError:
pass
def Insert():
if(len(self.referenceno.get()) != 0):
College_Library_Backend.insert(self.Mbtype.get(),
self.referenceno.get(), self.firstname.get(), self.lastname.get() \
, self.address.get(),
self.post.get(), self.mobileno.get(), self.ID.get() \
, self.title.get(),
self.author.get(), self.borrow.get(), self.due.get() \
, self.loan.get())
self.List_bx_2.delete(0, END)
self.List_bx_2.insert(END, (self.Mbtype.get(), self.referenceno.get(),
self.firstname.get(), self.lastname.get()\
, self.address.get(),
self.post.get(), self.mobileno.get(), self.ID.get()\
, self.title.get(),
self.author.get(), self.borrow.get(), self.due.get()\
, self.loan.get()))
def Display():
self.List_bx_2.delete(0, END)
for row in College_Library_Backend.view():
self.List_bx_2.insert(END, row, str(' '))
def Exit():
Exit = tkinter.messagebox.askyesno('Library Management
System','Confirm if you want to Exit')
if Exit >0:
root.destroy()
return
def Reset():
self.Mbtype.set('')
self.referenceno.set('')
self.firstname.set('')
self.lastname.set('')
self.address.set('')
self.post.set('')
self.mobileno.set('')
self.ID.set('')
self.title.set('')
self.author.set('')
self.borrow.set('')
self.due.set('')
self.loan.set('')
self.Display_Layout.delete('1.0', END)
self.List_bx_2.delete(0, END)
def Delete():
College_Library_Backend.delete(selected_tuple[0])
Reset()
Display()
def Update():
College_Library_Backend.delete(selected_tuple[0])
College_Library_Backend.insert(self.Mbtype.get(),
self.referenceno.get(), self.firstname.get(), self.lastname.get() \
, self.address.get(),
self.post.get(), self.mobileno.get(), self.ID.get() \
, self.title.get(),
self.author.get(), self.borrow.get(), self.due.get() \
, self.loan.get())
self.List_bx_2.delete(0, END)
self.List_bx_2.insert(END, (self.Mbtype.get(), self.referenceno.get(),
self.firstname.get(), self.lastname.get()\
, self.address.get(),
self.post.get(), self.mobileno.get(), self.ID.get()\
, self.title.get(),
self.author.get(), self.borrow.get(), self.due.get()\
, self.loan.get()))
def Search():
self.List_bx_2.delete(0, END)
for row in College_Library_Backend.search(self.Mbtype.get(), self.referenceno.get(),
self.firstname.get(), self.lastname.get()\
, self.address.get(),
self.post.get(), self.mobileno.get(), self.ID.get()\
, self.title.get(),
self.author.get(), self.borrow.get(), self.due.get()\
, self.loan.get()):
self.List_bx_2.insert(END, row, str(' '))
def Details():
self.Display_Layout.delete('1.0', END)
self.Display_Layout.insert(END, 'Book ID: ' + self.ID.get() + '\n')
self.Display_Layout.insert(END, 'Title: ' + self.title.get() + '\n')
self.Display_Layout.insert(END, 'Author: ' + self.author.get() + '\n')
self.Display_Layout.insert(END, 'Edition: ' + self.editions.get() + '\n')
self.Display_Layout.insert(END, 'Year of Published: \t' + self.yr_of_pub.get() + '\n')
self.Display_Layout.insert(END, 'Date Borrowed: ' + self.borrow.get() + '\n')
self.Display_Layout.insert(END, 'Date Due:' + self.due.get() + '\n')
self.Display_Layout.insert(END, 'Days in Loan: ' + self.loan.get() + '\n')
def SelectedBook(event):
value_List =
str(self.List_bx_1.get(self.List_bx_1.curselection()))
val = value_List
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 14)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('14')
self.due.set(days3)
Details()
elif (val == ' C++'):
self.ID.set('ISBN 345687')
self.title.set('Programming using C++')
self.author.set('Armel Maningo')
self.yr_of_pub.set('2019')
self.editions.set('4th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 10)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('10')
self.due.set(days3)
Details()
elif (val == ' Python'):
self.ID.set('ISBN 643842')
self.title.set('Python Programming')
self.author.set('Romeo Tanate')
self.yr_of_pub.set('2019')
self.editions.set('7th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 13)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('13')
self.due.set(days3)
Details()
elif (val == ' Python'):
self.ID.set('ISBN 564524')
self.title.set('Python Programming')
self.author.set('Gabriel Gestosani')
self.yr_of_pub.set('2019')
self.editions.set('3rd')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 13)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('13')
self.due.set(days3)
Details()
elif (val == ' PHP'):
self.ID.set('ISBN 735893')
self.title.set('PHP Programming')
self.author.set('Joken Villanueva')
self.yr_of_pub.set('2019')
self.editions.set('5th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 15)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('15')
self.due.set(days3)
Details()
elif (val == ' Python Script'):
self.ID.set('ISBN 643842')
self.title.set('Python Script Programming')
self.author.set('Jude Suarez.')
self.yr_of_pub.set('2019')
self.editions.set('4th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 13)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('13')
self.due.set(days3)
Details()
elif (val == ' My SQL'):
self.ID.set('ISBN 649635')
self.title.set('My SQL Programming')
self.author.set('Adones Evangelista')
self.yr_of_pub.set('2019')
self.editions.set('3rd')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 20)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('20')
self.due.set(days3)
Details()
elif (val == ' Data Structure'):
self.ID.set('ISBN 531588')
self.title.set('Data Structure')
self.author.set('Jennifer Juaniza')
self.yr_of_pub.set('2019')
self.editions.set('5th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 11)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('11')
self.due.set(days3)
Details()
elif (val == ' Linux'):
self.ID.set('ISBN 356853')
self.title.set('Linux Administration')
self.author.set('ITSOURCECODE')
self.yr_of_pub.set('2019')
self.editions.set('1st')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 6)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('6')
self.due.set(days3)
Details()
elif (val == ' Operating System'):
self.ID.set('ISBN 536453')
self.title.set('OS Concepts ')
self.author.set('Marry Ann Goroy')
self.yr_of_pub.set('2019')
self.editions.set('4th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 12)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('12')
self.due.set(days3)
Details()
elif (val == ' Web Developement'):
self.ID.set('ISBN 543548')
self.title.set('Web Developement ')
self.author.set('Jhazel Alarcon')
self.yr_of_pub.set('2019')
self.editions.set('3rd')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 15)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('15')
self.due.set(days3)
Details()
elif (val == ' Data Science'):
self.ID.set('ISBN 835764')
self.title.set('Data Science Concept ')
self.author.set('Ryan Manaay')
self.yr_of_pub.set('2019')
self.editions.set('3rd')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 15)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('15')
self.due.set(days3)
Details()
elif (val == ' Algorithms'):
self.ID.set('ISBN 535674')
self.title.set('Basics of Algorithm ')
self.author.set('Paul Angelo Niar')
self.yr_of_pub.set('2019')
self.editions.set('7th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 10)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('10')
self.due.set(days3)
Details()
elif (val == ' Android'):
self.ID.set('ISBN 356452')
self.title.set('Android Programming')
self.author.set('Jomhel Dulla')
self.yr_of_pub.set('2019')
self.editions.set('4th')
import datetime
days1 = datetime.date.today()
days2 = datetime.timedelta(days = 9)
days3 = (days1 + days2)
self.borrow.set(days1)
self.loan.set('9')
self.due.set(days3)
Details()
sroll_b_1 = Scrollbar(Library_Frame_2)
sroll_b_1.grid(row =0, column = 1, sticky = 'ns')
scroll_b_2 = Scrollbar(Library_Detail_Frame)
scroll_b_2.grid(row = 1, column = 1, sticky = 'ns')
if __name__ == '__main__':
root = Tk()
applicaton = Library(root)
root.mainloop()
College_Marksheet_Backend.py
from tkinter import*
import sqlite3
def connect():
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS Marks (id INTEGER PRIMARY KEY, name
text, roll integer, father_name text, mother_name \
text, date_of_birth integer, gender text, school text,
email_address text, marks1 integer, marks2 integer, marks3 integer, marks4 integer, \
marks5 integer, grand_tot integer, percentage integer, cgpa
integer, grade text, division text, result text)')
con.commit()
con.close()
def insert(name = ' ', roll = ' ', father_name =' ', mother_name =' ', date_of_birth
=' ', gender =' ', school =' ', email_address =' ', marks1 =' ', marks2 =' ', \
marks3 =' ', marks4 =' ', marks5 =' ', grand_tot =' ', percentage =' ',
cgpa =' ', grade =' ', division =' ', result =' '):
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
con.commit()
con.close()
'''def view():
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
con.commit()
con.close()
def delete(id):
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
con.commit()
con.close()'''
def update(id, name = ' ', roll = ' ', father_name =' ', mother_name =' ',
date_of_birth =' ', gender =' ', school =' ', email_address =' ', marks1 =' ', marks2
=' ', \
marks3 =' ', marks4 =' ', marks5 =' ', grand_tot =' ', percentage =' ',
cgpa =' ', grade =' ', division =' ', result =' '):
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
con.commit()
con.close()
def search(roll):
con = sqlite3.connect('College_Marks.db')
cur = con.cursor()
connect()
College_Marksheet_FrontEnd.py
from tkinter import *
import random
import College_Marksheet_Backend
import tkinter.messagebox
from tkinter import ttk
def marking_sheet():
root = Tk()
root.title('Marksheet')
root.geometry('1350x750')
root.config(bg = 'Navajo white')
name = StringVar()
roll = StringVar()
father_name = StringVar()
mother_name = StringVar()
date_of_birth = StringVar()
gender = StringVar()
school = StringVar()
email_address = StringVar()
marks1 = DoubleVar()
marks2 = DoubleVar()
marks3 = DoubleVar()
marks4 = DoubleVar()
marks5 = DoubleVar()
grand_tot = DoubleVar()
percentage = DoubleVar()
cgpa = DoubleVar()
grade = StringVar()
division = StringVar()
result = StringVar()
def Add():
if (len(roll.get()) != 0):
College_Marksheet_Backend.insert(name.get(), roll.get(),
father_name.get(), mother_name.get(), date_of_birth.get(), gender.get(), \
school.get(),
email_address.get(), marks1.get(), marks2.get(), marks3.get(), marks4.get(),
marks5.get(), \
grand_tot.get(),
percentage.get(), cgpa.get(), grade.get(), division.get(), result.get())
def Update():
if (len(roll.get()) != 0):
College_Marksheet_Backend.update(name.get(), roll.get(),
father_name.get(), mother_name.get(), date_of_birth.get(), gender.get(), \
school.get(),
email_address.get(), marks1.get(), marks2.get(), marks3.get(), marks4.get(),
marks5.get(), \
grand_tot.get(),
percentage.get(), cgpa.get(), grade.get(), division.get(), result.get())
def Exit():
Exit = tkinter.messagebox.askyesno('Marksheet','Confirm if you want to
Exit')
if Exit >0:
root.destroy()
return
def Compute():
num1 = (marks1.get()); num2 = (marks2.get()); num3 =
(marks3.get()); num4 = (marks4.get()); num5 = (marks5.get())
if num1 >100:
tkinter.messagebox.askokcancel('Attention','Please enter Correct
Marks')
return
if num2 >100:
tkinter.messagebox.askokcancel('Attention','Please enter Correct
Marks')
return
if num3 >100:
tkinter.messagebox.askokcancel('Attention','Please enter Correct
Marks')
return
if num4 >100:
tkinter.messagebox.askokcancel('Attention','Please enter Correct
Marks')
return
if num5 >100:
tkinter.messagebox.askokcancel('Attention','Please enter Correct
Marks')
return
TOTAL = num1+num2+num3+num4+num5
grand_tot.set(TOTAL)
if c_grades >10:
cgpa.set(10)
grade.set(grades)
count = 0
if num1 <33:
count = count + 1
if num2 <33:
count = count + 1
if num3 <33:
count = count + 1
if num4 <33:
count = count + 1
if num5 <33:
count = count + 1
if (count == 0):
result.set('PASS')
elif (count == 1 or count == 2 ):
result.set('SUPPLY')
else:
result.set('FAIL')
def Reset():
name.set(' ')
roll.set(' ')
father_name.set(' ')
mother_name.set(' ')
date_of_birth.set(' ')
gender.set(' ')
school.set(' ')
email_address.set(' ')
marks1.set(' ')
marks2.set(' ')
marks3.set(' ')
marks4.set(' ')
marks5.set(' ')
grand_tot.set(' ')
percentage.set(' ')
cgpa.set(' ')
grade.set(' ')
division.set(' ')
result.set(' ')
#========================================================Marks_Frame_1================
===============================================
root.mainloop()
def search_result_marksheet(row):
root = Tk()
root.title('Marksheet')
root.geometry('1350x750')
root.config(bg = 'Navajo white')
def Compute():
num1 = (marks1.get()); num2 = (marks2.get()); num3 =
(marks3.get()); num4 = (marks4.get()); num5 = (marks5.get())
TOTAL = num1+num2+num3+num4+num5
grand_tot.set(TOTAL)
grade.set(grades)
count = 0
if num1 <33:
count = count + 1
if num2 <33:
count = count + 1
if num3 <33:
count = count + 1
if num4 <33:
count = count + 1
if num5 <33:
count = count + 1
if (count == 0):
result.set('PASS')
elif (count == 1 or count == 2 ):
result.set('SUPPLY')
else:
result.set('FAIL')
name = StringVar(Frame_1,value=row[0][1])
roll = StringVar(Frame_1,value=row[0][2])
father_name = StringVar(Frame_1,value=row[0][3])
mother_name = StringVar(Frame_1,value=row[0][4])
date_of_birth = StringVar(Frame_1,value=row[0][5])
gender = StringVar(Frame_1,value=row[0][6])
school = StringVar(Frame_1,value=row[0][7])
email_addres = StringVar(Frame_1,value=row[0][8])
marks1 = DoubleVar(Frame_2,row[0][9])
marks2 = DoubleVar(Frame_2,row[0][10])
marks3 = DoubleVar(Frame_2,row[0][11])
marks4 = DoubleVar(Frame_2,row[0][12])
marks5 = DoubleVar(Frame_2,row[0][13])
grand_tot = DoubleVar(Frame_2,row[0][14])
percentage = DoubleVar(Frame_2,row[0][15])
cgpa = DoubleVar(Frame_2,row[0][16])
grade = StringVar(Frame_2,row[0][17])
div = StringVar(Frame_2,row[0][18])
result = StringVar(Frame_2,row[0][19])
root.mainloop()
if __name__ == '__main__':
marking_sheet()
CHAPTER 8
OUTPUT SCREEN
Testing
INTRODUCTION TO TESTING
Introduction to Testing:
Testing is a process, which reveals errors in the program. It is the major quality measure
employed during software development. During software development. During testing, the
program is executed with a set of test cases and the output of the program for the test cases is
evaluated to determine if the program is performing as it is expected to perform.
TESTING IN STRATEGIES
In order to make sure that the system does not have errors, the different levels of
testing strategies that are applied at differing phases of software development are:
Unit Testing:
Unit Testing is done on individual modules as they are completed and become executable.
It is confined only to the designer's requirements.
Acceptance Testing :
Test Approach :
Testing can be done in two ways:
Bottom up approach
Top down approach
Bottom up Approach:
Testing can be performed starting from smallest and lowest level modules and proceeding one
at a time. For each module in bottom up testing a short program executes the module and provides the
needed data so that the module is asked to perform the way it will when embedded with in the larger
system. When bottom level modules are tested attention turns to those on the next level that use the
lower level ones they are tested individually and then linked with the previously examined lower level
modules.
This type of testing starts from upper level modules. Since the detailed activities usually
performed in the lower level routines are not provided stubs are written. A stub is a module
shell called by upper level module and that when reached properly will return a message to
the calling module indicating that proper interaction occurred. No attempt is made to verify the
correctness of the lower level module.
Validation:
The system has been tested and implemented successfully and thus ensured that all the
requirements as listed in the software requirements specification are completely fulfilled. In
case of erroneous input corresponding error messages are displayed.
CHAPTER 9
CONCLUSION
&
REFENRENCE
9.1 CONCLUSION
College Management System deals with all kind of student details, academic
related reports,collegedetails,library details, marksheet details and
otherresourcerelateddetails 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 reporting purpose,curriculum
details, project or any other assignment details, final exam result; In our project, the
college management system is particularly designed to provide marks and attendance
updates from the college to the parents of the respective students. Project administers
three sectors. First is Admin Login where admin will update the new student and
staff; second is the Faculty Login who updates the marks and attendance of the
students; Student will be able to login and check their marks with respect to their
subjects. Once all the updates are completed, Admin will be sending the details of the
student parent’s number. SMS Gateway helps parents to have updates of their
children.
9.2 REFERENCES
1. International Journal of Engineering, Business and Enterprise Application (IJEBEA)
2. Kartiki Datarkar, Neha Hajare, Nidhi Fulzele, Sonali Kawle, Vaibhav Suryavanshi,
Dipeeka
Radke,“OnlineCollegeManagementSystem”,inJCSMC,Vol.5,Issue.4,April2016,
pg.118-122
3. www.codeproject.com.
8. JDBC