Project Report Ishika - Gupta

You might also like

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

A

Mini Project Report


On

HOSTEL MANAGEMENT SYSTEM

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING

Galgotias College of Engineering and Technology

SUBMITTED TO SUBMITTED BY
MRS. RENU MISHRA ISHIKA GUPTA - 1900970130053
Assistant Professor

1
CONTENTS

1. Abstract 3
2. List of Tables 4
3. List of Figures 5-6
4. Language Choice 7 - 14
5. System Analysis 15 - 17
 Present System 15
 Proposed System 15
 Software Requirement Specification 15 - 17
6. System Specification 18
 Software Specification 18
 Hardware Specification 18
7. System Design (Low Level Design) 19 - 20
8. Detailed Design 21 - 28
 Module 21 - 25
 Data Flow Design 25 - 27
 Database Design 27 - 28
9. Testing 29
10. Conclusion 30
11. Appendix (Coding/Screenshots) 31 - 35
12. References 36

2
1. Abstract
For the past few years the number of educational institutions is increasing rapidly and thereby, the number
of hostels is also increasing for the accommodation of the students studying in the institutions. Hence, there
is a lot of strain on the person who is running the hostel and usually software’s are not used in this context.

This “HOSTEL MANAGEMENT SYSTEM” project deals with the problems which occur when carried
out manually. Identification of the drawbacks of the existing system leads to the development of
computerized hostel management system that will be compatible to the existing system with the system
which is more user friendly and more GUI oriented. We can improve the efficiency of the system, and thus
overcome the drawbacks of the existing system. Less human error, strain of manual labor can be reduced,
high security, data redundancy can be avoided to some extent, data consistency, easy to handle, easy data
updating, easy record keeping, and backup data can be easily generated.

This project is made with the use of Java(IDE Netbeans) and MYSQL(For database).

The main objectives of this project work include: student will no longer apply for their hostels manually, it
will reduce the manual work of the persons in admin panel, the admin can see and access the student’s data,
help the admin to keep the information of its room, edit the details of the students and modify the students
records and many such activities.

This solution is developed on the plight of the hostel management team, through which they do not require
very efficient person to handle and manage the affairs of the students in the hostel, all you need to do is to
login as the administrator and you can see the information of all the students who have obtained and
registered their hostel form, click verify to ascertain their eligibility and allocate them to the available
hostel. It helps them to get rid of the boring manual work from which it is very difficult to find the record
of the students and rooms.

3
2. List of Tables

Table 8.3.1 Add Student 27

Table 8.3.2 Add Employee 27

Table 8.3.3 Add Room 28

Table 8.3.4 Login Page 28

Table 8.3.5 Hostel Fees 28

3. List of Figures
4
FIGURE 7.1 DFD for Allotment Process 19

FIGURE 7.2 DFD for Student Module 19

FIGURE 7.3 DFD for Student Registration 19

FIGURE 7.4 DFD for Admin Module 20

FIGURE 7.5 DFD for login page 20

FIGURE 8.1.1 Login Module 21

FIGURE 8.1.2 Administrator Module 21

FIGURE 8.1.3 Add Student Module 22

FIGURE 8.1.4 Add Staff Module 22

FIGURE 8.1.5 Add Room Module 22

FIGURE 8.1.6 Fee Module 23

FIGURE 8.1.7 Reception Module 23

FIGURE 8.1.8 Update Check-in Module 23

FIGURE 8.1.9 Update Fee Module 24

FIGURE 8.1.10 Search Student Module 24

FIGURE 8.1.11 Update Room Module 24

FIGURE 8.1.12 Search Rooms 25

FIGURE 8.2.1 DFD of Hostel Fees Management 25

FIGURE 8.2.2 DFD of Student Management 25

FIGURE 8.2.3 DFD of room allotment 26

FIGURE 8.2.4 DFD of fee management 26

FIGURE 11.1 Login Page 31

FIGURE 11.2 Add Students 31

