Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Submitted in partial fulfilment of the requirements for the award of the degree
of
BACHELOR OF TECHNOLOGY
in
by
Guided by
1
CANDIDATE’S DECLARATION
It is hereby certified that the work which is being presented in the B. Tech Industrial Training Report entitled
"EMPLOYEE TRACKING SYSTEM" in partial fulfilment of the requirements for the award of the
degree of Bachelor of Technology and submitted in the Department of Computer Science & Engineering
of Dr. Akhilesh Das Gupta Institute of Technology & Management, New Delhi (Affiliated to Guru
Gobind Singh Indraprastha University, Delhi)is an authentic record of our own work carried out during a
period from July 2018 to August 2018 under the guidance of Mukesh Badhwar(Senior Manager-IT) HCL
Services Ltd(A Subsidiary of HCL INFOSYSTEM LTD).
The matter presented in the B. Tech Industrial Training Report has not been submitted by me for the award
of any other degree of this or any other Institute.
(ISHAN SINHA)
(En No: 35196207216)
ABSTRACT
The main goal of application is to allocate tasks to team members or employees. The tasks
are basically allotted by team leaders. The application deals with the allocation of task and
task details. This application is developed and written in Core java and Advance java.
An ETS system is an application which track the tasks of the employees where they have
completed it in given time deadline or not and this application also allot tasks to employees.
The tasks are allotted by the team leader who gives each and every task details to
employees or team members. In this application every operation is done by the dashboards.
A dashboard is a heterogeneous set of buttons where each and every control is embedded
on the J-Form.
The dashboard has each and every control about the task allocations, task details and task
details alteration. The dashboard is attached with different J-Forms like Assign Task, Edit
Task, Add Employee and Delete Employee etc. There are different kind of J-Forms which
perform different operations in this application. Broadly we can say that this application is
the set of heterogeneous J-Forms which perform different operations according to the code
attached with it.
NetBeans IDE 8.2 is used to develop this desktop application using database SQLite. This
is a simple application which perform all tasks and controlling this application is easy. The
User interface of this application is very much easy and simplified.
ACKNOWLEDGEMENT
I would like to express my deep gratitude to Dr. Saurabh Gupta, Head of the Department (HOD,
Department of Computer Science, Dr.Akhilesh Das Gupta Institute of Technology And Management, New
Delhi) for allowing me to undergo the internship of 30 days at HCL INFOSYSTEM LTD .
Last but not least, I pay my sincere thanks and gratitude to all the Staff Members and my Guide there
Mukesh Badhwar (Senior Manager-IT) HCL Services Ltd(A Subsidiary of HCL INFOSYSTEM LTD).
for their support and for making my internship valuable and fruitful.
(ISHAN SINHA)
(En. No: 35196207216)
TABLE OF CONTENTS
CANDIDATE DECLARATION i
ABSTRACT ii
ACKNOWLEDGEMENT iii
TABLE OF CONTENTS iv-v
LIST OF FIGURES vi
LIST OF TABLES vii
1.1 Description 1
1.2 Motivation 1
1.3 Objective 2
1.4 Summary of Project 3
2.1 JAVA 4
2.1.1 History 4
2.1.2 Features 5
2.1.3 Runtime environment 6
2.1.4 Architecture 7
2.1.5 Paradigm 11
2.2 NetBeans 11
2.2.1 Platform 12
2.2.2 Features 12
2.3 SQLite 13
2.3.1 Description 13
2.3.2 Features 13
Chapter 5: Conclusion 32
LIST OF FIGURES
1.1 DESCRIPTION
An ETS is an application which track the tasks of the employees where they have
completed it in given time deadline or not and this application also allot tasks to
employees. The tasks are allotted by the team leader who gives each and every task
details to employees or team members.
In this application every operation is done by the dashboards. A dashboard is a
heterogeneous set of buttons where each and every control is embedded on the J-
Form.
The dashboard has each and every control about the task allocations, task details and
task details alteration.
The dashboard is attached with different J-Forms like Assign Task, Edit Task, Add
Employee and Delete Employee etc.
There are different kind of J-Forms which perform different operations in this
application.
Broadly we can say that this application is the set of heterogeneous J-Forms
which perform different operations according to the code attached with it.
1.2 MOTIVATION
Nowadays with the increasing popularity of the concept “Work from Home”, this
results in a need to remotely track the working of an employee by the management.
Moreover, it is impossible to for the management to provide constant supervision to
each and every employee. With ETS the management can track every activity, along
with the effective number of working hours of an employee. Along with that, ETS
can also be used by the employees to inform and update the management on any
particular task.
There a need for ETS to improve communication between the management and
the employees of any organization.
Related Work
Many applications have been developed which helps in tracking the work of
employees.
Timer- Timer tracks your working time and project time on-the-go.
Your remote workers can begin tracking their time even when on
the move by simply pushing a button.
1.3 OBJECTIVE
The main objective of the application is to build a platform for easy communication between
the Leader and the employee of any organization for it’s smooth operations.
Along with that, there are some more additional objectives given as follows –
● Assign Task:- This module is used to assign the task to the employee.
● Keep record of employees as well as track them:- This application helps to track
the work of employee as well as record that.
● Check the status of tasks:- It also helps to check the status of tasks assigned to
the employee.
● Delete employee:- When the leader wants to remove an employee from the
project then he/she can delete the employee.
● Leader can view the Employee details with the help of ID no. of the employee.
● Edit Employee Details along with task details:- It also helps to edit the task
details of the employee.
● Employee can update the status of the task completion along with that can add
comment on a specific task which the leader can see.
This project dealt with the user’s needs and expectations for the new system.
The next project deals with requirements analysis that is requirements needed to
solve the problem being faced by many employees.
An employee tracking system will be the best solution for the problem. It will
provide easy online access to the employees that are currently at work and what they
are working on.
Also easy to allocate jobs to the employees that are done with what they were
doing. The system will provide quick and reliable access to the running of the
business saving the manager a whole lot of time and money.
CHAPTER 2: TECHNOLOGIES
2.1 JAVA
Java is a programming language and a platform. Java is a high level, robust,
object-oriented and secure programming language.
Platform: Any hardware or software environment in which a program runs, is
known as a platform. Since Java has a runtime environment (JRE) and API, it is
called a platform.
Java is a programming language that produces software for multiple platforms.
When a programmer writes a Java application, the compiled code (known as
bytecode) runs on most operating systems (OS), including Windows, Linux and Mac
OS. Java derives much of its syntax from the C and C++ programming languages.
2.1.1 HISTORY
Java language was developed by James Gosling and his team at sun micro
system and released formally in 1995. Its former name is oak. Java Development Kit
1.0 was released in 1996 to popularize java and is freely available on Internet.
Java was originally designed for interactive television, but it was too advanced
technology for the digital cable television industry at the time. The history of java
starts with Green Team. Java team members (also known as Green Team), initiated
this project to develop a language for digital devices such as set-top boxes,
televisions, etc. However, it was suited for internet programming. Later, Java
technology was incorporated by Netscape.
The principles for creating Java programming were "Simple, Robust, Portable,
Platform-independent, Secured, High Performance, Multithreaded, Architecture
Neutral, Object-Oriented, Interpreted and Dynamic".
Currently, Java is used in internet programming, mobile devices, games, e-
business solutions, etc.
2.1.2 FEATURES
● Java is portable architecture neutral that is java programs once compiled can be
executed on any machine that is enabled.
● Java supports multithreading. There for different parts of the program can be
executed at the same time.
Figure 2.1: Features of JAVA
2.1.4 ARCHITECTURE
Java architecture provides a portable, robust, high performing environment for
development. Java provides portability by compiling the byte codes for the java
virtual machine which are then interpreted on each platform by the runtime
environment .java also provides stringent compile and runtime checking and
automatic memory management in order to ensure solid code.
As shown in the above architecture diagram, the JVM is divided into three main
subsystems:
● Boot strap ClassLoader – Responsible for loading classes from the bootstrap
classpath, nothing but rt.jar. Highest priority will be given to this loader.
● Extension ClassLoader – Responsible for loading classes which are inside
the ext folder (jre\lib).
● Application ClassLoader –Responsible for loading Application Level
Classpath, path mentioned Environment Variable etc.
The above Class Loaders will follow Delegation Hierarchy Algorithm while
loading the class files.
1.2 Linking
1.3 Initialization
This is the final phase of Class Loading, here all static variables will be
assigned with the original values, and the static block will be executed.
2. Runtime Data Area
The Runtime Data Area is divided into 5 major components:
● Method Area – All the class level data will be stored here, including static
variables. There is only one method area per JVM, and it is a shared resource.
● Heap Area – All the Objects and their corresponding instance variables and
arrays will be stored here. There is also one Heap Area per JVM. Since
the Method and Heap areas share memory for multiple threads, the data stored
is not thread-safe.
● Stack Area – For every thread, a separate runtime stack will be created. For
every method call, one entry will be made in the stack memory which is called
as Stack Frame. All local variables will be created in the stack memory. The
stack area is thread-safe since it is not a shared resource.
● Local Variable Array – Related to the method how many local variables are
involved and the corresponding values will be stored here.
● Operand stack – If any intermediate operation is required to perform,
operand stack acts as runtime workspace to perform the operation.
● Frame data – All symbols corresponding to the method is stored here. In the
case of any exception, the catch block information will be maintained in the
frame data.
● PC Registers – Each thread will have separate PC Registers, to hold the
address of current executing instruction once the instruction is executed the
PC register will be updated with the next instruction.
● Native Method stacks – Native Method Stack holds native method
information. For every thread, a separate native method stack will be created.
3. Execution Engine
The bytecode which is assigned to the Runtime Data Area will be executed by the
Execution Engine. The Execution Engine reads the bytecode and executes it piece
by piece.
● Interpreter – The interpreter interprets the bytecode faster, but executes slowly.
The disadvantage of the interpreter is that when one method is called multiple
times, every time a new interpretation is required.
● JIT Compiler – The JIT Compiler neutralizes the disadvantage of the
interpreter. The Execution Engine will be using the help of the interpreter in
converting byte code, but when it finds repeated code it uses the JIT compiler,
which compiles the entire bytecode and changes it to native code. This native
code will be used directly for repeated method calls, which improve the
performance of the system.
● Intermediate Code generator – Produces intermediate code
● Code Optimizer – Responsible for optimizing the intermediate code generated
above
● Target Code Generator – Responsible for Generating Machine Code or Native
Code
● Profiler – A special component, responsible for finding hotspots, i.e. whether
the method is called multiple times or not.
● Garbage Collector: Collects and removes unreferenced objects. Garbage
Collection can be triggered by calling System.gc(), but the execution is not
guaranteed. Garbage collection of the JVM collects the objects that are
created.
Java Native Interface (JNI): JNI will be interacting with the Native Method
Libraries and provides the Native Libraries required for the Execution Engine.
Native Method Libraries: This is a collection of the Native Libraries which is
required for the Execution Engine.
2.1.5 PARADIGM
● Dynamic down loading applets(small application programs);
that user needs at a time. The remaining features of a product can remain in the
server.
● Changing economic model of the software
2.2 NETBEANS
NetBeans is an integrated development environment (IDE) for Java. NetBeans
allows applications to be developed from a set of modular software
components called modules. NetBeans runs on Microsoft
Windows, macOS, Linux and Solaris. In addition to Java development, it has
extensions for other languages like PHP, C, C++, HTML5, and Javascript.
Applications based on NetBeans, including the NetBeans IDE, can be extended
by third party developers.
2.2.1 PLATFORM
The NetBeans Platform is a framework for simplifying the development of Java
Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is
needed to start developing NetBeans plugins and NetBeans Platform based
applications; no additional SDK is required.
Applications can install modules dynamically. Any application can include the
Update Center module to allow users of the application to download digitally
signed upgrades and new features directly into the running application. Reinstalling
an upgrade or a new release does not force users to download the entire application
again.
The platform offers reusable services common to desktop applications, allowing
developers to focus on the logic specific to their application. Among the features of
the platform are:
2.2.2 FEATURES
NetBeans IDE let you quickly and easily develop Java desktop, mobile, and web
applications, as well as HTML5 applications with HTML, Javascript, and CSS. The
IDE also provides a great set of tools for PHP and C/C++ developers. It is free and
open source and has a large community of users and developers around the world.
The features of NetBeans are as follows:
● Best Support for Latest Java Technologies
● Fast & Smart Code Editing
● Easy & Efficient Project Managemen
● Rapid User Interface Development
● Write Bug Free Code
● Support for Multiple Languages
● Cross Platform Support
● Rich Set of Community Provided Plugins
2.3 SQLITE
SQLite is a relational database management system contained in
a C programming library. In contrast to many other database management systems,
SQLite is not a client–server database engine. Rather, it is embedded into the end
program.
2.3.1 DESCRIPTION
SQLite is ACID-compliant and implements most of the SQL standard, using a
dynamically and weakly typed SQL syntax that does not guarantee the domain
integrity.
SQLite is a popular choice as embedded database software for local/client storage
in application software such as web browsers. It is arguably the most widely
deployed database engine, as it is used today by several widespread
browsers, operating systems, and embedded systems (such as mobile phones), among
others. SQLite has bindings to many programming languages.
SQLite is an in-process library that implements a self-contained, serverless, zero-
configuration, transactional SQL database engine. It is a database, which is zero-
configured, which means like other databases you do not need to configure it in your
system.
SQLite engine is not a standalone process like other databases, you can link it
statically or dynamically as per your requirement with your application. SQLite
accesses its storage files directly.
2.3.2 FEATURES
● SQLite does not require a separate server process or system to operate
(serverless).
● SQLite comes with zero-configuration, which means no setup or administration
needed.
● A complete SQLite database is stored in a single cross-platform disk file.
● SQLite is very small and light weight, less than 400KiB fully configured or less
than 250KiB with optional features omitted.
● SQLite is self-contained, which means no external dependencies.
● SQLite transactions are fully ACID-compliant, allowing safe access from
multiple processes or threads.
● SQLite supports most of the query language features found in SQL92 (SQL2)
standard.
● SQLite is written in ANSI-C and provides simple and easy-to-use API.
● SQLite is available on UNIX (Linux, Mac OS-X, Android, iOS) and Windows
(Win32, WinCE, WinRT).
CHAPTER 3: APPLICATION ARCHITECTURE
LEADER
Registration EMPLOYEE
Verify Emp
Update Status
Details
DATABASE
EmT system contains two entities i.e. Leader and Employee. When the leader adds a
new employee to the project then a login id and password is generated for that
employee. Then the employee has to update the progress of the assigned work. The
leader can observe the progress through the Employee details module.
• Log-In Mechanism.
• Leader Dashboard along with employee Dashboard.
• Database.
In this application, first there is a Welcome page which give user an option to choose
whether he/she is leader or employee.
When user choose one and click on that button it redirects user to that particular log-
in page.
Figure 3.2: Welcome Page
1. Leader:- For the login page of leader, the user should click on leader button.
2. Employee:- For the login of Employee, the user should click on Employee button.
We have two log-in pages first is for leader and second is for employees and these
log-in pages are connected to database and perform security check every time when a
user want to access application.
Figure 3.2.1: Log-In Page of Leader.
Dash-Board are the Panel which contain controls of the application and helps to
perform operations into the application. The main goal of dashboard is to integrate
the controls on one panel rather than scattering the controls on various forms and
panels. A Dashboard can be called as a heterogeneous set of buttons where each and
every buttons have different operations.
In this application we have two kinds of dashboard one is Leader’s dashboard and
the other one is employee’s dashboard.
➢ When the leader log-In then he will be redirected to the leader’s dashboard.
A Leader’s Dashboard contains many buttons. Those buttons helps leader to perform
each and every operations related to employees.
• Add Employee :- The leader click on Add Employee when a new employee needs
to be added.
• Assign Task :- When a task is assigned to existing employee, then click on assign
task button.
• All Record :- To view all the records of Employee, click on All record button.
• Edit Employee Details :- To edit the details of employee, click on Edit Employee
Details button.
• Edit Task Details :- To edit the task details of employee, click on Edit Task
Details button.
Now, further we will be discussing about all these buttons in description one by one
with their real screen shots.
After selecting the Add Employee button, the new Registration page opens.
After the creation of new employee, the employee now needs to be assigned a task.
This is done by an Assign Task module, in which there are ten text fields. All these
text fields tells the employee about the description of the task.
All Task Records fetch the data from the database and show all that data in tabular
form.
All the information about the task registered by the leader to every employee is
shown in this table.
The Leader can search for a particular employee by entering his ID number.
The leader has to enter the ID no. of employee in the ID No. field. Then all the
details of that employee are shown in the dashboard.
The leader can edit the values as per his/her requirements.
If in any case the employee is given an exit call, then it is required to cease
authorization of the employee to access the database.
To do so, we just need to delete the employee record from the database. This is done
by Delete Employee module, in this ID number of the employee along with Task Id
is searched though the data base.
On successful search, the leader is given an option to delete the employee from the
database.
The leader can view all the Employee details such as:
● Id no.
● Name
● Designation
● Task_ID
● Password
The task details of the Employee are also showed in the tabular form to the leader.
The leader can delete the Employee after verifying all the details.
In Edit Task Details, we first have the search the Task we need to make changes to.
● Task Registered By
● Task Auctioneer
● Date
● Time
● Comment
The employees of the organization can be tracked by searching the Task ID, on
successful search, all information regarding the employee is show such as –
● Name
● ID Number
● Designation
● Task Description
● Task Registered by
● Task Actionee
● Starting Date
● Closing Date
● Status
3.4 EMPLOYEE DASHBOARD
➢ When the employee log-In then he will be redirected to the employee’s dashboard.
A Employee dashboard is a panel which contain many buttons which help employee
to perform various useful operations regarding to task and make using this
application easy for employees.
Now, further we will be discussing about all these buttons in description one by one
with their real Screen shots.
Figure 3.4.1: My Task
If an employee wishes to add a comment for a particular task he has been working on
and want to communicate with the leader, then the employee uses Add Comment
feature of the application which directly updates the database.
3.5 DATABASE
A Database is a set of table which contains data about the entity’s. In this application
I have created different tables for saving data of employees and leaders. This is the
main part of application and it have its own importance and role.
To develop this application, SQLite Manager is used as a database. The tables for
Leader, Employees, and their tasks.
About SQLite Manager: It is a powerful database management system for SQLite
databases, it combines an easy to use interface with blazing speed and advanced
features. SQLite Manager allows you to work with a wide range of SQLite 3
databases (like plain databases, in memory databases, AES 128/256/RC4 encrypted
databases, SQL Cipher encrypted database and also with cube SQL server
databases). You can perform basic operations like create and browse tables, views,
triggers and indexes in a very powerful and easy to use GUI. SQLite Manager's
built-in Lua scripting language engine is flexible enough to let you generate reports
or interact with SQLite databases in just about any way you can imagine.
About Tables which stores data of this application:
There are three tables which is working in background to fetch and store data.
1) EmpInfo - It stores all the data about employee with their login Id and passwords.
2) Task-It stores each and every detail about task along with their start date and end
date.
The inputs are to be made by both the leader and the employee. On the leader side,
he is made to create login and create new employee account, view the account with
details of employees.
4.1 USE CASE DIAGRAM
The use case diagram is shown below to demonstrate the working of application:
The password of both the employee and the leader should be kept confidential
to avoid threats.
After the leader has logged in, a new employee account can be created by
clicking on “Add Employee” button, after the creation of new employee, the
employee now needs to be assigned a task. This is done by an Assign Task module,
in which there are ten text fields.
All these text fields tells the employee about the description of the task. All Task
Records fetch the data from the database and show all that data in tabular form.
All the information about the task registered by the leader to every employee is
shown in this table. All Task Records fetch the data from the database and show all
that data in tabular form.
All the information about the task registered by the leader to every employee is
shown in this table.
The Leader can search for a particular employee by entering his ID number. The
details shown will include ID number of the employee, along with his name, task_id,
Designation and password.
If in any case the details of the employee have to be changed, then Edit Employee
Details module is used.
If in any case the employee is given an exit call, then it is required to cease
authorization of the employee to access the database. To do so, we just need to delete
the employee record from the database. This is done by Delete Employee module, in
this ID number of the employee along with Task Id is searched through the database.
On successful search, the leader is given an option to delete the employee from the
database.
In Edit Task Details, we first have the search the Task we need to make changes
to. The employees of the organization can be tracked by searching the Task ID, on
successful search, all information regarding the employee is shown.
After the employee is logged in, the employee can check his Task Details along with
that, the employee can update the status of the task assigned to him. He can update
the status of the work completed by him and if an employee wishes to add a
comment for a particular task he has been working on and want to communicate with
the leader, then the employee uses Add Comment feature of the application which
directly updates the database.
CHAPTER 5: CONCLUSION
Using this system we are able to monitor and track the Employees in the company and thus it
helps the leader to examine each and every employee from and outside of the company also.
The details like Employee details, task details, and assigned task are accessible to the leader
using this system. It helps to increase the output of the company thus getting good position in
the world. The company’s annual growth is increased and the wastage of time is minimized.
It helps to track easily employee's work on a project. It helps to see employee details and
their activities and also reduces the complexity of employee detail maintenance.
With the help of this application, it is easier to check the employees work on a project. The
leader can easily add or delete an employee for a particular project.
The employees as well as leaders are allowed to comment for the task assigned to them.
This application enables the managers to update the overall performance of the employees in
their respective areas.
REFERENCES