Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 33

1 Project Introduction

Information technology has a significant influence on our lives, whether we realize it or not. The
knowledge is freely accessible, and individuals can use it as they see fit. Many businesses rely on
technology to handle all parts or departments. The information system will aid in the growth and
evolution of the firm in a variety of ways.

Educational institutions have long grappled with the challenge of handling students' records and
information, as well as test results and transcript creation, and numerous attempts have been
undertaken to make these stages as seamless as possible. The manual method of managing these
items is incorrect and causes significant problems for the instructor, students, and anyone
concerned (Capuc & Atibuni, 2018). The majority of educational institution operations rely on
publicizing and maintaining student results. The use of technology-based services such as virtual
learning environments, distant learning, and e-learning is becoming more common. As a result,
digitization of these items via information systems is becoming increasingly crucial.

The information scheme has aided in the innovation of every ground, changing the approach of
education, teaching, and other activities such as online classes, e-library, and other online portals
that support to interact among teachers and students more easily, reachable, and simple. The
time-consuming procedure of manually publishing and managing results has been replaced by
digitization, making the process simple, seamless, accessible, and customizable (Ciuclea,
Ternauciuc, & Leucuţa, 2018).

This project was created to address these problems and establish the procedure of posting results
and managing them more simple and seamless. This project is a desktop-based application built
with Java Swing and My SQL. These sorts of products are commonly used and aid in the
resolution of issues produced by manual student result management. The instructor can quickly
enter the student's result for the curriculum that they are conducting into this program, and the
apprentice can readily use their information associated to result scores.
2 Existing System Overview
Current structure is manual and out of date. The outcomes of the students are posted on notice
boards or message boards. The course teacher reviews the test answer papers, and the tested
papers marks is forwarded to the exam administrator's office. Then, the administrator gathers the
marks sheets, manually calculates total of the marks obtained, and generates the result by hand
which is issued as the last stage. The notification containing the names of the students who took
the exam and their results will be printed and posted on the notice board. Individual exam reports
will be distributed to students in classrooms or at events such as parent-student meetings, result
days, and so on.

The ongoing system is manual and requires a significant amount of time and resources. Because
of its manual nature, the previous method is prone to errors. There may be some manual mistake,
such as miscalculation or mistyping, while recording the grade or marks of a given outcome
on the report card. The traditional method of collecting all of the marks sheets from instructors
and entering them into the computer to print them took a long time. Also, when the result is
posted on the notice board, the student must travel to the institution and check it.
3 Statement of Problem
3.1 Objective
The primary goal of this assignment is to create a system that will assist educational institutions
in proper managing and publishing the results so that students may receive their results as soon
as they are released. This project will make result management job better and more convenient.
The project's objectives are as follows:

 To create a method that will streamline the procedure of handling the student's results.
 Create a structure that will automate the practice of posting the student's results.
 To create a system that is less prone to mistake than the traditional manual method.
 To create a system that involves obtaining exam results more obtainable to students.

3.2 Scope
The student result management system is a desktop program. This system will assist the
educational institution in better managing the method of receiving student results from teachers
and publishing the results of the students. This tool will assist students in receiving information
about their results as soon as they are announced. The program could be used by students,
teachers, and administrators through the use of a username and password, as the score is
only presented to those who have the right to view it, and the security is robust. The project's
scope is as follows:

 The administrator will be capable to handle the teacher’s data.


 The administrator will have the ability to oversee courses or subjects.
 The administrator will be able to control the student’s data.
 The instructor will be capable to choose a student and submit their grades in the
module that they teach.
 Once the teacher has input subject-specific marks, the student will be able to view their
results.

3.3 Limitation
 Accessibility can be an issue as it is a desktop program.
 The UI/UX is mediocre.
 The teacher can be associated with only one module.
3.4 Research Methodology
The methodology taken to gather data and the technology utilized to do so are referred to as
research techniques (Darian-Smith & McCarty, 2017). It is the method for resolving issues in
research. It should be organized in accordance with the goal of the study. An overview of the
major subcategories of software development approaches is provided in the first section of our
study. Then, for analysis, I have chosen three sample development techniques. This study
examines and presents these approaches, detailing their advantages and disadvantages in further
depth. Review of the literature on techniques for software development, examination of a
number of surveys, various scholars' publications examining the condition of the practices in this
subject, supplied us with the data we needed to determine the main factors influencing
the selection of the best suitable development approach for a certain project.