FIGURE 11.3 Add Rooms 32

FIGURE 11.4 Connection 32

FIGURE 11.5 Reception 32

FIGURE 11.6 Student Information 33

5
FIGURE 11.7 Fee Structure 33

FIGURE 11.8 Rooms 34

FIGURE 11.9 Update Check-in 34

FIGURE 11.10 Update Fee 35

6
4. Language Choice
The frontend language in this project is JAVA and the backend is designed with MYSQL.

FRONTEND: Java is a class-based, object-oriented programming language that is designed to have as few


implementation dependencies as possible. It is a general-purpose programming language intended to
let application developers write once, run anywhere meaning that compiled Java code can run on all
platforms that support Java without the need for recompilation.

Java is the core programming language for this project. To perform bean operation, the logical operation
we are using java. In the project, we are using the object model which is followed by the java. It is open-
source programming and provides all the support at the client-side as well as server-side.

Java applications are typically compiled to byte code that can run on any Java virtual machine (JVM)
regardless of the underlying computer architecture. The Java runtime provides dynamic capabilities (such
as reflection and runtime code modification). As of 2019, Java was one of the most popular programming
languages in use according to GitHub, particularly for client-server web applications.

The Java packages used in the project are:

 Java Swing is a GUI widget toolkit for Java. It is part of Oracle's Java Foundation Classes (JFC) –


an API for providing a graphical user interface (GUI) for Java programs.

Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract
Window Toolkit (AWT). Swing provides a look and feel that emulates the look and feel of several
platforms, and also supports a pluggable look and feel that allows applications to have a look and feel
unrelated to the underlying platform. It has more powerful and flexible components than AWT. In addition
to familiar components such as buttons, check boxes and labels, Swing provides several advanced
components such as tabbed panel, scroll panes, trees, tables, and lists.

Unlike AWT components, Swing components are not implemented by platform-specific code. Instead, they
are written entirely in Java and therefore are platform independent.

