Documentation Industrial Traing

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

Student Attendance Through

Mobile Devices

Submitted By: Submitted To:


Abhiraj Mishra MS.Nidhi Rai
Mohd Sufian
Rishabh Mishra
Student Attendance Through Mobile Devices
Project Submitted in
October 2019
To The Department of
Computer Science and Engineering
of
L D C Institute of Technical Studies, Soraon Allahabad
In partial Fulfillment Of The Requirements For The Industrial Training

Bachelor of Technology
in

Computer Science and Engineering


by

Abhiraj Mishra
[Roll no.: 1628310001]
Mohd Sufian
[Roll no.: 1628310015]
Rishabh Mishra
[Roll no.:1628310024]
under the guidance of

MR.Sandeep Pandey
Acknowledgment

We have taken efforts in this project. However, it would not have been possible without the
kind support and help of many individuals and organizations. We would like to extend my
sincere thanks to all of them.
We would like to take the opportunity to express my humble gratitude to Mr.Sandeep
Kumar Pandey under whom we executed this project. His constant guidance and
willingness to share his vast knowledge made me understand this project and its
manifestations in great depths and helped me to complete the assigned tasks.

We would like to thank all faculty members of National Intitute of Electronic &
Information Technology,Lucknow Branch for their generous help in various ways for the
completion of this thesis.

Abhiraj Mishra
Mohd Sufian
Rishabh Mishra
Abstract

Since ages, marking attendance has been one of the most important way to record and track
the presence of students in schools, colleges. Attendance marking in different forms has
been in use in various organization to record the presence of their human resource. This
helps the organization in generating their month-end payroll, and other activities. Such
systems may be manual or automated. Biometric-based system, card-based system are some
of the examples of automated attendance system.
In this project, an attempt has been made to record attendance through mobile devices.
The aim of the project is to create an Android mobile application for attendance system
that can be used by all teachers for their respective courses. This application fetches the
details of the courses allotted to the respective faculty and the students enrolled in the
courses from the server using the internet connection and stores it in the mobile database.
This application stores the attendance in the mobile internal database and the faculty can
view and update the attendance whenever required. At the end of the month, when the
faculty is needed to upload the attendance, they can directly upload it from their mobile in
the server provided the internet connection is available.
This application uses Android application development toolkit. Android is a Linux-based
operating system developed for smart phones or tablet computers. It is a stack of software that
includes operating system, middleware and libraries and APIs written in C. The Android
application is developed in Java-like language using the Android software development kit
(SDK). The integrated development environment (IDE) which is officially supported for
Android apps development and used in this project is Eclipse, which uses the Android
Development Tools (ADT) plugin.
Contents

Certificate ii

Acknowledgement iii

Abstract iv

List of Figures vii

1 Introduction 1
1.1 What is Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Features of Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Application Framework . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Dalvik Virtual Machine (DVM) . . . . . . . . . . . . . . . . . 3
1.2.3 SQlite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.4 Linux Kernal ........................... 3
1.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Objective ................................. 4
1.5 Outline of thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 General Description 6
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Product Perspective ........................... 6
2.3 User Characteristics ........................... 7
2.3.1 Faculty .............................. 7
2.4 General Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Server Side ............................ 7

v
2.4.2 Client Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Requirement Analysis and Specification 9


Functional Requirements of the System . . . . . . . . . . . . . . . . . 9

4 Design 11
Function Oriented Software Design ...................................................................... 11
Context diagram............................................................................................ 12
Level 1 diagram ............................................................................................ 12
Level 2 diagram ............................................................................................ 13
Object Oriented Software Design ......................................................................... 13
ER Diagram .................................................................................................. 14

5 Implementation 15
Android API.......................................................................................................... 15

6 Graphical User Interface 17

7 Conclusions and Future Work 20


Conclusion ............................................................................................................. 20
Future Work ..................................................................................................................... 20

vi
List of Figures

1. Growth Chart for the android OS . . . . . . . . . . . . . . . . . . . . 4

Contex Diagram .................................................................................................. 12


Level 1 Diagram.................................................................................................. 13
Level 2 Diagram .................................................................................................. 14
Entity Relationship Diagram ............................................................................... 15

6.1 Application Programming interface ..................................................................... 17

Splash Screen ...................................................................................................... 18


authentication Screen ........................................................................................... 18
List of Subjects registered ................................................................................... 19
User Selection Screen .......................................................................................... 19
List of Students registered ................................................................................... 20
attendance Screen ................................................................................................ 20