3.5 Feasibility Analysis


The next stage is to conduct a feasibility study of the project after evaluating and analyzing the
current system and gathering all of the requirements. The project is granted a limitless amount of
time and resources. A feasibility analysis provides all of the potential solutions to a particular
situation. The suggested solution should meet all of the user criteria and be flexible enough to
accommodate future requirements with minimal effort.

3.5.1 Economic Feasibility


This is a critical component of the feasibility analysis. The system must be designed with the
lowest potential cost factor in mind. Regardless of infinite resources, the system should be
constructed at the lowest possible cost. During the study, issues such as cost benefit analysis,
maintenance expenses, and long-term returns are addressed.
 The organization will manage the hardware and software expenditures.
 The advantages that the organization will receive from using the system will undoubtedly
outweigh the initial and ongoing costs of the system.
3.5.2 Operational feasibility
When assessing operational feasibility, the user's degree of understanding should be taken into
account. The system is simple and user-friendly, and the clients are well-versed in the
technologies, therefore the system is operationally practical. The technology will reduce the
user's workload and activities.
3.5.3 Technical feasibility
Based on the System requirement specification(SRS), the system is designed to provide
comprehensive functionality. The technological challenge underlying the system is considered
while determining technical feasibility. If all capability is possible, an analysis is performed on
both the backend and frontend.

3.6 Software Development Methodology


3.6.1 Agile Methodology
Several iterative development approaches are employed in this form of software development. In
this case, solutions and requirements emerge as a result of collaboration among cross-functional
teams. It encourages regular revision and assessment while also encouraging discipline in the
project management process. It promotes responsibility, self-management, and cooperation,
employs best practices to produce quality software quickly, and well connects corporate goals
with client demands. Founded on the Agile Manifesto, which were presented by a set of top
professionals in software development who pooled their knowledge of which approaches work
and which do not in the software development process.

Figure 1: Agile Methodology (Pawar, 2015)


Benefits

 It is more adaptable when introducing changes.


 It focuses on delivering a functional product rather than a perfect product so that the
product may reach the market sooner.
 Improved communication and clearer requirements as the team and the investor
collaborate closely.
 It understands that not everything is obvious at the start and prepares the team for
unexpected modifications.
 Encourages teamwork.
 Because of the in-depth assessment and the fact that they work on items that address a
real-world problem, each member of the group will feel appreciated.
Drawbacks

 Lack of understanding of agile working methods.


 Documentation is not prioritized.
 Because of the team's great level of flexibility, inappropriate conduct may occur.
 This technique is not appropriate for all types of organizations or projects.
 If the client is not aware of the changes in requirements, the technique will fail.
3.6.2 DevOps Deployment Methodology
DevOps is an abbreviation for development and operations which is a set of activities used to
outline an organization's culture. It integrates software development with IT operations,
including participation in the service lifecycle through proposal, advancement, production, and
maintenance. The primary purpose is to reduce the interval it takes to provide features, fixes, and
regular updates in order to improve optimization during the SDLC.
Figure 2: DevOps Deployment Methodology (synopsys, 2021)

Benefits

 Aim is clear and increases team productivity;


 The product is swiftly delivered to market;
 It decreases faults.
Drawbacks

 This may not suit with the company culture;


 It calls for experts who are familiar with all the details.
3.6.3 Waterfall Model
The sequential and conventional option is this model. This approach needs a lot of organization
and documentation in the beginning. The process is a linear, inflexible model, and each stage
must be finished before moving on to the next. Before beginning a new cycle, the life cycle as a
whole should be finished.
Figure 3: Waterfall Model (Guru99, 2021)

Benefits

 It saves a lot of time. 


 It is practical and simple to comprehend.
 It is straightforward to put into practice.
 It simplifies testing and analysis.
Drawbacks

 Is rigid in nature; only fits specific needs.


 Cannot be used in projects involving maintenance.
 Design and documentation take up too much time.
 The product's potential consequence is unknown.
 It is not suitable for continuing, lengthy projects.
