Professional Documents
Culture Documents
CHAPTER 1
INTRODUCTION
The counter in the system server gets initialized before starting of a working hour and it
will continue the counting process till the working hour ends. To ensure the presence, an
employee needs to give his fingerprint through his mobile phone’s fingerprint sensor
which will be allowed only after he is in the range of the router. After getting connected
to the router, the counter in the system server will get initialized and it will start counting
the amount of time the device is connected to the router. By accessing the router,
authority of the organization will see the devices connected to the router which implies
the presence of those respective employees. This is a session based log in system. If an
employee is working in an organization for 8 hours, his mobile phone will be randomly
logged out from the system 3/4 times in a day.
CHAPTER 2
LITERATURE SYSTEM
CHAPTER 3
Identify realistic, measurable target values for each service level. These include
service hours, service availability, responsiveness, throughput and reliability. Security
includes defining priority and frequency of backup of data, recovery, fallback and
contingency planning and access restrictions. Access restrictions should deal with what
data needs protected; what data should be restricted to a particular user role; and level of
restriction required, example: - physical, password, view only. Non-functional
requirements may cover the system as a whole or relate to specific functional
requirements.
Availability : The system has to be available anywhere and anytime whenever the user
requires the use of the system. Here we consider the issue of the service level agreement
with various domains in order to embed our system with theirs.
Documentation: The documentation is carried out for every stage in order to summarize
and record the result of every stage since the time the system development was started.
Efficiency: The efficiency of the system is now related in terms of the number of users
able to login. We have not provided the factor of simultaneous login because our system
is built under the cost constraint and this can be further extended and developed.
Failure management: At times of system failure the users may be puzzled about what is
the problem that is taking place in the system. So we have created various exceptions in
order to provide notifications to the users to help them assist and guide them in rectifying
the errors.
Security: We are developing our system with the view of making the password
authentication in various websites and domain. So sufficient security is provided in our
system in order to make it safe for the users usability by target user community.
Safety requirements: Application ensures that it does not download malicious and
infected links from web sites.
Software quality attributes: The source code of the application is going to be open as
this is going to be open source software. It will be free for further modifications and
improvements.
CHAPTER 4
SYSTEM DESIGN
4.1.2. Database
MySQL database is the most widely used open source server to store employee’s
information and the timing of arrival and departure. After registration of the employees
into the system, their identity is tracked by a unique key in MySQL server and is
considered as MAC ADDRESS. In MySQL server, several rows have been allocated for
different employees where they have information like name, employee ID, device’s MAC
ADDRESS (Principle key), Fingerprint sample etc.
4.1.4. Server
PHP is ued as server side scripting language to connect the MySQL database server to the
Android Studio.
4.3. Database
4.3.1. Tables
m_admin
Field Type Null Key Extra
m_employee
m_attendance
CHAPTER 5
UML DIAGRAMS
Figure 5.2. Data Flow Diagram for Android App during Connecting with WI-FI
Figure 5.3. Data Flow Diagram for Android App during Disconnection from WI-FI
CHAPTER 6
IMPLEMENTATION
6.1. Coding
//mysql connection
package com.DAO;
public interface Global
{
public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
public static final String JDBC_HOST_URL_WITH_DBNAME =
"jdbc:mysql://localhost:3306/db_biometric_attendance";
public static final String DATABASE_USERNAME = "root";
public static final String DATABASE_PASSWORD = "admin";
public static final String STATUS = "valid";
public static final String TRUE = "yes";
}
//home.java
package com.example.biometricattendance;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import com.HttpClient.CustomHttpClient;
import com.HttpClient.Global;
import com.database.DataBaseAdapter;
import android.widget.Toast;
int n = 0;
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
if (android.os.Build.VERSION.SDK_INT > 9)
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
mDataBaseAdapter.open();
empId = mDataBaseAdapter.getEmployeeId();
etEmpName = (TextView)findViewById(R.id.et_empName);
et_gender = (TextView)findViewById(R.id.et_gender);
et_dob = (TextView)findViewById(R.id.et_dob);
et_designation = (TextView)findViewById(R.id.et_designation);
et_depertment = (TextView)findViewById(R.id.et_depertment);
et_email = (TextView)findViewById(R.id.et_email);
et_phone = (TextView)findViewById(R.id.et_phone);
try
String response =
CustomHttpClient.executeHttpPost(Global.URL+"GetEmloyee.jsp
", empIdList)
System.out.println("response
is>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+res
ponse.trim());
//Toast.makeText(getApplicationContext(), "response
is>>>>>>>>>>> " +response , Toast.LENGTH_LONG).show();
etEmpName.setText(ss[0].trim());
et_gender.setText(ss[1]);
et_dob.setText(ss[2]);
et_designation.setText(ss[3]);
et_depertment.setText(ss[4]);
et_email.setText(ss[5]);
et_phone.setText(ss[6]);
catch (Exception e)
e.printStackTrace();
@Override
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
@Override
// Handle action bar item clicks here. The action bar will
int id = item.getItemId();
if (id == R.id.menu_logout)
logout();
return super.onOptionsItemSelected(item);
if(WiFiName.trim().equalsIgnoreCase(Global.wifiNamee.trim()))
new Home.ExecuteTask().execute(empId);
else
CHAPTER 7
SOFTWARE TESTING
Testing performs a very critical role for quality assurance and for ensuring the reliability
of the software. The success of testing for errors in programs depends critically on the test
cases.
The completion of the system is achieved only after it has been thoroughly tested. Though
this gives a feel that project is completed there cannot be any project without going
through this stage. Hence in this stage it is decided whether this project can undergo real
time environment execution without any breakdowns, therefore the package can be
rejected even at this stage.
During this implementation of the system each module of the system was tested
separately to uncover errors within its boundaries. User interface is used as a guide in the
process
Ideally, each test case is independent from the others: substitutes like method stubs, mock
objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit
tests are typically written and run by software developers to ensure that code meets its
design and behaves as intended. Its implementation can vary from being very manual
(pencil and paper) to being formalized as part of build automation.
Testing is a set of activities that can be planned in advance and conducted systematically.
The proposed system is tested in parallel with the software that consists of its own phases
of its analysis, implementation, testing and maintenance. Following are the tests
conducted on the system.
This module introduces the technique of functional (black box) unit testing to verify the
correctness of classes. It shows how to design unit test cases based on a class
specification within a contract programming approach. The laboratory exercises then
guide students through creating and running tester classes in Java from a test case design,
utilizing the Joint unit test framework. It also contains a worked example on how to unit
test GUI and event handling classes.
Testing is an essential part of any software development process, but it is often poorly
understood. In this module, we take a simple approach and look at two key approaches to
testing. Unit testing is done at the class level, and is designed with the aid of method pre-
and post-conditions. System testing is done at the program level, and is designed based on
documented use cases. We look at how your approach to object-oriented design is
influenced by the need to design and execute tests, and close with some other issues in
testing.
Integration testing is a systematic technique for constructing the program structure while
conducting tests to uncover errors associated with interfacing. The object is to take unit
tester module and build a program structure that has been dictated by the design.
Test cases are constructed to test that all components within assemblages interact
correctly, for example across procedure calls or process activations, and this is done after
testing individual modules, i.e. unit testing. The overall idea is a "building block"
approach, in which verified assemblages are added to a verified base which is then used
to support the integration testing of further assemblages.
This software has been tested with realistic data given by the client and produced results.
Then the client satisfying all the requirements specified by them has also developed the
software within the time limitations specified. A demonstration has been given to the
client and the end user giving all the operational features.
Acceptance testing generally involves running a suite of tests on the completed system.
Each individual test, known as a case, exercises a particular operating condition of the
user's environment or feature of the system, and will result in a pass or fail, or Boolean,
outcome. There is generally no degree of success or failure. The test environment is
usually designed to be identical, or as close as possible, to the anticipated user's
environment, including extremes of such. These test cases must each be accompanied by
test case input data or a formal description of the operational activities (or both) to be
performed—intended to thoroughly exercise the specific case—and a formal description
of the expected results.
After developing the system, an evaluation for measuring the accuracy and correctness of
the system is performed. It is measured how the new system is much better than the
traditional ones. The evaluation process of the system is performed in two steps.
At first, example of 5 different organizations where the employees gave attendance in the
traditional way where fingerprint sensors have been set in the entrance and exit doors.
Some employees gave the attendance in front of the door. After 1 hour some of the
employees go outside from their working place to do their personal job. When enquired,
some employees said that they went to the bank for some transaction. A few of them told
that they went to the hospital. It has been also observed that one employee uses his own
fingerprint to open the door for others to leave the place. This violates the attendance
system.
In the second scenario, all the employees of 5 different organizations were registered
with their fingerprint and additional information. A router was installed in those working
places respectively. When an employee is in the working place, he is automatically
connected to the router as he is in range, and later on, he logged in through fingerprint
authentication to initialize the attendance process for the day. As the procedure follows
unique fingerprint authentication, there is no scope for the proxy. They had to remain in
working place as they did not know when the account gets logged out itself and they need
to log in immediately, as it is a session based login system. As a result, only 2 employees
in an organization went outside the working place during work time but they had taken
permission from their senior. The summary of the evaluation result is given in Table.
CHAPTER 8
GRAPHICAL USER INTERFACE
8.1. Snapshots
CHAPTER 9
FUTURE WORK
The system is error-free and accurate, but still, there is accuracy that needs to be
developed. To add head counting, a camera can be used in this system. Every
organization should contain CCTV cameras. The sequential CCTV footage of the
working place can be obtained. There will be differences in the images as people move
and their positions are not fixed. By continuously subtracting the image from one another,
calculations can be performed in the working place while the attendance procedure is
going on. Then cross-check this number to the number of mobile phones connected to the
router network. This will add more accuracy to this system and if the number does not
match, the system server will receive an alert.
The system is currently developed for the android platform but the focus is to develop it
on iOS platform as well in near future. Besides, in any organization there are employees
who have to perform field work on different occasions. As proposed system consists of
router, it is not eligible for the employees who are responsible for field work. So
including GPS tracker to ensure the presence of the employees in their respective fields is
also one of our future aspects.
CHAPTER 10
CONCLUSION
The proposed vigilance system has been developed using the present technology. This
system automates the process of attendance monitoring, thus saves a lot of time. It is also
cost-effective system because it relies only on a smartphone. As this completely
automates the attendance system, it leaves no room for any kind of error. This system will
surely increase employee’s efficiency at work and also help in the progress of any
organization.
APPENDIX [A]
REFERENCES
[1] T. Agarwal, Biometric Sensors Types and Its Working, 2014.
Online Available: https://www.elprocus.com/differenttypes-biometric-sensors
[2] S. Blog, Advantages of a Biometric Attendance System, 2016.
Online Available: https://blog.synerion.com/biometricattendance-Advantages
[3] M. A. k. T. G. R. J.Chandramohan, R.Nagarajan, ―Attendance monitoring system of
students based on biometric and gps tracking system,‖ International Journal of Advanced
Engineering, Management and Science (IJAEMS), vol. 3, no. 3, 2017.
[4] J. C. D. Cruz, A. C. Paglinawan, M. I. R. Bonifacio, A. J. D. Flores, and E. V. B.
Hurna, ―Biometrics based attendance checking using principal component analysis,‖ in
Humanitarian Technology Conference (R10-HTC), 2015 IEEE Region 10.
[5] D. K. Sarker, N. I. Hossain, and I. A. Jamil, ―Design and implementation of smart
attendance management system using multiple step authentication,‖ in Computational
Intelligence (IWCI), International Workshop on. IEEE, 2016.
[6] A. T. Onaolamipo, ―Development of a computerized biometric control examination
screening and attendance monitoring system with fees management,‖ Development, vol.
4, no. 6, pp. 76–81, 2014.
[7] P. Wadhwa, ―Attendance system using android integrated biometric fingerprint
recognition,‖ International Research Journal of Engineering and Technology (IRJET),
vol. 4, no. 6, 2017.
[8] A. A. Kumbhar, K. S. Wanjara, D. H. Trivedi, A. U. Khairatkar, and D. Sharma,
―Automated attendance monitoring system using android platform,‖ International
Journal of Current Engineering and Technology, vol. 4, no. 2, pp. 1096–1099, 2014.
[9] V. J. A. Sharma, ―Location based attendance tracking using mobile devices,‖
International Journal of Computer Sciences and Engineering.
[10] S. Sultana, A. Enayet, and I. J. Mouri, ―A smart, location based time and attendance
tracking system using android application,‖
International Journal of Computer Science, Engineering and Information Technology
(IJCSEIT), vol. 5, no. 1, pp. 1–5, 2015.