0% found this document useful (0 votes)
456 views

Employee Management System: A Major Project Report ON

This document provides an overview of a project to develop an employee management system. It outlines the objectives of creating a system to more efficiently manage employee records and information by digitizing paper-based processes. The system will allow administrators to add, edit, transfer, and terminate employees electronically. It is intended to help companies more effectively track employee performance and streamline human resources tasks. The project will design databases to securely store employee data and a user-friendly interface for interaction.

Uploaded by

Aman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
456 views

Employee Management System: A Major Project Report ON

This document provides an overview of a project to develop an employee management system. It outlines the objectives of creating a system to more efficiently manage employee records and information by digitizing paper-based processes. The system will allow administrators to add, edit, transfer, and terminate employees electronically. It is intended to help companies more effectively track employee performance and streamline human resources tasks. The project will design databases to securely store employee data and a user-friendly interface for interaction.

Uploaded by

Aman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 72

1

A
Major Project Report
ON

EMPLOYEE MANAGEMENT SYSTEM

for the Partial fulfilment of the award of


Degree of
Bachelor of Computer Application ( BCA)

Under the Guidance of : Submitted by:

Ms. Vartika Shah Romanch Raj


(AP-II, IT & CA) 16BCAN092

Department of Information Technology & Computer Application

JECRC UNIVERSITY, JAIPUR


APRIL 2019
2

Candidate’s Declaration

I hereby declare that the project work, which is being presented in the Project Report, entitled

“EMPLOYEE MANAGEMENT SYSTEM” in partial fulfillment for the award of Degree of

“Bachelor of Computer Application” in Deptt. of Information Technology , JECRC University is a

record of my own investigations carried under the Guidance of Ms. Vartika Shah.

I have not submitted the matter presented in this Project Report anywhere for the award of any other

Degree.

Name of Candidate: Romanch Raj

Signature

Enrolment No.: 16BCAN092

Name of Supervisor/Guide
Ms. Vartika Shah

Countersigned By:
HoD-IT & CA
3

INDEX

ABSTRACT
1. INTRODUCTION
1.1 PROBLEM STATEMENT
1.2 PROJECT BACKGROUND
1.3 OBJECTIVES
1.4 SCOPE
1.5 EXPECTED BENEFITS
1.6 REQUIREMENTS AND CONSTRAINTS
1.6.1 Functional Requirements:
1.6.2 Non-Functional Requirements:
1.6.3 Performance requirements
1.7 SUMMARY
2. FEASIBILITY STUDY OF THE PROJECT
3. SYSTEM SPECIFICATION
3.1 HARDWARE SPECIFICATION
3.2 SOFTWARE SPECIFICATION
4. SOFTWARE FEATURES
4.1 NetBeans IDE 8.2 (Smarter way to code)
4.2 FEATURES OF FXML :
4.2.1 Features of FXML :
4.3 Scene Builder :
5. SYSTEM DESIGN AND DEVELOPMENT
5.1 FILE DESIGN :
5.2 Relational File Database :
5.3 INPUT DESIGN
5.4 OUTPUT DESIGN
5.5 DATABASE DESIGN
5.5.1 Objectives of Database design
5.6 DATAFLOW DIAGRAM
4

5.6.1 Diagrammatic view for Login Interface


5.6.2 Flow view for further process
5.6.3 Modification view :
6. Analysis
7. SYSTEM TESTING AND IMPLEMENTATION
7.1 SYSTEM TESTING
7.2 Test Plan
7.3 Black Box Testing
7.4 Unit Testing
7.5 Integration Testing
8. System Maintenance
8.1 Threats to System Security
8.2 System Security
8.3 System Security Measures
8.3.1 Identification
8.3.2 Access Control
8.3.3 Audit Control
8.3.4 System Integrity
9. SYSTEM IMPLEMENTATION
9.1 Planning
9.2 Training
9.2.1 Training Systems Operators
9.2.2 Training Guidelines
9.3 System Testing
9.4 Changeover planning
10. CONCLUSION
11. SCOPE FOR FURTHER ENHANCEMENT
12. BIBLIOGRAPHY
12.1 REFERENCE BOOKS
12.2 REFERENCE WEBSITES :
13. SNAPSHOTS OF REPORTS/OUTPUTS/FORMS/DESIGNS
5

13.1 Login view


13.2 Home view
13.3 Employee View
13.4 Employee table View
13.5 Add new employee
13.6 Update Employee view
13.7 Search View
13.8 Remove Employee View
13.9 Employee Attendance View
13.10 Employee salary view
14. CODING
14.1 FXML code for user interface development
14.1.1 Code for login panel design
14.1.2 Code for employee module
14.1.3 Code for Employee attendace
14.1.4 Code for Employee Salary UI
14.1.5 Code for Updating Employee details
6

ABSTRACT

Employees are the backbone of any company therefore their management plays a
major role in deciding the success of an organization.Employees Management Software
makes it easy for the employer to keep track of all records. This software allows the
administrator to edit employees, add new employees, transfer/promote/terminate
employees. Each employee in the database is associated with a position can be added
and edited when need arises. Employees can be transferred between positions easily
without having to retype back their information in the database. You can check to see if
there are duplicate positions/employees in the database. Most of all, the employer can
assign tasks to employees and assess their progress in order to keep track of employee
performance. A flexible and easy to use Employee Management software solution for
small and medium sized companies provides modules for personnel information
management thereby organization and companies are able to manage the crucial
organization asset – people. The combination of these modules into one application
assures the perfect platform for re-engineering and aligning Human Resource
processes along with the organizational goals. This system brings about an easy way of
maintaining the details of employees working in any organization. It is simple to
understand and can be used by anyone who is not even familiar with simple employees
system. It is user friendly and just asks the user to follow step by step operations by
giving easy to follow options. It is fast and can perform many operations for a company.
The goal of this project is to design and develop an employee management system to
fill existing gaps in the electronic management of employees.
This software allows the administrator to edit employees, add new employees,
transfer/promote/terminate employees. Each employee in the database is associated
with a position can be added and edited when need arises. Employees can be
transferred between positions easily without having to retype back their information in
the database.
7

1. INTRODUCTION
1.1 PROBLEM STATEMENT
Manual handling of employee information poses a number of challenges. This is
evident in procedures such as leave management where an employee is required to fill
in a form which may take several weeks or months to be approved. The use of paper
work in handling some of these processes could lead to human error, papers may end
up in the wrong hands and not forgetting the fact that this is time consuming. A number
of current systems lack employee self-service meaning employees are not able to
access and manage their personal information directly without having to go through
their HR departments or their managers. Another challenge is that multi-national
companies will have all the employee information stored at the headquarters of the
company making it difficult to access the employee information from remote places
when needed at short notice. The aforementioned problems can be tackled by
designing and implementing a web based HR management system. This system will
maintain employee information in a database by fully privacy and authority access. The
project is aimed at setting up employee information system about the status of the
employee, the educational background and the work experience in order to help monitor
the performance and achievements of the employee through a password protected
system.

1.2 PROJECT BACKGROUND


Employees are the backbone of any company therefore their management plays a
major role in deciding the success of an organization. Human Resource Management
Software makes it easy for the employer to keep track of all records. This software
allows the administrator to edit employees, add new employees as well as evaluate an
employee’s performance. Employees can be managed efficiently without having to
retype back their information in the database. You can check to see if there are
duplicate positions/employees in the database. A flexible and easy to use Employee
Management software solution for small and medium sized companies provides
modules for personnel information management thereby organization and companies
are able to manage the crucial organization asset – people. The combination of these
8

modules into one application assures the perfect platform for re-engineering and
aligning Human Resource processes along with the organizational goals. This system
brings about an easy way of maintaining the details of employees working in any
organization. It is simple to understand and can be used by anyone who is not even
familiar with simple employees system. It is user friendly and just asks the user to follow
step by step operations by giving easy to follow options. It is fast and can perform many
operations for a company