vii
Chapter 1
Introduction
Since ages, marking attendance has been one of the most important way to record and track
the presence of students in schools, colleges. Attendance marking in different forms has
been in use in various organization to record the presence of their human resource. This
helps the organization in generating their month-end payroll, and other activities. Such
systems may be manual or automated. Biometric-based system, card-based system are some
of the examples of automated attendance system. In the manual attendance system, the
faculty takes the attendance of the students enrolled in different courses taken by the faculty.
The information regarding the attendance is then passed on to the academic section of the
institute where the information is feed into the institute server database.
In the attendance system through mobile devices, the faculty takes the attendance which
is stored in the mobile database. At the time of submission of attendance report the
faculty directly uploads the attendance in the server and does not need third person
interaction.

This project presents the Attendance system through mobile devices, which is developed
using Android application. The application is installed in every faculty’s mobile phones
and can be used to take attendance in offline mode (that is even when there is no network
connectivity as the application is a stand-alone application). This application fetches the
details of the courses allotted to the respective faculty and the students enrolled in the
courses from the server using the internet connection and stores it in the mobile
database. This application stores the attendance in the mobile internal database and the
faculty can view and update the attendance whenever required. At the end of the month,
when the faculty is needed to upload the attendance, they can directly upload it from their
mobile in the server provided the internet connection is available.

1
1.1What is Android?
Android is a Linux-based operating system developed for smart phones or tablet
computers. It is a stack of software that includes operating system, middleware and
libraries and APIs written in C. It was developed by Google and Open Handset Alliance in
July, 2005. Android is an open source and Google releases the source code under Apache
license. This open source and free license allow the manufacturers and the enthusiastic
developers to freely develop and modify their applications in Java-like language that utilizes
Google-developed Java libraries.
The Android applications are developed using the Android software development kit (SDK).
The SDK includes a comprehensive set of development tools which includes a debugger,
software libraries, a handset based emulator which is based on QEMU (Quick EMUlator)
and tutorials. The integrated development environment (IDE) which is officially supported
for Android apps development is Eclipse which uses the Android Development Tools
(ADT) plugin. The following are the several features which help in the development of
Android applications:

1.2 Features of Android

1.2.1 Application Framework:-

Android application framework is supported by number of open source libraries like


OpenSSL, SQLite, and Libc. The application framework is also supported by the Android
core libraries. The framework is based on UNIX file system permissions which ensures
security as the applications can have only those abilities that mobile phone owner give at
the time of installation. The application framework enables the reuse and replacement of
components.

2
Motivation Introduction

1.2.2 Dalvik Virtual Machine (DVM):-

Dalvik is a process virtual machine used in Google’s Android operating system. It is a


low memory based virtual machine which is especially designed for Android to run on the
embedded systems and work efficiently in low power. The programs are commonly
written in Java and are compiled into bytecode. This bytecode is then converted form JVM
.class files to .dex file (Dalvik executable) before installation on a device.

1.2.3 Sqlite:-

Android OS contains the SQLite database management classes which is used by an


application to maintain its own private database. SQLite is a relational database
management system contained in C programming library. It is mostly preferred as
embedded database for local or client storage in application software. It has many
bindings to the programming languages.

1.2.4 Linux Kernal

Android uses Linux version 2.6 for the core system services like memory management,
process management, security and network stack. The Linux kernel also acts as an
abstraction layer between the hardware and the software stack.

1.3 Motivation
The attendance system is one of the most important system used in every organization to keep
the track of attendance. The previous conventions followed for taking attendance was
very tedious task and requires a lot of paper work. It was not automated and so handling
and maintaining the system was a tough job. The previous attendance system used in colleges
needed the faculty to give the attendance details to be uploaded in the server. So there was a
need to automate the attendance system and to reduce the manual effort needed in storing
the records and maintaining it. The attendance system through mobile devices is fully
automated. It is easy to use

3
Objective Introduction

Figure 1.1: Growth Chart for the android OS

the system and take attendance which does not need any external effort to store and upload
the attendance in the server.
Nowadays, Android phone has emerged as the world’s most popular mobile platform.
Android is the world’s most popular mobile platform. It’s the largest installed base of any
mobile platform and growing fast. Millions of users are using android phones and android
application is becoming more and more popular.

1.4 Objective
Design a Student attendance system to keep track of attendance in mobile devices for
easy and proper evaluation of attendance.
1.4.1 Develop and implement an attendance system.

1.4.2 To create an Android mobile application to provide a User Interface to interact with
the system.

4
1.5 Outline of thesis Introduction

1.5 Outline of thesis


