You are on page 1of 22

AUTOMATION OF

STUDENT
EVALUATION
INTRODUCTION
The Student Result Management System is a software
application designed to manage and track student grades and other academic
information. This project aims to create a web-based system that allows teachers,
school administrators, and students to monitor academic progress and make data-
driven decisions. The system will be built using Java and NetBeans, and will
include a user-friendly interface, a database to store student information, course
information, and grades, and security measures to protect user data. The project
will be documented with an emphasis on the system's design, implementation,
and testing processes, as well as its architecture and requirements. The result of
this project will be a robust and scalable system that streamlines the management
of student results and facilitates data-driven decision-making in the academic
sector.

Automation of student evaluation is software which is helpful for students


as well as the administrations. In the current system all the activities are done
manually. It is very time consuming and costly. Our Automation of student
evaluation deals with the various activities related to the students. 

         There are mainly 2 modules in this software

 User module
 Student Module

        

       In the Software we can register as a user and user has of two types, student
and administrator. Administrator has the power to add new user and can edit and
delete a user. A student can register as user and can add edit and delete his
profile. The administrator can add edit and delete marks for the student. All the
users can see the marks. 

SYSTEM ANALYSIS

EXISTING SYSTEM
                            System Analysis is a detailed study of the various operations performed by a
system and their relationships within and outside of the system. Here the key question is- what
all problems exist in the present system? What must be done to solve the problem? Analysis
begins when a user or manager begins a study of the program using existing system.

During analysis, data collected on the various files, decision points and transactions
handled by the present system. The commonly used tools in the system are Data Flow
Diagram, interviews, etc. Training, experience and common sense are required for collection
of relevant information needed to develop the system. The success of the system depends
largely on how clearly the problem is defined, thoroughly investigated and properly carried
out through the choice of solution. A good analysis model should provide not only the
mechanisms of problem understanding but also the  frame work of the solution. Thus it should
be studied thoroughly by collecting data about the system. Then the proposed system should
be analysed thoroughly in accordance with the needs.

System analysis can be categorized into four parts.

  ---- System planning and initial investigation

----Information Gathering

  ----- Applying analysis tools for structured analysis

  ------ Feasibility study

  ------- Cost Benefit analysis

Proposed system  
We propose the “Automation of Student Evaluation” for replacing the existing system

By this project student can easily access the module like student result and other information
required to student.

Using login module the data has been more secure.

This project is flexible for both Admin and Student.

In the project student can print their result and access their Performance.

  So, time taken will be reduce comparing to manual.

It will reduce loss of data and retrieve information anytime they need.
FEASIBILITY ANALYSIS
 Whatever we think need not be feasible .It is wise to think about the feasibility of any
problem we undertake. Feasibility is the study of impact, which happens in the organization by
the development of a system. The impact can be either positive or negative. When the
positives nominate the negatives, then the system is considered feasible. Here the feasibility
study can be performed in two ways such as technical feasibility and Economical Feasibility.

Technical Feasibility:

   We can strongly say that it is technically feasible, since there will not be much
difficulty in getting required resources for the development and maintaining the system as
well. All the resources needed for the development of the software as well as the maintenance
of the same is available in the organization here we are utilizing the resources which are
available already.

Economical Feasibility

  Development of this application is highly economically feasible .The organization


needed not spend much money for the development of the system already available. The only
thing is to be done is making an environment for the development with an effective
supervision. I f we are doing so , we can attain the maximum usability of the corresponding
resources .Even after the development , the organization will not be in condition to invest
more in t he organization .Therefore , the system is economically feasible.

Software Requirements:
                    
                        
             Language                  :    Java
        Database                  :    MySQL 5.1
        Web browser          :    Google Chrome or Mozilla
        Software                  :   Netbeans(Jframes)
        Operating System  :     Windows 7 or above 
Hardware Requirements:
          
        Processor    :    Above 500 MHZ
      Ram            :   4GB or above
       Hard Disk    :          Upto 4GB
 

BLOCK DIAGRAM:
        
         
                 

                     

DATA FLOW DIAGRAMS


            
           

 Context Diagram
             
