0% found this document useful (0 votes)
23 views45 pages

School Full Document

The School Management System (SMS) project aims to automate and streamline school administrative and academic processes, reducing manual errors and improving efficiency. It features modules for managing student records, staff information, and course details, while providing a centralized platform for communication and resource management. Developed using Python and SQLite, the system enhances data accessibility and security, making it suitable for various educational institutions.

Uploaded by

Mani Kandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views45 pages

School Full Document

The School Management System (SMS) project aims to automate and streamline school administrative and academic processes, reducing manual errors and improving efficiency. It features modules for managing student records, staff information, and course details, while providing a centralized platform for communication and resource management. Developed using Python and SQLite, the system enhances data accessibility and security, making it suitable for various educational institutions.

Uploaded by

Mani Kandan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 45

SYNOPSIS

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.

Study materials will sent by teachers to the administrator for acknowledgement.


Administrator verifies the study materials and will update the materials & books for each
class separately in the school website. Website will display the rules & regulation and all
other details related to school. Any users can visit the website and can get information about
school. Students can visit the website and can search the books by selecting their class. Books
will be displayed for the selected class which can be downloaded easily by just selecting
download button.

The School Management System (SMS) is a comprehensive software solution


designed to automate and streamline various school administrative and academic processes.
The system eliminates manual record-keeping, reduces paperwork, and enhances efficiency
by providing a centralized digital platform for managing students, teachers, staff, and school
resources.

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

1.1 ABOUT THE PROJECT

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

 Staff information module and


 Marks 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

 To reduce paperwork and manual errors.


 To provide real-time access to student and staff records.
 To improve communication between teachers, students, and parents.
 To enhance school operations through automation.

1.3 ORGANIZATION PROFILE

This system is developed for schools to ensure efficient management of students,


teachers, and resources. It serves administrators, teachers, students, and parents by providing
a seamless digital platform for all school-related activities.

1.4 PURPOSE , SCOPE & APPLICABILITY

The School Management System is designed to be used by educational institutions for


automating their daily operations. It can be implemented in primary schools, secondary schools, and
higher educational institutions

3
2. SYSTEM ANALYSIS

2.1 PROBLEM DEFINITION

Managing school operations manually is a time-consuming and error-prone process.


Traditional school administration involves maintaining physical records for student
enrollment, attendance, fee payments, examination results, and staff management. These
manual processes lead to inefficiencies, increased workload, and difficulties in retrieving or
updating information.

Challenges in the Existing System

1. Time-Consuming Processes
o Manually handling student records, attendance, and fee transactions takes
significant time and effort.

2. Data Inconsistencies & Errors


o Paper-based systems are prone to errors such as misplacement of records,
incorrect data entry, and duplication of information.

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. Lack of Real-Time Communication


o Communication between students, teachers, and parents is often inefficient,
leading to delays in important updates such as exam schedules and fee
reminders.

5. Security and Data Loss Risks


o Physical files are vulnerable to damage, loss, or unauthorized access, putting
critical school information at risk. Need for a School Management System

To overcome these challenges, a School Management System (SMS) is required to


automate and digitize school operations. A centralized, digital platform will ensure efficient
data management, improved communication, real-time access to information, and enhanced

4
security. By adopting an SMS, schools can significantly improve their administrative
efficiency and provide a better educational experience for students and staff.

2.2 EXISTING SYSTEM

The School Management System is partly managed by an automation system which


has some limitations. Only the admin 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.

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

1. Maintenance of applications & their storage is extremely tedious.


2. The work is more time consuming.
3. Reports generation is time consuming.
4. Information updating is tedious and takes lots of time.
5. Functions conducted in the school cannot be viewed by visitors of the website
6. Students cannot view results through school website
7. Study materials cannot be downloaded from the school website.
8. Admission and other school procedures can be known by parents and visitors of
the school only after visiting school.
9. Since the software is managed only inside school sectors. Students and parents
cannot view admission and other school details through online

2.3 PROPOSED SYSTEM

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

The major theme of proposed system is to avoid the existing drawbacks. It is to


