Student Attendance Through Mobile Devices



Similar documents
VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

An Introduction to Android

A Modular Approach to Teaching Mobile APPS Development

SmartCart Design Description

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Running a Program on an AVD

Introduction to Android

ANDROID APPLICATION TO EXTRACT THE STATISTICS OF AN HPC CLUSTER

Challenges in Android Application Development: A Case Study

Workshop on Android and Applications Development

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Smart Shopping- An Android Based Shopping Application

Android Programming and Security

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Android Development Tools for Eclipse

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Creating and Using Databases for Android Applications

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Introduction to Android

Android Application for Accessing KNX Devices via IP Connection

Example of Standard API

Lecture 1 Introduction to Android

Practical Android Projects Lucas Jordan Pieter Greyling

Remote Android Assistant with Global Positioning System Tracking

LIBRARY ACCESS SYSTEM SMARTPHONE APPLICATION USING ANDROID

CS297 Report. Accelerometer based motion gestures for Mobile Devices

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT

How To Develop Software

Chapter 13: Program Development and Programming Languages

Development. SriSeshaa Technologies. Table of Contents

A new Design Approach for Developing Electronic Health Record Application on Android

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Introduction to Android

Software Requirement Specification for Web Based Integrated Development Environment. DEVCLOUD Web Based Integrated Development Environment.

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Smartphone market share

A Monitored Student Testing Application Using Cloud Computing

Lab 0 (Setting up your Development Environment) Week 1

An Android Application for Student Information System

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Hacking your Droid ADITYA GUPTA

RoverPal - A Mobile Payment Application

DESIGN OF MOBILE APPLICATION FOR SCHEDULING APPOINTMENT WITH BANK PERSONNEL FOR BANKING SERVICES

Managing Healthcare Records via Mobile Applications

Volume 3, Issue 3, March 2015 International Journal of Advance Research in Computer Science and Management Studies

Cloud-based Review System: Moroccan Restaurants as an example

Overview of CS 282 & Android

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

ANDROID APPLICATION FOR FILE STORAGE AND RETRIEVAL OVER SECURED AND DISTRIBUTED FILE SERVERS SOWMYA KUKKADAPU B.E., OSMANIA UNIVERSITY, 2010 A REPORT

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

ORACLE ADF MOBILE DATA SHEET

How To Design An Information System

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Fahim Uddin 1. Java SDK

zen Platform technical white paper

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

DESIGN AND IMPLEMENTATION OF A FILE SHARING APPLICATION FOR ANDROID

Sybase Unwired Platform 2.0

Smartphone Software for Department of Computer Science

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Sybase Unwired Platform 2.1.x

SRS for AakashTechSupport Documentation

ITG Software Engineering

Fig. 1 BAN Architecture III. ATMEL BOARD

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

DEVELOPING MOBILE APPLICATIONS USING ANDROID

The Design and Implementation of an Android Game: Foxes and Chickens

An Android-based Instant Message Application

Software Requirements Specification

Presenting Android Development in the CS Curriculum

Laboratory Information Management and Process Control Software for Microbiological Laboratories of the Government Hospitals

Robotium Automated Testing for Android

Chap 1. Introduction to Software Architecture

A Review of Different Comparative Studies on Mobile Operating System

Student Attendance Tracker System in Android

Budget Planner SOFTWARE REQUIREMENT SPECIFICATION. Professor: Dr. Doan Nguyen. Team Members: Bindu Madhavi K Khambam Suganya Srinivasan

A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

ANDROID A Workshop on Android Application Development Organized by Computer Science & Engg Dept Lingaya s University

Android 5.0: Lollipop OS

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Android Development: Part One

Module Title: Software Development A: Mobile Application Development

A Survey on Mobile Forensic for Android Smartphones

Android Architecture. Alexandra Harrison & Jake Saxton

Winery A Modeling Tool for TOSCA-based Cloud Applications

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Literature Review: Starting Mobile Application Development for E-Sports Portal Hayoung Noh

ANDROID OPERATING SYSTEM

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Team 23 Design Document. Customer Loyalty Program for Small Businesses

White Paper: 5GL RAD Development

ANDROID NOTE MANAGER APPLICATION FOR PEOPLE WITH VISUAL IMPAIRMENT

APPLICATION OF CLOUD COMPUTING IN ACADEMIC INSTITUTION

Basic Trends of Modern Software Development

Research and Design of Universal and Open Software Development Platform for Digital Home

Transcription:

Student Attendance Through Mobile Devices Anurag Rastogi Kirti Gupta Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India

Student Attendance Through Mobile Devices Project submitted in May 2013 to the department of Computer Science and Engineering of National Institute of Technology Rourkela in partial fulfillment of the requirements for the degree of Bachelor of Technology in Computer Science and Engineering by Anurag Rastogi [Roll: 109CS0619] Kirti Gupta [Roll: 109CS0146] under the guidance of Dr. Pankaj K. Sa Department of Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, Odisha, India