3.6.4 Methodology Selected
The Waterfall technique was chosen for product development after all the methods were
evaluated, despite the fact that it is conventional and has many disadvantages compared to
alternative methodologies that are more up-to-date and have less backward. The waterfall
technique is chosen for the development of this project since the requirements are crystal clear
and don't change frequently. This process is broken down into the following phases:
Figure 4: Waterfall methodology (Sharma, 2012)

i. Requirement Allocating: The users' requirements are gathered at this phase. This phase
aids in project and subsequent phase planning.
ii. System Design: This is the second phase, which will begin when all of the user
requirements have been gathered. The system is designed at this phase, during which the
system architecture is established based on an assessment of the necessity. This specifies
the hardware and software requirements.
iii. Implementation: After the system design phase, the third step will begin. The system is
divided into tiny components known as units. Unit testing is the independent testing of
these units.
iv. Integration and Testing: After the units are ready for implementation, the fourth step
will begin. The system is tested as a whole at this phase, which also involves the
integration of the modules. The user won't encounter any errors or bugs due to this
product's errorless design.
v. Deployment: After the components are combined to create a complete product, the fifth
step will begin. The artefact will be deployed, sent to the client for approval, and utilized
by the end users during this phase.
vi. Maintenance: Once the product has been delivered to the clients, this last step will
begin. Any modifications or problem fixes are made during this stage. If necessary,
system performance is enhanced.

3.7 Data Collection


Both primary and secondary data are taken into account when doing the research. Since the
researcher is a student, primary data are based on the researcher's own analysis and are gathered
with a specific goal in mind. The majority of primary data is gathered through interviews,
surveys, questionnaires, and other primary sources. From primary data, secondary data is
gathered. Journals, publications, newspapers, magazines, research reports, and other comparable
sources are used to compile these data. By gathering, compiling, and examining these data
samples, a reliable study conclusion is made. Secondary data frequently depends on information
from original research. The two primary categories of secondary research are qualitative and
quantitative data collecting methods. Quantitative research is the process of gathering and
interpreting numerical data. Qualitative research is the type of study that collects and examines
non-numerical data in order to better comprehend ideas, beliefs, or experience.

3.8 Functional and Non-Functional Requirement Specification


3.8.1 Functional requirements
The requirements that the program must meet are known as the functional requirements. They
are the functionality the program ought to have. It speaks of a feature or task that the program
ought to carry out. The following functions are required depending on the kind of user:

Administrator:

 Administrator will have access to its login information.


 Teachers can be added, updated, and removed by the administrator.
 Courses can be added, updated, and deleted by the administrator.
 Students can be added, updated, and deleted by the administrator.
 The newly added instructor or student will get an email with their login information for
the system.
Teacher:

 Once an administrator has added a teacher to the system, the teacher may log in using the
credentials that were sent to their email.
 The subject teacher will be able to enter the exam scores and grades of the students
registered for the class.
Student:

 After being added to the system by the administrator, the student can log in using the
credentials that were sent to their email.
 The results will be visible to the student.
3.8.2 Nonfunctional requirements
Non-functional requirements are limitations that improve a system's functionality and outline its
operational capabilities. The project's non-functional requirements that must be met are

 Security Issues: Because of the login function, unauthorized individuals cannot access
the data. Even the registered user is unable to read or update data that does not pertain to
them. Every field is validated to prevent the entry of inaccurate data in the system.
Therefore, security is offered.
 User Interface: User-friendly interface of the system enables the user to do their work
quickly and independently. The system displays warnings and error messages.
 Scalability: The system is scalable since it can store and retrieve massive amounts of
data.

4 Software Development
4.1 Use Case Diagram
A collection of use cases, actors, and their relationships are shown in use case diagrams. It
displays a system's use case perspective. A use case illustrates a certain system capability. The
links between the functionalities and their internal/external controllers are therefore described
using a use case diagram. Actors are the name given to these controllers (TutorialsPoint, 2022).
Figure 5: Use Case Diagram

It displays all of the system's features. Three different categories of actors are student, teacher,
and administrator. The administrator oversees the accounts for courses, students and teachers.
The instructor controls the student's grade in terms of the modules they are teaching. The student
can view the outcome of the courses they are taking.

4.2 Class Diagram


In UML, a class diagram shows how the connections and source code dependencies between
classes. A class, which in this case refers to a particular item in a software or the segment of code
that corresponds to that thing, outlines the methods and variables in an object (TechTarget,
2022).
Figure 6: Class Diagram