provide additional features to the already existing systems. The proposed system is a cost
effective way of doing the processes done in the existing system. This helps the organization
to win the war in the existing competitive world. The proposed system is intended to do the
following features:

 Reduces the time needed


 Reduces unnecessary expenses for purchasing school books
 To act as a tool for school overall improvement
 To provide accurate desired result.
 Notes will be sent to the administrator by staff easily through the system
 Admin can verify notes and updates in the website which can be used by the
students

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

2.4.1 FRONT END (PYTHON)

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).

Python provides a structured, easy-to-use, and powerful development environment for


designing user interfaces, making it a preferred choice for developers who want to work with
both frontend and backend using the same language.

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.

Benefits of Open Source in Frontend Python:

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.

Customization: Developers can modify and extend open-source Python libraries to


meet specific project needs.

Examples of Open-Source Frontend Python Libraries:

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.

Python as a Cross-Platform Frontend Language

Python is inherently cross-platform, meaning that developers can write frontend


applications once and run them on different operating systems without rewriting the code.
This makes Python a versatile choice for frontend development.

Cross-Platform Python Frontend Tools

Python provides several cross-platform tools for frontend development:

1. Tkinter – Works on Windows, macOS, and Linux without extra dependencies.

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.

Benefits of Cross-Platform Development in Python

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.

Rich Libraries & Frameworks

Python offers a wide range of libraries and frameworks that simplify frontend
development.

1. Django & Flask: Provide built-in templating engines to integrate Python


with frontend UI.
2. PyQt & Kivy: Offer rich UI components to build interactive applications.
3. Matplotlib & Plotly: Used for data visualization in dashboards and reports.

Integration with Other Technologies

9
Python seamlessly integrates with:

1. JavaScript & React – Python-based APIs can serve data to JavaScript-based


frontends.
2. Machine Learning (ML) & AI – Python frontends can integrate AI features
like chatbots and recommendation systems.
3. Database Systems – Python supports MySQL, PostgreSQL, and SQLite for
data storage.

Scalability & Performance

Python applications can handle large datasets and complex frontend interactions.
Python frameworks support modular development, allowing teams to expand applications
easily.

2.4.2 BACK END (SQLite)

SQLite is a database management system (DBMS). A database is a structured


collection of data. It might be anything from a simple shopping list to a picture gallery, to the
vast amounts of information in a corporate network. To access, manipulate, and process data
stored in a database, one need a DBMS. Because computers are very effective at handling
large amounts of data, database management plays a central role in computing. But more than
being a DBMS, SQLite is a relational database management system (RDBMS). A relational
database stores data in separate tables rather than putting all the data into one large
repository.

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 development refers to the server-side operations of an application,


responsible for data management, business logic, authentication, and communication between
the frontend and the database. It ensures that data is stored, retrieved, and processed
efficiently, allowing the application to function smoothly.

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 a self-contained, serverless, and lightweight relational database


management system (RDBMS) that allows applications to store and manage structured data
efficiently. Unlike other traditional databases such as MySQL, PostgreSQL, or Oracle,
SQLite does not require a separate server process to function. Instead, it operates using a
single file-based storage system, making it highly portable and easy to use.

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.

It follows the ACID (Atomicity, Consistency, Isolation, Durability) principles,


ensuring secure and reliable transactions. SQLite supports standard SQL queries, allowing
developers to store, retrieve, and manipulate data seamlessly.

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.

SQLite is a lightweight, serverless, and self-contained database management system


designed for efficient local data storage. It offers several advantages, including:

1. Serverless Architecture – Does not require a separate database server, making


it easy to deploy.
2. Zero Configuration – No setup, installation, or complex configurations
needed.
3. Lightweight and Fast – Optimized for minimal resource usage and high-speed
operations.
4. Cross-Platform Compatibility – Works on Windows, macOS, Linux, Android,
and iOS.
5. ACID Compliance – Ensures reliable transactions with data integrity and
consistency.
6. Highly Portable – Stores the entire database in a single file, simplifying
backup and migration.
7. Scalability – Supports databases up to 140 terabytes, suitable for small to
medium applications.
8. Security Features – Supports encryption and secure access to protect sensitive
data.
9. Open Source & Free – No licensing costs, with active community support and
continuous improvements.
10. Ideal for Embedded Systems – Used in mobile apps, browsers, IoT devices,
and software requiring local storage.

12
3. SYSTEM SPECIFICATIONS