Computer Science and Engineering National Institute of Technology Rourkela Rourkela-769 008, India. www.nitrkl.ac.in Dr. Pankaj K Sa Assistant Professor May 11, 2013 Certificate 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 fulfillment 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 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 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 staff 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. Finally, yet importantly, We would like to express my heartfelt thanks to my beloved parents for their blessings, my friends and classmates for their help and wishes for the successful completion of this project. 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 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 Acknowledgement Abstract List of Figures ii iii iv 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 3.1 Functional Requirements of the System................. 9 4 Design 11 4.1 Function Oriented Software Design................... 11 4.1.1 Context diagram......................... 12 4.1.2 Level 1 diagram.......................... 12 4.1.3 Level 2 diagram.......................... 13 4.2 Object Oriented Software Design.................... 13 4.2.1 ER Diagram............................ 14 5 UML Modelling 16 5.1 Use Case Diagram............................ 16 5.2 Sequence Diagram............................ 17 5.3 Activity Diagram............................. 17 5.4 Class Diagram............................... 19 6 Implementation 21 6.1 Android API............................... 21 7 Graphical User Interface 23 8 Conclusions and Future Work 26 8.1 Conclusion................................. 26 8.2 Future Work................................ 26 Bibliography 27 vi

List of Figures 1.1 Growth Chart for the android OS.................... 4 4.1 Contex Diagram.............................. 12 4.2 Level 1 Diagram.............................. 13 4.3 Level 2 Diagram.............................. 14 4.4 Entity Relationship Diagram....................... 15 5.1 Use Case Diagram............................ 17 5.2 Sequence Diagram(Display Course)................... 18 5.3 Sequence Diagram(Take Attendance).................. 18 5.4 Sequence Diagram(upload Attendance)................. 19 5.5 Activity Diagram............................. 20 5.6 Class Diagram............................... 20 6.1 Application Programming interface................... 22 7.1 Splash Screen............................... 23 7.2 authentication Screen........................... 23 7.3 List of Subjects registered........................ 24 7.4 User Selection Screen........................... 24 7.5 List of Students registered........................ 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 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 1

1.1 What is Android? 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? 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.[1] 2

1.3 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] 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] 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. 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

1.4 Objective Introduction Figure 1.1: Growth Chart for the android OS [1] 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. Develop and implement an attendance system. 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: UML modelling UML is a modelling language that is used to specify, draw, visualize and document the parts of the software. Use case diagrams are the diagrammatic representation depicting user s interactions with the system. and other diagrams are drawn in the same reference such as Class diagram, activity diagram and sequence diagram. Chapter 6: 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 7: 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.3 User 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 2. software constraints Any devices which can run Android Operating System. And the following are the software constraints of the system. 2.4.1 Server Side Database server: PHPMyAdmin or higher PHP: PHP 4.4.0 or higher (5.2 recommended) 7

2.4 General Constraints General Description 2.4.2 Client Side Any network enabled 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)[2] 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 R.2 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 R.2.1 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 R.2.2 Take Attendance Description: Faculty take attendance on a particular day by swiping over a student name to mark him absent. Input: Mark student absent Output: Confirmation message R.3 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.[2] 11

4.1 Function Oriented Software Design Design Figure 4.1: Contex Diagram 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 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. 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 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

4.2 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

4.2 Object Oriented Software Design Design Figure 4.3: Level 2 Diagram 4.2.1 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 5 UML Modelling UML, as the name shows, is a modelling language. visualize and document the parts of the software. It is used to specify, draw, It provides a set of notations (such as rectangles, ellipses, lines etc.) to create the visual model of a system. This phase is used to design different UML diagrams corresponding to the application development.[2] 5.1 Use Case Diagram Use case diagrams are the diagrammatic representation depicting users interactions with the system. This diagram shows different 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 different 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

5.2 Sequence Diagram UML Modelling 5.2 Sequence Diagram Figure 5.1: Use Case 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 different functionality of the scenario. Sequence diagrams are associated with use case realizations of the Logical View of the system. The given diagram (fig 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 Activity diagram is a graphical representation of the workflow and the sequence of activities used to describe the functioning of the system. This diagram shows the overall control flow of the system. The figure 5.5 shows the activity diagram of the faculty. The faculty login leads to all the options that can be performed by the faculty. Its basic function is to view the course taken by the faculty. Then the faculty can perform different functions. He 17

5.3 Activity Diagram UML Modelling Figure 5.2: Sequence Diagram(Display Course) Figure 5.3: Sequence Diagram(Take Attendance) 18

5.4 Class Diagram UML Modelling Figure 5.4: Sequence Diagram(upload Attendance) can view the list of students enrolled in the courses and can take attendance for that particular course. Then he can either view the attendance details or can upload the details directly in the server. 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 figure 5.6 represents the class diagram for the attendance system. In this system, we have five 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 different courses. The class Student has many-to-many relationship with the class Course. 19

5.4 Class Diagram UML Modelling Figure 5.5: Activity Diagram Figure 5.6: Class Diagram 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 [4] 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 21

6.1 Android API Implementation Figure 6.1: Application Programming interface [4] 22

Chapter 7 Graphical User Interface The application GUI is developed using the android SDK and the various forms are as shown below. Figure 7.1: Splash Screen Figure 7.2: authentication Screen 23

Graphical User Interface Figure 7.3: List of Subjects registered Figure 7.4: User Selection Screen 24

Graphical User Interface Figure 7.5: List of Students registered Figure 7.6: attendance Screen 25

Chapter 8 Conclusions and Future Work 8.1 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. 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 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. 26

Bibliography [1] Android. Android Develper Webpage. http://www.developers.android.com. [2] Roger S Pressman. Software Engineering: A Practitioner s Approach. 2010. [3] Visual Paradigm International. Visual Paradigm for UML 10.1 Community Edition. http://www.visual-paradigm.com. [4] Gabriel Fielding. Android tutorial webpage. http://www.androidhive.info. 27