4.3 Activity Diagram


Similar to a flowchart or data flow diagram, an activity diagram visually displays a series of
actions or the flow of control in a system. A common tool in business process modeling is the
activity diagram. Additionally, they can outline the procedures in a use case diagram. Activities
might be sequential or concurrent while being modeled. An activity diagram will always have a
start (an initial state) and an end (a final state) (smartdraw, 2022).
Figure 7: Activity Diagram

4.4 Sequence Diagram


Sequence Diagrams are interaction diagrams that describe the steps used to complete a task.
They depict how items interact within the framework of a cooperation. By using the vertical axis
of the diagram to represent time and the messages that are transmitted and when, sequence
diagrams, which have a time emphasis, may graphically depict the order of an interaction
(visual-paradigm, 2022).

Figure 8: Sequence Diagram


4.5 E-R Diagram
Entity Relationship Diagram, or ER Diagram for short, is a diagram that shows the relationships
between entity sets that are recorded in a database. To put it another way, ER diagrams assist in
describing the logical organization of databases. Entities, attributes, and relationships are the
three fundamental ideas that serve as the foundation for ER diagrams (Peterson, 2022).

Figure 9: ER Diagram

4.6 Data Dictionary


Admin table:

Student table:
Course table:

Score table:

Teacher table:

Note: The terms "unique key," "primary key," and "multiple occurrence is permitted" are all
abbreviations for different types of keys.
4.7 GANTT Chart
One popular graphic representation of a project schedule is a Gantt chart. It is a kind of bar chart
that displays the beginning and ending dates of a project's many components, including its
resources, planning, and dependencies.

Figure 10: GANTT Chart


5 Hardware and Software Requirement
Minimum Hardware Requirements
 CPU: 3GHz
 Cores: Single
 RAM: 4 GB
 Display Resolution: 1024×768
Minimum Software Requirements
 OS–Windows 8.1
 JAVA 8
 Net Beans IDE 8.02
 MYSQL with Apache Server
6 Backup and Recovery
The system's backup and recovery capabilities for both hardware and software are among its
most crucial components. Backup and recovery refers to the practice of preventing data loss by
either storing it elsewhere or creating duplicates of it. When a system is suddenly turned down, a
backup system like a UPS (Uninterruptible Power Supply) for the hardware will guard against
physical harm to the system or data corruption.

Data backup may be done on any external device, such a hard drive, CD, or USB flash drive, but
cloud storage is the ideal option because it does not require any hardware and is often cost-free.
7 Testing Strategies
The testing phase of software development is really essential. Testing establishes whether or not
the finished product is fit for usage. Testing improves the process of checking the product for
problems, flaws, and vulnerabilities. The program will be less prone to errors if it has been tested
before being sent to the customer.
System testing is completed for this testing phase. The entire piece of software is assembled and
tested. This testing procedure verifies the device's mobility, security, and other features.
Figure 11: Test Cases

8 Implementation of Code
8.1 Class
A class serves as a logical building block for objects with similar traits and functionalities
(Techopedia, 2022). In this system, the "Student" is made, as presented in the figure below.

Figure 12: Student class

8.2 Object
It is a fundamental building block in Object-Oriented Programming. Classes are used as
templates for building objects. It has a condition and an action (GeeksforGeeks, 2021).

Figure 13: Creating object


8.3 Abstraction
8.4 Encapsulation
Encapsulation is the process of combining the date and the code that affects the date into a
single, cohesive entity. Encapsulation shields the user from the implementation detail
(tutorialspoint, 2014).

Figure 14: Encapsulation of Email class


8.5 Constructor
8.6 Inheritance
One class can inherit the features and capabilities of another class through inheritance. It allows
the class to just create the special features or attributes; all other common features and
functionality may be inherited from other classes (SINGH, 2013).

Figure 15: ManageStudentForm inherits from Javax.swing.jframe


8.7 Interface
A Java interface is similar to a class, however it can only have method fields and signatures.
Interfaces can only be utilized if a Java class has implemented them. 2018 (Jenkov). The design
of the CoursesDao interface and its implementation in the CourseDaoImpl class are replaced in
the following figure.

Figure 16: CoursesDaoImpl class implements ProductDao interface


8.8 Screenshot

Figure 17: Login Panel