1.3 OBJECTIVES
In this world of growing technologies everything has been computerized. With large
number of work opportunities the Human workforce has increased. Thus there is a need
of a system which can handle the data of such a large number of Employees. This
project simplifies the task of maintaining records because of its user friendly nature. The
objective of this project is to provide a comprehensive approach towards the
management of employee information. This will be done by designing and implementing
an HR management system that will bring up a major paradigm shift in the way that
employee information is handled. The objectives of this system include: Design of a
web based HR management system to fulfill requirements such as project
 management, leave management, report generation to assist in performance
appraisal, ESS and employee trainings.

 Well-designed database to store employee information.

 A user friendly front-end for the user to interact with the system.

1.4 SCOPE
The scope of this project will be limited to the following: Employee profiles:
 Employees will have access to their personal profiles and will be able to edit their
details. Electronic leave application:
 Complete elimination of paperwork in leave management by enabling an employee
apply for leave as well as check their leave status through the system. This will also
9

enable the HR manager to accept/reject leave application through the system Project
Management.
 Assign tasks and projects to employees, assign a project team and keep track of the
progress. Report generation.
 The HR manager will be able to generate timely reports in order to monitor employees
and this can be used for performance appraisals. The reports will be have all the
information of an employee from educational background, trainings attended, projects
done as well as technical skills. Recruitment Process.
 The admin will add an employee and a default password and employee id will be
generated and sent to the new employees email. The HR manager will then have the
ability to add an employee’s information to the database.

1.5 EXPECTED BENEFITS


This system is expected to be user friendly and will offer easy access to data as well as
services such as online leave management, e-recruitment, and timely report generation,
monitoring employee trainings, task management, project management and employee
tracking. The employee is expected to have direct interaction with this system through a
password protected user account therefore proposed system is web based to enable
accessibility from any location as long as internet connectivity is available. This direct
interaction with the system will enable employee self-service. Without an employee
management system, it’s a tedious job for the human resource department to keep track
of each and every employee and even harder for a project manager to assign tasks to
the project team. The HR management system will be developed to provide information
of employees and many other facilities at the click of a button.

1.6 REQUIREMENTS AND CONSTRAINTS


1.6.1 Functional Requirements:
Authentication Login- The user can login to the HRMS system with his/her username
and password.
 Logout- The user can log out from the HRMS system.
10

 Login failure- If the user does not exist in the database or the user has not yet being
authorized by the HRMS admin. Authorization User role check- After logging in, the
user role will be checked from the database and the user interface will be displayed
according to their role.

 Process Data Display- User with defined roles can display the content of the
database. Being more specific, employee can only view his/her personal information.

1.6.2 Non-Functional Requirements:


Performance requirements
There is no restriction on the number of the users to be added to the database.
Hardware requirements EMS should be able to work on a computer with the following
minimum hardware specifications: OS: Windows XP/Vista/7/8 and Linux CPU: Pentium
III (700MHz) and above Memory: 128 MB and above Capacity: 4GB of hard drive
Others: Network interface card, mouse, keyboard, and monitor. Software requirements
Since EMS application is a web-based application, internet connection must be
established. The EMS software personal database model will support ORACLE
environment as DBMS.

1.7 SUMMARY
This section began by giving a brief overview of the entire project, the background of the
project and the scope. The problem definition and solution highlights the current
problems faced with the use of the systems that are in place and outlines briefly the
solution system to be developed. The next chapter will focus on the literature review.
This is literature that relates to the project and similar systems.
11

2. FEASIBILITY STUDY OF THE PROJECT

To make this software more handy and feasible to the user we have divided it into few
different different modules and they are as follows :

 Login module
 Home module
 Employee module
 Add new employee module
 Update employee module
 Show employee module
 Support module
 Attendance module
 Salary module

Login module :

It is used for logging in the employee details manager. It is used for verifying the user.
Once the user is authenticated, they can access the system.

Registration module :

New user can register in order to use the full features of this system. Normal users can
also access the proposed system but with limited features. Only the registered users
can get more priorities than the unregistered guest user. Once the guest users register
to this system, they can also get full access to this system.

User module :

It is used for adding new user and for updating existing customers. It is used for storing
new user as well as for updating the customer’s details. The module is very useful to
find the number of user who registered.
12

Add Employee module :

It is used for adding new employee and for viewing, editing and deleting existing
emploess. It is used for searching items in this system. Here the admin have the
privileges to search items in this system. Employee details are stored with their name.
When a particular module is being liked by people, that particular module will be shown
to user.

Attendance module :

In this module of project we are keeping records of employee attendance and if any new
employee comes into the company than we have a option to add that new employee
into the database.

Salary module :

In this module of project we are keeping records of employee salary and if any new
employee comes into the company than we have a option to add that new employee
salary into the database.
.

Support module :

In this module of our project we placed a very important feature i.e. feedback and issue
complain. At runtime if any problem occurred to user than they may direct contact to us
and write us their problem in a very elaborative way.
13

3. SYSTEM SPECIFICATION

3.1 HARDWARE SPECIFICATION

CPU : Intel Core i3

RAM : 32MB

Hard Disk : 5 GB

Monitor : 16 LG

Mouse : Logitech mouse

Keyboard : 104 Keys

Mother Board : Intel

Speed : 3.3 GHZ

3.2 SOFTWARE SPECIFICATION

Operating System : Platform Independent

Front End : JAVAFX, FXML, CSS

Back End : JAVA, Oracle Database.

Reports : Data Report

Tools : NetBeans (Smarter way to code)

Support : FXML
14

4. SOFTWARE FEATURES :

4.1 NetBeans IDE 8.2 (Smarter way to code)

NetBeans IDE gives you skeleton applications in the form of project templates for all
the technologies it supports. In addition, it provides a set of sample applications, some
of which can be recreated step by step by following a related tutorial available on
NetBeans.org.

The IDE provides project templates and sample projects that help you create Java SE
applications, Java EE applications, Java ME applications, HTML5 applications,
NetBeans Platform applications, PHP application, and C/C++ applications.

 Best Support for Latest Java Technologies

 Fast & Smart Code Editing

 Easy & Efficient Project Management

 Rapid User Interface Development

 Bug Free Code

 Support for Multiple Languages

 Language cross platform support

4.2 FEATURES OF FXML :

FXML is popular because it focuses on data rather than data presentation. The
other markup language such as HTML is used for data presentation.
15

This separates the data and its presentation part and gives us the freedom to
present the data, the way we want, once we receive it using FXML.

Two or more systems can receive the same data from a same FXML and present
it in a different way using other markup language such as HTML.

4.3.1 Features of FXML :

 FXML focuses on data rather than how it looks

 Easy and efficient data sharing

 Compatibility with other markup language HTML

 Supports platform transition

 Allows FXML validation

 Adapts technology advancements

 FXML supports Unicode

4.3.2 Scene Builder :

 A drag-and-drop WYSIWIG interface.

 Tight integration with the NetBeans IDE.

 Integration with any Java IDE is easy.

 Live editing and preview features.

 CSS support
16

5. SYSTEM DESIGN AND DEVELOPMENT

5.1 FILE DESIGN :

A flat file database is a database designed around a single table. The flat file design
puts all database information in one table, or list, with fields to represent all parameters.
A flat file may contain many fields, often, with duplicate data that are prone to data
corruption. If data between two flat files have to be merged, it is needed to copy and
PSMte relevant information from one file to the other. There is no automation between
flat files.

If two or more flat files that contain client addresses, it is required to manually modify
the address parameters in each file that contains that client’s information. Changing
information in one file has no bearing on other files. Flat files offer the functionality to
store information, manipulate fields, print or display formatted information and exchange
information with others, through email and over the Internet. Some flat files may be
attached to external files, such as text editors, to extend functionality and manage
related information.

5.2 Relational File Database :