Table Used:

           
    

            Field Name       Data Type       Description

              RollNo         Number       Primary Key

              SName         Text(50)         -

                Phno         Text(15)         -

                Sex         Text(10)         -

              FName         Text(50)         -

          Occupation         Text(50)         -

              MName         Text(50)         -

                DOB       Date/Time                 -
                Age         Number         -

              Caste         Text(25)         -

            Religion         Text(30)         -

            Hname         Text(50)         -

                City         Text(50)         -

                  District         Text(50)        -

State         Text(50)         -

Pin           Text(10)                 -

Year           Number         -

            Qualification         Text(25)         -

Username:

Field Name       Data Type         Description

Username           Text(25)       Primary Key

Password           Text(15) -

Type         Text(15) -

Subject:
    
    Field Name
Data Type Description

          Subject code         Text(10)       Primary Key

        Subjectname                 -
Text(50)

          Credit mark         Number         -

            MaxMark         Number         -

                Type         Text(25)         -

Subject Allocation:

            Field     Data Type Description


Name

          Subjectname           Text(50) -

            Semester         Number -

Batch           Text(15) -

SOFTWARE TESTING
Is the menu bar displayed in the appropriate contested some system related features
included either in menus or tools? Do pull –Down menu operation and Tool-bars work
properly? Are all menu function and pull down sub function properly listed ?; Is it possible to
invoke each menu function using a logical assumptions that if all parts of the system are
correct, the goal will be successfully achieved .? In adequate testing or non-testing will leads
to errors that may appear few months later.

This create two problem


 1. Time delay between the cause and appearance of the problem.

2. The effect of the system errors on files and records within the system

 The purpose of the system testing is to consider all the likely variations to which it will be
suggested and push the systems to limits.

        The testing process focuses on the logical intervals of the software ensuring that all
statements have been tested and on functional interval is conducting tests to uncover errors
and ensure that defined input will produce actual results that agree with the required results.
Program level testing, modules level testing integrated and carried out.

  There are two major type of testing they are

1)     White Box Testing.

1)     Black Box Testing.

White Box Testing


White box some times called “Glass box testing” is a test case design uses the control
structure of the procedural design to drive test case.

Using white box testing methods, the following tests where made on the system

a) All independent paths within a module have been exercised once. In our system, ensuring
that case was selected and executed checked all case structures. The bugs that were prevailing
in some part of the code where fixed

b) All logical decisions were checked for the truth and falsity of the values.

Black box Testing                                            


Black box testing focuses on the functional requirements of the software. This is black box
testing enables the software engineering to derive a set of input conditions that will fully
exercise all functional requirements for a program. Black box testing is not an alternative to
white box testing rather it is complementary approach that is likely to uncover a different class
of errors that white box methods like..

1) Interface errors

2) Performance in data structure

3) Performance errors

4) Initializing and termination errors

 
 
 

FORM DESIGN

Fig 1. Home page