3.1.2 HARDWARE SPECIFICATIONS

Processor : Dual Core

RAM Capacity : 2.5 GB

Hard Disk : 350 GB

Mouse : Logitech Optical Mouse

Keyboard : 110 Keys

Monitor : 14 inch

Speed : 2 GHZ

System bus : 32 bit

3.1.2 SOFTWARE SPECIFICATIONS

Operating System : Windows 7 Home Basic

Server Used : WAMP server 2.2

Front End : PYTHON

Back End : SQLite

13
4. SYSTEM DESIGN AND DEVELOPMENT

4.1 FILE DESIGN

Flat File Database

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.

Relational File Database

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.

4.2 INPUT DESIGN

Input design is a part of overall system design. The main objective during the input
design is as given below:

 To produce a cost-effective method of input.


 To achieve the highest possible level of accuracy.
 To ensure that the input is acceptable and understood by the user.

Input Stages

The main input stages can be listed as below:

 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.

Major inputs of the proposed project will be

 Admin enter his or her user id and password.


 Admin requests the class details for tutorial management.
 Student requests the tutorial details.
 Student requests the gallery details.

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:

 External Outputs whose destination is outside the organization.


 Internal Outputs whose destination is within organization and they are the User’s
main interface with the computer.
 Operational outputs whose use is purely within the computer department.
 Interface outputs involve the user who communicates directly with the system.

Output Definition

The outputs should be defined in terms of the following points:

 Type of the output displayed


 Content of the output displayed
 Format of the output displayed
 Location of the output displayed
 Frequency of the output displayed
 Volume of the output displayed
 Sequence of the output displayed

Output screens of the project are listed as follows:

 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

4.4 DATABASE DESIGN

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.

 Defining the data


 Inputting the data
 Locating the data
 Accessing the data
 Communicating the data
 Revising the data

Objectives of Data base design

In the data base design several objectives are designed such as

 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

3.5.1 DESCRIPTION OF MODULES

The project maintains the following modules:

 Login module
 Course module
 School module

 Staff information module


 Marks 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.

The login module ensures secure authentication using encrypted credentials,


preventing unauthorized access to the system.

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.

Courses can be categorized based on subjects, grade levels, or departments, making it


easier for students and teachers to navigate.

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.

Staff information module

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:

 To ensure that information properly flows into and out of program


 To find out whether the local data structures maintains its integrity during all steps
in an algorithm execution
 To ensure that the module operate properly at boundaries established to limit or
restrict processing
 To find out whether error - handling paths are working correctly or not
 To find out whether the values are correctly updated or not
 Check for validations

20
5.1 UNIT TESTING

Unit or module testing is the process of testing the individual components


(subprograms or procedures) of a program. The purpose is to discover discrepancies between
the modules interface specification and its actual behavior. In our system each module
namely is tested independently for validation.

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.

5.2 VALIDATION TESTING

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.

5.3 INTEGRATION TESTING

Integration testing is the process of combining and testing multiple components


together. The primary objective of integration testing is to discover errors in the interfaces
between the components. In our system each of the modules mentioned above, are tested for
checking the integration between them, after each of them are tested individually.

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,

 The implementation of system environment.


 Self selection and allocation for implementation tasks.
 Consultation with unions and resources available.
 Standby facilities and channels of communication.

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.

The software “School Management System” is developed using PYTHON as front


end and SQLite as back end. Time consumptions will be reduced to a great extent and user as
less complexity in handling it database. The project is fully fledged and user friendly.

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.

With advancements in technology and education, additional features like online


examinations, automated attendance tracking using biometric systems, and AI-based student
performance analysis can be integrated into the system. The introduction of cloud-based
storage would also enhance data accessibility, making it easier for administrators, teachers,
and students to access important records from anywhere. Furthermore, mobile application
support could provide a seamless user experience, allowing students and staff to interact with
the system conveniently.

Security enhancements can also be a major area of improvement in the future.


Implementing multi-factor authentication (MFA), encryption techniques, and regular security
audits will strengthen data protection and prevent unauthorized access. Additionally,
automated backup systems can be integrated to ensure that critical data is never lost and can
be restored in case of emergencies. These improvements will enhance the efficiency, security,
and reliability of the School Management System, ensuring that it continues to meet the
evolving demands of modern educational institutions.

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