A relational database, on the other hand, incorporates multiple tables with methods for
the tables to work together. The relationships between table data can be collated,
merged and displayed in database forms. Most relational databases offer functionality to
share data:

 Across networks
 Over the Internet
 With laptops and other electronic devices, such as palm pilots
 With other software systems

Designing flat file databases is simple and requires little design knowledge. Flat files
can be developed using just about any database engine. Flat files can be created in
17

relational database engines by not taking advantage of relational design concepts.


Designing a relational database takes more planning than flat file databases. With flat
files, it is possible to add information, as you deem necessary.

With relational databases, it is required to be careful to store data in tables such that the
relationships make sense. Building a relational database is dependent upon the ability
to establish a relational model. The model must fully describe how the data is
organized, in terms of data structure, integrity, querying, manipulation and storage.
Relational databases allow defining certain record fields, as keys or indexes, to perform
search queries, join table records and establish integrity constraints.

Search queries are faster and more accurate when based on indexed values. Table
records can be easily joined by the indexed values. Integrity constraints can be
established to ensure that table relationships are valid. If the project is able to establish
a one-to-many relationship in the data tables, relational database should be used
because a flat file is not sufficient to handle the data processing needs. Relational
databases offer more robust reporting with report generators that filter and display
selected fields.

Relational databases offer the capability to building own reporting modules. Most
relational databases also offer the capability to import and export data from other
software. There are three primary relational database systems, proprietary, open source
and embedded. Proprietary relational databases require the use of proprietary
development languages, often times, to complement SQL. Microsoft Access, for
example, combines Visual Basic with SQL. Open source databases, such as MySQL,
are distributed freely to encourage user development.

Embedded, relational databases are packaged as part of other software packages, such
as with tax-preparation software packages. The vendor supplies the database, and all
manipulation tools, to control the database structure. These databases are, often times,
accompanied with tools to provide audit trails of transactions. The vendor supplies the
database, and all manipulation tools, to control the database structure.
18

Each row in a table has its own unique key. Rows in a table can be linked to rows in
other tables by adding a column for the unique key of the linked row (such columns are
known as foreign keys). Codd showed that data relationships of arbitrary complexity can
be represented by a simple set of concepts.

Part of this processing involves consistently being able to select or modify one and only
one row in a table. Therefore, most physical implementations have a unique primary
key (PK) for each row in a table. When a new row is written to the table, a new unique
value for the primary key is generated; this is the key that the system uses primarily for
accessing the table. System performance is optimized for PKs. Other, more natural
keys may also be identified and defined as alternate keys (AK). Often several columns
are needed to form an AK (this is one reason why a single integer column is usually
made the PK). Both PKs and AKs have the ability to uniquely identify a row within a
table. Additional technology may be applied to ensure a unique ID across the world,
a globally unique identifier, when there are broader system requirements.

The primary keys within a database are used to define the relationships among the
tables. When a PK migrates to another table, it becomes a foreign key in the other
table. When each cell can contain only one value and the PK migrates into a regular
entity table, this design pattern can represent either a one-to-one or one-to-
many relationship. Most relational database designs resolve many-to-
many relationships by creating an additional table that contains the PKs from both of the
other entity tables—the relationship becomes an entity; the resolution table is then
named appropriately and the two FKs are combined to form a PK. The migration of PKs
to other tables is the second major reason why system-assigned integers are used
normally as PKs; there is usually neither efficiency nor clarity in migrating a bunch of
other types of columns.

When a PK migrates to another table, it becomes a foreign key in the other table. When
each cell can contain only one value and the PK migrates into a regular entity table, this
design pattern can represent either a one-to-one or one-to-many relationship.
19

5.3 INPUT DESIGN

Input is any data or instructions entered into the memory of a computer. Two types of
input are data and instructions. Data is a collection of unorganized items that can
include words, numbers, pictures, sounds, and video. A computer processes data into
information, which is organized, meaningful, and useful. Instructions can be in the form
of programs, commands, or user responses.

A program is a series of instructions that tells a computer how to perform the tasks
necessary to process data into information. A command is an instruction given to a
computer program. A user response is an instruction you issue to the computer by
responding to a question posed by a computer program. Any hardware component that
allows entering data, programs, commands, and user responses into a computer is an
input device. Inputs of Automobile Management System are eid, ename, qualification,
automobileid, brand, cusid, cusname and salary.

5.4 OUTPUT DESIGN

Output design involves specifying how production of on-screen reports and paper based
reports will occur. Output may occur to database or file for storing information entered or
also for use by other systems. Output is data that has been processed into a useful form
called information. Four types of output are text, graphics, audio, and video. Text
consists of characters (letters, numbers, punctuation marks, or any other symbol
requiring one byte of computer storage space) that are used to create words,
sentences, and paragraphs.

Graphics are digital representations of non-text information such as drawings, charts,


photographs, and animation (a series of still images in rapid sequence that gives the
illusion of motion). Audio is music, speech, or any other sound. Video consists of
images played back at speeds to provide the appearance of full motion. An output
device is any computer component capable of conveying information to a user. Audio is
music, speech, or any other sound. Video consists of images played back at speeds to
provide the appearance of full motion.
20

5.5 DATABASE DESIGN

Database is designed to manage large bodies of information. The management of data


involves both the definitions of structures for the storage of information. In addition the
data base system must provide for the safety of the information solved, despite system
crashes or due to attempts at unauthorized access. For developing an efficient
database proposed project have to fulfill certain conditions such as controlled
redundancy.

 Defining the data


 Inputting the data
 Locating the data
 Accessing the data
 Communicating the data
 Revising the data

Objectives of Database design

In database design several objectives are designed such as:

 Ease of use
 Control of data integrity
 Control of redundancy
 Control of security
 Data independence (logical & physical)
 Data storage protection
 System performance
 System functions
 System compatibility
21

In a majority of cases, a person who is doing the design of a database is a person with
expertise in the area of database design, rather than expertise in the domain from which
the data to be stored is drawn e.g. financial information, biological information etc.
Therefore, the data to be stored in the database must be determined in cooperation with
a person who does have expertise in that domain, and who is aware of what data must
be stored within the system.

This process is one which is generally considered part of requirements analysis, and
requires skill on the part of the database designer to elicit the needed information from
those with the domain knowledge. This is because those with the necessary domain
knowledge frequently cannot express clearly what their system requirements for the
database are as they are unaccustomed to thinking in terms of the discrete data
elements which must be stored. Data to be stored can be determined by Requirement
Specification.

Once a database designer is aware of the data which is to be stored within the
database, they must then determine where dependency is within the data. Sometimes
when data is changed you can be changing other data that is not visible. For example,
in a list of names and addresses, assuming a situation where multiple people can have
the same address, but one person cannot have more than one address, the address is
dependent upon the name. When provided a name and the list the address can be
uniquely determined; however, the inverse does not hold - when given an address and
the list, a name cannot be uniquely determined because multiple people can reside at
an address. Because an address is determined by a name, an address is considered
dependent on a name.
Once the relationships and dependencies amongst the various pieces of information
have been determined, it is possible to arrange the data into a logical structure which
can then be mapped into the storage objects supported by the database management
system. In the case of relational databases the storage objects are tables which store
data in rows and columns. In an Object database the storage objects correspond
directly to the objects used by the Object-oriented programming language used to write
the applications that will manage and access the data. The relationships may be defined
22

as attributes of the object classes involved or as methods that operate on the object
classes.

The way this mapping is generally performed is such that each set of related data which
depends upon a single object, whether real or abstract, is placed in a table.
Relationships between these dependent objects is then stored as links between the
various objects.

Each table may represent an implementation of either a logical object or a relationship