Program coding:
   CREATE TABLE `students` (`id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,`subject` varchar(255) NOT NULL, `result` int(11)
NOTNULL, PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULT
CHARSET=utf8mb4;

  1. Student.java: This class represents a student with a name, subject, and result.
               
     public class Student {
    private int id;
    private String name;
    private String subject;
    private int result;
    
    public Student(int id, String name, String subject, int result) {
        this.id = id;
        this.name = name;
        this.subject = subject;
        this.result = result;
    }

    public int getId() {


        return id;
    }

    public String getName() {


        return name;
    }
 import java.sql.*;
    import java.util.*;

    public class StudentDAO {


    private Connection conn;
    
    public StudentDAO() {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/student_results?useSSL=false";
            String user = "root";
            String password = "password";
            conn = DriverManager.getConnection(url, user, password);
        } catch (ClassNotFoundException | SQLException ex) {
    public String getSubject()
{
        return subject;
    }

    public int getResult()


{
        return result;
    }
}

2.StudentDAO.java:
                        This class provides methods to access the students table in the
MySQL database.
                
               ex.printStackTrace();
        }
    }
    
    public List<Student> getAllStudents()
{
        List<Student> students = new ArrayList<>();
        try {
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM students");
            while (rs.next())
{
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String subject = rs.getString("subject");
                int result = rs.getInt("result");
                Student student = new Student(id, name, subject, result);
                students.add(student);
            }
        }
catch (SQLException ex)
{
            ex.printStackTrace();
        }
        return students;
    }
     public void addStudent(Student student)
{
        try {
            PreparedStatement stmt = conn.prepareStatement("INSERT INTO
students (name, subject, result) VALUES (?, ?, ?)");
            stmt.setString(1, student.getName());
            stmt.setString(2, student.getSubject());
            stmt.setInt(3, student.getResult());
            stmt.executeUpdate();
        }
catch (SQLException ex)
{
            ex.printStackTrace();
        }
    }
}

3.StudentController.java: 
                          This class provides methods to handle user input and update
the UI.

    import java.util.*;
    public class StudentController
{
    private StudentDAO dao;
    private StudentView view;
    
    public StudentController(StudentDAO dao, StudentView view)
{
        this.dao = dao;
        this.view = view;
        updateTable();
        view.setAddButtonListener(e -> addStudent());
    }
    
    private void updateTable()
{
        List<Student>
JFrames coding:
 1.Student.java:
               This class represents a student with a name, subject, and result.

    public class Student


{
    private String name;
    private String subject;
    private int result;
 public Student(String name, String subject, int result)
{
        this.name = name;
        this.subject = subject;
        this.result = result;
    }

    public String getName() {


        return name;
    }

    public String getSubject()


{
        return subject;
    }

    public int getResult()


{
        return result;
    }

    public String toString()


{
        return name + " - " + subject + ": " + result;
    }
}

2.StudentResultManagement.java:
                                    This class manages the student results and provides
methods to add, remove, and get student results.

    import java.util.*;
    public class StudentResultManagement
{
    private List<Student> students;
     public StudentResultManagement()
{
     students = new ArrayList<>();
    }
public void add StudentResult(Student student)
{
    students.add(student);
    }
public void removeStudentResult(Student student)
{
    students.remove(student);
    }
public List<Student> get AllStudentResults() {
    return students;
    }
public List<Student> getStudentResultsBySubject(String subject)
{
    List<Student> results = new ArrayList<>();
    for (Student student : students) {
    if (student.getSubject().equalsIgnoreCase(subject))
{
    results.add(student);
    }
    }
    return results;
    }
public double getStudentAverageBySubject(String subject)
{
    List<Student> results = getStudentResultsBySubject(subject);
    if (results.isEmpty())
{
    return 0.0;
    }
    double total = 0.0;
    for (Student student : results)
{
    total += student.getResult();
    }
    return total / results.size();
    }
}

3.StudentResultManagementFrame.java:
                      This class provides a user interface for the student result management
system using JFrames.
import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.table.*;

public class StudentResultManagementFrame extends JFrame

    private StudentResultManagement management;

    private DefaultTableModel tableModel;

    public StudentResultManagementFrame()

        management = new StudentResultManagement();

        tableModel=new DefaultTableModel(new Object[]{"Name", "Subject", "Result"}, 0);

        JTable table = new JTable(tableModel);

        JScrollPane scrollPane = new JScrollPane(table);

        add(scrollPane, BorderLayout.CENTER);

        JPanel panel = new JPanel();

        panel.setLayout(new FlowLayout());

        JTextField nameField = new JTextField(10);

        panel.add(new JLabel("Name:"));

        panel.add(nameField);

        JTextField subjectField = new JTextField(10);

        panel.add(new JLabel("Subject:"));

        panel.add(subjectField);
        JTextField resultField = new JTextField(10);

        panel.add(new JLabel("Result:"));

        panel.add(resultField);

        JButton addButton = new JButton("Add");

        addButton.addActionListener(e -> {

            String name = nameField.getText();

            String subject = subjectField.getText();

            int result = Integer.parseInt(resultField.getText());

            Student student = new Student(name, subject, result);

            management.addStudentResult(student);

            tableModel.addRow(new Object[]{name, subject, result});

            nameField.setText("");

            subjectField.setText("");

            resultField.setText("");

        });

        panel.add(addButton);

        JButton removeButton = new JButton("Remove");

        removeButton.addActionListener(e -> {

            int selectedRow = table.getSelectedRow();

            if (selectedRow != -1) {

                String name = (String) tableModel.getValueAt


      

You might also like