Student Attendance Through Mobile Devices: Anurag Rastogi Kirti Gupta
Student Attendance Through Mobile Devices: Anurag Rastogi Kirti Gupta
Student Attendance Through Mobile Devices: Anurag Rastogi Kirti Gupta
Anurag Rastogi
Kirti Gupta
Bachelor of Technology
in
Anurag Rastogi
[Roll: 109CS0619]
Kirti Gupta
[Roll: 109CS0146]
under the guidance of
Dr. Pankaj K. Sa
www.nitrkl.ac.in
Dr. Pankaj K Sa
Assistant Professor
Certicate
This is to certify that the work in the project entitled Student Attendance Through
Mobile Devices by Anurag Rastogi and Kirti Gupta is a record of their work carried out
under my supervision and guidance in partial fulllment of the requirements for the
award of the degree of Bachelor of Technology in Computer Science and Engineering.
Pankaj K Sa
Acknowledgment
We have taken eorts 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 Dr. Pankaj
K. Sa 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 and sta of the Department of
Computer Science and Engineering, N.I.T. Rourkela for their generous help in
various ways for the completion of this thesis.
Anurag Rastogi
Kirti gupta
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 dierent
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
Contents
Certicate
ii
Acknowledgement
iii
Abstract
iv
List of Figures
vii
1 Introduction
1.1
What is Android? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Features of Android . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1
Application Framework . . . . . . . . . . . . . . . . . . . . . .
1.2.2
1.2.3
SQlite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4
Linux Kernal . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5
Outline of thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 General Description
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
User Characteristics
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1
2.3.1
2.4
Faculty
Server Side . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
2.4.2
Client Side . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
9
9
4 Design
11
4.1
11
4.1.1
Context diagram . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1.2
Level 1 diagram . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1.3
Level 2 diagram . . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
4.2.1
14
4.2
ER Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 UML Modelling
16
5.1
16
5.2
Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
5.3
Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
5.4
Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
6 Implementation
6.1
21
Android API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
23
26
8.1
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
8.2
Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Bibliography
27
vi
List of Figures
1.1
4.1
Contex Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.2
Level 1 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.3
Level 2 Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.4
15
5.1
17
5.2
18
5.3
18
5.4
19
5.5
Activity Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
5.6
Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
6.1
22
7.1
Splash Screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
7.2
authentication Screen . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
7.3
24
7.4
24
7.5
25
7.6
attendance Screen
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 dierent
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 dierent 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 facultys
mobile phones and can be used to take attendance in oine 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
Introduction
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
What is Android?
1.2
Features of Android
1.2.1
Application Framework
1.3 Motivation
1.2.2
Introduction
1.2.3
SQlite
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]
1.3
Motivation
The attendance system is one of the most important system used in every organization
to keep the track of attendance.
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 eort needed in storing the records and maintaining it.
The attendance system through mobile devices is fully automated. It is easy to use
1.4 Objective
Introduction
1.4
Objective
1.5
Introduction
Outline of thesis
characteristics etc.
Chapter 3: Requirement analysis and specication
we discuss about the functional requirements of the system, developed the SRS model
of the system.
Chapter 4: Design
This chapter discusses dierent Design models.
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 simplies 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.
2.3
General Description
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
X The faculty logs in through his account and gets the details of the courses taken
mobile phone.
2.4
General Constraints
2.4.1
Server Side
2.4.2
General Description
Client Side
Any network enabled device which is able to connect to the server and running the
Android Operating System.
Chapter 3
Requirement Analysis and
Specication
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
X Functional Requirements.
X Non-Functional requirements
3.1
The functional requirements part discuss the functional behavior that should be
possessed by the system. Each requirement maps to a high level function () that
transforms the given set of input data (ii) into output data (oi)[2]
Dierent 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
10
Chapter 4
Design
The design phase emphasizes on the transformation of customer requirements as
dened in the SRS document, into a form that is suitable for coding.
The design phase can be broadly classied in two levels.
X Preliminary or high level design
X Detailed design
The preliminary design can be further divided into two sub categories
X Function Oriented Software Design
X Object Oriented Software Design
4.1
This design model can be represented by drawing the DFDs (Data Flow Diagrams)
for the given SRS document.
A data ow diagram is a graphical representation of the data ow 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.[2]
11
Design
4.1.1
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 dening the boundaries of the proposed system. The symbols used in
the context diagrams are for external entities, data storage and data ows and process.
4.1.2
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
ows to or from an external entity, and how the processes together provide all of the
functionality of the system. The level 1 DFD also identies the internal data stores
which must be there for the system to do its job, and shows the data ow 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
Design
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 ow 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
13
Design
4.2.1
ER Diagram
In designing the ER diagram, we identify and dene 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
Design
15
Chapter 5
UML Modelling
UML, as the name shows, is a modelling language. It is used to specify, draw,
visualize and document the parts of the software.
5.1
Use case diagrams are the diagrammatic representation depicting users interactions
with the system. This diagram shows dierent types of users and various ways in
which these users interact with the system.
Figure 5.1 shows the use case diagram for a faculty. It shows all the dierent
possible ways in which a faculty can use the attendance system. Every faculty can
use the system through their mobile phones to take the attendance. The faculty after
logging into the system can view the courses taken. Then he can view the list of
enrolled students in a particular courses and can take attendance for that subjects.
The user can also view the attendance at a later stage. He can directly upload the
attendance details in the server through his mobile phone.[3]
16
UML Modelling
5.2
Sequence Diagram
Sequence diagram is an interaction diagram which shows how the processes interact
with one another and in what order. It shows the object interactions arranged in
time sequence. It represent the objects and classes involved in the scenario. It also
shows the sequence of messages exchanged between those objects which is needed
to perform dierent functionality of the scenario. Sequence diagrams are associated
with use case realizations of the Logical View of the system.
The given diagram (g 5.2) shows the sequence structure for the Display course
taken use case
Figure 5.3 shows Sequence diagram for Take Attendance Use Case
Figure 5.4 depicts the Sequence diagram for upload Attendance Use Case
5.3
Activity Diagram
17
UML Modelling
18
UML Modelling
5.4
Class Diagram
Class diagram is a type of static structure diagram which describes the structure of
a system by representing the classes of the system, their attributes, operations and
the relationships among these classes.
The gure 5.6 represents the class diagram for the attendance system. In this
system, we have ve classes namely Faculty, Student, Course, Course list and
Attendance. The class Faculty can search the Course List, get the Enrolled Student
List and take the Attendance. The class Faculty has many-to-many relationship with
class Course List and Student and one-to-one relationship with class Attendance. The
class Course List contains the details of the Course and has one-to-many relationship
with class Course. Each class Student is enrolled in dierent courses. The class
Student has many-to-many relationship with the class Course.
19
UML Modelling
20
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
21
Implementation
22
Chapter 7
Graphical User Interface
The application GUI is developed using the android SDK and the various forms are
as shown below.
23
24
25
Chapter 8
Conclusions and Future Work
8.1
Conclusion
The attendance system through mobile devices is a very eective 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.
8.2
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 oine 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.
26
Bibliography
[1] Android. Android Develper Webpage. http://www.developers.android.com.
[2] Roger S Pressman. Software Engineering: A Practitioners Approach. 2010.
[3] Visual Paradigm International.
Edition. http://www.visual-paradigm.com.
[4] Gabriel Fielding. Android tutorial webpage. http://www.androidhive.info.
27