joining one or more instances of one or more logical objects. Relationships between
tables may then be stored as links connecting child tables with parents. Since complex
logical relationships are themselves tables they will probably have links to more than
one parent. This process is one which is generally considered part of requirements
analysis, and requires skill on the part of the database designer to elicit the needed
information from those with the domain knowledge. This is because those with the
necessary domain knowledge frequently cannot express clearly what their system
requirements for the database are as they are unaccustomed to thinking in terms of the
discrete data elements which must be stored. Data to be stored can be determined by
Requirement Specification.

In a majority of cases, a person who is doing the design of a database is a person with
expertise in the area of database design, rather than expertise in the domain from which
the data to be stored is drawn e.g. financial information, biological information etc.
Therefore, the data to be stored in the database must be determined in cooperation with
a person who does have expertise in that domain, and who is aware of what data must
be stored within the system.

the relationships and dependencies amongst the various pieces of information have
been determined, it is possible to arrange the data into a logical structure which can
then be mapped into the storage objects supported by the database management
system. In the case of relational databases the storage objects are tables which store
data in rows and columns. In an Object database the storage objects correspond
directly to the objects used by the Object-oriented programming language used to write
the applications that will manage and access the data.
23

5.6 DATAFLOW DIAGRAM

A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the
processes that change data throughout a system. It’s a structured analysis and design
tool that can be used for flowcharting in place of or in association with information.
Oriented and process oriented system flowcharts. Four basic symbols are used to
construct data flow diagrams. They are symbols that represent data source, data flows,
and data transformations and data storage. The points at which data are transformed
are represented by enclosed figures, usually circles, which are called nodes.

For achieving the abovementioned criteria’s we have to make use of various features
that are available with the RDBMS by enforcing integrity constrains, it is possible to
ensure data integrity and reduce data inconsistency to a great extent.

Data Flow Diagram Symbols

- Source or Destination of data

- Data Flow

- Process

- Storage
24

When analysts prepare the Data Flow Diagram, they specify the user needs at a level of
detail that virtually determines the information flow into and out of the system and the
required data resources.

The network is constructed by using a set of symbols that do not imply physical
implementations. The Data Flow Diagram reviews the current physical system, prepares
input and output specification, and specifies the implementation plan.

Steps to Construct Data Flow Diagrams

Four steps are commonly used to construct a DFD

 Process should be named and numbered for easy reference. Each name
should be representative of the process.
 The destination of flow is from top to bottom and from left to right.
 When a process is exploded in to lower level details they are numbered.
 The names of data stores, sources and destinations are written in capital
letters.

Rules for constructing a Data Flow Diagram

 Arrows should not cross each other.


 Squares, circles and files must bear names.
 Decomposed data flow squares and circles can have same names.
 Draw all data flow around the outside of the diagram.
25

5.6.1 Diagrammatic view for Login Interface

EmployeeMangment
system
Login panel with
Many check
Point.

Oracle database
Validate
username and
Password.

If values are
If values are
invalid than
valid than you
you will get an
will redirect to
error message.
home interface

Proceed
26

5.6.2 Flow view for further process :

Successful
- ly

Login

Employee
Employee attendnce
Details Details
representing in representing in
a table a table

After proceeding After proceeding


you can perform you will more
CRUD on info and choices
interface. for employee.

Specifications
27

5.6.3 Modification view :

Specifications

Modifications
Made according to
Modifications requirements
Made according For employee salary.
to requirements
For employee.

Oracle database
constraints check
Point.

If valid than If invalid than


Data shows error
modified. interface.
28

7. SYSTEM TESTING AND IMPLEMENTATION

7.1 SYSTEM TESTING :

The common view of testing held by users is that it is performed to prove that there are
no errors in a program. It is extremely difficult since designer cannot prove to be one
hundred percent accurate. Therefore, the most useful and practical approach is with the
understanding that testing is the process of executing a program with explicit intention
of finding errors that make the program fail.

Testing has its own cycle. The testing process begins with the product requirements
phase and from there parallels the entire development process. In other words, for each
phase of the development process there is an important testing activity. It is extremely
difficult since designer cannot prove to be one hundred percent accurate. Therefore, the
most useful and practical approach is with the understanding that testing.

Successful testing requires a methodical approach. It requires focusing on basic critical


factors:

 Planning
 Project and process control
 Risk management
 Inspections
 Measurement tools
 Organization and professionalism

7.2 Test Plan

Before going for testing, first we have to decide upon the type of testing to be carried
out. The following factors are taken into consideration:

 To ensure that information properly flows into and out of program


29

 To find out whether the local data structures maintains its integrity during all
steps in an algorithm execution
 To ensure that the module operate properly at boundaries established to limit
or restrict processing
 To find out whether error - handling paths are working correctly or not
 To find out whether the values are correctly updated or not
 Check for validations

7.3 Black Box Testing

It is a software testing approach in which the tester doesn’t know the internal working of
the item being tested. For example in a Black box test, on software design the tester
only knows the input and the expected outputs. Tester doesn’t know how the program
derives the output. Tester doesn’t even imagine as to how, the coding is done. Tester
need to know only the specifications.

The advantages of black box testing approach are :

 The test is unbiased because the designer and the tester is independent of
each other
 The tester needs no specific knowledge on any programming language
 The test is done from the point of view of the user, not the designer.
 The test can be designed as soon as the specifications are complete

The disadvantages of black box testing approach are

 The test can be redundant if the software designer has already run a test
case.
 The test can be difficult to design
 Testing every possible input stream is unrealistic.
30

7.4 Unit Testing

Unit or module testing is the process of testing the individual components (subprograms
or procedures) of a program. The purpose is to discover discrepancies between the
modules interface specification and its actual behavior. In our system each module must
be tested independently for validation.

7.5 Integration Testing

Integration testing is the process of combining and testing multiple components


together. The primary objective of integration testing is to discover errors in the
interfaces between the components. In our system each of the modules mentioned
above, are tested for checking the integration between them, after each of them are
tested individually.

Software testing is an investigation conducted to provide stakeholders with information


about the quality of the software product or service under test. Software testing can also
provide an objective, independent view of the software to allow the business to
appreciate and understand the risks of software implementation. Test techniques
include the process of executing a program or application with the intent of
finding software bugs (errors or other defects), and verifying that the software product is
fit for use.

Software testing involves the execution of a software component or system component


to evaluate one or more properties of interest. In general, these properties indicate the
extent to which the component or system under test:

 meets the requirements that guided its design and development,


 responds correctly to all kinds of inputs,
 performs its functions within an acceptable time,
 it is sufficiently usable,
 can be installed and run in its intended environments, and
 achieves the general result its stakeholders desire.
31

As the number of possible tests for even simple software components is practically
infinite, all software testing uses some strategy to select tests that are feasible for the
available time and resources. As a result, software testing typically (but not exclusively)
attempts to execute a program or application with the intent of finding software
bugs (errors or other defects). The job of testing is an iterative process as when one
bug is fixed, it can illuminate other, deeper bugs, or can even create new ones.

Software testing can provide objective, independent information about the quality of
software and risk of its failure to users or sponsors.

Software testing can be conducted as soon as executable software (even if partially


complete) exists. The overall approach to software development often determines when
and how testing is conducted. For example, in a phased process, most testing occurs
after system requirements have been defined and then implemented in testable
programs. In contrast, under an agile approach, requirements, programming, and
testing are often done concurrently.

As a result, software testing typically (but not exclusively) attempts to execute a


program or application with the intent of finding software bugs (errors or other defects).
The job of testing is an iterative process as when one bug is fixed, it can illuminate
other, deeper bugs, or can even create new ones.

8. System Maintenance

All system is dynamic and subjects to constantly changing requirements. Effort must be
devoted to adapting them and design must be flexible specified so that such changes
can be easily implemented. It activity is called system maintains. It includes
improvement of system functions and correction of errors. Back up of the entire
database files are taken and stored in secondary storage devices like magnetic tapes
and disks so that it is possible to restore the system at the earliest. If there is a break
down or collapse, then the system giver provision to restore database files, storing data
32