The thesis consist of seven chapters following this chapter:
Chapter 2: General Description
we discuss about the General constraints, Product Prospective and User characteristics
etc.
Chapter 3: Requirement analysis and specification
we discuss about the functional requirements of the system, developed the SRS model of the
system.
Chapter 4: Design
This chapter discusses different Design models. The Function Oriented design approach
focuses on the functions of the system,The functionalities are represented with the help of
DFD’s. The object oriented design approach focuses on the ER model of the system.
Chapter 5: Implementation
This chapter outlines the three tier architecture of the application developed. The Client
side is the android application interface that is accessed by the user. MySql server acts as
the back end.
Chapter 6: Graphical User Interface
This chapter describes the different user interfaces of the applications and the forms shown
to the user.

5
Chapter 2

General Description

2.1 Introduction
The attendance system gives an ease in the working, managing and day-to-day functions
of the system in an easy way through an intuitive interface that makes it easy for every
faculty to utilize it fully and is virtually maintenance free.

The subsection 2.2 explains the product perspective, 2.3 explains the functions of the
product. Section 2.4 explains the type of user and characteristics. Section 2.5 explains the
constraints and requirements.

2.2 Product Perspective


Our Attendance System simplifies the taking and maintenance of attendance through mobile
devices. The system is deployed on every facultys mobile and the faculty can take the
attendance for their respective classes and store it in the mobile database. The software
focus on the easy way of storing and uploading the attendance detail in the server with
the use of mobile phones.

6
2.3User Characteristics General Description

2.3 User Characteristics


The system has single user that is the Faculty of the institute. Here is a summary of the
permissions enjoyed by the user

2.3.1 Faculty

ˆ The faculty logs in through his account and gets the details of the courses taken by him
and the student enrolled in those subjects.

ˆ The faculty can take attendance for their respective subjects and store the details in
the mobile internal database

ˆ The faculty can also view the attendance details if required at later stage.

ˆ The faculty can directly upload the attendance details in the server through his mobile
phone.

2.4 General Constraints


The general constraints of this system are of two types

1. Hardware Constraints
Android Device/Android Virtual Device

2. software constraints
Android Studio IDE 3.2 or Higher
Windows Operating System(Windows7 or Higher)

2.3.2 Server Side

Database server: SQLite or higher

7
2.4 General Constraints General Description

2.3.3 Client Side

Any Android Phone/Tablet device which is able to connect to the server and running the
Android Operating System.

8
Chapter 3

Requirement Analysis and Specification

The Application developed follows the following steps of SDLC. Under which the SRS
model developed for the system is as listed below
The SRS model Contains

ˆ Functional Requirements.

ˆ Non-Functional requirements

3.1 Functional Requirements of the System


The functional requirements part discuss the functional behavior that should be possessed
by the system. Each requirement maps to a high level function (fi) that transforms the
given set of input data (ii) into output data (oi)

Different functional requirements possessed by the system are:-

R.1 Login
Description: The faculty will login into the application with the given user ID and
password. If the user ID and password is correct, user will be prompt to proceed
option else error message will be displayed.

9
3.1 Functional Requirements of the System Requirement Analysis and Specification

Input: User ID and Password


Output: Prompt to ”Proceed” option

View Course Taken


Description: After login, the faculty can view the list of courses taken by him
during the semester and then he can get the list of student enrolled in that course.
Input: Select the display option
Output: List of courses taken

View Details of Enrolled Students


Description: The faculty can view the list of student enrolled in a particular course.
Input: Select a course and select option to display student list
Output: Enrolled student list

Take Attendance
Description: Faculty take attendance on a particular day by swiping over a student
name to mark him absent.
Input: Mark student absent

Synchronize Database
Description: At the end of the month or at any time when faculty wishes, he can upload
the attendance details of a particular subject in the Online Server
Input: Select Sync button
Output: Confirmation message

10
Chapter 4

Design

The design phase emphasizes on the transformation of customer requirements as defined


in the SRS document, into a form that is suitable for coding.
The design phase can be broadly classified in two levels.

ˆ Preliminary or high level design

ˆ Detailed design

The preliminary design can be further divided into two sub categories

ˆ Function Oriented Software Design

ˆ Object Oriented Software Design

4.1 Function Oriented Software Design


This design model can be represented by drawing the DFDs (Data Flow Diagrams) for the
given SRS document.
A data flow diagram is a graphical representation of the data flow through an
information system which is used to model the process aspects of the system. DFD is the
preliminary step used to create an overview of the system. DFD is used for structured
design.

11
Function Oriented Software Design Design

Figure 4.1: Contex Diagram

Context diagram