A. DATA FLOW DIAGRAM

LEVEL 0

Login process
Admin Login File

Login details

School
Management

26
LEVEL 1

Admin details Login Login details


process
Admin
Login

After login

School Management

Manage
Web pages

Subject

27
LEVEL 2

Login Login details


Admin
Process Login

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

Table name : login


Primary key : uid

FIELD NAME DATA TYPE CONSTRAINT DESCRIPTION


uid Int(10) Primary key Id of the user
Pwd varchar(50) Not null Password of the user

Table Name : Department

Primary key : Dept_id

Field name Data type Constraint Description


Dept_id Varchar(20) Primary key Department ID
Dept_name Varchar(15) Not null Department name

Table Name : Student

Primary key : Student_rollno Foreign key : Dept_id, Batch_id

Field name Data type Constraint Description


Student_rollno Varchar(20) Primary key Roll number of the student
Student_name Varchar(15) Not null Name of the student
Dept_name Varchar(15) Not null Department name
Batch_name Varchar(15) Not null Name of the batch
Student_sslc Varchar(20) Not null SSLC marks
Student_hsc Varchar(20) Not null HSC marks
Student_mob Int(10) Not null Student mobile number
Student_email Varchar(30) Not null Email ID of the student

30
Table Name : Subject

Primary key : Sub_id Foreign key : Dept_id, Batch_id

Field name Data type Constraint Description


Sub_id Varchar(20) Primary key Subject ID
Sub_name Varchar(15) Not null Name of the subject
Batch_name Varchar(20) Not null Batch name
Sub_credit Varchar(20) Not null Credit for the subject
Sub_sem Varchar(20) Not null Semester number
Dept_name Varchar(15) Not null Department name

Table Name : Attendance


Primary key : At_id Foreign key :Student_rollno

Field name Data type Constraint Description


At_id Varchar(20) Primary key Attendance ID
Student_rollno Varchar(20) Foreign key Roll number of the student
Student_name Varchar(15) Not null Name of the student
Dept_name Varchar(15) Not null Department name
Batch_name Varchar(15) Not null Name of the batch
Student_mob Int(10) Not null Student mobile number
Student_email Varchar(30) Not null Email ID of the student
At_date Varchar(20) Not null Attendance date
At_status Varchar(20) Not null Status of the attendance

31
C. SAMPLE CODING

Loginpage.html

{% load static %}

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>School Management System | Log in</title>

<!-- Tell the browser to be responsive to screen width -->

<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Font Awesome -->

<link rel="stylesheet" href="{% static "plugins/fontawesome-free/css/all.min.css" %}">

<!-- Ionicons -->

<link rel="stylesheet"
href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">

<!-- icheck bootstrap -->

<link rel="stylesheet" href="{% static "plugins/icheck-bootstrap/icheck-bootstrap.min.css"


%}">

<!-- Theme style -->

<link rel="stylesheet" href="{% static "dist/css/adminlte.min.css" %}">

<!-- Google Font: Source Sans Pro -->

<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">

<b>School Management System</b>

</div>

<!-- /.login-logo -->

<div class="card">

<div class="card-body login-card-body">

<p class="login-box-msg">Sign in to School Management System</p>

<form action="/doLogin" method="post" id="demo-form">

{% csrf_token %}

<div class="input-group mb-3">

<input type="email" class="form-control" placeholder="Email" name="email">

<div class="input-group-append">

<div class="input-group-text">

<span class="fas fa-envelope"></span>

</div>

</div>

</div>

<div class="input-group mb-3">

<input type="password" class="form-control" placeholder="Password"


name="password">

<div class="input-group-append">

<div class="input-group-text">

<span class="fas fa-lock"></span>

</div>

33
</div>

</div>

<div class="row">

<!-- /.col -->

<div class="col-12">

<button type="submit" class="btn btn-primary btn-block" >Sign In</button>

</div><!-- /.col -->

<div class="col-12 text-center">

<a href="{% url 'password_reset' %}">Reset Password</a>

</div><!-- /.col -->

<div class="col-12 text-center">

<a href="{% url 'signup_admin' %}">Admin Signup</a>

</div><!-- /.col -->

<div class="col-12 text-center">