in a separate secondary device leads to an effective and efficient maintains of the


system.

The master file has flags for maintains after for maintains. After the mentioned period,
the rejection suppliers, unused data in the files will be deleted in the master file. It
method is the increasing the memory to store the data. Software maintenance is a set of
software engineering activities that occur after software has been delivered for the
customer and put into operation. The success of the software and the project relies on
the maintenance procedure adopted. As with the venture of human, not a single one is
perfect. The further modifications are left to the followers. It is because the opinion or
vision or a thing differs from individual to individual. The maintenance is performed at
regular intervals to keep the project safe and reliable.

Development is single activity maintenance is a continuous activity. Maintenance


involves activities like inspections, corrections and enhancements. Once the system is
delivered and deployed, it enters the maintenance phase. The system need to be
maintained not because of some of its components wear out and need to be replaced,
but because there are some residual errors remaining in the system that must be
removed as they are discovered. It includes activities related to debugging the software
after it goes live, changes are required to address evolving software and enhancement
to meet changing customer requirements. So maintenance phase involves

 Understanding the effects of change.


 Testing the new parts
 Retesting the old parts that were not changed
 Making changes to both the code and the documents.

These changes have to be designed by the user before the change can be carried out.
Since requirement change request involves cost, user will be cautious while requesting
the software changes. The software will require continued support. The system
maintenance means the maintenance activities after and during the system
33

development processes. It include activities related to debugging the software after it


goes live, changes acquired to meet changes in user requirement.

Maintenance phase identifies if there are any changes required in the current system. If
the changes are identified, then an analysis is made to identify if the changes are really
required. Cost benefit analysis is away to find out if the change is really essential.

System Analysis

The term system is derived from the Greek word ‘systema’, which means of organized
relationship among functioning units of components. And the study of system concepts
has three basic implications:

 A system must be designed to achieve a predetermined objective


 Interrelationships and interdependence must exist among the components
 The objectives of the organizations as a whole have a high priority than the
objective of its subsystems.
 Software testing can also provide an objective, independent view of the
software to allow the business to appreciate and understand the risks of
software implementation.

Preliminary Analysis

Analysis is the detailed study of the various operations performed by a system and their
relationships within and outside the system. For the efficient and effective utilization of
the available resources, timing availability of accurate information is very important.
Information is the back bone of any organization. There for, it has to be made available
all time to ensure proper decision-making.

Information also has to be accurate, current, timely, relevant and usable. In other words,
an effective information system should be able to provide information to those in need of
it, at the time they need of it, at the time they need it and in the way they need it. The
34

need for managing data and retrieving information efficiently, lead to an extensive use
of computers in the business world.

The computers have convinced the management that computerized system is


preferable to the existing system; most organization has computerized their application
areas using traditional file processing concepts. The computerized system, by itself
does not guarantee of efficient information retrieval. The effectiveness of the system, to
great deal, depends on the way in which data is organized and managed. Way in which
data is organized in the existing system is not integrated, since there is no connection or
integration between one module and another on accomplishing the task.

Analysis is detailed study of various operations performed by a system and their


relationships within and outside the system. A key question is “what must be done to
solve the problem?” One aspect of analysis is determining the boundaries of the system
and determining whether or not a new proposed system should consider other related
items. It is the process of gathering and interpreting facts; diagnosing the problems and
using the information recommend improvements to the system.

8.1 Threats to System Security

The lists of potential threats are as follows

 Errors and Omissions


 Disgruntled and Dishonest Employees
 Fire
 Natural Disaster
 External Attack

The object-oriented paradigm emphasizes modularity and re-usability. The goal of an


object-oriented approach is to satisfy the "open closed principle". A module is open if it
35

supports extension, or if the module provides standardized ways to add new behaviors
or describe new states. In the object-oriented paradigm this is often accomplished by
creating a new subclass of an existing class. A module is closed if it has a well defined
stable interface that all other modules must use and that limits the interaction and
potential errors that can be introduced into one module by changes in another. In the
object-oriented paradigm this is accomplished by defining methods that invoke services
on objects. Methods can be either public or private, i.e., certain behaviors that are
unique to the object are not exposed to other objects. This reduces a source of many
common errors in computer programming.

The software life cycle is typically divided up into stages going from abstract
descriptions of the problem to designs then to code and testing and finally to
deployment. The earliest stages of this process are analysis and design. The distinction
between analysis and design is often described as "what vs. how". In analysis
developers work with users and domain experts to define what the system is supposed
to do. Implementation details are supposed to be mostly or totally (depending on the
particular method) ignored at this phase. The goal of the analysis phase is to create a
functional model of the system regardless of constraints such as appropriate
technology. In object-oriented analysis this is typically done via use cases and abstract
definitions of the most important objects. The subsequent design phase refines the
analysis model and makes the needed technology and other implementation choices. In

object-oriented design the emphasis is on describing the various objects, their data,
behavior, and interactions. The design model should have all the details required so that
programmers can implement the design in code.

8.2 System Security

Security is a critical stage in system development. Even candidate system must provide
built-in features for security and integrity of data. Without safe guards against
unauthorized access, fraud, embezzlement, fire and natural disaster, a system could be
so vulnerable as to threaten the survival of the organizations.
36

To do an adequate job on security, the risk, exposure, cost and specific measures such
as password should be analyzed to provide protection. In addition, back up of copies of
software and recovery restart procedures must be available when needed.

The amount of protection depends on the sensitivity of data, the reliability of the user
and the complexity of the system. The motive behind security is to keep the
organization running, protect data as an asset and seek management support for more
installations.

8.3 System Security Measures

After system security risk has been evaluated, the next step is to select security
measures. The measures are

 Identification
 Access Control
 Audit Control
 System Integrity

8.3.1 Identification

It is the scheme of identifying person to the system based on “Something you know”
such as a password or a picture badge, “Something you are” such as finger print or
voice print or “Something you have” such as credit card, key or special terminal.

8.3.2 Access Control

Controlling the access to the computer facility is secured through encoded cards or
similar devices. Encryption prevents intruders from accessing data by scrambling
messages across telephones to the destination. The goal of the analysis phase is to
create a functional model of the system regardless of constraints such as appropriate
technology. In object-oriented analysis this is typically done via use cases and abstract
definitions of the most important objects.
37

8.3.3 Audit Control

Auditing must be supported at all levels of management. Audit control protects a system
from external security breaches and internal fraud or embezzlement. Various software
programs are available to help in audit function.

8.3.4 System Integrity

The line of different safeguards the functioning of hardware, software and physical
security and operating procedure. Proper back of hardware and software are extremely
important.

9. SYSTEM IMPLEMENTATION

System implementation is the important stage of project when the theoretical design is
tunes into practical system. The main stages in the implementation are as follows:

 Planning
 Training
 System testing and
 Changeover planning

9.1 Planning :

Planning is the first task in the system implementation. Planning is deciding on the
method and the time scale to be adapted. At the time of implementation of any system
people from different departments and system analysis involve. They are confirmed to
practical problem of controlling various activities of people outside their own data
processing departments. The line manager controlled through an implementation co-
ordinate committee. The committee consists of ideas, Problems and complaints of user
38

department. It must also consider the implementation of system environment.The line


manager controlled through an implementation co-ordinate committee. They are
confirmed to practical problem of controlling various activities of people outside.

 Self selection and allocation for implementation tasks.


 Consultation with unions and resources available.
 Standby facilities and channels of communication.

9.2 Training

The personnel in the system must know in detail what their roles will be, how they can
use the system, and what the system will or will not do. The success or failure of
welldesigned and technically elegant systems can depend on the way they are
operated and used.

9.2.1 Training Systems Operators

Systems operators must be trained properly such that they can handle all possible
operations, both routine and extraordinary. The operators should be trained in what
common malfunctions may occur, how to recognize them, and what steps to take when
they come.

Training involves creating troubleshooting lists to identify possible problems and


