School Full Document
School Full Document
The project entitled “School Management System” handles all the activities that
happen in a school. It has most of the facilities that a modern school requires to computerize
its day-to-day jobs. It provides facilities to keep the records of student, markss, teaching and
non-teaching staff with all their required details along with all required transaction handling.
The proposed system is aimed to automate and log on to various day-to-day activities and to
provide instant information required in effective management of any given school.
The primary objective of this system is to digitize school operations, ensuring smooth
functioning in areas such as student enrollment, attendance tracking, fee management,
timetable scheduling, examination management, and communication. By implementing this
system, schools can improve data accuracy, enhance security, and provide better accessibility
to students, teachers, and parents.
1
1. INTRODUCTION
The project is aimed to develop a School Management System which can streamline
the administration of a school or college. It’s often felt that school management is chaotic in
nature. It involves many administrative work and co-ordination. The project is to develop and
deploy a web based application so that the different aspects of a school administration
become easy to handle. School Management System is an online application developed with
PYTHON& SQLite. It maintains total information about the schools.
The main advantage of the application is to manage all the management activities in
the school. School Management System has been divided into five major modules.
Login module
Course module
School module
For simplicity and to make it easy to understand, complex design patterns are not
used. SQLite is used as the database back end. For each database table, we have used a
corresponding class (entity class). The fields for each class match the fields in the table. For
each entity class, we have a manager class. For example, for the 'Student' class, there is
another class called 'CourseManager'. For the class 'Employee or staff', there is an
EmployeeManager' class. The manager class has methods like CreateTutorial, UpdateTutorial
etc. These methods are used to create and update the entities in database.
In the proposed system school details are maintained by the administrator. Users can
visit the website and can get information about the school. User can view details like
scholarship details, school details, school’s extra events details. Users can also download and
use study materials. Project is developed using PYTHON and SQLite.
2
1.2 OBJECTIVES
3
2. SYSTEM ANALYSIS
1. Time-Consuming Processes
o Manually handling student records, attendance, and fee transactions takes
significant time and effort.
3. Limited Accessibility
o Retrieving old records or generating reports is a slow and complex process due
to the lack of a centralized database.
4
security. By adopting an SMS, schools can significantly improve their administrative
efficiency and provide a better educational experience for students and staff.
The dividend allocation is also partly managed by software’s thus the work becomes
more tedious. Admin has the privilege to accesses everything, in case of errors, other person
has to be recruited as an assistant and they has to cross check everything. In the existing
system each and every time a reference should be made. Student details are maintained in the
system. But in the existing system the feedback is not automated.
2.2.1 DRAWBACKS
The proposed system deals with three types of users. Namely administrator, staff or
employee and student. The administrator is the main user; admin access all details and admin
5
can also create users. Staff can collaborate with students, pass information to students directly
and can update their details. Students can access their details, update it. Proposed system
plays as a vital platform for students to share, collaborate and enrich their knowledge through
discussions. Functions and photos taken during functions will be updated to the portal by the
administrator.
2.3.1 FEATURES
2.3.2 ADVANTAGES
1. Students need not search other websites for viewing annual results
2. Result can be viewed from the school website itself
3. Students can apply for leave through the system, and teachers or administrators can
approve or reject requests online, reducing paperwork and miscommunication.
4. Eliminates manual record-keeping, reducing workload for staff and allowing teachers
and administrators to focus on academic and operational improvements.
5. Parents, teachers, and students can communicate seamlessly through built-in messaging
features, improving transparency in academic progress and school activities.
6. Real-time attendance monitoring and automated grading systems help maintain
accurate academic records and reduce manual errors.
6
7. Digital records minimize the risk of data loss, damage, or unauthorized access,
ensuring a secure environment for school administration.
2.4 SOFTWARE
Rasmus Lerdorf wrote the first PYTHON - first called Personal Home Page - scripts
as a series of Perl scripts that he used to track visitors to his webpage and to see who was
viewing his resume. He eventually rewrote PYTHON as a scripting engine and added support
for forms. Over the years the Personal Home Page acronym was dropped and it evolved into
the PYTHON Hypertext. PYTHON can be used to create web applications ranging from
personal websites to e-commerce applications and community web portals i.e. disucssion
forums, blogs etc. The main advantages of PYTHON programming include the following:
Frontend Python refers to the use of Python-based tools, frameworks, and libraries to build
graphical user interfaces (GUIs) for desktop applications or web-based frontends. While
Python is primarily a backend language, it can be used for frontend development through
various libraries such as Tkinter, PyQt, Kivy, Flask, and Django (templating system).
Open Source
PYTHON is freely available for use. The community of open source PYTHON
developers provides technical support and is constantly improving updating the core
PYTHON functionalities. PYTHON is available at free of cost under PYTHON General
Public License and most of its associative required software's like SQLite, Text Editors and
Apache Server are also freely available, so it proves very cost effective for the developers.
Free to Use: Developers can use frontend Python libraries without licensing fees.
7
Community Support: Open-source libraries like Flask, Django, and Kivy are
continuously improved by a global community of developers.
1. Tkinter – Built-in GUI toolkit in Python, used for creating simple desktop
applications.
2. PyQt – Open-source Python bindings for Qt, used to create advanced desktop
applications.
3. Kivy – Open-source library for developing multi-touch applications, including
mobile apps.
4. Flask & Django – Open-source web frameworks that allow Python to be used
in frontend web development.
Cross-Platform
PYTHON provides high compatibility with leading operating systems and web
servers such as thereby enabling it to be easily deployed across several different platforms.
PYTHON scripts can run across operating systems such as Linux, Windows, Solaris,
OpenBSD, Mac OSX etc and also provide support for all major web servers such as Apache,
IIS, iPlanet etc.
8
2. PyQt & PySide – Used to build applications for desktop and embedded
systems.
3. Kivy – Works on Windows, macOS, Linux, Android, and iOS, making it great
for mobile apps.
4. Flask & Django – Can be deployed on any web server, making them suitable
for web applications on multiple platforms.
1. Saves Time & Effort: Write code once and deploy on multiple platforms.
2. Cost-Effective: No need to maintain separate codebases for different operating
systems.
3. Easy Maintenance: Bug fixes and updates apply to all platforms
simultaneously.
By using Python for frontend development, developers can build applications faster
and make them available on multiple devices and operating systems.
Power
Several web tasks can now be easily perform using PYTHON. For example now we
can develop from small websites to giant business and organizational websites, informative
forums, chatting platforms, CRM solutions, e-commerce shopping carts, community
websites, e-business, shopping carts and gigantic database driven sites.
Python offers a wide range of libraries and frameworks that simplify frontend
development.
9
Python seamlessly integrates with:
Python applications can handle large datasets and complex frontend interactions.
Python frameworks support modular development, allowing teams to expand applications
easily.
Doing so adds tremendous speed and flexibility. The tables are linked by defined
relations making it possible to combine data from several tables upon request. RDBMS's play
a central role in many types of eCommerce and eBusiness solutions. Amazon.com and
eBay.com are examples of complex eCommerce solutions that depend on database
applications to transact business with their customers and partners. SQLite is the most
popular Relational Database Management System.
10
It is owned by Oracle Corporation and it is deployed under two versions, one open
source Community Edition and the other paid Standard Edition, which is with a number of
improved features. The database, however, is more popular as open source that can be
downloaded from its website. This edition is with all features that is required for secure and
safe Web Applications and usage. Websites such as Google, Wikipedia, Facebook, YouTube
and so on using SQLite. It can be integrated with full functionality with application platforms
such as Wordpress, Joomla, Drupal among others.
Backend systems typically interact with databases to store and retrieve data. Among
various database management systems (DBMS), SQLite is widely used for lightweight and
embedded database solutions.
SQLite is an embedded SQL database engine designed for local data storage in
applications. It is used in backend development to manage structured data without requiring a
separate database server. SQLite enables applications to perform CRUD (Create, Read,
Update, Delete) operations on data efficiently.
SQLite stands for Structured Query Language – Lite. It is a backend database engine
that allows applications to store and manage data efficiently. It is widely used in:
11
Mobile applications (Android & iOS)
Web browsers (Google Chrome, Firefox)
Desktop applications
Embedded systems (IoT devices, Smart TVs)
Benefits of SQLite
Whether one are a Web developer, CNE, or a dedicated network administrator with an
interest in building database applications, SQLite is easy to use, yet extremely powerful,
secure, and scalable. And because of its small size and speed, it is the ideal database solution
for Web sites.
12
3. SYSTEM SPECIFICATIONS
Monitor : 14 inch
Speed : 2 GHZ
13
4. SYSTEM DESIGN AND DEVELOPMENT
A flat file database is a database designed around a single table. The flat file design
puts all database information in one table, or list, with fields to represent all parameters. A
flat file may contain many fields, often, with duplicate data that are prone to data corruption.
If data between two flat files have to be merged, it is needed to copy and paste relevant
information from one file to the other. There is no automation between flat files.
If two or more flat files that contain client addresses, it is required to manually modify
the address parameters in each file that contains that client’s information. Changing
information in one file has no bearing on other files. Flat files offer the functionality to store
information, manipulate fields, print or display formatted information and exchange
information with others, through email and over the Internet. Some flat files may be attached
to external files, such as text editors, to extend functionality and manage related information.
A relational database, on the other hand, incorporates multiple tables with methods for
the tables to work together. The relationships between table data can be collated, merged and
displayed in database forms. Most relational databases offer functionality to share data:
Across networks
Over the Internet
With laptops and other electronic devices, such as palm pilots
With other software systems
Designing flat file databases is simple and requires little design knowledge. Flat files
can be developed using just about any database engine. Flat files can be created in relational
database engines by not taking advantage of relational design concepts. Designing a
14
relational database takes more planning than flat file databases. With flat files, it is possible
to add information, as you deem necessary.
Input design is a part of overall system design. The main objective during the input
design is as given below:
Input Stages
Data recording
Data transcription
Data conversion
Data verification
Data control
Data transmission
Data validation
Data correction
Input Media
Keeping in view the above description of the input types and input media, it can be
said that most of the inputs are of the form of internal and interactive. As Input data is to be
directly keyed in by the user, the keyboard can be considered to be the most suitable input
device.
15
4.3 OUTPUT DESIGN
Outputs from computer systems are required primarily to communicate the results of
processing to users. They are also used to provide a permanent copy of the results for later
consultation. The various types of outputs in general are:
Output Definition
Login screen
School home page
Tutorial screen
Faculty screen
Gallery screen
Admission rules screen
Feedback screen
Marks and fine screen
Result screen
16
Scholarship screen
Data base is designed to manage large bodies of information. The management of data
involves both the definitions of structures for the storage of information. In addition the data
base system must provide for the safety of the information solved, despite system crashes or
due to attempts at unauthorized access. For developing an efficient database they have to
fulfill certain conditions such as controlled redundancy.
Ease of use
Control of data integrity
Control of redundancy
Control of security
Data independence (logical & physical)
Data storage protection
System performance
System functions
System compatibility
For achieving the above mentioned criteria’s one has to make use of various features
that are available with the RDBMS by enforcing integrity constrains, one can ensure data
integrity and reduce data inconsistency to a great extent. Database is designed meeting all the
above requirements.
17
4.5 SYSTEM DEVELOPMENT
Login module
Course module
School module
Login module
It is used for logging in the School Management System. Only the administrator has
rights to login and access he site. Once the admin logins, admin get privileges to modify the
information in web pages. Tutorials can be posted by admin, which can be used by the
students.
Future enhancements can include multiple user roles (such as teachers, students, and
parents) with different levels of access, improving system efficiency and security.
Course module
It contains all courses which are stored in School Management System. Course details
can be managed here. New course details can be added. Existing course details can be
modified as well.
The system can track which students are enrolled in specific courses, allowing
administrators to manage student-course assignments efficiently.
18
School module
School information is maintained by the administrator through this module. When the
use visits website, it is possible to view the school information like principals’ message, rules
and regulations of the school, gallery, facilities available in school etc.
The module can display upcoming events, news, and important announcements,
keeping students and parents informed.
Users can access contact details, office hours, and inquiry forms to communicate
directly with school administration.
Admin maintains staff details through this module. Staff details can be added as well
as updated through manage staff information page.
Staff members can be assigned specific roles (teachers, administrators, support staff)
and linked to their respective departments for better organization.
The system can maintain staff attendance records and performance evaluations,
ensuring efficient management of school personal
Marks module
Scholarship and concession facilities available in school are maintained through this
module.
This module can store and manage student marks, grades, and performance reports,
helping teachers track academic progress.
The system can automatically calculate grades based on predefined criteria, reducing
manual effort and errors.
The module can generate digital report cards, allowing students and parents to view
and download academic performance
19
5. TESTING AND IMPLEMENTATION
The common view of testing held by users is that it is performed to prove that there
are no errors in a program. This is extremely difficult since designer cannot prove to be one
hundred percent accurate. Therefore, the most useful and practical approach is with the
understanding that testing is the process of executing a program with explicit intention of
finding errors that make the program fail.
Testing has its own cycle. The testing process begins with the product requirements
phase and from there parallels the entire development process. In other words, for each phase
of the development process there is an important testing activity. Successful testing requires a
methodical approach. It requires focusing on basic critical factors:
Planning
Project and process control
Risk management
Inspections
Measurement tools
Organization and professionalism
TEST PLAN
Before going for testing, first we have to decide upon the type of testing to be
carried out. The following factors are taken into consideration:
20
5.1 UNIT TESTING
Login Module
If entered login details matches with the database, then admin home page should be
displayed, else message box should be displayed. This condition is being tested in admin
Login Module.
Validation testing provides the final assurance that software meets all functional,
behavioral and performance requirement. The software once validated must be combined
with other system elements. System testing verifies that as elements combine properly and
that overall system function and performance is achieved.
Feedback Module
Feedbacks entered by the users should be listed in admin feedback lists. When a
specific feedback is listed, corresponding feedback should be displayed.
Login module and Admin module are integrated and tested together. For example if
admin login, admin home page should be displayed, else invalid login message should be
displayed. Feedback and Feedback listing module is integrated and tested together when the
user offers feedback and admin views feedback.
21
5.4 IMPLEMENTATION
System implementation is the important stage of project when the theoretical design is
tunes into practical system. The main stages in the implementation are as follows:
Planning
Training
System testing and
Changeover planning
Planning is the first task in the system implementation. Planning is deciding on the
method and the time scale to be adapted. At the time of implementation of any system people
from different departments and system analysis involve. They are confirmed to practical
problem of controlling various activities of people outside their own data processing
departments. The line manager controlled through an implementation co-ordinate committee.
The committee consists of ideas, Problems and complaints of user department. It must also
consider,
22
6. CONCLUSION
The system is completely menu driven and extremely user friendly since it is
developed in an efficient front end tool PYTHON. Appropriate error messages are provided
to guide the user in a proper and user friendly manner. Only the administrator can manage the
site, it is secured through login system. When unauthorized users try to login, system will
generate validation message.
End users will be lightened in using the software because it will be easy to have
reports and will be very user friendly. Project has been completed and tested successfully. It
reduces the calculating efforts to be carried out by the staff. Further enhancements can also be
done for improving proposed system. Enhancements can be done based on the upcoming
needs in future.
The system reduces the manual workload of the school staff by automating various
tasks, such as marks management, attendance tracking, and report generation. The project has
been successfully completed and tested, demonstrating its efficiency and reliability in a real-
time environment.
Additionally, the system minimizes calculation efforts for the school administration
by automating tasks that were previously done manually. It improves the accuracy of data
handling and eliminates the risk of human errors in record-keeping. The software is highly
scalable, allowing for future enhancements to meet evolving school requirements.
Further improvements can be implemented in the future to enhance the features and
functionality of the system. Possible enhancements include integrating cloud storage, adding
a parent communication portal, and enabling online fee payments. As educational needs
evolve, the system can be upgraded to incorporate advanced technologies, ensuring its long-
term usability and efficiency.
23
7. SCOPE FOR FUTURE ENHANCEMENT
Further expansion of the system also can be done in future if needed. The application
can be enhanced in the future with the needs of the organization. The database and the
information can be updated to the latest forthcoming versions. There are also possibilities for
enhancing and further developing the project with customized reports according to the latest
information and needs of the company.
Thus the system can be altered in accordance with the future requirements and
advancements. System performance evaluation must be monitored not only to determine
whether or not they perform as plan but also to determine if they should have to meet changes
in the information needed for the company. The performance of the system will be evaluated
to determine whether system achieves the results that are expected and whether the predicted
benefits of the system are realized.
24
8. BIBLIOGRAPHY AND REFERENCES
BOOK REFERENCES
Elias M.Awad, “System Analysis and Design”, Golgotha Publishers (P) Ltd.,
Second edition, New Delhi, 1992.
Julia case Bradley, Anita C. Millspaugh, “PYTHON and SQLite”, 2009, 1 st
edition.
Mark Spenkink, Andrew J Indovina, David Jung, “PYTHON Long time”,
Techmedia, New Delhi, 2010
Rogger S. Pressman, “Software Engineering a Practitioner’s Approach”, Tata
McGraw Hill, 1991, 3rd edition.
WEB REFERENCES
http://www.codeguru.com/vb/controls/vb_activex/article.Python/c3481/
Interaction-between-VBScript-and-ActiveX-Control.htm
http://msdn.microsoft.com/en-us/library/aa751971%28v=vs.85%29.aspx
http://www.w3schools.com/js/js_datatypes.asp
http://oreilly.com/.../javascript-datatypes-variables.htm
http://www.w3.org/TR/html401/interact/scripts.html
http://webreflection.blogspot.in/2008/04/script-type-Python.html
http://www.javascriptkit.com/javatutors/externalPython.shtml
http://www.Python.net/manual/en/intro-whatcando.Python
25
9. APPENDICES
LEVEL 0
Login process
Admin Login File
Login details
School
Management
26
LEVEL 1
After login
School Management
Manage
Web pages
Subject
27
LEVEL 2
Manage
Course
Course
Process
Course details
Manage
Staff
Staff
Staff details
Manage
tutorials Tutorials
Tutorials
Manage
school details
school details
School details
28
Manage
System flow diagram
school details
Admin
Manage
Course
Process
Manage
Course
Process
29
B. TABLE STRUCTURE
30
Table Name : Subject
31
C. SAMPLE CODING
Loginpage.html
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet"
href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700"
rel="stylesheet">
</head>
32
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
</div>
<div class="card">
{% csrf_token %}
<div class="input-group-append">
<div class="input-group-text">
</div>
</div>
</div>
<div class="input-group-append">
<div class="input-group-text">
</div>
33
</div>
</div>
<div class="row">
<div class="col-12">
</div>
<div class="row">
{% if messages %}
<div class="col-12">
{% if message.tags == 'error' %}
34
{% endif %}
{% if message.tags == 'success' %}
{% endif %}
{% endfor %}
</div>
{% endif %}
</div>
</form>
</div>
</div>
</div>
</body>
</html>
35
Signup.html
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet"
href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700"
rel="stylesheet">
</head>
<div class="login-box">
36
<div class="login-logo">
</div>
<div class="card">
{% csrf_token %}
<div class="input-group-append">
<div class="input-group-text">
</div>
</div>
</div>
<div class="input-group-append">
<div class="input-group-text">
</div>
</div>
</div>
37
<input type="password" class="form-control" placeholder="Password"
name="password">
<div class="input-group-append">
<div class="input-group-text">
</div>
</div>
</div>
<div class="row">
<div class="col-12">
</div>
<div class="row">
{% if messages %}
<div class="col-12">
{% if message.tags == 'error' %}
{% endif %}
{% endfor %}
</div>
{% endif %}
</div>
38
</form>
</div>
</div>
</div>
</body>
</html>
39
D. SAMPLE INPUT
40
Admin panel screen
41
Staff Login Screen
42
Student Login Screen
43
E. SAMPLE OUTPUT
44
45