Figure 18: Login screen with user type


Figure 19: User or password validation error

Figure 20: Admin Panel


Figure 21: Student management Panel

Figure 22: Course Management Panel


Figure 23: Teacher Management Panel

Figure 24: Teacher's paned to submit marks


Figure 25: Student Panel to view result
9 Conclusion
The main goal of this project is to create a structure that would aid educational institutions in
proper management of the student`s result. The posting of student results is made simple and
straightforward with this method. The UI UX experience is exceptionally user-friendly, making
user onboarding easier than with alternative systems. The software was created using the well-
known IDE NetBeans v8.2; MySQL is utilized as the database, and Java with JDK version 8.0 is
used for programming.

Learning the Java Swing framework, which was utilized to create desktop apps owing to its
intricate layout management features, was the major challenge encountered throughout the
creation of this system.

The system meets all requirements, including those for generating users like managers and
customers as well as the full ordering procedure. If a user forgets their login or password, the
username and password are provided to their registered email address. The entire system is
simple to use.
10 References
Capuc, F. O., & Atibuni, D. Z. (2018). Impact of e-Registration on the Quality of Assessment
Resources in Uganda. Educational Assessment in Africa and the World: Issues and
Opportunities, 1(1), 5-10.
Ciuclea, C., Ternauciuc, A., & Leucuţa, R. (2018). Correlations between Student‘s online
Activity on the Virtual Campus and the Exam Results. Procedia - Social and Behavioral
Sciences, 238, 231-238.
Darian-Smith, E., & McCarty, P. C. (2017). The Global Turn: Theories, Research Designs, and
Methods for Global Studies (1st Edition ed.). Oakland, CA: University of California
Press.
GeeksforGeeks. (2021). geeksforgeeks. Retrieved Feburary 4, 2021, from
https://www.geeksforgeeks.org/classes-objects-java/
Guru99. (2021). Guru99. Retrieved 03 04, 2021, from https://www.guru99.com/what-is-sdlc-or-
waterfall-model.html
Jenkov, T. (2018). Tutorials Jenkov. Retrieved 08 28, 2018, from
http://tutorials.jenkov.com/java/interfaces.html
Pawar, P. (2015). hackernoon. Retrieved 03 20, 2021, from https://hackernoon.com/a-case-
study-type-insight-into-agile-methodologies-for-software-development-cd5932c6
Peterson, R. (2022, June 18). ER Diagram: Entity Relationship Diagram Model | DBMS
Example. Retrieved from https://www.guru99.com/er-diagram-tutorial-dbms.html
Sharma, L. (2012). Toolsqa. Retrieved 03 08, 2021, from https://www.toolsqa.com/software-
testing/waterfall-model/
SINGH, C. (2013). Beginnersbook. Retrieved 02 04, 2021, from
https://beginnersbook.com/2013/03/inheritance-in-java/
smartdraw. (2022). Retrieved from https://www.smartdraw.com/activity-diagram/#:~:text=An
%20activity%20diagram%20visually%20presents,can%20be%20sequential%20and
%20concurrent.
synopsys. (2021). synopsys. Retrieved 03 05, 2021, from
https://www.synopsys.com/blogs/software-security/top-4-software-development-
methodologies/
Techopedia. (2022). Retrieved from https://www.techopedia.com/definition/16446/state-
diagram#:~:text=A%20state%20diagram%20is%20a,one%20or%20more%20possible
%20states.
Techopedia. (2022). Retrieved from https://www.techopedia.com/definition/3214/class-
java#:~:text=A%20class%20in%20Java%20is,of%20the%20%E2%80%9Ccats
%E2%80%9D%20class.
TechTarget. (2022). Retrieved from
https://www.techtarget.com/searchapparchitecture/definition/class-diagram#:~:text=A
%20class%20diagram%20is%20an,of%20code%20representing%20that%20entity.
tutorialspoint. (2014). tutorialspoint. Retrieved Feburary 14, 2021, from
https://www.tutorialspoint.com/java/java_encapsulation.htm
TutorialsPoint. (2022). Retrieved from
https://www.tutorialspoint.com/uml/uml_standard_diagrams.htm
visual-paradigm. (2022). Retrieved from https://www.visual-paradigm.com/guide/uml-unified-
modeling-language/what-is-sequence-diagram/

You might also like