remedies for them, as well as the names and telephone numbers of individuals to
contact when unexpected or unusual problems arise.

Training also involves familiarization with run procedures, which involves working
through the sequence of activities needed to use a new system.

9.2.2 Training Guidelines

 Establishing measurable objectives


 Using appropriate training methods
39

 Selecting suitable training sites


 Employing understandable training materials

9.3 System Testing

System testing is an essential step for the development of a reliable and error-
freesystem. Once source code has been generated, software must be tested to uncover
andcorrect as many errors as possible before delivery to your customer. Your
goal is todesign a series of test cases that have a high likelihood finding
errors but how, thereare different methods that provides a systematic guidance for
designing tests that,Exercise the internal logic of software components,
andE xe r c i s e t h e i n p u t a n d
o u t p u t d o m a i n s o f t h e p r o g r a m t o u n c o v e r e r r o r s i n t h e program function,
behaviour, and performance

9.4 Changeover planning

In manufacturing, changeover is the process of converting a line or machine from


running one product to another. Changeover times can last from a few minutes to as
much as several weeks in the case of automobile manufacturers retooling for new
models. The terms set-upand changeover are sometimes used interchangeably
however this usage is incorrect. Set-up is only one component of changeover.
Example: A soft drink bottler may run 16oz glass bottles one day, perform a
changeover on the line and then run 20oz plastic bottles the next day.

The three ups :

Clean-up

Clean-up product, materials and components from the line. It may range from minor, if
only the label of a package is being changed (for example from an English to
a Spanish label) to major, requiring complete disassembly of the equipment, cleaning
40

and sterilizing of the line components in the case of an injectable pharmaceutical


product.

Set-up

Set-up is the process of actually converting the equipment. This may be achieved by
adjusting the equipment to correspond to the next product or by changing non-
adjustable "change parts" to accommodate the product. Typically it will be a
combination of both.

Start-up

Start-up is the time spent fine tuning the equipment after it has been restarted. It is
characterized by frequent stoppages, jams, quality rejects and other problems. It is
generally caused by variability in the clean-up and set-up or by variability in the product
or its components.
41

10. CONCLUSION

The system is completely menu driven and extremely user friendly since it is developed
in an efficient front end tools and FXML. Appropriate error messages are also provided
too guide the user in a proper and user friendly manner.

The software “Employee Management System” has been developed in windows 2010
environment using FXML+CSS as front end and ORACLE as back end. Time
consumptions reduced to a great extent and user as less complexity in handling it
database.

The project is fully fledged and user friendly, End users will be lightened in using it
software because it is easy to have many employee related utilities and mostly all
contents to be entered are to selected from combo box and textfields. It reduces the
calculating efforts to be carried out by the user.
42

11. SCOPE FOR FURTHER ENHANCEMENT

Further expansion of the system also can be done in future if needed. The application
can be enhanced in the future with the needs of the organization. The database and the
information can be updated to the latest forthcoming versions.

There are also possibilities for enhancing and further developing the project with
customized reports according to the latest information and needs of the company. Thus
the system can be altered in accordance with the future requirements and
advancements. System performance evaluation must be monitored not only to
determine whether or not they perform as plan but also to determine if they should have
to meet changes in the information needed for the company.

The performance of the system will be evaluated to determine whether system achieves
the results that are expected and whether the predicted benefits of the system are
realized.
43

12. BIBLIOGRAPHY :

12.1 REFERENCE BOOKS :

 No book was used as referenc during development of this desktop application.

12.2 REFERENCE WEBSITES :

 www.stackoverflow.com
 www.flaticon.com
 www.materialui.co
 www.youtube.com/durgasoft
 www.github.com //Few legends,unfortunately I don’t remember their names.
44

13. SNAPSHOTS OF REPORTS/OUTPUTS/FORMS/DESIGNS

13.1 Login view :

Pic : 1
45

13.2 Home view :

PIC : 2
46

13.3 Employee View :

Pic : 4
47

13.4 Employee table View :

Pic : 4
48

13.5 Add new employee :

Pic : 5
49

13.6 Update Employee view

PIC : 6
50

13.7 Search View :

Pic : 7
51

13.8 Remove Employee View

PIC : 8
52

13.9 Employee Attendance View :

Pic : 9
53

13.10 Employee salary view :

PIC : 10
54

14. CODING

Our coding section is devided into 3 parts:

 FXML code for user interface development.


 Java code.
 Cascading style sheets.

14.1 FXML code for user interface development

14.1.1 Code for login panel design:

?xml version="1.0" encoding="UTF-8"?>

<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXCheckBox?>
<?import com.jfoenix.controls.JFXPasswordField?>
<?import com.jfoenix.controls.JFXTextField?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane id="AnchorPane" prefHeight="435.0" prefWidth="745.0"


xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="empmanagment.FXMLDocumentController">
<children>
<AnchorPane layoutX="14.0" layoutY="20.0" prefHeight="435.0" prefWidth="289.0"
style="-fx-background-color: #B22222;" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
55

<FontAwesomeIconView fill="#d7cdcd" glyphName="USER_CIRCLE" layoutX="93.0"


layoutY="185.0" size="100" wrappingWidth="40.0" />
<Label fx:id="adminLbl" layoutX="68.0" layoutY="219.0" prefHeight="30.0"
prefWidth="192.0" text="Admin Login" textFill="#ebeaea">
<font>
<Font name="Book Antiqua" size="26.0" />
</font>
</Label>
</children>
</AnchorPane>
<AnchorPane id="anchorBackground" layoutX="289.0" prefHeight="435.0"
prefWidth="456.0">
<children>
<JFXTextField fx:id="usernameTextField" focusColor="FIREBRICK" layoutX="84.0"
layoutY="166.0" prefHeight="34.0" prefWidth="289.0" promptText="Username"
unFocusColor="#4d4d4d">
<font>
<Font name="Calibri Bold" size="17.0" />
</font>
</JFXTextField>
<JFXPasswordField fx:id="pwdTextField" focusColor="FIREBRICK" layoutX="84.0"
layoutY="231.0" prefHeight="25.0" prefWidth="289.0" promptText="Password">
<font>
<Font name="Calibri Bold" size="17.0" />
</font>
</JFXPasswordField>
<FontAwesomeIconView fill="FIREBRICK" glyphName="LOCK" layoutX="200.0"
layoutY="139.0" size="70" wrappingWidth="27.285715103149414" />
<JFXButton fx:id="loginBtn" layoutX="171.0" layoutY="330.0" onAction="#onLoginClick"
prefHeight="34.0" prefWidth="115.0" style="-fx-background-color: #B22222;"
text="Login" textFill="WHITE" />
56

<JFXCheckBox fx:id="showPassCheckBox" layoutX="75.0" layoutY="283.0"


onAction="#onShowPassClick" text="Show Password">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXCheckBox>
</children>
</AnchorPane>
</children>
</AnchorPane>

14.1.2 Code for employee module:

<?xml version="1.0" encoding="UTF-8"?>

<?import com.jfoenix.controls.JFXButton?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane id="anchorBackground" prefHeight="693.0" prefWidth="800.0"


xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="empmanagment.EmployeeController">
<children>
<AnchorPane layoutX="24.0" layoutY="24.0" prefHeight="120.0" prefWidth="800.0"
style="-fx-background-color: #B22222;" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<FontAwesomeIconView fill="#e1d6d6" glyphName="USERS" layoutX="21.0"
layoutY="87.0" size="80" wrappingWidth="86.85713958740234" />
57

<Label fx:id="empLbl" layoutX="123.0" layoutY="66.0" prefHeight="30.0"