<a href="{% url 'signup_staff' %}">Staff Signup</a>

</div><!-- /.col -->

<div class="col-12 text-center">

<a href="{% url 'signup_student' %}">Student Signup</a>

</div><!-- /.col -->

</div>

<div class="row">

{% if messages %}

<div class="col-12">

{% for message in messages %}

{% if message.tags == 'error' %}

<div class="alert alert-danger" style="margin-top:10px">{{ message }}</div>

34
{% endif %}

{% if message.tags == 'success' %}

<div class="alert alert-success" style="margin-top:10px">{{ message }}</div>

{% endif %}

{% endfor %}

</div>

{% endif %}

</div>

</form>

<!-- /.social-auth-links -->

</div>

<!-- /.login-card-body -->

</div>

</div>

<!-- /.login-box -->

<!-- jQuery -->

<script src="{% static "plugins/jquery/jquery.min.js" %}"></script>

<!-- Bootstrap 4 -->

<script src="{% static "plugins/bootstrap/js/bootstrap.bundle.min.js" %}"></script>

<!-- AdminLTE App -->

<script src="{% static "dist/js/adminlte.min.js" %}"></script>

</body>

</html>

35
Signup.html

{% load static %}

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title>School Management System | Signup Admin</title>

<!-- Tell the browser to be responsive to screen width -->

<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Font Awesome -->

<link rel="stylesheet" href="{% static "plugins/fontawesome-free/css/all.min.css" %}">

<!-- Ionicons -->

<link rel="stylesheet"
href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">

<!-- icheck bootstrap -->

<link rel="stylesheet" href="{% static "plugins/icheck-bootstrap/icheck-bootstrap.min.css"


%}">

<!-- Theme style -->

<link rel="stylesheet" href="{% static "dist/css/adminlte.min.css" %}">

<!-- Google Font: Source Sans Pro -->

<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700"
rel="stylesheet">

</head>

<body class="hold-transition login-page">

<div class="login-box">

36
<div class="login-logo">

<a href="../../index2.html"><b>Student</b> Management System</a>

</div>

<!-- /.login-logo -->

<div class="card">

<div class="card-body login-card-body">

<p class="login-box-msg">Sign Up Admin to School Management System</p>

<form action="/do_admin_signup" method="post" id="demo-form">

{% csrf_token %}

<div class="input-group mb-3">

<input type="email" class="form-control" placeholder="Email" name="email">

<div class="input-group-append">

<div class="input-group-text">

<span class="fas fa-envelope"></span>

</div>

</div>

</div>

<div class="input-group mb-3">

<input type="text" class="form-control" placeholder="Username" name="username">

<div class="input-group-append">

<div class="input-group-text">

<span class="fas fa-envelope"></span>

</div>

</div>

</div>

<div class="input-group mb-3">

37
<input type="password" class="form-control" placeholder="Password"
name="password">

<div class="input-group-append">

<div class="input-group-text">

<span class="fas fa-lock"></span>

</div>

</div>

</div>

<div class="row">

<!-- /.col -->

<div class="col-12">

<button type="submit" class="btn btn-primary btn-block" >Signup Admin</button>

</div><!-- /.col -->

</div>

<div class="row">

{% if messages %}

<div class="col-12">

{% for message in messages %}

{% if message.tags == 'error' %}

<div class="alert alert-danger" style="margin-top:10px">{{ message }}</div>

{% endif %}

{% endfor %}

</div>

{% endif %}

</div>

38
</form>

<!-- /.social-auth-links -->

</div>

<!-- /.login-card-body -->

</div>

</div>

<!-- /.login-box -->

<!-- jQuery -->

<script src="{% static "plugins/jquery/jquery.min.js" %}"></script>

<!-- Bootstrap 4 -->

<script src="{% static "plugins/bootstrap/js/bootstrap.bundle.min.js" %}"></script>

<!-- AdminLTE App -->

<script src="{% static "dist/js/adminlte.min.js" %}"></script>

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

</body>

</html>

39
D. SAMPLE INPUT

Admin login screen

40
Admin panel screen

41
Staff Login Screen

Staff Panel Screen

42
Student Login Screen

Student Panel Screen

43
E. SAMPLE OUTPUT

44
45

You might also like