Breaking News

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:
·                     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