SCHOOL MANAGEMENT SYSTEM OBJECTIVE WITH PROGRAM FOR SCHOOL MANAGEMENT SYSTEM
SCHOOL MANAGEMENT SYSTEM OBJECTIVE
Objectives of this
management system:
COMPUTERIZATION: All the details regarding school,
whether it is small or big, will be computerized.
No
Redundant Data – As this management system will be centralized, the chances of
the duplicate data in the system are close to
nil.
AUTOMATION: The automation feature of this
management system will mitigate the task of writing the papers. E.g. there is
no need to write the report card of the students on the paper by the pen.
It is simply can be done online on the
system, and can be forwarded to the students and their parents.
EASY INTERACTION:
In today’s rush hour of the life, it is difficult for a parent to go to the
school of his / her child every time a teacher calls.
By this management system, it will
easier for a parent and a teacher to be in touch every day. As a matter of
fact, it will be easier for each individual person who is associated with the
system to be in touch as per needed.
KEY FEATURES OF SCHOOL
MANAGEMENT SYSTEM PROJECT
·Multi-User
Account System
·Responsive
User Interface
·Student
Fee Management
·Parent
Monitoring Feature
·Homework
Document
·Class
Routine Schedule
·Profile
System
·Exam
Marks Management
·Chart
& Graph Analysis of Exams
·Library
Management
·Dormitory
Management
·Transport
Management
·Daily
Attendance
·Internal
Messaging
SCHOOL MANAGEMENT SYSTEM DESCRIPTION
There is six type of main users will be
involved in the school management system.
·Admin
·Student
·Teacher
·Parent
·Librarian
·Accountant
ADMIN
Admin is the one who controls whole
school management system, its staff, and every other person or thing that is
associated with the school.
In another term, the admin is the most
powerful entity of the system.
There will be one admin in the system.
·He
or she has the power to create, update or delete any record of the system.
·He
or she will be able to view the profile of any other user in the system.
·The
admin will be able to see all the details whether it is related to staff or
examination.
Whenever a student is registered into
the school, a class and the related section will be assigned by the admin to
the student.
Assigning timetable to teachers and the
students will be the admin’s responsibility.
·The
admin will grant the designation to the staff of the school such as who will be
the professor, who will be the assistant professor etc.
·He
or she will have the authority to promote any staff of the school.
·The
admin will approve the leave application of the teachers and students.
Before going to discuss other users of
this system, I will tell you some common features which will be included in all
type of users.
REGISTRATION
To start with the school, student,
teachers, peons, librarians will have to register themselves. For registration,
some personal details will be asked on the portal.
1.Name: Each user will have to
provide his / her full name.
2.Password: The user will have to
enter the password of his / her choice so that he/she easily
remembers. The password will be used to
authenticate the user to avoid irrelevant hooligans.
3.Email ID:
The email id is also necessary field. The email id can be used to recover the
password and all the important information regarding the academics can be mail
to the recipient.
4.Contact No.:
This is also an important field to have in the system. If necessary, the
targeted user can be contacted any time or at the time of emergency.
There is one privacy and policy document
which must be read by the user before agreeing to it.
After providing all the above details
and reading the agreement the user will have to check the checkbox next to it,
and one email is sent to the user’s given id.
This contains the unique id which will
be used by the user throughout his/her school career. This unique id will be
used as the login credential.
LOGIN
After successful completion of the
registration process, the user can log in to his/her account by entering the
unique id, which was sent to him/her via email, and the password he/she
provides at the time of registration.
If only and if the login id and password
combination match with the data stored in the system, the user is granted
access to the dashboard.
FORGET
PASSWORD
There may be a possibility that a user
forgets his unique id or password or both of them. The reason can be anything.
Now the user will have the difficult time to login into the system.
But this is not why I designed the
system this way. The user can recover his login credentials.
The user will have to enter his
registered email id on the portal and some sequence of instructions will be
sent to that mail id. The user simply has to follow those instructions in order
to recover the credentials.
CHANGE
PASSWORD
This is also the necessary feature for
the system. The user may feel that it is time to change the password for
security reasons. I have taken also that into consideration.
The user can change his/her password
whenever they want. First, they have to login into the system and provide the
old password and new password. Bam! The password is changed.
TEACHER
The teacher is one of the important entities for a school. The teachers are there to teach the students. The following are the features which will be available to the teachers.
MARK THE ATTENDENCE:
The teacher can take the attendance of the students. He/she just has to enter the class and section name into the portal and the whole list of the registered students of the section will be displayed to him /her.
The teacher can mark the present and absent accordingly and at last, can save the record. This data will be reflected immediately.
ASSIGN AND CHECK THE HOMEWORK:
A teacher will be able to assign homework to the whole class or to some particular students accordingly. And this homework will be reflected the student portal.
Thus a student cannot make the excuse that he/she could not hear the teachers or something else.
The next day the teacher can check whether the student has done their homework or not as the submission mode will be online.
VIEW STUDENT PROFILE– The teacher can be able to access any student’s profile and acquire the information related to it.
VIEW STUDENTENT’S MARKS– It is also another add-on in a teacher’s account. He/she can view the performance of the student in class components, mid-term or end term examination.
Thus he/she can give the guidance to the weak students accordingly.
STUDENT
The student is also one of
the main parts of the system. The students can login into the student account
anytime they want.
VIEW AND UPDATED THE
HOMEWORK
The student will be able to
view look into the details of the assignments he/she has been given such as the
topic of the time assignment, questions, last submission dates, how much marks
it is off etc. After finishing the homework, the student can upload that work
onto the portal which will be reflected in teacher’s account too.
PAYMENT
This is one of the beautiful features of the
system. The student will be able to know whether any due is pending against
him/her or not. It can be a library fine, semester fee, sports fee or any other
fee. If it is so, he/she can pay the amount via net banking or other methods.
TABLE
Without a timetable, nothing falls into its
right place. The student can access the schedule of the class he or she has to
attend and some information such as class number, time of the class, which
teacher will take that class etc.
PARENTS
It is important for the
parents to be familiar with the status of their child how they are performing
in the academy. To make this hassle free, there is also an option available for
the parents.
They can monitor the daily activity of their child in the school. They will be able to:
They can monitor the daily activity of their child in the school. They will be able to:
·
View the Report Card of the child
·
View the Attendance
·
View the Marks
·
View the timetable
LIBRARIAN
The
librarian will keep the record of the information about the books. He/she will
have the authority to issue any book to the students or the teachers. He will
have the information about which books are available in the system, which is
not so that those can be arranged at the
Righttime
ACCOUNTANT
The accountant is the person who will deal
with the financial deals of the school such getting the fee from the students,
paying the teachers’ salary, how much money is spend in school ceremonies or
over school renovation.
CONCLUSION
These are the main points at the top of my
head which I can include in the school management project. If you want this
project, feel free to
contact me. If you want some changes in the project, I will do it
for you. I believe in client satisfaction. Just reach out to me.
PROGRAM FOR SCHOOL
MANAGEMENT SYSTEM
School Management System
import java.awt.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
public class ProjectX extends JFrame
implements ChangeListener,
ActionListener
{
static int choice = 0;
static String line =
"--------------------------------
";
DatInputStream inputData = new
DataInputStream(System.in);
private Registration studentDetails =
new Registration();
int topScore = studentDetails.getTopScore();
int passMarks =
studentDetails.getPassMarks();
int firstClass =
studentDetails.getFirstClass();
int secondClass =
studentDetails.getSecondClass();
JTabbedPane tabbedPane = new
JTabbedPane();
JLabel statusLabel = new JLabel();
JLabel titleLabel = new
JLabel("Student Software Beta Edition");
JPanel addStudentPanel = new JPanel();
JTextField studentName = new
JTextField();
JTextField physicsMarks = new
JTextField();
JTextField biologyMarks = new
JTextField();
JTextField mathsMarks = new JTextField();
JButton submitDetails = new
JButton("Submit Details");
JPanel studentDetailsPanel = new
JPanel();
JTextField studentID1 = new
JTextField();
JTextArea studentInfo = new JTextArea();
JButton submitID1 = new
JButton("Submit ID");
JPanel studentGradePanel = new JPanel();
JTextField studentID2 = new
JTextField();
JTextArea studentGrade = new
JTextArea();
JButton submitID2 = new
JButton("Submit ID");
JPanel numberPassedPanel = new JPanel();
JTextArea studentPassed = new
JTextArea();
JPanel classTopperPanel = new JPanel();
JTextArea studentTopper = new
JTextArea();
public ProjectX(String frameTitle)
{
super(frameTitle);
setResizable(true);
setSize(400,400);
submitDetails.addActionListener(this);
submitID1.addActionListener(this);
submitID2.addActionListener(this);
getContentPane().setLayout(new
BorderLayout());
getContentPane().add(titleLabel,"North");
tabbedPane.addTab("Add
Student",addStudentPanel);
addStudentPanel.setLayout(new
GridLayout(8,2,5,5));
addStudentPanel.add(new
JLabel("Student Name: "));
addStudentPanel.add(studentName);
addStudentPanel.add(new
JLabel("Physics Marks: "));
addStudentPanel.add(physicsMarks);
addStudentPanel.add(new
JLabel("Biology Marks: "));
addStudentPanel.add(biologyMarks);
addStudentPanel.add(new
JLabel("Maths Marks: "));
addStudentPanel.add(mathsMarks);
addStudentPanel.add(submitDetails);
tabbedPane.addTab("Student
Details",studentDetailsPanel);
studentDetailsPanel.add(new
JLabel("Enter Student ID: "));
studentDetailsPanel.add(studentID1);
studentDetailsPanel.add(submitID1);
studentDetailsPanel.add(new
JLabel("Student Details:"));
studentDetailsPanel.add(studentInfo);
tabbedPane.addTab("Student
Grade",studentGradePanel);
studentGradePanel.setLayout(new
GridLayout(5,2,5,5));
studentGradePanel.add(new
JLabel("Enter Student ID: "));
studentGradePanel.add(studentID2);
studentGradePanel.add(submitID2);
studentGradePanel.add(new
JLabel("Student Grade:"));
studentGradePanel.add(studentGrade);
tabbedPane.addTab("Passed
Student",numberPassedPanel);
numberPassedPanel.setLayout(new
GridLayout(2,2,5,5));
numberPassedPanel.add(new
JLabel("Number of Student Passed: "));
numberPassedPanel.add(studentPassed);
tabbedPane.addTab("Class
Topper",classTopperPanel);
classTopperPanel.setLayout(new
GridLayout(2,2,5,5));
classTopperPanel.add(new
JLabel("Here are the class Toppers: "));
classTopperPanel.add(studentTopper);
tabbedPane.addChangeListener(this);
getContentPane().add(tabbedPane,"Center");
statusLabel.setText("Status:
Normal");
getContentPane().add(statusLabel,"South");
setVisible(true);
}
public static void main(String args[])
{
ProjectX outputScreen = new
ProjectX("Case Study");
}
public String setStudentInfo()
{
int id =
studentDetails.addStudent(studentName.getText(),
Integer.parseInt(physicsMarks.getText()),
Integer.parseInt(biologyMarks.getText()),
Integer.parseInt(mathsMarks.getText()));
return
("
"
+
line
+
"Record Created For " +
studentName +
"
"
+
"Student ID: " + id
+
"
"
+
line
);
}
public String getStudentInfo()
{
int id =
Integer.parseInt(studentID1.getText());
if(studentDetails.getStudentDetails(id))
return
("
"
+
line
+
"Student Details
"
+
line
+
"Student ID:" + " " + id + "
"
+
"Student Name:" + " " + studentDetails.studentName + "
"
+
"Physics Marks:" + " " + studentDetails.physicsMarks + "
" +
"Biology Marks:" + " " + studentDetails.biologyMarks + "
" +
"Maths Marks:" + " " + studentDetails.mathsMarks + "
" +
line
);
else
return("
Records Not Found for ID " + id);
}
public String getStudentGrade()
{
int id =
Integer.parseInt(studentID2.getText());
studentDetails.getStudentDetails(id);
String grade;
if(studentDetails.studentName == null)
{
System.out.println("
Records Not Found for ID " + id);
return null;
}
if(studentDetails.physicsMarks <
passMarks ||
studentDetails.biologyMarks <
passMarks || studentDetails.mathsMarks <
passMarks)
{
grade = "Failed";
}
else
{
int avgMarks =
(studentDetails.physicsMarks +
studentDetails.biologyMarks +
studentDetails.mathsMarks)/3;
if(avgMarks >= passMarks &&
avgMarks < secondClass) grade = "Pass
Class";
else if(avgMarks >= secondClass
&& avgMarks < firstClass) grade =
"Second Class";
else if(avgMarks >= firstClass
&& avgMarks < topScore) grade = "First
Class";
else grade = "Distinction";
}
return(line + "Grade For " +
studentDetails.studentName + " is " + grade
+ "
" + line);
}
public String getNumberPasses()
{
int lastID = Registration.getNextID()
-1;
boolean passed = true;
int numberPassed = 0;
for(int id = 1; id <= lastID; id++)
{
studentDetails.getStudentDetails(id);
if(studentDetails.physicsMarks >=
passMarks &&
studentDetails.biologyMarks >=
passMarks && studentDetails.mathsMarks >=
passMarks) numberPassed++;
}
return(line + "Number of Student
Passed: " + numberPassed + "
" +
line);
}
public String getClassTopper()
{
int lastID = Registration.getNextID()
-1;
String classTopper;
StringBuffer buffer = new
StringBuffer(500);
int topMarks = 0;
for(int id = 1; id <= lastID; id++)
{
studentDetails.getStudentDetails(id);
int studentMarks =
studentDetails.physicsMarks +
studentDetails.biologyMarks +
studentDetails.mathsMarks;
if(studentMarks > topMarks) topMarks
= studentMarks;
}
buffer.append(line + "Student
Having Top Marks:
");
for(int id = 1; id <= lastID; id++)
{
studentDetails.getStudentDetails(id);
int studentMarks =
studentDetails.physicsMarks +
studentDetails.biologyMarks +
studentDetails.mathsMarks;
if(studentMarks == topMarks)
{
buffer.append(studentDetails.studentName
+ " Having Total Marks: " +
topMarks + "
");
}
}
buffer.append(line);
return(buffer.toString());
}
public void stateChanged(ChangeEvent e)
{
switch(tabbedPane.getSelectedIndex())
{
case 3:
studentPassed.setText(getNumberPasses());
break;
case 4:
studentTopper.setText(getClassTopper());
break;
}
}
public void actionPerformed(ActionEvent
e)
{
if(e.getSource() == submitID1)
{
studentInfo.setText(getStudentInfo());
}
else if(e.getSource() == submitID2)
{
studentGrade.setText(getStudentGrade());
}
if(e.getSource() == submitDetails)
{
setStudentInfo();
}
}
}
//Registration Class
class Registration
{
private int topScore = 90;
private int passMarks = 35;
private int firstClass = 65;
private int secondClass = 45;
private static String idFile =
"id.dat";
private static String studentFile =
"studentfile.dat";
public int id;
public String studentName;
public int physicsMarks;
public int biologyMarks;
public int mathsMarks;
public int addStudent(String
studentName, int physicsMarks, int
biologyMarks, int mathsMarks)
{
int id = 0;
try
{
FileWriter fileOutput = new
FileWriter(Registration.studentFile,true);
id = Registration.getNextID();
String buffer = id + "|" +
studentName + "|" + physicsMarks + "|" +
biologyMarks + "|" +
mathsMarks + "
";
fileOutput.write(buffer);
fileOutput.close();
Registration.setID(id);
}
catch(IOException e)
{
System.err.println(e.toString());
System.exit(1);
}
return id;
}
//Function to get the details of a
student given the ID
public boolean getStudentDetails(int id)
{
try
{
FileReader fileInput = new FileReader(Registration.studentFile);
BufferedReader br = new
BufferedReader(fileInput);
{
String str;
while((str = br.readLine()) != null)
{
StringTokenizer fields = new
StringTokenizer(str,"|");
if(Integer.parseInt(fields.nextToken())
== id)
{
this.id = id;
this.studentName = fields.nextToken();
this.physicsMarks =
Integer.parseInt(fields.nextToken());
this.biologyMarks =
Integer.parseInt(fields.nextToken());
this.mathsMarks =
Integer.parseInt(fields.nextToken());
return true;
}
}
}
}
catch(IOException e)
{
System.err.println(e.toString());
System.exit(1);
}
return false;
}
public int getTopScore()
{
return topScore;
}
public int getPassMarks()
{
return passMarks;
}
public int getFirstClass()
{
return firstClass;
}
public int getSecondClass()
{
return secondClass;
}
//Function to get the next ID available
public static int getNextID()
{
int id = 0;
try
{
RandomAccessFile studentIDFile = new
RandomAccessFile(Registration.idFile,"rw");
if(studentIDFile.length() == 0)
{
id = 0;
}
else id = studentIDFile.readInt();
id++;
studentIDFile.close();
}
catch(IOException e)
{
System.err.println(e.toString());
System.exit(1);
}
return id;
}
//Function to Store current ID in a file
public static void setID(int id)
{
try
{
RandomAccessFile studentIDFile = new
RandomAccessFile(Registration.idFile,"rw");
studentIDFile.seek(0);
studentIDFile.writeInt(id);
studentIDFile.close();
}
catch(IOException e)
{
System.err.println(e.toString());
System.exit(1);
}
}
}
No comments