prefWidth="121.0" text="Employees" textFill="#ebe8e8">
<font>
<Font name="Book Antiqua Bold" size="22.0" />
</font>
</Label>
<JFXButton fx:id="backBtn" graphicTextGap="7.0" layoutX="643.0" layoutY="66.0"
onAction="#onBackClick" prefHeight="30.0" prefWidth="111.0" text="Back"
textFill="#f2f2f2">
<font>
<Font name="System Bold" size="12.0" />
</font>
<graphic>
<FontAwesomeIconView fill="#ddd9d9" glyphName="ANGLE_DOUBLE_LEFT"
size="20" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="45.0" layoutY="181.0" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="181.0">
<children>
<JFXButton fx:id="empTableBtn" contentDisplay="TOP" layoutX="70.0" layoutY="49.0"
onAction="#onEmpTableClick" prefHeight="204.0" prefWidth="191.0" style="-fx-
background-radius: 10 10 10 10;" text="Employees" textFill="FIREBRICK"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="23.0" />
</font>
58

<graphic>
<FontAwesomeIconView fill="FIREBRICK" glyphName="USERS" size="80" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="303.0" layoutY="181.0" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="181.0">
<children>
<JFXButton fx:id="addEmpBtn" contentDisplay="TOP" layoutX="70.0" layoutY="49.0"
onAction="#onAddEmpClick" prefHeight="204.0" prefWidth="191.0" style="-fx-
background-radius: 10 10 10 10;" text="Add Employee" textFill="FIREBRICK"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="23.0" />
</font>
<graphic>
<FontAwesomeIconView fill="FIREBRICK" glyphName="USER_PLUS" size="80" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="557.0" layoutY="181.0" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="181.0">
<children>
<JFXButton fx:id="updateEmpBtn" contentDisplay="TOP" layoutX="70.0"
layoutY="49.0" onAction="#onUpdateEmpClick" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-radius: 10 10 10 10;" text="Update" textFill="FIREBRICK"
59

AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="23.0" />
</font>
<graphic>
<FontAwesomeIconView fill="FIREBRICK" glyphName="COGS" size="80" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="45.0" layoutY="420.0" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="420.0">
<children>
<JFXButton fx:id="searchEmpClick" contentDisplay="TOP" layoutX="70.0"
layoutY="49.0" onAction="#onSearchEmpClick" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-radius: 10 10 10 10;" text="Search" textFill="FIREBRICK"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="23.0" />
</font>
<graphic>
<FontAwesomeIconView fill="FIREBRICK" glyphName="SEARCH" size="80" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
60

<AnchorPane layoutX="305.0" layoutY="420.0" prefHeight="204.0" prefWidth="191.0"


style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="420.0">
<children>
<JFXButton fx:id="deleteEmp" contentDisplay="TOP" layoutX="70.0" layoutY="49.0"
onAction="#onDeleteEmpClick" prefHeight="204.0" prefWidth="191.0" style="-fx-
background-radius: 10 10 10 10;" text="Delete Employees" textFill="FIREBRICK"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="20.0" />
</font>
<graphic>
<FontAwesomeIconView fill="FIREBRICK" glyphName="USER_TIMES" size="80" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="557.0" layoutY="420.0" prefHeight="204.0" prefWidth="191.0"
style="-fx-background-color: #D3D3D3; -fx-background-radius: 10 10 10 10;"
AnchorPane.topAnchor="420.0">
<children>
<JFXButton fx:id="homeBtn" contentDisplay="TOP" layoutX="70.0" layoutY="49.0"
onAction="#onHomeClick" prefHeight="204.0" prefWidth="191.0" style="-fx-
background-radius: 10 10 10 10;" text="Home" textFill="FIREBRICK"
AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<font>
<Font size="23.0" />
</font>
<graphic>
61

<FontAwesomeIconView fill="FIREBRICK" glyphName="HOME" size="80" />


</graphic>
</JFXButton>
</children>
</AnchorPane>
<AnchorPane layoutX="22.0" layoutY="281.0" prefHeight="30.0" prefWidth="709.0"
style="-fx-background-color: #B22222;" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" />
</children>
</AnchorPane>

14.1.3 Code for Employee attendace

<?xml version="1.0" encoding="UTF-8"?>

<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextField?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane id="anchorBackground" prefHeight="609.0" prefWidth="609.0"


xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="empmanagment.AttendanceController">
<children>
<AnchorPane layoutY="7.0" prefHeight="118.0" prefWidth="609.0" style="-fx-
background-color: #B22222;" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
62

<FontAwesomeIconView fill="#e1d6d6" glyphName="CALENDAR_CHECK_ALT"


layoutX="22.0" layoutY="87.0" size="80" wrappingWidth="86.85713958740234" />
<Label fx:id="attLbl" layoutX="107.0" layoutY="68.0" prefHeight="30.0"
prefWidth="121.0" text="Attendance" textFill="#ebe8e8">
<font>
<Font name="Book Antiqua Bold" size="22.0" />
</font>
</Label>
<JFXButton fx:id="backBtn" graphicTextGap="7.0" layoutX="486.0" layoutY="68.0"
onAction="#onBackClick" prefHeight="30.0" prefWidth="111.0" text="Back"
textFill="#f2f2f2">
<font>
<Font name="System Bold" size="12.0" />
</font>
<graphic>
<FontAwesomeIconView fill="#ddd9d9" glyphName="ANGLE_DOUBLE_LEFT"
size="20" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<JFXTextField fx:id="empIdTxtField" focusColor="#ae2b28" layoutX="183.0"
layoutY="192.0" onAction="#onEmpIdTxtFieldClick" prefHeight="25.0"
prefWidth="244.0" promptText="Employee ID" AnchorPane.leftAnchor="183.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="nameTxtField" focusColor="#ae2b28" layoutX="183.0"
layoutY="256.0" prefHeight="25.0" prefWidth="244.0" promptText="Name of employee"
AnchorPane.leftAnchor="183.0">
63

<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="empDeptTxtField" focusColor="#ae2b28" layoutX="183.0"
layoutY="324.0" prefHeight="25.0" prefWidth="244.0" promptText="Employee
department" AnchorPane.leftAnchor="183.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="dateOfBirthTxtField" focusColor="#ae2b28" layoutX="183.0"
layoutY="398.0" prefHeight="25.0" prefWidth="244.0" promptText="Date of birth"
AnchorPane.leftAnchor="183.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXButton fx:id="addAttendanceBtn" layoutX="183.0" layoutY="457.0"
onAction="#onAddAttendanceclick" prefHeight="45.0" prefWidth="195.0" style="-fx-
background-color: #B22222;" text="Add Attendance" textFill="#ebe9e9">
<font>
<Font name="System Bold" size="17.0" />
</font>
</JFXButton>
<JFXButton fx:id="refreshClick" layoutX="183.0" layoutY="516.0"
onAction="#onRefreshCick" prefHeight="45.0" prefWidth="195.0" style="-fx-
background-color: #B22222;" text="Refresh" textFill="#ebe9e9">
<font>
<Font name="System Bold" size="17.0" />
</font>
64

</JFXButton>
</children>
</AnchorPane>

14.1.4 Code for Employee Salary UI

<?xml version="1.0" encoding="UTF-8"?>

<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextField?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane id="anchorBackground" prefHeight="609.0" prefWidth="609.0"


xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="empmanagment.SalaryController">
<children>
<AnchorPane layoutY="7.0" prefHeight="118.0" prefWidth="609.0" style="-fx-
background-color: #B22222;" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<FontAwesomeIconView fill="#e1d6d6" glyphName="RUPEE" layoutX="24.0"
layoutY="101.0" size="80" wrappingWidth="51.857139587402344" />
<Label fx:id="salLbl" layoutX="83.0" layoutY="68.0" prefHeight="30.0"
prefWidth="121.0" text="Salary" textFill="#ebe8e8">
<font>
<Font name="Book Antiqua Bold" size="22.0" />
</font>
</Label>
65

<JFXButton fx:id="backBtn" graphicTextGap="7.0" layoutX="486.0" layoutY="68.0"