A context diagram is a structured graphical tool used for identifying the functional areas
and the processes which are performed within and between the system and outside the
system. Context diagram supports a data-oriented approach for designing system. It helps in
investigating the output and the process requirement of the system. It helps in defining the
boundaries of the proposed system. The symbols used in the context diagrams are for
external entities, data storage and data flows and process.

Here in the following context diagram4.1, we represent our attendance system which
has one external entity i.e. user of the system namely Faculty and the data flowing in and
out of the system is the attendance details.

Level 1 diagram

The context-level DFD is then exploded to produce a Level 1 DFD which models the
details of the system. The Level 1 DFD shows how the system is divided into sub-systems
(processes), and how each processes deals with one or more of the data flows to or from an
external entity, and how the processes together provide all of the functionality of the
system. The level 1 DFD also identifies the internal data stores which must be there for
the system to do its job, and shows the data flow between the various parts of the system.
In the below Level 1 DFD 4.2, the attendance system has been decomposed further into 5
processes which are namely Login, View courses taken, View enrolled student list, View
attendance, Upload attendance. Each processes is accessed by the Faculty

12
Object Oriented Software Design Design

Figure 4.2: Level 1 Diagram

and there are data storage namely Server database, Attendance details, Enrolled student
list, Course list and User details which are used in the system.

4.1.3 Level 2 diagram

The Level 2 DFD is the further decomposition of Level 1 processes into sub-processes (sub-
systems) which give detailed description of the data flow in each processes.
Here we have decomposed the process View enrolled student lists (Fig 4.2) in the sub-
process Take attendance. The faculty selects the course ID and get the details of the enrolled
student and then he can take attendance for that particular course (Fig 4.3). The data
storage used in this level is the Attendance list.

4.2 Object Oriented Software Design


In this design approach the system is viewed as a collection of entities (objects). Each
object manages its own properties (attributes) and state.

13
Object Oriented Software Design Design

Figure 4.3: Level 2 Diagram

ER Diagram

The entity-relationship diagram is a data modeling technique that graphically represents


an information systems entities and the relationships between those entities. An ER
diagram is a conceptual and representational model of data which is used to represent the
system framework infrastructure.

The ER diagram contains following elements:

ˆ Entities

ˆ Relationships

ˆ Attributes

In designing the ER diagram, we identify and define all the entities, determine the
interactions between the entities and determine the cardinality of the relationship.
The ER diagram for the attendance system represents all the entities namely User, Course,
Enrolled Student and Attendance and the relationship between these entities used in the
system. The User entity contains the attributes Uid, Name, Tbname and Pwd where the Uid
is its primary key. The Course entity contains the attributes Subcode, Subname and
Tbname where Subcode is its primary key.

14
4.2 Object Oriented Software Design Design

Figure 4.4: Entity Relationship Diagram

15
Chapter 6

Implementation

The Application is implemented according to three tier architecture. Three tier


architecture is commonly known as Client-Server architecture, where Client is the
consumer of the services, also the requester of services where as the server side is the
provider of services. The third layer that is the middle layer that converts the users
requests into server understandable form.
The system developed contains Android application in its front end ie the client side.
the middle layer that connects the client side to the server side is the Jason (JavaScript
Object Notation) Parser that is primarily used to transmit data between server and server
application.
The server side comprises of the Mysql. The android API uses the PHP to connect to the
database or server database.

6.1 Android API


API stand for Application Programming Interface. It contains the following
features-

ˆ Accept request by POST/GET method

ˆ Execute PHP class to update/access data from database


ˆ Give output in Jason format

16
6.1 Android API Implementation

Figure 6.1: Application Programming interface [4]

17
Chapter 7
Graphical User Interface
The application GUI is developed using the android SDK and the various forms are as shows below

Figure 7.1: authentication Screen

Figure 7.1: Splash Screen

18
Graphical User Interface

Figure 7.3: List of Subjects registered

Figure 7.4: User Selection Screen

19
Graphical User Interface

Figure 7.5: List of Students registered

Figure 7.6: attendance Screen

20
Chapter 8

Conclusions and Future Work

Conclusion
The attendance system through mobile devices is a very effective tool which can be used
to a great extent. The system is portable and can be easily installed and used on any
mobile phones supporting Android OS.
The use of this system can result in a reduction of number of hours spent in feeding the
attendance details in the server database. It also provides an interface which is easy to
understand by the users and greatly helps in adapting to the use of this system.

Future Work
The system can be further enhanced and several other functionalities can be added. The
system can be made login independent. The present system logs in using Internet all the time.
We can enhance the system by implementing offline mode login feature. The feature to
update the attendance at a later stage can also be implemented. The system can also be
enhanced by using voice recognition feature of the Android.

21
20

You might also like