In December 2008, Sun Microsystems (Oracle's predecessor) released the CSS / FXML based framework


that it intended to be the successor to Swing, called JavaFX.

Java Swing tutorial is a part of Java Foundation Classes (JFC) that is used to create window-based
applications. It is built on the top of AWT (Abstract Windowing Toolkit) API and entirely written in java.
Unlike AWT, Java Swing provides platform-independent and lightweight components. The javax.swing
package provides classes for java swing API such as JButton, JTextField, JTextArea, JRadioButton,
JCheckbox, JMenu, JColorChooser etc.

7
Java.swing.JFrame class is a type of container which inherits the java.awt.Frame class. JFrame works like
the main window where components like labels, buttons, textfields are added to create a GUI. Unlike
Frame, JFrame has the option to hide or close the window with the help of setDefaultCloseOperation(int)
method. JFrame() constructs a new frame that is initially invisible.

The JButton class is used to create a labeled button that has platform independent implementation. The
application result in some action when the button is pushed. It inherits AbstractButton class. JButton()
creates a button with no text and icon.

The object of JLabel class is a component for placing text in a container. It is used to display a single line
of read only text. The text can be changed by an application but a user cannot edit it directly. It inherits
JComponent class. JLabel creates a JLabel instance with no image and with an empty string for the title.

The object of a JTextField class is a text component that allows the editing of a single line text. It inherits
JTextComponent class.

The object of a JPasswordField class is a text component specialized for password entry. It allows the
editing of a single line of text. It inherits JTextField class. JPasswordField() constructs a new
JPasswordField, with a default document, null starting text string, and 0 column width.

The JCheckBox class is used to create a checkbox. It is used to turn an option on (true) or off (false).
Clicking on a CheckBox changes its state from "on" to "off" or from "off" to "on ".It
inherits JToggleButton class. JCheckBox() Creates an initially unselected check box button with no text, no
icon.

The JRadioButton class is used to create a radio button. It is used to choose one option from multiple
options. It is widely used in exam systems or quiz. It should be added in ButtonGroup to select one radio
button only. JRadioButton() creates an unselected radio button with no text.

The object of Java JComboBox or Choice class is used to show popup menu of choices. Choice selected by
user is shown on the top of a menu. It inherits JComponent class.

The JTable class is used to display data in tabular form. It is composed of rows and columns. JTable()
creates a table with empty cells.

The object of JList class represents a list of text items. The list of text items can be set up so that the user
can choose either one item or multiple items. It inherits JComponent class.

The JOptionPane class is used to provide standard dialog boxes such as message dialog box, confirm dialog
box and input dialog box. These dialog boxes are used to display information or get input from the user.
The JOptionPane class inherits JComponent class.

8
The JMenuBar class is used to display menubar on the window or frame. It may have several menus. The
object of JMenu class is a pull down menu component which is displayed from the menu bar. It inherits the
JMenuItem class. The object of JMenuItem class adds a simple labeled menu item. The items used in a
menu must belong to the JMenuItem or any of its subclass.

The JPanel is a simplest container class. It provides space in which an application can attach any other
component. It inherits the JComponents class. It doesn't have title bar.

 Java AWT (Abstract Window Toolkit) is an API to develop GUI or window-based


applications in java. Java AWT components are platform-dependent i.e. components are displayed
according to the view of operating system. AWT is heavyweight i.e. its components are using the
resources of OS.

Contains all of the classes for creating user interfaces and for painting graphics and images. A user
interface object such as a button or a scrollbar is called, in AWT terminology, a component. The
Component class is the root of all AWT components. See Component for a detailed description of
properties that all AWT components share.

Some components fire events when a user interacts with the components. The AWTEvent class and its
subclasses are used to represent the events that AWT components can fire. See AWTEvent for a description
of the AWT event model.

A container is a component that can contain components and other containers. A con tainer can also have a
layout manager that controls the visual placement of components in the container. The AWT package
contains several layout manager classes and an interface for building your own layout manager. See
Container and LayoutManager for more information.

Each Component object is limited in its maximum size and its location because the values are stored as an
integer. Also, a platform may further restrict maximum size and location coordinates. The exact maximum
values are dependent on the platform. There is no way to change these maximum values, either in Java
code or in native code. These limitations also impose restrictions on component layout. If the bounds of a
Component object exceed a platform limit, there is no way to properly arrange them within a Container
object. The object's bounds are defined by any object's coordinate in combination with its size on a
respective axis.

The java.awt package provides classes for AWT api such as TextField, Label, TextArea,


RadioButton, CheckBox, Choice, List etc. Changing the state of an object is known as an event. For

9
example, click on button, dragging mouse etc. The java.awt.event package provides many event classes and
Listener interfaces for event handling.

The root event class for all AWT events. This class and its subclasses supercede the original java.awt.Event
class. Subclasses of this root AWTEvent class defined outside of the java.awt.event package should define
event ID values greater than the value defined by RESERVED_ID_MAX.

The event masks defined in this class are needed by Component subclasses which are using
Component.enableEvents() to select for event types not selected by registered listeners. If a listener is
registered on a component, the appropriate event mask is already set internally by the component. The
masks are also used to specify to which types of events an AWTEventListener should listen. The masks are
bitwise-ORed together and passed to Toolkit.addAWTEventListener.

The Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary color
spaces identified by a ColorSpace. Every color has an implicit alpha value of 1.0 or an explicit one
provided in the constructor. The alpha value defines the transparency of a color and can be represented by a
float value in the range 0.0 - 1.0 or 0 - 255. An alpha value of 1.0 or 255 means that the color is completely
opaque and an alpha value of 0 or 0.0 means that the color is completely transparent. When constructing
a Color with an explicit alpha or getting the color/alpha components of a Color, the color components are
never premultiplied by the alpha component. The default color space for the Java 2D(tm) API is sRGB, a
proposed standard RGB color space.

The abstract class Image is the superclass of all classes that represent graphical images. The image must be
obtained in a platform-specific manner.

ActionListener in Java is a class that is responsible for handling all action events such as when the user
clicks on a component. Mostly, action listeners are used for JButtons. An ActionListener can be used by the
implements keyword to the class definition. It can also be used separately from the class by creating a new
class that implements it. It should also be imported to your project. The method actionPerformed  handles
all the actions of a component, and inside this method, you will define or write your own codes that will be
executed when an action occurred. Here’s an example on how to implement ActionListener in Java.
ActionListener is notified whenever you click on the button or menu item. It is notified against
ActionEvent. The ActionListener interface is found in java.awt.event package. It has only one method:
actionPerformed().

The object of a TextArea class is a multi-line region that displays text. It allows the editing of multiple line
text. It inherits TextComponent class.

10
We can close the AWT Window or Frame by calling dispose() or System.exit() inside windowClosing()
method. The windowClosing() method is found in WindowListener interface and WindowAdapter class.
The WindowAdapter class implements WindowListener interfaces. It provides the default implementation
of all the 7 methods of WindowListener interface. To override the windowClosing() method, you can either
use WindowAdapter class or WindowListener interface. If you implement the WindowListener interface,
you will be forced to override all the 7 methods of WindowListener interface. So it is better to use
WindowAdapter class.

The MenuBar class encapsulates the platform's concept of a menu bar bound to a frame. In order to
associate the menu bar with a Frame object, call the frame's setMenuBar method. A menu bar handles
keyboard shortcuts for menu items, passing them along to its child menus. (Keyboard shortcuts, which are
optional, provide the user with an alternative to the mouse for invoking a menu item and the action that is
associated with it.) Each menu item can maintain an instance of MenuShortcut. The MenuBar class defines
several methods, shortcuts() and getShortcutMenuItem(java.awt.MenuShortcut) that retrieve information
about the shortcuts a given menu bar is managing.

All items in a menu must belong to the class MenuItem, or one of its subclasses. The
default MenuItem object embodies a simple labeled menu item. When a menu item is selected, AWT sends
an action event to the menu item. Since the event is an instance of ActionEvent, the processEvent method
examines the event and passes it along to processActionEvent. The latter method redirects the event to
any ActionListener objects that have registered an interest in action events generated by this menu item.

Note that the subclass Menu overrides this behavior and does not send any event to the frame until one of
its subitems is selected.

 Java Applet is a special type of program that is embedded in the webpage to generate the
dynamic content. It runs inside the browser and works at client side.

For creating any applet java.applet.Applet class must be inherited. It provides 4 life cycle methods of
applet:

 public void init(): is used to initialized the Applet. It is invoked only once.
 public void start(): is invoked after the init() method or browser is maximized. It is used
to start the Applet.
 public void stop(): is used to stop the Applet. It is invoked when Applet is stop or
browser is minimized.
 public void destroy(): is used to destroy the Applet. It is invoked only once.

11
 JDBC stands for Java Database Connectivity. The java.sql package contains classes and
interfaces for JDBC API. JDBC is a Java API to connect and execute the query with the database.
It is a part of JavaSE (Java Standard Edition). JDBC API uses JDBC drivers to connect with the
database. A JDBC driver is a software component enabling a Java application to interact with
a database.[1] JDBC drivers are analogous to ODBC drivers, ADO.NET data providers, and OLE
DB providers.

To connect with individual databases, JDBC (the Java Database Connectivity API) requires drivers for each
database. The JDBC driver gives out the connection to the database and implements the protocol for
transferring the query and result between client and database. There are four types of JDBC drivers:

 JDBC-ODBC Bridge Driver,


 Native Driver,
 Network Protocol Driver, and
 Thin Driver

We can use JDBC API to access tabular data stored in any relational database. By the help of JDBC API,
we can save, update, delete and fetch data from the database. It is like Open Database Connectivity
(ODBC) provided by Microsoft.

The current version of JDBC is 4.3. It is the stable release since 21st September, 2017. It is based on the
X/Open SQL Call Level Interface. A list of popular interfaces of JDBC API is given below:

 Driver interface
 Connection interface
 Statement interface
 PreparedStatement interface
 CallableStatement interface
 ResultSet interface
 ResultSetMetaData interface
 DatabaseMetaData interface
 RowSet interface

A list of popular classes of JDBC API is given below:

 DriverManager class
 Blob class

12
 Clob class
 Types class

Before JDBC, ODBC API was the database API to connect and execute the query with the database. But,
ODBC API uses ODBC driver which is written in C language (i.e. platform dependent and unsecured).
That is why Java has defined its own API (JDBC API) that uses JDBC drivers (written in Java language).

We can use JDBC API to handle database using Java program and can perform the following activities:

 Connect to the database


 Execute queries and update statements to the database
 Retrieve the result received from the database.

BACKEND: MySQL is an open-source relational database management system (RDBMS). Its name is a


combination of "My", and "SQL", the abbreviation for Structured Query Language. A relational
database organizes data into one or more data tables in which data types may be related to each other; these
relations help structure the data. SQL is a language programmers use to create, modify and extract data
from the relational database, as well as control user access to the database. In addition to relational
databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational
database in a computer's storage system, manages users, allows for network access and facilitates testing
database integrity and creation of backups. MySQL is good for databases because of its security and its
advanced features and its properties.

It is a relational database management system. In this project, we are using MySQL to store the data of
employee. There is a separate table to divide the data and each table is related to others. Unique and foreign
keys are responsible for the relations between the tables. To operate the database we are using MYSQL
workbench which is quite simple and easy to understand. MYSQL server is running on the port number
3306 with the username “root” and password “root”.

Java Database Connectivity (JDBC) is an application programming interface (API) for the programming


language Java, which defines how a client may access a database. It is a Java-based data access technology
used for Java database connectivity. It is part of the Java Standard Edition platform, from Oracle
Corporation. It provides methods to query and update data in a database, and is oriented toward relational
databases. A JDBC-to-ODBC bridge enables connections to any ODBC-accessible data source in the Java
virtual machine (JVM) host environment.

JDBC ('Java Database Connectivity') allows multiple implementations to exist and be used by the same
application. The API provides a mechanism for dynamically loading the correct Java packages and

13
registering them with the JDBC Driver Manager. The Driver Manager is used as a connection factory for
creating JDBC connections.

JDBC connections support creating and executing statements. These may be update statements such as
SQL's CREATE, INSERT, UPDATE and DELETE, or they may be query statements such as SELECT.
Additionally, stored procedures may be invoked through a JDBC connection. JDBC represents statements
using one of the following classes:

 Statement - the statement is sent to the database server each and every time.
 PreparedStatement – the statement is cached and then the execution path is pre-determined on
the database server allowing it to be executed multiple times in an efficient manner.
 CallableStatement – used for executing stored procedures on the database.

Update statements such as INSERT, UPDATE and DELETE return an update count that indicates how
many rows were affected in the database. These statements do not return any other information. Query
statements return a JDBC row result set. The row result set is used to walk over the result set.
Individual columns in a row are retrieved either by name or by column number. There may be any number
of rows in the result set. The row result set has metadata that describes the names of the columns and their
types.

There is an extension to the basic JDBC API in the javax.sql. JDBC connections are often managed via
a connection pool rather than obtained directly from the driver.

14
5. System Analysis

5.1 Present system

The present system is manual based, need lot of efforts and consume much time. In the present system, we
can apply for the hostels online but the allotment processes are done manually. It may lead to corruption in
the allocation processes as well as hostel fee calculation. The existing system does not deal with the overall
expense calculations and complaint registration.

Disadvantages:

 More human power


 More strength and strain of manual labor needed.
 Repetition of same procedure
 Low security
 Data redundancy
 Strain in handling data
 Difficulty in updating data
 Record keeping is difficult
 Backup data can’t be easily generated.

5.2 Proposed System

The project is aimed at developing a system for keeping records and showing information about or in the
hostel. The system will help the hostel admin to manage and regulate the hostel affairs efficiently. It will
provide full information about a student residing in the hostel as well as of pass out students. It can show
the number of rooms available in the hostel, it’s cleaning status, the type of room whether it is single,
double or triple sharing, the number of students residing in a room. It will also provide information of
students who have cleared their dues and those who still owe.

This system will also provide a report on the summary detail regarding fees and its details. There will also
be an administrator module which can only be accessed by the admin and it has the ability to delete, add ad
edit employee, students and rooms records.

15
5.3 Software Requirement Specification

Functions and features delivered to the end users are:

5.3.1 Login Module


This helps the administrator and user to login to dashboard only if username and password entered
matches with the database credentials.

5.3.2 Admin Module


This allows the admin to check every action in the hostel including allotment of rooms to update any
information regarding students, employees or rooms, etc. It allows the admin to add, delete or update
student records, employee details etc.

5.3.3 Student Module


This module stores student’s details i.e. information regarding profile details, contact information,
educational details etc. Admin can search for any student and update any information.

5.3.4 Employee Module


This module is used to store each and every detail of the staff members working in the hostel. Admin
can search for any staff member according to different profession such as driver, chef, warden, house-
keeping, security guard etc.

5.3.5 Room Module


This module deals with allocation of rooms to students according to their interests and choice such as
single living, double or triple sharing. Admin can also update the cleaning status of any particular
room. This module also displays the availability of any particular room.

5.3.6 Hostel Fees Module


This displays the fee record of all the types of rooms. Admin can update the fee status according to the
hostel’s policy. It also displays any students due amount.

5.3.7 Reception Module


This module stores all the primary information about the hostel such as displaying student records,
room status and availability, employee details, update the balance amount of students etc.

5.3.8 Update Check-in Module


16
This module is used when any student deposits the due amount. So it will update the balance amount to
zero if the student has cleared all dues of the current year otherwise the balance amount will be
displayed and updated.

5.3.9 Update Fee Module


The admin can update the fees of the rooms whenever he wants to. It is very easy to do so since he
only has to type the amount he wish to keep for the type of rooms.

17
6. System Specification

6.1 Software Specification

A major element in building a system is the section of compatible software since the software in the market
is experiencing in geometric progression. Selected software should be acceptable by the firm and one user
as well as it should be feasible for the system. It allows the developer or analyst to understand the system,
function to be carried out, the performance level to be obtained and corresponding interfaces to be
established.

 Technology implemented: Oracle server


 Language used: Java 8.0 or higher versions
 Database: MySQL 5.5
 User interface: Java swing
 IDE: Netbeans 8.2
 JDK: Java SE 8 development toolkit
 Operating System: Windows 10

6.2 Hardware Specification

This section is an important task related to the software development. Insufficient random access memory
may affect adversely on the speed and efficiency of the entire system. The process should be powerful to
handle the entire operations efficiently. The hard disk should have sufficient capacity to store the file and
applications.

 Processor: Intel® core™


 Processor speed: 2 GHz
 System memory: 128 MB onwards
 Cache size: 512KB
 RAM: 512 MB (minimum)
 Hard disk: 80 GB
 Mouse: 104 keys US key serial, USB or PS/2
 Monitor: SVGA Color 15”

18
7. System Design

System design is the process of defining the architecture, modules, interfaces, and data for a system to
satisfy specified requirements. The low level designs of the project are –

FIGURE 7.1 DFD for Allotment Process

FIGURE 7.2 DFD for Student Module

FIGURE 7.3 DFD for Student Registration

FIGURE 7.4 DFD for Admin Module

19
FIGURE 7.5 DFD for login page

20
8. Detailed Design

8.1 Module

FIGURE 8.1.1 Login Module

FIGURE 8.1.2 Administrator Module

FIGURE 8.1.3 Add Student Module

21
FIGURE 8.1.4 Add Staff Module

FIGURE 8.1.5 Add Room Module

22
FIGURE 8.1.6 Fee Module

FIGURE 8.1.7 Reception Module

FIGURE 8.1.8 Update Check-in Module

23
FIGURE 8.1.9 Update Fee Module

FIGURE 8.1.10 Search Student Module

FIGURE 8.1.11 Update Room Module

24
FIGURE 8.1.12 Search Rooms

8.2 Data Flow Diagram

FIGURE 8.2.1 DFD of Hostel Fees Management

FIGURE 8.2.2 DFD of Student Management

25
FIGURE 8.2.3 DFD of room allotment

FIGURE 8.2.4 DFD of fee management

26
8.3 Database Design

Table 8.3.1 Add Student

FIELD TYPE SIZE


Name varchar 60
Age varchar 10
DOB varchar 15
Gender varchar 15
College varchar 15
Phone varchar 15
Aadhar varchar 15
Room varchar 10
Fees varchar 15
Paid varchar 15
Pending varchar 15

Table 8.3.2 Add Room

FIELD TYPE SIZE


Room varchar 20
Available varchar 20
Status varchar 20
Type varchar 20

27
Table 8.3.3 Add Employee

FIELD TYPE SIZE


Name varchar 30
Age varchar 10
Gender varchar 15
Job varchar 15
Salary varchar 10
Phone varchar 10
Aadhar varchar 15
Email varchar 15

Table 8.3.4 Login Page

FIELD TYPE SIZE


Username varchar 30
Password varchar 30

Table 8.3.5 Hostel Fees

FIELD TYPE SIZE


Type varchar 20
Fee varchar 15

28
9. Testing
As the part of system testing, we execute the program with the intent of finding errors and missing
operations and also a complete verification to determine whether the objectives are met and user
requirements are satisfied. The ultimate aim is to provide quality assurance.

Tests are carried out and the results are compared with the expected document. In the case of erroneous
results, debugging is done. Using detailed testing strategies a test plan is carried out on each module. The
various tests performed are –

 Unit Testing
The software units in the system are modules and routines that are assembled and integrated to
perform a specific function. As a part of unit testing we executed the program for individual
modules independently. This enables to detect errors in coding and logic that are contained within
each of the module. This testing includes entering data that is filling forms and ascertaining if the
value matches to the type and entered into the database. The various controls are tested to ensure
that each module performs its action as required.

 Integration Testing
Data can be lost across any interface; one module can have adverse effect on other, sub functions
when combined may not produce the desired major functions. Integration testing is a systematic
testing to discover errors associated within the interface. The objective is to take unit tested
modules and build a program structure. All the modules are combined and tested as a whole. Here
the admin module, employee module, student module and room module options are integrated and
tested. This testing provides the assurance that the application is well integrated functional unit
with smooth transition of data.

 User Acceptance Testing


User acceptance of a system is the key factor for the success of any system. The system under
consideration is tested for user acceptance by constantly keeping the records of the applicants and
making changes to the details and password whenever required.

29
10. Conclusion

To conclude the description about the project, it is developed using Java swing and MySQL. It is based on
the requirement specification of the user and the analysis of the existing system, with flexibility for future
enhancement.

Hostel Management System is very useful for hostel allotment and to calculate overall expenditure and
income of the hostel. This application is designed for people who want to manage various activities in the
hostel.

This project is aimed at developing a system for keeping records and showing information about or in the
hostel. It will provide complete information about a student in the hostel. It will show rooms available or
not and number of people in a particular room. It will also provide information about those students who
have full fees and those who still owe. It also contains employee module which can show each and every
detail of the employee working in the hostel.

This project deals with the problems which occur when carried out manually. Identification of the
drawbacks of the existing system leads to the development of computerized hostel management system that
will be compatible to the existing system with the system which is more user friendly and more GUI
oriented. We can improve the efficiency of the system, and thus overcome the drawbacks of the existing
system. Less human error, strain of manual labor can be reduced, high security, data redundancy can be
avoided to some extent, data consistency, easy to handle, easy data updating, easy record keeping, and
backup data can be easily generated.

This solution is developed on the plight of the hostel management team, through which they do not require
very efficient person to handle and manage the affairs of the students in the hostel, all you need to do is to
login as the administrator and you can see the information of all the students who have obtained and
registered their hostel form, click verify to ascertain their eligibility and allocate them to the available
hostel. It helps them to get rid of the boring manual work from which it is very difficult to find the record
of the students and rooms.

This project is built to manage the details of beds, hostel staff members, rooms, allotters, hostel rent, etc.
This project is totally built at administrative end and thus only the administrator is guaranteed the access.
The purpose of the project is to build an application program to reduce the manual work for managing the
beds, hostel, payment, rooms. It tracks all the details whether the room is accommodated or not, whether

30
the room is dirty or clean and what not. It also provides the information about those students who did not
pay the fees.

11. Appendix(Coding screenshots)

Figure 11.1 Login Page

Figure 11.2 Add Students

31
Figure 11.3 Add Rooms

Figure 11.4 Connection

32
Figure 11.5 Reception

Figure 11.6 Student Information

33
Figure 11.7 Fee Structure

Figure 11.8 Rooms

34
Figure11.9 Update Check-in

Figure 11.10 Update Fee

35
12. References

1. https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/

2. http://iprodeveloper.com/rpg-programming/access-external-databases-rpg-jdbcr4

3. https://codebun.com/hostel-management-system-project-in-java-with-source-code-and-project-report/

4. http://www.ohloh.net/p/mysql/analyses/latest

5. https://en.wikipedia.org/wiki/MySQL

6. https://www.freeprojectz.com/java-projects-projects/java-project-hostel-management-system

7. https://sites.google.com/site/ignoufreebcaproject/java-project-source-code/hostel-management-
system-project
8. https://www.slideshare.net/PrasoonRawat/hostel-management-system-report

9. https://www.youtube.com/watch?v=eVTmf4KNn5g

10. https://www.youtube.com/watch?
v=MlHSmVvEf64&list=PLdRq0mbeEBmxkcuasB3D1grHjNFwwrMeo
11. https://www.youtube.com/watch?v=TuK8OWf8wGo&t=38s

36
12. https://www.academia.edu/9234897/Project_Report_On_HOSTEL_MANAGEMENT_SYSTEM_Sub
mitted_by
13. https://codebun.com/hostel-management-system-project-in-java-with-source-code-and-project-report/
14. https://www.youtube.com/watch?v=jz2oTZiUXRA
15. https://www.youtube.com/watch?v=yG_jtEOFb7k
16. https://www.youtube.com/watch?v=n2jIBlRoSS8
17. https://www.youtube.com/watch?v=R8Qc0rGfrv4&t=445s
18. https://github.com/topics/hostel-management-system?l=java
19. https://github.com/topics/hostel-management-system?o=asc&s=forks
20. https://www.kashipara.com/project/java/189/download-hostel-management-system-java-source-code
21. https://www.university.youth4work.com/mait_maharaja-agrasen-institute-of-technology/study/2842-
source-code-for-java-hostel-management-system
22. http://dspace.cusat.ac.in/jspui/bitstream/123456789/8250/1/ONLINE%20HOSTEL
%20MANAGEMENT%20SYSTEM.pdf
23. https://en.wikipedia.org/wiki/JDBC_driver
24. https://docs.oracle.com/javase/10/docs/api/java/sql/package-summary.html
25. https://docs.oracle.com/javase/10/docs/api/javax/sql/package-summary.html

37

You might also like