onAction="#onBackClick" prefHeight="30.0" prefWidth="111.0" text="Back"
textFill="#f2f2f2">
<font>
<Font name="System Bold" size="12.0" />
</font>
<graphic>
<FontAwesomeIconView fill="#ddd9d9" glyphName="ANGLE_DOUBLE_LEFT"
size="20" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
<JFXTextField fx:id="empIdTxtField" focusColor="#ae2b28" layoutX="182.0"
layoutY="145.0" onAction="#onEmpIdTxtFieldClick" prefHeight="25.0"
prefWidth="244.0" promptText="Employee ID" AnchorPane.leftAnchor="182.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="BasicTxtField" focusColor="#ae2b28" layoutX="182.0"
layoutY="200.0" prefHeight="25.0" prefWidth="244.0" promptText="Basic"
AnchorPane.leftAnchor="182.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="DepartmentalallTxtField" focusColor="#ae2b28" layoutX="182.0"
layoutY="310.0" prefHeight="25.0" prefWidth="244.0" promptText="Departmental
Allowance" AnchorPane.leftAnchor="182.0">
<font>
66

<Font name="System Bold" size="12.0" />


</font>
</JFXTextField>
<JFXTextField fx:id="DeskAllowanceTxtField" focusColor="#ae2b28" layoutX="182.0"
layoutY="367.0" prefHeight="25.0" prefWidth="244.0" promptText="Desk Allowance"
AnchorPane.leftAnchor="182.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXButton fx:id="updateSalaryBtn" layoutX="183.0" layoutY="483.0"
onAction="#onUpdateSalaryClick" prefHeight="45.0" prefWidth="195.0" style="-fx-
background-color: #B22222;" text="Update Salary" textFill="#ebe9e9"
AnchorPane.leftAnchor="195.0">
<font>
<Font name="System Bold" size="17.0" />
</font>
</JFXButton>
<JFXButton fx:id="refreshClick" layoutX="183.0" layoutY="542.0"
onAction="#onRefreshCick" prefHeight="45.0" prefWidth="195.0" style="-fx-
background-color: #B22222;" text="Refresh" textFill="#ebe9e9"
AnchorPane.leftAnchor="195.0">
<font>
<Font name="System Bold" size="17.0" />
</font>
</JFXButton>
<JFXTextField fx:id="HRAtxtField1" focusColor="#ae2b28" layoutX="182.0"
layoutY="253.0" prefHeight="25.0" prefWidth="244.0" promptText="House Rent
Allowance (HRA)" AnchorPane.leftAnchor="182.0">
<font>
<Font name="System Bold" size="12.0" />
67

</font>
</JFXTextField>
<JFXTextField fx:id="PersonalAllowanceTxtField1" focusColor="#ae2b28"
layoutX="183.0" layoutY="421.0" prefHeight="25.0" prefWidth="244.0"
promptText="Personal Allowance">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXButton fx:id="addBtn" layoutX="474.0" layoutY="148.0"
onAction="#onAddSalaryClick" prefHeight="45.0" prefWidth="111.0" style="-fx-
background-color: #B22222;" text="Add" textFill="#ebe9e9">
<font>
<Font name="System Bold" size="17.0" />
</font>
</JFXButton>
</children>
</AnchorPane>

14.1.5 Code for Updating Employee details :

<?xml version="1.0" encoding="UTF-8"?>

<?import com.jfoenix.controls.JFXButton?>
<?import com.jfoenix.controls.JFXTextArea?>
<?import com.jfoenix.controls.JFXTextField?>
<?import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
68

<AnchorPane id="anchorBackground" prefHeight="611.0" prefWidth="720.0"


xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="empmanagment.UpdateEmpController">
<children>
<AnchorPane layoutX="164.0" layoutY="93.0" prefHeight="95.0" prefWidth="471.0"
style="-fx-background-color: #B22222;" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<children>
<FontAwesomeIconView fill="#f8f6f6" glyphName="COGS" layoutX="25.0"
layoutY="73.0" size="70" />
<Label fx:id="updateLbl" layoutX="113.0" layoutY="48.0" prefHeight="30.0"
prefWidth="207.0" text="Update Employee" textFill="#ebe8e8">
<font>
<Font name="Book Antiqua Bold" size="22.0" />
</font>
</Label>
<JFXButton fx:id="backBtn" graphicTextGap="7.0" layoutX="582.0" layoutY="52.0"
onAction="#onBackBtnClick" prefHeight="30.0" prefWidth="111.0" text="Back"
textFill="#f2f2f2">
<font>
<Font name="System Bold" size="12.0" />
</font>
<graphic>
<FontAwesomeIconView fill="#ddd9d9" glyphName="ANGLE_DOUBLE_LEFT"
size="20" />
</graphic>
</JFXButton>
</children>
</AnchorPane>
69

<AnchorPane layoutX="14.0" layoutY="468.0" prefHeight="33.0" prefWidth="656.0"


style="-fx-background-color: #B22222;" AnchorPane.bottomAnchor="0.0"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" />
<JFXTextField fx:id="empIdTextField" focusColor="#d35a21" layoutX="50.0"
layoutY="129.0" onAction="#onEmpIdTxtFieldCick" prefHeight="17.0"
prefWidth="257.0" promptText="Employee ID" AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="dptTxtField" focusColor="#d35a21" layoutX="50.0"
layoutY="181.0" prefHeight="17.0" prefWidth="257.0" promptText="Department"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="nameTxtField" focusColor="#d35a21" layoutX="49.0"
layoutY="235.0" prefHeight="17.0" prefWidth="257.0" promptText="Name"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="mobNoTxtField" focusColor="#bf2f2a" layoutX="49.0"
layoutY="412.0" prefHeight="17.0" prefWidth="257.0" promptText="Mobile number"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font></JFXTextField>
70

<JFXTextField fx:id="emailIdTxtField" focusColor="#d35a21" layoutX="406.0"


layoutY="129.0" prefHeight="17.0" prefWidth="257.0" promptText="Email ID"
AnchorPane.leftAnchor="406.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="salaryTxtField" focusColor="#d35a21" layoutX="406.0"
layoutY="181.0" prefHeight="17.0" prefWidth="257.0" promptText="Salary"
AnchorPane.leftAnchor="406.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="roleTxtField" focusColor="#d35a21" layoutX="406.0"
layoutY="235.0" prefHeight="17.0" prefWidth="257.0" promptText="Role"
AnchorPane.leftAnchor="406.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextArea fx:id="homeAddTextArea" focusColor="#c23621" layoutX="406.0"
layoutY="296.0" prefHeight="153.0" prefWidth="268.0" promptText="Postal home
address" AnchorPane.leftAnchor="406.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextArea>
<JFXButton fx:id="updateBtn" layoutX="570.0" layoutY="537.0"
onAction="#onUpdateClick" prefHeight="33.0" prefWidth="104.0" style="-fx-
background-color: #B22222;" text="Update" textFill="WHITE">
71

<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXButton>
<JFXTextField fx:id="totalAttendanceTxtField" focusColor="#bf2f2a" layoutX="49.0"
layoutY="468.0" prefHeight="17.0" prefWidth="257.0" promptText="Total attendance"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="dateOfJoinTxtField" focusColor="#bf2f2a" layoutX="407.0"
layoutY="480.0" prefHeight="25.0" prefWidth="268.0" promptText="Date of Joining">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="genderr" focusColor="#d35a21" layoutX="50.0" layoutY="293.0"
prefHeight="17.0" prefWidth="257.0" promptText="Name" text="Gender"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
<JFXTextField fx:id="dob" focusColor="#d35a21" layoutX="50.0" layoutY="348.0"
prefHeight="17.0" prefWidth="257.0" promptText="Name" text="Date of birth"
AnchorPane.leftAnchor="49.0">
<font>
<Font name="System Bold" size="12.0" />
</font>
</JFXTextField>
72

</children>
</AnchorPane>

You might also like