You are on page 1of 117

Checkout the TY projects Playlist:

https://youtube.com/playlist?list=PLlK4Tzf
pnMYd8RadrrI20VeLikLoUKlgB

STUD--Talks: Follow us on for more


videos and updates

1
Attendance Management System
A Project Report

BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY)


By

Full Name
Roll No

Under the esteemed guidance of


Name
Coordinator, Department of Information Technology

College Logo

DEPARTMENT OF INFORMATION TECHNOLOGY

College information

2
PROJECT PROPOSAL

Sr. Description Details


No.
1 PRN No : 201901640034256

2 Roll No : 209106

3 Name of the Student :

4 Title of the Project : Attendance management system

5 Name of the Guide :

6 Teaching Experience of :

Guide

7 Is this your first : Yes

Submission

Signature of the Student Signature of the Coordinator

Date: July 19, 2021 Date: October 7, 2021

3
ABSTRACT

This document is meant for relating all the procedures that were tracked while developing the

Attendance Management system and specially indicates the details of the project and by what means it

was developed, the necessities, designs as well as various functions of the project, and the procedures

surveyed in achieving these purposes.

For numerous years, physical attendance management has been accepted across most educational

institutions to overwhelmed the problems of physical attendance, this project is been developed by

reducing the amount of drawbacks in the manual attendance system.

Attendance Management System is an android-based application, which can be executed on any

android mobile phone. In this application, SQLite is the Back-end database language and Kotlin, Java

is the Front-end language.

As for all the daily pattern of attendance, the application will analyse automatically the attendance

percentage of students without any physical paper-based calculation.

The system shortens the teachers with collaborative design and mechanized dealing out of attendance

management. With operative use, any School, College can apply the “Attendance Management

System” for accompanying quick attendance and getting better outcomes in less time. Results will be

downloaded in the form of a PDF.

4
ACKNOWLEDGEMENT

The existing project, as a part of the curriculum, was a first-of-its-kind experience for me. I had

looked upon this project not merely as a syllabus to be completed but as an aim to know, study,

develop and experience the commercial software enhancement and development strategies.

I would like to acknowledge and appreciate the support of a few, who served a helping hand

physically, mentally, and intellectually in the development of this project. The past two years have

been so helpful for this project, as software-related planning needs and design, implementation were

been explained, thank you subject teachers for letting me understand the need for dedication to any

project. Foremost regards to my guide, I would thank our H.O.D, (Name) and Principal (Name) who

made available the facilities required for the project work such as suitable timings, regular discussion.

I am pleased to be able to say that, acceptably, I have achieved my goals and goals to make this

project a result. I also wish to mention the unsaid support of my parents who, as always helped me in

every possible way to make this work of mine, a success, they helped me with a work full

environment.

The contribution made by my friends and mates directly or indirectly was essential, and will

always be remembered. This opportunity has given me valuable experience in software development in

the real world, which will help me in the near future.

Thanking You.

Name

5
TABLE OF CONTENTS

CHAPTER 1: INTRODUCTION 11
1.1 Background ................................................................................................................................... 12
1.2 Objectives ..................................................................................................................................... 14
1.3 Purpose, Scope, and Applicability ................................................................................................ 20
1.3.1 Purpose ................................................................................................................................... 20
1.3.2 Scope ...................................................................................................................................... 22
1.3.3 Applicability .......................................................................................................................... 24
1.4 Achievements ............................................................................................................................... 28
1.5 Organisation of Report ................................................................................................................. 30
CHAPTER 2: REVIEW OF TECHNOLOGIES 33
2.1 Technologies available for development: ..................................................................................... 33
2.2 Software and Languages Required: .............................................................................................. 34
2.2.1. Android Studio: ..................................................................................................................... 34
2.2.2. Java: ...................................................................................................................................... 37
2.2.3. Kotlin: ................................................................................................................................... 39
2.2.4. SQLite: .................................................................................................................................. 41
2.3 Existing technologies:................................................................................................................... 43
2.3.1 Similar software: .................................................................................................................... 43
2.3.2 Other languages for Android application development: ........................................................ 46
2.3.3 Databases: .............................................................................................................................. 48
2.4 Existing projects: .......................................................................................................................... 49
2.4.1 Jibble: ..................................................................................................................................... 49
2.4.2 MyClass Attendance: ............................................................................................................. 50
2.4.3 factoTime: ...............................................................................Error! Bookmark not defined.
CHAPTER 3: SOFTWARE REQUIREMENT SPECIFICATIONS 51
3.1 Problem Definition: ...................................................................................................................... 51
3.1.1 Purpose ................................................................................................................................... 53
3.1.2 Scope: ..................................................................................................................................... 54
3.2 Requirement specification: ........................................................................................................... 56
3.2.1 User Requirement: ................................................................................................................. 56
3.2.2 Functional requirements......................................................................................................... 57
3.2.3 Non-functional requirements: ................................................................................................ 58
3.3 Preliminary Product Description: ................................................................................................. 59
3.3.1 Product perspective ................................................................................................................ 60
3.3.2 Product Functions .................................................................................................................. 61
6
3.3.3. Design and Implementation Constraints: .............................................................................. 61
3.3.4 Assumptions and Dependencies: ........................................................................................... 61
3.4 Software & Hardware Requirements ............................................................................................ 62
3.4.1 Hardware requirements: ......................................................................................................... 62
3.4.2 Software requirements ........................................................................................................... 63
3.5 Planning and Scheduling .............................................................................................................. 63
3.6 Conceptual Models ....................................................................................................................... 66
3.6.1 User Functions: ...................................................................................................................... 67
3.6.2 Sign up Model: ....................................................................................................................... 68
3.6.3 Add students’ data: ................................................................................................................ 69
3.6.4 Delete students’ data: ............................................................................................................. 70
3.6.5 Mark attendance ..................................................................................................................... 71
3.6.6 Download Monthly records: .................................................................................................. 72
CHAPTER 4: SYSTEM DESIGN 73
4.1 Basic Modules .............................................................................................................................. 73
4.2 Data Design .................................................................................................................................. 74
4.2.1 Schema Design: ..................................................................................................................... 74
4.3 Procedural Design......................................................................................................................... 75
4.3.1 Logic diagram ........................................................................................................................ 75
4.3.2 Use case diagram ................................................................................................................... 78
4.4 Algorithm design .......................................................................................................................... 80
4.4.2 Login Algorithm: ................................................................................................................... 80
4.4.3 Main Algorithm ..................................................................................................................... 80
4.5 User Interface Design ................................................................................................................... 82
4.5.1 Registration screen: ................................................................................................................ 82
4.5.2 Create class ............................................................................................................................ 83
4.5.3 Add students and update student name .................................................................................. 84
4.5.4 Download monthly records .................................................................................................... 85
4.6 Security Issues .............................................................................................................................. 86
4.7 Test Case design: .......................................................................................................................... 86
CHAPTER 5: IMPLEMENTATION AND TESTING 89
5.1 Implementation Approaches ......................................................................................................... 89
5.2 Coding Details and Code Efficiency ............................................................................................ 89
5.3: Testing approach ......................................................................................................................... 95
5.3.1: Unit Testing .......................................................................................................................... 96
5.3.2: Integration Testing ................................................................................................................ 97
5.3.3 Beta Testing ......................................................................................................................... 100
5.4: Modification and Improvements ............................................................................................... 101
7
5.5: Test Cases .................................................................................................................................. 101
CHAPTER 6: RESULTS AND DISCUSSION 102
6.1 Test Reports ................................................................................................................................ 102
6.2 User Documentation ................................................................................................................... 103
CHAPTER 7: CONCLUSIONS 115
7.1. Conclusion ................................................................................................................................. 115
7.2. Confinement of the framework.................................................................................................. 115
7.3. Future extent of the undertaking. ............................................................................................... 116
References 117

8
List of Tables

Table 3. 1 Project Planning 65

Table 4. 2 Class Record Table 74


Table 4. 3 Students Details Table 74
Table 4. 4 Attendance Records Table 75

9
List of Figures
Fig. 3. 1 Gantt Chart ............................................................................................................................ 65

Fig. 4. 1 DFD Diagram ......................................................................................................................... 77


Fig. 4. 2 Use case diagram.................................................................................................................... 79
Fig. 4. 3 Registration Screen ................................................................................................................ 82
Fig. 4. 4 Create Class ............................................................................................................................ 83
Fig. 4. 5 Add Students .......................................................................................................................... 84
Fig. 4. 6 Download Monthly Records ................................................................................................. 85

10
CHAPTER 1: INTRODUCTION

“It's so important to understand your good attendance ups your chances of


graduating.”

Attendance Management System is a software developed for daily assessment of

students in their continuous best, and presentation following the opinion of the institution. It is

facilitated to access the performance and information of attendance of a particular Student in a

particular month of study. The data is organized by the teachers, instructors, and non-staff members, as

provided by the student for a specific day throughout a complete semester.

This system will also enable the evaluation of student regular presence in

various lectures which will regulate the eligibility of the student to sit for a semester examination by

monthly reports, defaulters will be separated or marked and the corresponding action will be taken.

The teachers and registration staff waste a lot of time in recording and monitoring the attendance of

students for the courses and cannot keep the attendance recording procedures stream run easy and fast.

They express some problems related to time postponement, human errors, and provision quality, which

affect undesirably the educational system.

This application saves the time of the student and the teacher. It includes steps

like registration of the student’s info such as name, class, roll no, assigning the course primarily based

on their data entered and updates can be done further based on academic year difference, no need to

bring up-to-date the amount of students again and again. The application provides a user-friendly

interface for teachers to use. To solve and overcome problems specified further, we develop an

android-based attendance management system that reduces time, effort, and mistakes increase

attendance process efficiency and improves the current paperwork flow.

The reason for the existing system is to guarantee that the representatives are

dependable and achieve their responsibilities on schedule. With this system, the administrator might

save time to notice the workers. This attendance management system gives simple to-utilize and

dependable worker participation following and announcing. The framework will screen the
11
representatives working time. Also, the framework can store the records for workers like their own

subtleties data and participation record. In addition, institutions utilize the paper-based framework to

monitor the participation records of the workers. As an answer, the project will be created to conquer

the issues expressed above and give a viable method to screen the representative’s participation. This

arrangement will provide an easy-to-understand interface to kind the application simple to utilize.

1.1 Background

“Attend today, and achieve tomorrow, absence is avoidance”

With upcoming needs and time managing requirements, everything is been digitalized

or advanced using technology. We have a web application, android, and IOS-based applications that

make our day-to-day life easy and utilize our time smartly. The world is growing fast with the help of

programming technologies.

In our life today, Mobiles are one among numerous developments that extraordinarily

influence our method of living. Truth be told, it is noted as a fundamental apparatus in numerous

spaces including business, government, industry, sciences, instruction, school, home, and in practically

any organization and foundation that existed. It can perform measure information quickly, precisely

and solid and by utilizing these machines, investing a great deal of energy and exertion in doing a

specific undertaking is limited.

Smart phones these days have turned into the most requirements of information and

data preparation. Smart phones have been extremely powerful in many fields of work and study. It

surely assists man with making his undertaking a portion unpretentious and with extraordinary

accuracy. In schools and colleges, PCs are utilized to keep up with the essential progression of

information and data and taking a glance at the credit status of the understudies. But a teacher cannot

carry a PC everywhere, instead, it can carry smartphones. Smartphones are extremely valuable in

playing out an extraordinary assignment in info and data preparing, getting documents, info, and data

of the schools and individuals have a place with it. Software engineers now daily attempt to fabricate

12
and foster top-notch frameworks that are extremely helpful. An automated administration framework

keeps up by the standard progression of info and data with profoundly got and make information

preparing quicker and simpler. These mechanized frameworks help one individual, organization,

association, or somewhat kind of board office all through the world to improve and foster its overall

profile.

So, via these programming languages, we can build such an application which will

make attendance for academic’s students easy and for teachers to track their attendance. In this project,

we will develop an application which will focus on maintaining attendance record in for of tabular

arrangement and save as PDF. This application can help to lessen the burden of teaching and non-

teaching staff.

There are few limitations for existing systems:

➢ Time-consuming.

➢ Not accurate and marking of fake attendance.

➢ Error-prone.

➢ A large number of records are to be kept.

➢ Paper work is tedious when there are freshers in college.

➢ Monthly Report production takes too much time.

➢ Interaction between various students is difficult and time-consuming.

➢ Manual record is maintained, chances of faults

The attendance management system is android-based provides teaching and Admin

staff with the ability to show the student's names in each class, provide a digital Attendance sheet to

record each student attendance status, ability print or export the attendance data, reporting tool to

generate attendance reports for each student, course, or semester. So, to decrease the job required to

manage student’s attendance, a new way is proposed which is proposed through an android-based

attendance management system.

13
1.2 Objectives

“By the start of higher education, enduring absence crack out to be


leading indicator that a student will fail. Attendance is a reference point factor in causal
student success.”

Attendance is significant because students are additional to flourish in academics when

they join institutions consistently. It will be difficult for teachers and classrooms to build expertise and

thrive if large numbers of students are frequently absent. Because of their backward educational

attainment, students who do not attend school are more likely to get in trouble with the law and create

complications in their communities.

The purpose of a time management system is to provide a solution to an existing

system problem and create a system that helps an organization implement a more accurate time

management system and demonstrate that the system is development is efficient and useful. This

project usually includes supervision of students and teachers; attendance and performance evaluation,

give their score.Apparently, in today world things cannot be done organized, accurately, and

efficiently using the file-based system so making things globally in a digitized way is a tremendous

advantage in especially this kind of Attendance management system development

The objective of this project:

➢ Create an Android application to replace scanning and paper attendance techniques.

➢ Reduce the paper effort and storage area.

➢ Allow communication with different types of students.

➢ Improve accuracy in results.

➢ It has user-friendly interface having rapid access to documents.

➢ Save time and workload for staff and students.

14
➢ Avoid fake entry.

➢ Improve student`s performance by periodically informing teachers about their performance

by quick ball available.

➢ Less database maintenance charges

➢ User-friendly application (Here, the User is a teacher)

➢ Eradicate identical information entry and faults in period and attendance entries

➢ Secure the attendance report of the students

➢ Eradicate form-filling and save time.

➢ Automatic calculation of attendance daily and monthly report

➢ To Increase security, only the in-charge will have access to change students’ data (Roll no,

present days)

In today's world of making digital, educational organizations would be wrinkled under

the enormous paperwork volume without the use of dedicated management software. From college

managers to the coaching body of workers, software program equipment is of wonderful help, they

store effort and energy with not disturbing duties and give teacher time back to students. For example,

if lectures are for 50 minutes, and there are 120 students in a class, attendance of each will take 10 to

15 minutes at least for having roll call and asking to tell present, instead of using an application can

make it easy for subject wise attendance system.

The Attendance management system is based upon the following objectives:

➢ Students Roll number and full name will be safe and only the in-charge can bring up-to-

date the changes

➢ Attendance records will be upheld by the application and will notify daily total present

students
15
➢ Marking using a finger-touch will reduce the use of sheets and pen and will consume less

time

➢ Total number of students attending daily

➢ Total number of students absent in a lecture daily

➢ Monthly defaulters with severe punishment

➢ Percentage of monthly present and absent

➢ Storage in form PDF is suitable and will save space

➢ The choice will be given for storing in print or other forms

➢ This document will be kept in the phone memory so that you can use it further.

Most of the institution's Attendance Management systems should share these five key factors:

1. Definition of an ‘absence’ for the use of the Attendance Management structures:

The term “absenteeism” refers to many kinds of absences and can include the ones

resulting from chilly climates, statutory vacations, vacation, illness, circle of relatives-associated

demands, and stresses inside the place of academics. The Attendance Management systems need to the

consciousness of absences that distort the place of the institution and articulate which ones could be

“absences” for Attendance Management systems.

Planned nonappearances like holidays and statutory holidays are normally taken into

consideration beneficial and are common without problems absorbed through the institutions. But

unscheduled, ordinary absences, past due arrivals, and early departures may be tough to the place of

business, an irritant to different personnel, and carry awesome costs and results on usual productivity.

2. Variance between “blameworthy” and “Blameless” absence:

16
Blameworthy: “Blameworthy” absenteeism is the absence inside the students’ energy to

address and correct – and is accordingly “guilty” absenteeism for which the education system can keep

the students responsible and commonly leads to a progressive disciplinary reaction.

Blameless: “Blameless” or Innocent absence is not fault-based totally (as an instance, the

education system doesn’t propose a student, ward abuses unwell go away entitlements or in any other

case) or blameworthy and usually mandates a non-disciplinary modern coaching manner – precisely

what an Attendance Management gadget is meant to address. But this doesn’t mean a student is

precluded from putting reasonable expectancies and taking counteractive (although non-disciplinary)

measures, or can never terminate a student’s academic including examination, interviews, and campus

selection.

It does imply the stairs main up to and along with any termination need to know not to

be “disciplinary”. For the education system institution to terminate an employee based on harmless

absenteeism, it must set up that the student’s absenteeism is extreme when measured against a

reasonable general; and that there’s little chance of an alternate in the diploma of absence within the

destiny.

Authentication of the absence: Authentication or verification of the absence is prime to the

education system’s potential to properly classify the absence. And for the reason that students are

required to provide normal ongoing attendance, the institution has the right to be completely informed

of the premise of a student’s absence and any paintings obstacles or changes he/she wishes to perform

his/her task duties for academics benefits or advantages leading to enhancement in marking system.

It’s vital that the education system institution continually implement its right to proper facts and

notification from students: if an education system allows absenteeism to head unchecked, it is very

tough for it to later assert its rights. It’s beneficial to set out within the Attendance Management

structures the student’s academic excellent behaviour to offer scientific or real records, what records

are needed, and from whom.

3. A mechanism for absence reporting:

17
The Attendance Management systems necessity contract with, in some element, each

personnel’s obligations to document absences and the way they have to achieve this, and offer for the

administration’s ordinary evaluation of personnel’ attendance data. It’s critical to the assessment and

tracking of any Attendance Management structures that the education system ought to put into effect a

system to record and maintain the student's record of absences with the calculation.

4. Verges for access into and development via the Attendance Management system:

The Attending Management structures ought to without a doubt set out a Thresholds for

participation and progress in certain types of training, and details of what each covers. It is legally

desirable and nearly essential for the agency to access the attendance management system and

establish an absentee threshold to proceed to extracurricular termination after all degrees of training.

These thresholds are generally based primarily on a range of specific absentee times due to the

absence of your own negligence at specific times (eg, different times). Once the student first creates all

the required thresholds and enters the attendance management system, the education system needs to

initiate a series of coaching sessions. Each session occurs above the applicable threshold. The

education system should cover the following:

a. The reality that student attendance records, the need for improvement, and regular

attendance are expectations of achievement.

b. Offer to draw with students to find out the reason, answer, and resources for the session.

c. Rules and regulations regarding improved attendance plans, goals and expectations.

d. The next steps in the attendance management process and the possible consequences of

permanent absence.

e. To an ideal degree, point out that the absence of students jeopardizes their process and,

failure to improve, can lead to dismissal or eviction from the institution. Students need

to document each meeting, remembering their personality situations, and provide the

student (and the group, if relevant) with a written precis of the final results.

18
5. Preservation of organization discretion:

The machine should go through in thoughts its legal responsibility now not to

discriminate and its responsibility to the residence beneath human rights law (and any relevant

collective settlement) even as creating, imposing, and imposing any Attendance Management

structures. If now not, it runs the chance that a disobey to parents, or arbitrator will locate it

discriminatory and strike it down.

The Attendance Management structures should repair the institution`s capacity to

exercise discretion and deviate from the Attendance Management structures so it could adjust

primarily based totally at the specific occasions in every case – and in particular, to ensure it could

usually meet its obligation to residence as and even as it might get up. A not unusualplace Attendance

Management systems deviation isn`t constantly to depend variety the of hours of absence towards the

Attendance Management machine's thresholds withinside the series of a duration of incapacity.

Students should be alive to “flags” raising the possibility of a accommodations need

even as dealing with absenteeism as a manner to fulfill their mutual responsibilities. Innocent

absenteeism may be related to a scholar`s club in a set covered making use of scholar rights guidelines

supplied via way of means of the training machine.

The institution's obligation to the residence starts whilst it's been made aware of the

need for accommodations, or the occasions are such that it ought fairly to have appeared of the want

for accommodations. Frequently, it`s at a few degree withinside the education classes in the context of

an Attendance Management shape in which the scholar will reveal the need for an accommodation, or

there can also additionally be “flags” that enhance that possibility and cause the teacher`s obligation to

deal with.

19
1.3 Purpose, Scope & Applicability

1.3.1 Purpose

“Positive student behaviour support helps educators and parents appreciate good
behaviour, and motivates all students to achieve their purpose of education.”

With the speedy increase in the field of Information Technology, we must update with

the upcoming new technologies, new programming languages. The purpose of this application is to

automate attendance, provide user-friendly, easily accessible, and less use of system storage. The data

generated will be available to access after years too. This system aims at the automation of attendance

management to manage the student information and catch the details so that management can inform

parents about their performance.

The determination of emerging this attendance organization system is to digitize the

old-style way of taking attendance. Additional motive for growing this software program is to supply

the record robotically on the give up of the month. This presents Data uniformity, in which your

attendance information may be considered each time you want, and the power for powerful interplay

among mother and father and school. To make mistake it`s a human tendency, however this software

will offer with a hazard to alternate or replace the pupil facts. So, you need to now no longer fear

approximately the pupil`s call liabilities or another errors

The motive for this assignment the mission is to differentiate the problems with regard

to participation of the executives, to perform what's required via way of the institution. This is to

improve understudies` and instructors' participation execution and faculty security. This assessment

will foster an attendance control gadget to assist the body of workers and make their participation

checking easy and their paintings with much less exertion. The attendance control gadget offers an

easy-to-recognize weather and possible execution gadget, this can supply easier and faster get

admission to to the records of every pupil and educator of their contribution record.

It will lessen the office work in addition to shop money and time that are spending in

making reviews and sending man-made excel sheets for informing the determine approximately their

20
child`s overall performance. It may be accessed at some point of the organisation and outdoor as

properly with right information provided. This gadget may be used as an software for sophistication to

manipulate the pupil records and overall performance element so they may be knowledgeable to their

determine`s which might also additionally assist in enhancing their overall performance with the

steering of school and determine.

It is hard for any control to save a huge quantity of facts manually or in papers. In that

circumstance, whilst any person desires to take the records, it's miles very elaborate for control to

supply records proximately. It is a completely time-eating process. Nevertheless, via way of by using

the pc it takes only some minutes/seconds. Attendance Record Just in A Few Click

• Effortless Tabular Data arrangement

• Effective user experience

• Parents Can Access It Too

• Efficient Student Management

• Class councils can also handle it very professionally.

What is the importance of Attendance Management in an institution?

Every organization should have an Attendance Management System for all faculty, students,

and non-teaching staff. Every system needs to comply with the timekeeping requirements, regardless

of how you implement them.

Attendance Management Systems agree you to compute the hours for which students work

precisely. This is especially beneficial if you have to attend a lecture in an institution on an hourly

basis. You need to be able to calculate the exact timings you owe to your parents.

If you have senior students, you can always see how often they are attending lectures and

avoiding bunking a lecture and, in this process, they are maintaining a huge length of discipline in the

way of strong motivation to be present in lectures. Teachers can record and document the time both at
21
and away from your institution using the Attendance Management systems. You can keep a track of

how much they are missing lectures that are important to clear their final examination, even when you

don’t see them.

Any solution that helps to monitor a student’s time spent in the office is called an attendance

management system. Fascinatingly, this doesn’t unavoidably have to be a digital tool – paper records,

time clocks, and Excel-based spreadsheets are some of the heritage models of attendance

management.

But with knowledge developing at fast speed and companies watching at large, distributed

personnel, the tackles to record attendance must keep pace. This has given rise to devoted software for

employee time-tracking, reaching from on-premise software to cloud-based tools with advanced

analytics and automated timetable configuring.

Tracking student time will also let them know if they are punctual. This only works if you

require students to document the exact time they enter or leave. Attendance management lets you save

track of how many days off scholars use. This is vital if your education system has a policy that lets

students use a certain number of sick or vacation days, for example, 75 % attendance is mandatory to

appear in Sem exams.

1.3.2 Scope

“Absences add up! Missing just 2 days a month means a child misses 10%
of the academic year.”

Project scope is the system projects with software installed are set up as Android

applications and work in a particular school or university. However, you can modify and operate the

project later. online-platform-based learning. The teachers who cannot afford to come to colleges

because of pandemics there were some restrictions will be able to use this application from home, just

need to remember their respective subject. Present-day innovation is a piece of our routine. It helps

people and enterprises play out their assignments and day-by-day schedules, including their exchanges.
22
Current innovation gives a benefit in achieving our work. This innovation comprises gadgets and data

frameworks that assist us with achieving quicker and solid exchanges. Every system decreases the

heap in staff and desk work of the administration.

Today, associations and institutions rely on digitization as a prerequisite for database

management systems. Innovation has a profound and diverse impact on all ways of human existence,

for example by helping individuals work faster, more accurately and more productively. But the truth

is that today, when smart technology is the way to live, the majority of state foundations are clearly not

working on advanced innovation. Not all companies have mastered smartphones when it comes to

programming user time-in and timeout records, so some companies tend to use manuals. However,

there is no doubt that physical work will result in incorrect data. The

structure has an area of progress. This application can be customized from time to time to meet the

changing needs of the institution with less effort, and the product backend can be modified according

to the capacity requirements of the application to provide a higher level of highlighting. The generated

data will continue to be available years later. The system aims to automate attendance management,

manage student information, obtain details, and allow managers to update their parents' grades. You

can also investigate application limitations and upgrade as needed. Although this project was clearly

developed for a particular foundation and supports a particular set of educational systems. Widespread

use of this small disadvantage venture in the future proves its value. This helps to take over the online

presence, as each teacher needs to mark and store daily data during the

pandemic. Monthly records are created and saved based on this. Previous data helps teachers provide

evidence and make decisions about the small number of students attending each lecture. The

application has an institutional logo to facilitate identification among students and is accessible with

appropriate details from the entire organization and from outside.

The comprehensive description of the objectives are as follows:

✓ Discontinue if a particular student will eliminate attendance record

✓ Bar Code Reader based attendance can be also added in future updates according to

needs
23
✓ The tabular arrangement of student’s data will make it easy to calculate the percentage

of presence.

✓ The monthly report can be printed or saved as a PDF.

✓ The record will be in a read-only format where you cannot change the data, so it

increases data privacy for college

✓ Subject teachers will be able to mark present or absent and check the total presence side

by side. Hence, user-friendly

The design and foundation of the project is an Android-based system that manages the

registration of users and customers, and provides the function of registering student and teacher

profiles. The system also provides the ability to search and generate attendance reports.

1.3.3 Applicability

“Your occurrence here is only a material of testing with limits, reminding


yourself of pardon you aren't.”

Every education institute needs to keep records of how their students attend the lecture,

especially when they are near to give board exams, attendance matters most. Attendance management is

necessary not just for student’s academics but also for teaching staff so that they get well acquainted with

the attendance of their students, this application can be made useful for teachers and students in terms

of education rules.

• It’s an android-based application, which will run on smartphones working on

android. Further IOS-based can developed.

• Future enhancement is applicable here, it depends on the feedback provided by the

college

• Every college will have their logo on the application, to identify easily

• Automatic attendance management systems ensure accurate time records and

diminish the predictable and costly errors with physical data entry.

24
• Monitoring and handling attendance physically can be a time-consuming

• A consistent attendance management system can deliver good visibility of all data

and can comfort the student's academic behaviour

• The attendance details are stored in the databases, which can be downloaded or

printed for further use.

• An attendance management system is a vital part of the class administration system.

Advanced attendance management system is Game-Changer:

Implementing digital attendance management systems can transform the way you manage your

workforce. Features and features integrated in these platforms are an indispensable part in employees'

daily workflow and digital systems that prevent errors that can lead to row compliance issues Month

and Compliance. With the smart app of digital cutting assets, your participating management system

can be the border - For both your business and for the base - Convert a complicated process once into

A Easy-To-monitor workshop and a simple operation.

The advantages of the attendance management system are as follows:

• Increases Efficiency:

The administration framework helps the profitability of the classes. The motivation

behind the development in productiveness is decreased time to safeguard the attendance records and

expanded exactness in sorting out the realities. Less time prompts to keep the classes concentrated on

the efficiency of the teaching process.

• Protects Natural Resources:

Stationary precise from the paper is saved in this system. It leads to convertible natural

resources and keeps a digital track of the data. Also, it does not create a mess of the records to be

maintained.

25
• Access from Wherever:

The Android-based application can be accessed from anywhere, anytime. A best of the

lot can be kept due to its easy user-friendliness. It also simplifies providing immediate information.

• Student-Teacher Association:

This expands the cooperation between the staff and the students. The connection occurs

over the application, it likewise encourages a compassionate air in the scholastics.

• Transparency with Parents’ Increases:

The android-based programming, reminders the connection with the guardians also.

Guardians can beware of their wards now and then and monitor their attendance in the academic fields.

This reminds me of the straightforwardness between the guardians and the teachers. The programming

lets the association around expanding the student’s development

• Reduction in the time of Communication:

All the basic information needed for attendance is accessible on the application and

subsequently there is a decrease in the expense of correspondence, which incorporates getting and

conveying messages to tell the guardians and students about the difference in their attendance

privileged towards good academics.

• Lessens Workload:

The remaining duties of the staff are reduced because the speakers need to focus on age.

No need to manually calculate absenteeism and attendance, this automated attendance system

calculates and creates a sort table using data from the database, which can later saved as PDF or

printed. This reduces the burden on personnel and saves time.

School principals can easily track the daily attendance of students and teachers, parents

can have student attendance records for information on student academic performance, students can

easily enter and record their daily attendance on time and record when they need it, teachers can easily
26
enter and record their daily attendance on time and have records when they need. Future researchers

can use our study as a reference guide for their future researchers who are linked to the database

management system..

The electronic interface keeps your information brought together and open from anyplace

whenever through an internet browser, Our Time and participation in the board Software permit you to

get a quick and far-reaching timesheet effectively and rapidly. The finance module gives a

straightforward, simple, and quick compensation computation. HR can make distinctive diverse Time,

Shift, Week, and OT approaches and apply those on different worker bunches independently.

Occasion and Week Offs can be overseen effectively for each branch and division.

Organization Holiday and Local occasion is the extra component. Worker Timesheet is accessible as

Employee savvy and Date insightful. Supervisors can screen/see/update worker's Timesheet in a like

manner.

Our Time and participation in the executive's Software Help in making a marshal perform

finance handling with precision. This participation framework ascertains late and early sections for

every worker as per characterized Time Policy. It very well may be observed from single tick just Shift

Roster to predefine and preplan Employee shift on day by day, week after week, month to month and

custom span premise. It least's HR burdens to screen and change shifts on an everyday schedule. With

few ticks, the Manager can screen the representative's whole presentation including participation,

missing, late, early takeoff, OT, and a lot more System keeps every one of the records of worker's

endorsed and arranged leaves, Offs, and Holidays, Timelabs upholds and is coordinated different

biometric gadgets that are accessible in the market today that keeps track on workers working hours

and participation the board, Timelabs gives different dominate layouts to transfer your lord

information into the product; ie representative subtleties, HR subtleties, Leave apportioning and so on

Additionally, this client can send out and transfer Employee's Shift Roster, OT, Attendance,

Salary Days, and so forth Administrator other client access throughout the Time labs application.

Permit module astute and application savvy admittance to another client. Programming secret phrase

27
strategy makes it safer and adaptable. Programming gives secret word length, characters, old secret

phrase history, and so on different settings. It additionally keeps the record of all client meetings.

Timelapse reports present solid and precise worker information that can be traded in different

report designs. Our Time and participation in the executive's Software permit you to modify highlights

as indicated by your particular necessity. Through Our Time and participation in the executive's

Software, you will want to recover the past significant information rapidly. Timelapse changes your

timetable depending on the situation, and assists you with discovering the remainder of the cycle that

goes a lot smoother. You feel OK with the arrival of the undertaking planning arrangement. Indeed,

you need to do to showcase before the opposition. Information from LAN, WAN, GPRS is

synchronized on an incorporated participation worker and that is open anyplace from an internet

browser. With GPRS viable gadgets information can be synchronized initially from numerous distant

areas

1.4 Achievements

The achievements that were achieved from this project included various things such as

the actual implementation of various conceptual diagrams, models, explanations through charts.

Ideas for future updates provide a basic knowledge of digitalization. Implementation of

this project will prove that we can go paperless with the use of technology. A useful implementation of

knowledge, logic gives the experience to handle such projects in the future.

The use of the Kotlin programming language for this project is one of the important

achievements as it’s a new and trending language that provides good compatibility and less coding

with effective results.

This project will contribute to those colleges where students attend less but have a

presence percentage more, as here the data is maintained on daily basis. Parents will also be able to

monitor their ward's academic stats, behavior, sincerity towards studies. Because the number of

absences can prove students wish of learning respective subject, on that basis teachers can discuss with

parents for improvement.

28
➢ Subject teachers control access and maintain security.

➢ Our application contains lots of functionalities it each having specific operations to

perform.

➢ Several reports are available with lots of filter data.

➢ It contains better storage capacity based on memory storage.

➢ Easy and fast recovery capacity.

➢ Accurate in work.

➢ Works become very speedy.

➢ Easy to update information.

➢ System stores information of new entry of Students and teachers.

➢ A handler of this application should not get any error.

➢ Ensure data correctness.

Achievements regarding project structure can lack other ideas such as bar code scanner,

face recognition, and many other add-ons, but this can be made available in future updates. For using

this application on a large scale, it will require upgrades where the system should support the user’s

needs, this application will not work on windows till any android emulator is used, this is the biggest

drawback. Update related to facial recognition will need team supports in further enhancement.

Upgrades in an Attendance Management System to be utilized by the organization:

Now that you`re aware about the ought to-haves for attendance management, permit`s

look at a few great-to-have capabilities that might help your employees to end up more green and

moreover prevent treasured time and effort.

a. Biometric attendance:

Biometric attendance is implausible when you have huge employees with particular

clock-in and clock-out timelines. For instance, a touching center may have a nine-hour shift using over

one hundred sellers. The biometric generation removes the threat of fraud through the usage of the

worker`s fingerprint or distinct personal identification for attendance authorization.

29
But withinside the time of the pandemic, social estrangement performs an essential

position to offer safety, so biometric attendance will now no longer be used on the time of lockdown

and on line work-from-home

b. Missed clock-in signs:

Frequently, an worker might probable neglect to clock in after taking a smash or pass

clocking out in a rush to go away after the workday. Automated signs will tell managers/employees of

these anomalies, asking for on-the-spot movement.

Many conditions arise in which the worker is in hurry to finish a few essential undertakings associated

with private life, however on this hurry, he/she forgets approximately the attendance and forgets to

clock out. Which can cause faults withinside the worker profits structure

c. Calendar integration:

An attendance manipulate machine additionally may be synced with digital calendars

collectively with Google Calendar, Outlook, and Teams, and lots of more. This shall we all of us

withinside the institution recognize about a person`s availability. Calendar integrations are specifically

relevant for faraway groups in which you could without a doubt check on a person`s attendance via a

shared calendar. But our Attendance Management structures software already has the calendar

functionality, which is wanted to be up to date in line with organizational makes use of and this

calendar will automate with marking for operating and non-operating days in impact to substitutional

improvement of worker profits structures

1.5 Organisation of Report

Chapter 1: Introduction

Following are several outlines:

a. Background: An enlightenment of the development framework and its association with the

effort already done in the field.

30
b. Objectives: Brief declaration of the goals and intentions of the project.

c. Purpose: Project requirement description that answers questions about the need of

implementing the project.

d. Scope: A transient summary of the method, theories, and future prospective

e. Applicability: The student must describe the direct and indirect applications of his work and

f. Achievements: Explains the student’s achievements after the success of the project.

Chapter 2: Survey of Technologies:

The Technology Survey validates the acquaintance and understanding of available

technology associated with the project. Describe the technologies obtainable in the chosen area and

present a reasonable study of all available technologies and which is the best of them and why choose

the technology.

Kotlin language is used for making this application. Kotlin is a cross-platform

programming language it is intended to fully interwork with Java but it lets its syntax to be more

concise. JVM is the main target of Kotlin. JetBrains and Google sponsor Kotlin language. Google

officially supports Kotlin for Android, as Kotlin is an alternative to java.

Chapter 3: Requirements and Analysis:

This chapter defines what problem you are experiencing and how your project will

overcome the problem that is occurring in society. Listing the necessities of the project. Scheduling

and planning for the project so that project should complete on time and doesn't go on a critical path.

Give the list of software along with hardware components require by the project and explain key points

about it. Charts, models, and diagrams

Chapter 4: System Design:

31
This chapter describes features and consists of designing a system, i.e., designing

schemes, designing algorithms, and designing basic modules of a system

Chapter 5: Implementation and Testing

This chapter contains the details of various modules, codes, and various libraries I have

imported successfully to implement the project. It also contains the details of the process or work I

have done to make code efficient. This chapter also contains the details of various testing approaches I

have used.

Chapter 6: Results and Discussion

This Chapter shows the details of the test results after testing the software and

generates a report based on the Test results. This chapter will also show the behaviour of the

application when inputs are different from the ones written in the Test Cases.

This Chapter also contains details of the working of the application and the

different functions in the project. It should also contain the User Manual, which provides the

understanding of the working of the project to the user.

Chapter 7: Conclusion

This chapter summarizes all the important points of all other chapters. It also

shows the limitation in the proposed system and details about a plan to explore the scope of the project

32
CHAPTER 2: REVIEW OF TECHNOLOGIES

2.1 Technologies available for development:

“Technology is a tool. In relations of receiving the student working composed and inspiring them, the

teacher is most important.” - Bill Gates

In the present system, all work is done on paper. The entire meeting attendance is stored

in the list and at the end of the semester the reports are generated and it takes more time to calculate.

By the way, we are not interested in generating a report at the end of the semester but during the

semester for the student to take note of his situation, and the department to know what action to take

on students with poor attendance even before the Exam. As a result, we are unable to receive the

student order report and take action on the student when we want due to a very lengthy process.

Weaknesses in Existing System:

1. No sympathy:

The current system is not user friendly because the data rescue is very slow and the data is not

effectively maintained at

2. Difficulties in creating reports:

We need more controls to create a report to create a report so that it is created at the end of the

semester.

3. Manual control:

All commands to create a report are made manually, there are many greater bugs.

4. Lots of paperwork:

The current system requires a lot of paperwork.

33
5. Loss of Time:

Each job is done physically so we can't report at the end of the semester or by obligation

because it's very time consuming

The android app development sector is grown in recent years and it is in the boom in the

market. There are a few advances for portable applications generally used for a certain point or the

improvement of multi-stage applications. In India, the biggest utilization of cell phones is worked with

the Android working framework and is perfect with Android applications. Android application

development tools and technologies refer to various tools and software programming languages used

to perform the various activities.

Smartphones are extremely valuable in playing out an extraordinary assignment in information

and data preparing, getting documents, information, and data of the schools and individuals have a

place with it. Software engineers now daily attempt to construct and foster top-notch frameworks that

are extremely helpful. An automated administration context keeps up with the standard progression of

information and data with profoundly got and make information preparing quicker and simpler.

2.2 Software and Languages Required:

2.2.1. Android Studio:

Android Studio is the integrated development environment (IDE) for Android application

development. IntelliJ's efficient code editing and development tools, Android Studio offers even

greater features to improve your productivity when building Android apps, as well as:

34
• A flexible construction machine based primarily on Gradle

• Fast and functional emulator

• Unified environment in which you can develop for all Android devices

• Apply push code changes and useful resource changes to your running application without restarting

your application

• Code samples and GitHub integrations that will help to build universal app functionality and import

sample code

• Extensive testing of tools and frameworks

• Lint tools to detect overall performance, usableness, version compatibility and other issues

• C++ and NDK . help

Each task in Android Studio consists of one or more modules with source code documentation and

resource documentation. Module types include:

• Android Application Module

• Library modules

• Google App Engine Modules

Android Studio by default shows your undertaking files within the Android mission view, this

view is prepared via modules to offer quick get admission to your undertaking's key source files.

The application development process for Android is conceptually the same as for other

application platforms. However, to effectively build a well-designed app for Android, you need

specialized tools.

1. Organize your workspace

35
Here's the part you're probably done with: Install Android Studio and create a project. For an Android

Studio tutorial that covers some of the basics of Android development, try our guide to building your

first app.

2. Write your app

Now you can move on to painting. Android Studio includes a wide range of devices and intelligence

that will help you work faster, write high-quality code, layout user interfaces, and build sources for

unique types of tools. For more information on available devices and functions, see Write your app.

3. Build and Run

For example, you can create build variants that generate application-specific variations from the same

task, while reducing code and resources to reduce the size of your application.

4. Debugging, configuring and testing

This is the iterative phase where you continue to write your application, but focus on debugging and

optimizing application performance. Of course, growth tests will help you in these endeavors. For logs

of simple debugging obligations, read Debugging your application and write and review logs. To view

and analyze community traffic, CPU impact, and more, see Performance Profiler.

5. Publishing

When you're ready to launch your app to customers, there are just a few more things to keep in mind,

including determining the app version, generating the Android app bundle, and signing the app with

the key. For more information, see Publish your app.

36
2.2.2. Java:

Java is a substantial level, a class-based, OOPs language that is intended to have as scarcely

any execution conditions as could be expected. It’s convenient programming language planned to let

application designers compose once, run anyplace implying that accumulated Java code runs on all

stages that help Java without the requirement for recompilation.

The principal objective behind Android improvement was to establish a stage-free application

climate that run on each gadget. As we probably are aware java as of now has this quality so java was

picked for android advancement. Android applications run on a unique virtual machine called Dalvik

VM that is an immediate motivation from the java virtual machine called JVM. Android applications

runs on any gadget where an extraordinary Dalvik VM is carried out. This way Android applications

are aggregated and run in an ideal exhibition climate with the component of stage autonomy. A decent

methodology towards programming advancement is the item situated methodology. Android depends

intensely on Java basics like classes and articles and its other helpful components of uh oh. Java has a

broad arrangement of libraries. It is not difficult to exploit these libraries.

Android code is generated once and for running needs to combine and streamline local code for

better execution across different gadgets. Java has phase independent components, so it is used for

Android advance. Java is an extremely popular language due to its excellent layout and execution. The

group of capable developers is huge. As result, Android engineers choose Java because there are now a

large amount of Java developers who can help build and develop Android applications in all to the

many Java libraries and devices that make their life easier. designers become easier.

37
Java is awesome and the primary language to improve local programming. This is the main

choice for local apps, local apps are the heart of Android. The key core elements of Java also inspire

Android designers to use it for development. These terms include simple, stepless, secure, and object-

oriented learning. Why is Java preferred over other programming languages?

Every language has its qualities and shortcomings. It’s based on software engineers to choose

which language best serves for specific company. In addition to countless accessible languages, java

written computer programs are clearly the most famous language of engineers. Java attaches great

importance to its amazing elements that combine solid, superior memory frames, in the same reversal

sense and safety of specific features to provide some examples. The last Java is being used in a large

number of areas, including the progress of versatile applications, improving web programs and frames.

However, its function is its ability to create small modules or applets for applications.

In addition, successful software engineers also find it helpful to stick to their usual familiar

range rather than switch to another language. It is probably the most important language uses create

programming for different periods. It is basic and simple to compose language. Furthermore, the best

thing about Java is that is self-contained and can be compiled once and run anywhere. In addition, Java

is a dominant compound programming language, making it faster than different languages. Set of Java

experiments in effort and verbos encryption type is often greater and more diverse. The availability of

Java Information Base is the most known and used globally to link different utilities. If you have a

sentence to use the ability to survive, Java provides additional support for essential restructuring

compared to different languages because of its static type.

38
2.2.3. Kotlin:

Kotlin is an advanced but mature programming language that aims to make builders happier. It

is concise, secure, compatible with Java and other languages, and provides multiple methods of code

reuse across multiple systems for efficient programming.

Cross-platform programming support is the main advantages of Kotlin. This reduces the time it

takes to write and maintain the same code for different platforms while preserving the flexibility and

benefits of native programming. Conventional Kotlin comprises the language libraries, and core tools.

Commonly written Kotlin code that works anywhere on platforms. With the Kotlin Multiformat

Library, you reuse cross-platform logic in cross-platform and cross-platform code. Generic code can

depend on a set of libraries that hide everyday tasks like HTTP, serialization, and per-process.

Kotlin fixes a series of issues that Java suffers from:

o Type systems control null referrences

o Raw type are unavailable

o Arrays are invariant in Kotlin language

o Kotlin has suitable function types, as contrasting to Java's SAM-conversions

o Use-site variance without wildcards

o Kotlin does not have checked exception

Kotlin is good for developing employee aspect programs, allowing you to compose compact

and expressive code whilst retaining up with complete similarity with current Java-primarily based

totally innovation stacks and a clean expectation to soak up information:


39
a. Expressiveness: Kotlin`s resourceful language highlights, for example, its assist for type-secure

builders and exact properties, assist fabricate superb and easy to-make use of reflections.

b. Adaptability: Kotlin's assist for coroutines facilitates fabricate employee aspect programs that scale

to colossal portions of clients with unassuming device prerequisites.

c. Interoperability: Kotlin is absolutely feasible with all Java-primarily based totally structures, which

permits you to stay in your herbal innovation stack whilst receiving the rewards of a extra cutting-edge

language.

d. Movement: Kotlin upholds steady, step by step relocation of big codebases from Java to Kotlin.

You can start composing new code in Kotlin whilst retaining extra set up portions of your framework

in Java.

What Kotlin has that Java does not:

➢ Lambda expressions + Inline functions = performant custom manipulate structures

➢ Extension functions

➢ Null-safety

➢ Smart casts

➢ String templates

➢ Properties

➢ Primary constructors

➢ First-magnificence delegation

➢ Type inference for variable and assets types

➢ Singletons

➢ Declaration-webweb page variance & Type projections

➢ Range expressions

➢ Operator overloading

➢ Companion objects

➢ Data classes

➢ Separate interfaces for read-most effective and mutable collections


40
➢ Coroutines

Uses of Kotlin:

Sharing code among cellular structures is one of the predominant Kotlin Multiplatform use

cases. With Kotlin Multiplatform Mobile (KMM), you may construct multiplatform cellular programs

sharing code, together with commercial enterprise logic, connectivity, and extra, among Android and

iOS.

Another situation when code allotment may bring assistances is a connected request where the

logic can be reused on both the server and the client-side running in the browser. The Ktor framework

is appropriate for structure asynchronous servers and clients in associated systems.

2.2.4. SQLite:

SQLite is a Clanguage library that implements a small, fast, self-contained, highly reliable and

full-featured SQL database engine. SQLite is the most widely used database engine in the world.

SQLite is integrated in mobile phone, comes with loads of other apps that people use every day. The

SQLite file format is stable, cross-platform, and backward compatible, and the developers are

committed to keeping it good through 2050. SQLite database records are commonly used as containers

for transferring rich content between files. system and as a permanent storage format for data.

SQLite mainly follows the PostgreSQL sentence structure. SQLite uses strongly structured

SQL syntax and unfortunately does not guarantee region integrity. This implies that one could, for

example, embed a string in a section characterized by a number. SQLite will attempt to change the

information between designs, if necessary, the string "123" to a number for this case, but does not

guarantee such conversions and will store the information without any guarantees. if that conversion is
41
pointless. SQLite is a well-known decision as implanted data set programming for customer

stockpiling in application programming, for example, internet browsers. It is the most generally

conveyed data set to motor, as it is utilized today by a few boundless programs, working frameworks,

and installed frameworks like cell phones.

Features Of SQLite:

• Transactions are atomic, consistent, isolated, and durable (ACID) even during system crashes

and power outages.

• No configuration, ie no configuration or administration required.

• Full SQL implementation with advanced features such as partial indexes, expression indexes,

JSON, regular table expressions, and windowing functions.

• Supports multi-terabyte databases and multi-gigabyte strings and blobs.

• Simple API, and fast. In many cases, SQLite is quicker than direct file system I/O.

• Written in ANSIC. TCL accessories included. Attachments for dozens of other languages are

available separately. Well commented source code with 100% branch checking coverage.

• Available as a single ANSIC source code file, easy to compile and therefore easy to add to a

larger project.

• Autonomy, not dependent on outside.

• Cross-platform: Android, Linux, Mac, Solaris, VxWorks and Windows supported by default.

• Easy migration to systems.

• Public domain sources.

Uses For SQLite:

Server-side database:

Systems designers report success using SQLite as the underlying storage engine for

application-specific database servers. With this model, the system is always client and server: clients

send requirements to the server, receive responses over the network. But instead of transfer generic

42
SQL and recovering raw table contents, client requests and server responses are high-level and

application-specific. .

File Format:

Somewhat using open() to write XML, CSV, or some listed format disk files used by

application, uses a SQLite database.

Substitute For An Enterprise RDBMS:

SQLite is frequently used a supernumerary for an innovativeness RDBMS intended for

demonstration determinations. SQLite is reckless and requires no setup, which takings a lot of the

irritation of testing and which varieties demos active and easy to launch.

2.3 Existing technologies:

“Unlike existing, new technology requires effort.”

2.3.1 Similar software:


2.3.1.1 Visual Studio:

Microsoft Visual Studio is an IDE formed by Microsoft and used for different types of software

development such as computer programs, websites, web applications, web services, and mobile

applications. It covers finalizers, compilers, and other features to aid the software development

process. Visual Studio has been around for over 20 years. Other built-in tools include a compiler, a

designer for building GUI applications, a web designer, a class designer, and a database schema

designer. Visual Studio IDE has a lot of extensions available in its market. Visual Studio Extensions

43
includes extensions available for C++ (this is the most popular IDE for C++), including Incredibility.

Visual studio features:

➢ Visual Studio Code is source code editor that is used with many programming languages

including Java, JavaScript, Go, Node.js, Python and C++.

➢ It is depended on Electron framework, used in development of Node.js web applications

running on layout engine.

➢ It supports many different programming languages and feature sets on each. Uninvited files

and folders can be excluded from project tree through settings.

➢ Visual Studio Code allows the user set up the code page in which the active document is

saved, the line break character, allowing it be used on different platform, in any location and

for any certain programming language.

Visual Studio Code as an editor that values simplicity over a multitude of bells and

whistles. Most of the features are displayed by typing what you need in the top search bar. Visual

Studio Code can't do multiple projects at once and it looks like it will get this feature soon.

2.3.1.2 Eclipse IDE:

Eclipse is an integrated development environment (IDE) used in computer programming.

Eclipse is written primarily in Java and its primary use is Java application development, but it can also

be used to develop applications in other programming languages through plugins including Ada ,

ABAP, C, C++, C#, Clojure, COBOL, D, Erlang .Eclipse uses plugins to provide all the functionality

inside and above the runtime system.

44
The Eclipse SDK consist the Eclipse Java Development Tool (JDT), which contributes an IDE

with a built-in Java-incremental-compiler and a complete model. This enables advanced code analysis

and refactoring techniques. It supports remote debugging, allowing users to view the variables and

step-by-step code of an application running on the connected server. Features of Eclipse IDE:

➢ The software update system is an important mechanism. For eclipse IDE, software update

system is easy as developer can add plugins which help developer to promote continuous

release of application.

➢ Demand is limited in eclipse platform as the IDE provides the capability by providing a simple

dialog in which the user selects the required software and plugins in eclipse platform.

➢ The platform supports JPA/JSF tools, WSD, and supports editing XML files.

➢ Spring developers also use the same IDE platform as eclipse which also support Spring based

applications.

➢ Testing can done easily using Eclipse IDE. Debugging can run smooth to find bugs in the

application.

➢ Plugins available for Eclipse IDE and users can find plugins in Eclipse Marketplace. Different

types of plugins such as static analysis/code style checking, system version checking are

available in Eclipse Marketplace.

Android Studio is faster than Eclipse. It is not necessary to add a plugin to Android Studio,

but if we are using Eclipse, we need it. Eclipse takes a lot of resources to get started, but Android

Studio doesn't.

2.3.1.3 Flutter

Flutter is an OpenSource Mobile SDK developer that can used for build Android and iOS

applications from the same code base. Flutter uses DART programming languages, and Flutter is not a

45
programming language. It’s software development kit (SDK) provided with the provided code, a

library, tools, and documentation for creating the provided code and customizable widget, and Cross-

platform apps.

Windows, and Linux, MacOS run Flutter on a virtual dart machine that contains the JustIntime

Execution Motor. During application writing and debugging, only the time limitter is used, "Hot

Reload" can used to insert changes to the source file in running application. It use a variety of widgets

to provide a fully functioning application. The widgets are Flutter's framework architecture. Flutter's

Widget Catalog provides a complete description of the framework and API.

2.3.2 Other languages for Android application development:


2.3.2.1 C++:

C++ language has evolved considerably over time, and modern C++ today has object-oriented,

generic, and functional features in addition to low-level memory manipulation features. C++ designed

with resource-constrained embedded software and systems programming in mind, and large, with

performance, competence, and litheness in use as strengths of its design. Although C++ is useful for

Android application development in some cases it is much more difficult to configure and much less

flexible. It can also lead to more errors due to increased complexity. Therefore, it is preferable to use

Java rather than C++ as it is not profitable enough to make up for the effort required.

C++ Features:

➢ Huge language that supports almost anything

➢ Teach the fundamentals of OOP


46
➢ Outstanding compiler optimization

➢ Teaches low level programming, but without pitfalls like C

➢ Faster execution than similar algorithms

The inconveniences:

➢ Huge language hinders learning

➢ Access C++ by its weight

➢ Difficulty in learning as a first language

➢ Memory leak and segmentation fault

2.3.2.2 Dart:

Dart is a programming language designed for developing client applications, such as web and

mobile apps. It is developed by Google and can be used to create server/desktop applications. Dart is

an object-oriented, class-based language that is fetched using Cstyle syntax. Dart can compile to native

code or JavaScript.

Features of Dart:

➢ Informal to learn

➢ Obtainability of documentation

➢ Dart is stable

➢ High performance

➢ Dart has the unique capability to handle both Ahead of time and Just in time compiling

➢ The DartPad interface is plain and simple.

Cons of Dart:

47
➢ The Lack of native support

➢ Dart's online resources are very limited

➢ Dart is currently under development

➢ Dart is fairly new to programmers and is rarely used on the market

2.3.3 Databases:
2.3.3.1 Realm DB:

Realm is open-source database management system, mobile operating systems and available

platforms are Xamarin etc consisting desktop applications, and is licensed in the Apache License.

Features of Realm:

➢ Its typed language-specific API forms the typed object directly in the realm file,

➢ Relationships in objects allowed through "association". Each "link" creates an opposite

"backlink" to the object associated with the current object.

➢ The query result returns Realm is a thread-local view of the "database version", Realm can

update the write transaction for instance version these views will be committed by any thread.

It will be "updated automatically".

➢ All query results and all proxy objects are views of the data, so any changes made database will

be reflects in all object referred to same data.

48
2.4 Existing projects:

2.4.1 Jibble:

Free energy clock application for finance, participation, and timesheets. Simple to-utilize.

Limitless clients. Personal mode for Mobile: Workers can clock in and out wherever they are, level if

they're offline, Enable Facial recognition and Geolocation to ensure verified attendance data, Entree

attendance data directly from your phone or laptop, Timesheets and reports are created based on staff's

activity

Services:

➢ Leave Management

➢ Statutory Compliance

➢ Attendance Management

➢ Employee Lifecycle Management

➢ Time Tracking

User Interface:

49
2.4.2 MyClass Attendance:

MyClass-Attendance is simple attendance app that teachers or coaches can use on their mobile

phones to track class attendance. Easy-to-use interface, packed with features, including remote

attendance and remote student registration. This app is extremely light to use.

Featured:

➢ View all attendance reports or access from the website

➢ Store data in the cloud or quickly export all data as Excel/CSV files.

➢ Remote attendance where students can register and respond to attendance using cell phones or

phones shared

User Interface:

50
CHAPTER 3: SOFTWARE REQUIREMENT
SPECIFICATIONS
“The most important single aspect of software development is to be clear about what
you are trying to build.”
3.1 Problem Definition:

Nowadays, teachers are full of activities and have very little time to connect with the

upcoming inventions, instructors so it might contribute to improving their student's behavior. In

habitual strategies, all insights about their exhibition are sending to guardians as letters and they need

to come in classes to talk with instructors about their ward's presentation. All the exchanges are done

physically. Students’ attendance is maintained in textual records in some institutions which cannot

afford new updated technology. The framework is more mistake inclined and tedious. Difficulty in

overseeing information of understudies. Difficult to deal refinements of staff and guardians. Enormous

heaps of record are excessively kept up. It is a tedious movement of overseeing, refreshing, and

advising explicit understudy's subtleties to their parent with personnel.

Instructive foundations are befuddled by lumbering office work and manual strategies,

and that they find it hard to safeguard data on participation, expenses, affirmations, transport, and so

forth., and track the data they need. Computerize scholarly methods to spare time and lessening staff

remaining burden. Students no more should signify hours inside the line to pay costs. Improve

enlistment and value assortments with online desk work, possibility to dispatch automated warnings,

pointers, and updates through email, CMS cautions, and message pop-ups from smartphones.

Establishment and Classes are discovering hard to accomplish affirmation and enrolment targets.

Adjusting individuals, approaches, and periods with simple and buyer lovely cloud-based absolutely

training arrangement will help foundations to control information from request and awareness of

affirmation and enrolment.

There is regional occurrences demonstration in light of colossal discussion opening

among students and educators. Technique Classes are thinking that it’s hard to deal with late students,

51
and unravel indiscipline and conduct issues. Improve study hall conditions with discipline following

and conduct the board framework to effectively deal with late understudies and clueless

nonattendances. Class management is lacking in final product-based observing hardware to tune

researcher progress.

Automate and modernize researcher participation and non-appearance use of researcher

records machine which acknowledges continuous infamy updates of student sports to help to learn

wants. It’s difficult for establishments to manage their accounts and track their rate assortments and

commitments. Unswervingly join and interface with, guardians and graduated class to fortify pursuing

and weight greater accomplishment. We have web-application, android, and IOS-based applications

that make our day-to-day life easy and utilize our time smartly. The world is growing fast with the help

of programming technologies.

Summary about the above paragraphs:

o Paper-based procedures
o Student Monitoring
o Classroom Management
o Forecasting the scholastic accomplishment
o Teacher Evaluation

Smartphones these days have turned into the most requirements of information and data

preparation. Smartphones have been extremely powerful in fields of work-study. It surely assists man

with making his undertaking a lot simpler and with extraordinary accuracy. In schools and colleges,

PCs are utilized keeping up with the essential progression of information & data and taking a look at

the credit status of the understudies. Software engineers now daily attempt to fabricate and foster top-

notch frameworks that are extremely helpful. An automated administration framework keeps up with

the standard progression of information and data with profoundly got and make information preparing

quicker and simpler. These mechanized frameworks help one individual, organization, association, or

any kind of board office all through the world to improve and foster its overall profile.

There are a lot of limitations for existing systems:

52
⮚ Time-consuming.

⮚ Not accurate and marking of fake attendance.

⮚ Error-prone.

⮚ A large number of records are to be kept.

⮚ Paperwork is tedious when the freshers are in college.

⮚ Monthly Report production takes too much time.

The attendance management system is an android-based system that provides teaching

and Admin staff with the ability to display the student's names in each class, provide a digital

Attendance sheet to record each student attendance status, ability to print or export the attendance data,

reporting tool to generate attendance reports for each student, course, or semester, an alarming tool for

the students whose attendance percentage in a course is less than the minimum requirements. So, to

reduce the job required to manage student’s attendance, a new way is proposed which is proposed

through an android-based attendance management system.

3.1.1 Purpose

“I think it's a new feature. Don't tell anyone it was an accident.”

The motive of this application is automating attendance, provide user-friendly, easily

accessible, and less use of system storage. The data generated will be available to access after years

too. This system aims at the automation of attendance management to manage the student information

and catch the details so that management can inform parents about their performance. Android-based

information systems are designed to improve an existing system.

An additional goal of developing this software is to automatically generate reports at

the end of the month. This provides data uniformity where you can view attendance details whenever

you want and effective interaction between parents and teachers. Mistakes are a human tendency but

this app will provide an opportunity to change or update student data. So you don't have to worry

about student name liability or any other error It's very difficult in any direction to store a lot of data
53
manually or on paper. In this case, when the user wants to get the information, it is difficult for the

management to provide the information immediately.Attendance record just in a few click

• Effortless tabular data arrangement

• Effective user experience

• Parents can access it too

• Efficient student management

• A class representative can also handle very efficiently.

The attendance management system allows you to accurately calculate the number of hours

your students work. This is especially beneficial if you need to attend a conference at an institution

every hour. But with technology evolving at lightning speed and businesses contemplating a large,

distributed workforce, tools for better engagement must keep pace. This has given rise to software

dedicated to employee time tracking, ranging from on-premises software to cloud-based tools with

advanced analytics and automated schedule configuration.Tracking students' time will also let them

know if they're on time. Attendance Manager also allows you to track student leave days. This is

important if your education system has a policy that allows students to use certain sick or leave days,

such as the 75% required to appear for Sem exams.

3.1.2 Scope:

“Walking arranged water and developing software from a specification


are calm if both are frozen.”

The scope of expansion is the system on software is installed, the project is established

as an android application, and will work for a particular school or college. But later on, the project can

be adapted to operate online-platform-based learning. Present-day innovation is a piece of our routine.

It helps people and enterprises play out their assignments and day-by-day schedules, including their

exchanges. Current innovation gives a benefit in achieving our work. This innovation comprises

54
gadgets and data frameworks that assist us with achieving quicker and solid exchanges. Every system

decreases the heap in staff and desk work of the administration.

The truth of the matter is, in the present current age where smart technology has turned

into a lifestyle, clearly a majority of country foundations don't oblige the high innovation. What they

can be sure of is that being physically worked prompts wrong data

This application can be adjusted now and then according to the changing necessity of

the institutions with lesser expense and the backend of the product can be changed according to the

capacity prerequisites of the application and to give greater level highlights. The data produced will be

available to access after years too. This system aims at the automation of attendance management to

manage the student information and catch the details so that management can inform parents about

their performance.

In the time of the pandemic, this will help to take online attendance as a respective

teacher has to mark and save the daily data, based on which the monthly record will be made and

stored. The previous data will help in proof making and decision making for teachers about the student

who attend less in the respective lecture. The application will have an institutions logo to make

identification between students easy, it can be accessed all over the organization and outside as well

with proper details provided:

❖ Accurate in work.

❖ Works become very speedy.

❖ Easy to update information.

❖ System stores information of new entry of Students and teachers.

❖ A user of this application should not get any system error.

❖ Ensure data accuracy.

It’s an android-based application, which will run on smartphones working on android. Further

IOS-based can be developed. Future enhancement is applicable here, it depends on the feedback

provided by the college. Every college will have its logo on the application, to identify easily.

55
Automatic attendance management systems ensure precise time records and minimize

the unavoidable and costly mistakes with manual data entry. Nursing and managing attendance

physically can be time-consuming. A cohesive attendance management system can provide good

visibility of all data and can ease the student's academic behavior. The attendance particulars are stored

in the databases, which can be downloaded or printed for further use. The attendance management

system is a crucial part of the class administration system.

3.2 Requirement specification:

“Every decent work of software starts by rubbing a developer's itch.”

3.2.1 User Requirement:

The User requirements for the innovative system are to make the organization fast,

flexible, less inclined to errors and reduce expenditures and save period. A system that can mechanize

the examination of answers which are pre-stored so that results can be generated as soon as the student

gives the reason. A capability that can produce result charts as required. The new system will be more

secure in managing student records and reliable enough to use under all conditions.

✓ The user registers with the log-in authorizations.

✓ The user will be a teacher or administrator

✓ He/she can remove students’ data from the application

✓ Users can add new data or input using the available options

✓ Users can mark present(P) or absent(A) using finger touch.

✓ Users able to view the attendance rate in a day

✓ Users able to download the data in PDF format.

✓ User have a proof for further distribution of attendance defaulters

56
3.2.2 Functional requirements

The functional claim of this is that it does what it is intended to do. Functional

requirements describe what a software system must do, while non-functional requirements impose

constraints on how the system will perform. Functional requirements stipulate a purpose that a system

or system factor must be able to perform. Numerous classes have received online programming since it

helps in successful two-manner cooperation between the guardians and the school personnel. This

framework must fulfill this prerequisite on a fundamental premise. It must incorporate parent login so

guardians can get and send warnings as often as possible to the school concerning their youngsters'

scholastic advancement. Therefore, the manner the system must behave notably the state of affairs and

will in addition expressly state what the system should not do.

For differentiating for the most part execution reliably, the item should help "result

examination" gadget. With the help of this gadget execution assessment, Elegance the board can carry

out critical advancements for higher all things considered execution. A class can keep fundamental real

factors that fuse specialist name, grandness, enlistment run, contact bits of knowledge in a critical data

set. Also, Class control needs to obtain a supported and experienced web regulator to resolve

incredibly huge issues including exploring, records support, and lots of extras.

✓ The application will work on the internet

✓ Data is saved in the database unless and until it is deleted

✓ Every record is maintained according to the input given

✓ Every user, administrator, the teacher should be registered

✓ Every student should have a unique name or id for easy data searching

✓ User data must be nursed into the system

✓ Time is saved, able to view on the spot status of attendance

57
3.2.3 Non-functional requirements:

A huge portion of programming bundles accessible in the market is presently

exceptionally good in cell phones and tablets, improved and rich dashboard and offered with adaptable

estimating.

Availability: This application can be used only on mobile depending on OS available, primarily

will work on android, People are always with their mobile phones, so where ever you are you can use

your mobile to use our software in any situation and work splendidly. A phone memory could be used

as a backup in case of failure or if the main server goes down could increase the availability of the

system. Its measures assess whether an application is working appropriately and usable to meet the

prerequisites of an individual or institution

Reliability: Application will work lacking loss of any data even in the stage of several failures.

This quality alludes to the likelihood that the framework will fulfil certain exhibition guidelines in

yielding the right yield for an ideal time frame span. All the personal details of the customers will be

stored in “Encrypted form” to secure the data. The reliability of an application is also difficult to

measure. There can be several ways to measure the probability that failure of system components

affects system availability.

Security: As this application is only used by teachers in an institution, it will be secure in terms

of data storage, attendance marking, defaulters. The data will be encrypted which will provide

convenient security and a stable application framework on which any user can rely. This application

will have no vulnerabilities. Security can occur in various stages, but establishing best practices

happen most often in the application development phases.

Maintainability: The application will maintain data like:

✓ student id

✓ name

✓ roll no

58
✓ teacher or admin id,

✓ attendance percentage

Usability: The system is user-friendly to handle and can be easily learned to use. The user of

the system can easily go through the application without any complications

The non-functional requirements of student attendance management system place limits on the

scope being developed, the method of event, and specify the external constraints that the application

must meet. The important feature of application world is ease of use of application. the app would be

easy-to-use if it was designed so that the user doesn't have to think twice before waiting for a feature.

Everything should be set apart using color combinations so that whatever is most needed is often

highlighted with the focal color.

3.3 Preliminary Product Description:

Attendance Management System is an Android application developed to maintain the

daily attendance of students in the school. Here, the teachers, who take care of the subjects, will be

responsible for marking the students' presence. Time and attendance management systems simply have

to argue about this distinction and type; It is also helpful to determine what might be considered a "not

guilty" absence and the university's expectations in this regard. This provides data consistency, where

information about your participation can be viewed whenever you want, and creates the opportunity

for effective parent-teacher interaction.

• Access from Wherever: The android-based application can be accessed from anywhere,

anytime.

• Dynamic Reports: Teachers can get attendance reports subsequently submitting the details

in the form of pdf, excel, word, or in print form

• Concrete functionalities: Each function has a useful and definite optimal application

• Increases Efficiency: The administration framework helps the profitability of the classes.
59
Many now and again, have been a mistake of staff shift designation and timings

particularly on account of allotting educators and study halls, test obligations, and the preferences,

independent of how close to consummate the arranging had been.

The attendance management system project was used to maintain school students’

attendance records. Administrator generates unique username and password for all staff while adding

staff detail. All staff maintains attendance of a student, generate reports month-wise

Various from time to time, have been a misStep of staff move task and timings

especially because of allocating educators and study halls, test commitments and the inclinations, free

of how close flawless the orchestrating had been. Nonetheless, with these forefront biometric systems,

missing staff and teachers can without a doubt be displaced to guarantee that the structure limits

effectively without any aggravations in the ordinary endeavors and activities.

3.3.1 Product perspective

The application is built for Android to place the product and to provide digitalized

attendance management experience. The first user has to register by name and id that will be stored at

the backend. SQLite is used as a database to store user information. The objective of the attendance

management system to give a determination to the problem in the current system and to create a

system that will help the organization to make the attendance management system more precise and to

prove that the system established is effective and helpful in terms of saving time.

The perception for this enterprise project is to differentiate the issues in regards to

contribution the administrators, to carry out what is obligatory by the institution. This is to upgrade

students' and teachers’ participation implementation and school safety. This is an instantaneous

attendance recording option where teachers can instantly check on their App about their student's

present/absent status. Attendance Management Systems permit you to calculate the times for which

students work accurately.

60
3.3.2 Product Functions

✓ Mark attendance

✓ Assessment records

✓ Edit records

✓ Add students’ data

✓ Add session

✓ Clear all data

✓ Download records in form of an excel sheet

✓ Download records in PDF format to share with others.

✓ Notes and reminders can be added

3.3.3. Design and Implementation Constraints:

✓ Application will work on Android devices only.

✓ The application will run smoothly on the Android devices that have Android versions from

jelly bean

✓ The application supports only the English language.

✓ The application requires an Internet Linking to deal with the functions and database

✓ Phone memory required to save the records in pdf format

✓ Network bandwidth is mandatorily to be at least 2 Mbps

3.3.4 Assumptions and Dependencies:

✓ Internet connection is mandatory.

61
✓ The user must be well-known to the English language.

✓ The user essentially has a valid college ID to access the services of the app

✓ The user must be a member of the institution which has this application certified to use

✓ This app work on slow bandwidth too.

3.4 Software & Hardware Requirements

3.4.1 Hardware requirements:

Frameworks bought inside the previous years will ordinarily be equipped with the

suggested highlights. It would be ideal if users support that smartphone meet these prerequisites.

Recall that if a user's mobile phone doesn't meet the necessities, among different issues, keeping it

accurately designed when the user experiences issues.

To create the product:

✓ Processor: Minimum Intel Core i3 6th generation or Intel Core i5-5200u CPU@2.20GHZ

2.20GHZ.

✓ Memory: 4GB RAM for faster speed we can use 8GB RAM.

✓ System Type: 64bit Operating System.

✓ Display: 1280 x 800 Least Screen resolution

✓ Graphics: Intel Integrated HD Graphics 520.

✓ HARD DISK: Minimum 60 GB available free disk space.

To use the application:

✓ Operating system: Android 4.1, 4.2, and more

✓ Storage: Between 2 GB and 8 GB

✓ Memory: At least 2 or 3 GB RAM to run without any risks

✓ Display: 1280 x 800 pixels or higher on a 10-inch device

62
✓ Internet: This application is designed to work online. To download and install apps within

the application, a high-speed Internet connection is recommended.

3.4.2 Software requirements

✓ Front end: Kotlin, Java

✓ Back end: SQLite database

✓ Android Studio version 3 or any other stable release

✓ Testing tools according to the project

✓ SDK (Software Development Kit): Android jelly bean 4.1 or other

3.5 Planning and Scheduling

Planning is about electing and designing operative policies and methodologies to

accomplish project objectives. Scheduling is procedure of transmission tasks to get them accomplished

by allocating suitable resources within an estimated budget and time frame.

Planning for a framework is finished by the suitably named scheduler, which is for the

most part worried about three things:

✓ Throughput or how quick it can complete a specific number of assignments from start to finish

per unit of time

✓ Latency is the turnaround time or the time it takes to complete the undertaking from the hour of

solicitation or accommodation until the finish, which incorporates the holding up time before it

could be served

✓ Response time which is the time it takes for the procedure or solicitation to be served, in short,

the holding uptime

Planning is generally founded on the elements referenced above and differs relying upon

the framework and the programming of the frameworks or client's inclinations and goals. In present-day

Smartphones, for example, Smartphones with a portion of handling power and different assets and with
63
the capacity to perform various tasks by running numerous strings or pipelines on the double, planning

is not, at this point a major issue and most occasions procedures and applications are sans given rule

with additional assets, yet the scheduler is still working diligently overseeing demands.

Gantt chart is used for analysing complex projects. They help in planning every task of

our project that is needed to be completed. It gives a schedule for task performance and completion.

Gantt chart also helps us to see whether the project is on schedule. The main impartial of preparing a

Gantt chart is to plan a given task properly and gives time to every task. It’s an assumption basis when

or how to complete my project at how much time is required to complete my project.

Gantt Charts are valuable tools for analysing and preparation complex projects. Support

in planning out the tasks that essential to be completed. Give a motive for reservation when these

spendings will be completed. Give a basis for planning once these tasks are going to be administrated.

Allow scheming the designation of possessions expected to finish the undertaking. Help you to work out

the basic way for a venture where you should finish it by a specific date.

Planning:
Sr No Task Name Duration (Days) Start date Finish date

1 Project topic deciding 3 28-06-2021 01-07-2021

2 Collecting data 3 03-07-2021 06-07-2021

3 Problem Definition 5 07-07-2021 12-07-2021

4 System design 11 17-08-2021 28-08-2021

5 Problem evaluation 4 01-09-2021 05-09-2021

6 Define function and behaviour 11 10-09-2021 21-09-2021

7 Requirement analysis 15 25-09-2021 10-10-2021

8 Implementation and coding 35 20-10-2021 05-12-2021

9 Unit testing 28 05-12-2021 02-01-2022

64
10 Integration and Validation 35 03-01-2022 07-02-2022

11 System testing 10 10-02-2022 20-02-2022

Table 3. 1 Project Planning

Gantt Chart:

Gantt Chart
28-06-2021 17-08-2021 06-10-2021 25-11-2021 14-01-2022 05-03-2022

Project topic deciding

Collecting data

Problem Definition

System design

Problem evaluation

Define function and behaviour

Requirement analysis

Implementation and coding

Unit testing

Integration and Validation

System testing

Start date Duration(Days)

Fig. 3. 1 Gantt Chart

65
3.6 Conceptual Models

The Conceptual Model is set up and you have characterized the utilization cases, you

can begin structuring the UI dependent on the Conceptual Model and the utilization cases. From the

Conceptual Model, you know the accompanying things:

➢ The assignments the client can do,

➢ The items that the client will work with,

➢ The connection between the database and application,

➢ The properties of the application

In programming building an ER demonstrate is regularly framed to speak to things that a

business needs to recollect with the end goal to perform business forms. Therefore, the ER show turns

into a theoretical information display that characterizes an information or data structure that can be

executed in a database, normally a social database. The entity-relationship diagram was produced for

the database plan by Subside Chen and distributed in a 1976 paper. In any case, variations of the thought

existed already. Some ER models prove great and subtype elements related with assumption

concentration connections, and an ER model can be utilized likewise in the determination of space

Fig. 3.2 ER diagram

66
3.6.1 User Functions:

Fig. 3.3 User function


67
3.6.2 Sign up Model:

Fig. 3.4 Sign up model

68
3.6.3 Add students’ data:

Fig. 3.5 Add student’s data

69
3.6.4 Delete students’ data:

Fig. 3.6 Delete students’ data

70
3.6.5 Mark attendance

Fig. 3.7 Mark attendance

71
3.6.6 Download Monthly records:

Fig. 3.8 Download Monthly records

72
CHAPTER 4: SYSTEM DESIGN
“A design system acts as the connective tissue that holds together your entire
platform.”
4.1 Basic Modules

Attendance Management System application will consist of the following parts:

Login Module

If you are a teacher, you have to log in first to perform any task. The Teacher submits essential

credentials to access the services of the app. The credentials may include the full name of the teacher,

valid college id, and password. If a teacher is new to this application, he/she will have to sign using

college id and teacher name and password, then further home page will appear.

Home page Module:

This will contain the College logo and “+” button which add the class name and subject name.

After that, the class will be created, and choosing the same will lead to the Attendance module.

Attendance Module

The teacher will choose the section to start with attendance. The teacher will need to add

student's names and roll no for a new batch and the teacher will have to choose “P” for present and

“A” for absent. There will be a quick ball to view the total present and absent numbers of students,

which update as the teacher complete with attendance

View records Module

The teacher will have to save the presence to check in the view module. Where they can view

tabular data of student’s attendance with their name and roll number

Download Module

The download button will lead to choices where teachers can save as PDFs or print as a sheet.

PDF will be saved in the phone memory in the download folder, and print will require access to the

printer.

73
Delete records Module:

This will let the teacher delete the monthly attendance records of students

Delete sections Module:

This module will let the teacher delete the class name or section which has student’s details

4.2 Data Design

4.2.1 Schema Design:

There will be 3 tables in a database

Class record Table

Students Details Table.

Attendance Records Table.

4.2.2 Data Integrity and constraints

Class Record Table:


Sr.no Field Data Type Allowed Null Key

1 Class Name VARCHAR No

2 Subject Name VARCHAR No


Table 4. 1 Class Record Table

The class name can be the same but the Subject name should be unique

Students Details Table:


Sr.no Field Data Type Allowed Null Key

1 Roll No INT No Primary Key

2 Student Name VARCHAR No


Table 4. 2 Students Details Table

Added roll number should be unique and student name can be any manner
74
Attendance Records Table:
Sr.no Field Data Type Allowed Null Key

1 Roll No INT No Primary Key

2 Student Name VARCHAR No

3 Status VARCHAR No

5 Date INT No
Table 4. 3 Attendance Records Table

The database will have records in the tabular form such as the roll no, student name, class

name, and subject name. status, date will be in the same row where the column data will be as

specified for Student's details and Class Records.

4.3 Procedural Design

4.3.1 Logic diagram

Data Flow Diagram (DFD):

DFD is a way to represent the data flow, inputs, and output to a particular system in

diagrammatic form. The DFD revenues as associate degree contribution method, output read from the

system that's knowledge objects flow inside the code and square amount revised by process component

and knowledge substances from the flow of the code.

Data objects showed by tagged arrows or transformation right-angled degree outlined by circles

known as bubble and DFD is given as grading fashion that's the main knowledge flow model outlined

the system as an entire resultant DFR routine context drawing provides cumulative details with every

successive level.

Rules of DFD diagram:

Maintain the scope of the system suggests that of context diagram.


75
Maintain DFD so main consecutive sequence of the actions.

Acknowledge all inputs or outputs.

Each process must have minimum one input and output.

Each data store must have minimum one data flow in and one data flow out.

Data warehoused in a system must go through a process.

A DFD shows the flow of data through a system. It views a system as a -function that

transformed. The inputs into desired outputs. Any complex system will not perform this transformation

in a only Step and data will typically under decodes of transformation before it becomes the output -

for types of date entity are distinguished in a data flow diagram:

Name Symbol Description

Process A process alters incoming data flow interested in

outgoing data flow.

Datastore Datastores are sources of data in the system.

Data flow Data flows are channels through which packets of

information flow. Label the arrows through the name of

the data that travels through it.

External Entity External entities substance outside system, through

system communicates

A data flowchart (DFD) may be a graphical illustration of the "flow" of knowledge through a

data system, modelling its method aspects. A DFD is commonly used as a primary Step to make a

summary of the system while not going into deep within the structure. DFDs may be rummage-sale for

the mental image of the knowledge process (structured design). The on top of knowledge flowchart

provides the data regarding every activity is reticulated with one another and the way the flow of the

information goes once the user begins the appliance. When the user begins the appliance initial time

user must log in within the system then it verifies whether or not the user is registered within the

76
system or not if the admin is verified then the next activity can get open. Then our main activity opens

wherever all the options of our system are displayed from there user will choose anyone. The

additional elaborative description is within the abstract model section

s
Fig. 4. 1 DFD Diagram

77
4.3.2 Use case diagram

In the Unified Modelling Language (UML), a use case diagram can recapitulate the

particulars of your system's users (also known as actors) and their connections with the system

The main perseverance of the usecase diagram is to describe the operational aspect of

the system. It accumulates system requirements, including both internal and external influences. It

calls people, use cases, and many things that call out the actors and elements responsible for

implementing use case diagrams. It characterizes how an entity from the external environment can

cooperate with a part of the system.

Name Symbol Description

Actor An actor signifies a user or another system that

will interrelate with the system you are

demonstrating

Use case A use case is an exterior view of the system

that signifies some action the user might

perform to whole a task.

Use case diagram purpose:

It collects the system requirements.

It shows external view of system.

It finds the interior and exterior factors which influence the system.

It shows interaction between actors.

78
Fig. 4. 2 Use case diagram

79
4.4 Algorithm design

4.4.2 Login Algorithm:

Step 1: Input Username, Password.

Step 3: If the Username and Password are correct then permit with allowed access rights.

Step 4: If the new user:

Register first, perform from step 1 again

Else

Access is denied and the enter College ID, Teacher Name, and Password again.

Step 5: This cycle may be repeated until the input given matches with database inputs.

4.4.3 Main Algorithm

Step 1: Start

Step 2: Once done with the login user will be navigated to the home screen.

Else

Step 2.1 sign in

Step 2.2 go to 3

Step 3: Choosing “+” button will display a section to add a class name and subject name

Step 4: Input Class name and Subject

Step 5: Click the section created

Step 5.1: Now add student details i.e., Roll No, Student Name

Step 5.2: Choose a date from the calendar

Step 6: Start with attendance

Step 6.1: Swipe left to mark absents choosing “A” if the student is absent

Step 6.2: Swipe right to mark presents choosing “P” if the student is present

80
Step 6.3: Save

Step 7: To view the attendance record

Step 7.1: Choose the attendance sheet option in menu

Step 7.2: Check out the date and student details

Step 8: To download the monthly report:

Step 8.1: After completing with marking attendance

Step 8.2: Save the records

Step 8.3 PDF will be save in Downloads folder, go checkout

If print sheet:

Go to Step 9

If PDF format:

The record will be downloaded in PDF format, saved in the download folder of the teacher’s

phone

Step 9: Print the attendance sheet:

Step 9.1: Choose the print option form the default PDF viewer

Step 9.2: Choose the printer from where you need to print (You can adjust sheet size too)

Step 9.3: Now choose Ok to print, check out your printer for the printed sheet

Step 10: Delete the monthly attendance data by choosing the delete option.

Step 11: Goto step 5 for new attendance

Else

Exit the application

81
4.5 User Interface Design

4.5.1 Registration screen:

For Login

Fig. 4. 3 Registration Screen

82
4.5.2 Create class

Fig. 4. 4 Create Class

83
4.5.3 Add students and update student name

Fig. 4. 5 Add Students

84
4.5.4 Download monthly records

Fig. 4. 6 Download Monthly Records

85
4.6 Security Issues

Security is a vital factor in the development of any project. Some security problems might

occur during development or after development needs to be resolved timely or it may become a major

threat.

Following are security problems that might occur:

➢ Insecure data storage

➢ Untrusted inputs

➢ Loss of data

➢ Printer issues

There are applications, software, or more commonly used are our website consists of

some sort of the authentication system which every user has to perform. So here the user have to fill in

his details such as Name, Email-id, username, password, contact number. This application lets

institutions secure the college id, teacher name, password, and Student data. And this application is

only for institutional use, where only teachers or admin will have access to this application. The

student application will be built if needed or according to necessity.

4.7 Test Case design:

Test Cases are intended to identify system errors and solve them in time before it

creates more errors further. Test cases are considered to help the developer solve the errors. If the app

passes all the tests mentioned in test cases, then it is deployed at domain else modification is done until

it surpasses all the tests.

No cost for this project, but for adding more features there will be customer-friendly

costing, where to get the feature institution will have to buy the feature.

Following are some test cases:

86
o Registration:

If the Teacher is new to the app, registration is mandatory. The user has to give valid

details to the app and create new information i.e., Admin, password by which he/she can access the

services of the app at any time. If the details provided are incorrect or invalid then the user can’t

access the app's services and take attendance.

o Login:

Teachers need to give valid credentials which will be authenticated. If the credentials

are invalid then the app will not redirect to the subsequent activity until the credentials are

matched. The app will throw a message to the user saying that “Invalid password”.

o Home:

After login, it will redirect to the home page where a teacher resolve be able to create a

section consisting of a class name and subject name.

o User Inputs:

The user needs to give correct inputs wherever necessary. The app must not proceed

until and unless the user inputs are created.

o Student’s details and attendance:

Students' names and roll no should be correct and it's on the teacher to add students

name format specified accordingly. Once the details are added they can be deleted, proceed with

attendance, choosing P and A.

The records are been saved in the database by choosing the save button. It is

downloadable. Monthly records are only available to view and download

o User Interface:

GUI Testing is a product challenging kind that forms the Graphical User Interface of the

Software. The reason for Graphical User Interface (GUI) Testing stands to guarantee the

functionalities of software applications work as for every condition by inspection screens size and

87
controls like side menu, buttons, icons, text, etc. Everyone has a different screen ratio so the

widgets should not change their place. The widget should be in its fixed position.

This application is designed for Android 4.1 or more. So, accordingly, UI will be adjusted.

88
CHAPTER 5: IMPLEMENTATION AND TESTING

5.1 Implementation Approaches


Execution is the place we truly achieve the assignment work to make the desires.
"Expectations" connotes what customer truly need. Desires fuse all organizations and things that
provided for customer, customer, support.
There are different systems are get followed in execution process:
1.Parallel Implementation
An equal execution is giving another arrangement which is actualized corresponding to the
present activity framework being used. The individuals who are utilizing framework won't see
significant personal time once it is executed.
2. Phase Implementation
Some of the time attempting to execute a totally different item isn't plausible in light of the fact
that numerous customer's activity is running in their current programming and they can't bear the cost
of the advantage of having their whole activity close down for a significant stretch.
3. Crash Implementation
We ought to be dynamically mindful while pondering a mishap use. It takes stunning entirety
masterminding and reevaluating to ensure no issues rise. Believe it or not, at this moment execution,
the significant security gauges and assessed well early of the genuine utilization is essential, in order to
confine any potential dissatisfaction.
At the point when we have completed with our organizing and masterminding stage it's the
perfect open door for adventure utilization, it is third time of undertaking the administrators life cycle
Implementation arrange incorporates putting the assignment plan decisively. It's here that we have to
encourage and control adventure advantages for meet the goals of the endeavour plan. As the
undertaking spreads out, we should direct and manage each activity, consistently. That is what happens
in the use time of the endeavour life cycle. We follow the game plan we have collected and handle any
issues that surface. Regularly, changes are recognized by taking a gander at execution and quality
control information. Routine execution and quality control estimations ought to be assessed all the
time all through the usage stage. Get-together reports on those estimations will assist us with
determining where the issue is and prescribe changes to fix it.

5.2 Coding Details and Code Efficiency


The Database here is the main part of the project as it delivers the efficiency to store, process,
generate results. Class data, Student details and the status of being absent and present is stored here
DBhelper.kt
class DBhelper(context: Context) : SQLiteOpenHelper(context, "MCCams.db", null, VERSION) {
override fun onCreate(sqLiteDatabase: SQLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_CLASS_TABLE)
sqLiteDatabase.execSQL(CREATE_STUDENT_TABLE)

89
sqLiteDatabase.execSQL(CREATE_STATUS_TABLE)
}

override fun onUpgrade(sqLiteDatabase: SQLiteDatabase, oldVersion: Int, newVersion: Int) {


try {
sqLiteDatabase.execSQL(DROP_CLASS_TABLE)
sqLiteDatabase.execSQL(DROP_STUDENT_TABLE)
sqLiteDatabase.execSQL(DROP_STATUS_TABLE)
} catch (e: SQLException) {
e.printStackTrace()
}
}

fun addClass(className: String?, subjectName: String?): Long {


val database = this.writableDatabase
val values = ContentValues()
values.put(CLASS_NAME_KEY, className)
values.put(SUBJECT_NAME_KEY, subjectName)
return database.insert(CLASS_TABLE_NAME, null, values)
}

val classTable: Cursor


get() {
val database = this.readableDatabase
return database.rawQuery(SELECT_CLASS_TABLE, null)
}

fun deleteClass(cid: Long): Int {


val database = this.readableDatabase
return database.delete(CLASS_TABLE_NAME, C_ID + "=?", arrayOf(cid.toString()))
}

fun updateClass(cid: Long, className: String?, subjectName: String?): Long {


90
val database = this.writableDatabase
val values = ContentValues()
values.put(CLASS_NAME_KEY, className)
values.put(SUBJECT_NAME_KEY, subjectName)
return database.update(
CLASS_TABLE_NAME,
values,
C_ID + "=?",
arrayOf(cid.toString())
).toLong()
}

fun addStudent(cid: Long, roll: Int, name: String?): Long {


val database = this.writableDatabase
val values = ContentValues()
values.put(C_ID, cid)
values.put(STUDENT_ROLL_KEY, roll)
values.put(STUDENT_NAME_KEY, name)
return database.insert(STUDENT_TABLE_NAME, null, values)
}

fun getStudentTable(cid: Long): Cursor {


val database = this.readableDatabase
return database.query(
STUDENT_TABLE_NAME,
null,
C_ID + "=?",
arrayOf(cid.toString()),
null,
null,
STUDENT_ROLL_KEY
)
}
91
fun deleteStudent(sid: Long): Int {
val database = this.readableDatabase
return database.delete(STUDENT_TABLE_NAME, S_ID + "=?", arrayOf(sid.toString()))
}

fun updateStudent(sid: Long, name: String?): Long {


val database = this.writableDatabase
val values = ContentValues()
values.put(STUDENT_NAME_KEY, name)
return database.update(
STUDENT_TABLE_NAME,
values,
S_ID + "=?",
arrayOf(sid.toString())
).toLong()
}

fun addStatus(sid: Long, cid: Long, data: String?, status: String?): Long {
val database = this.writableDatabase
val values = ContentValues()
values.put(S_ID, sid)
values.put(C_ID, cid)
values.put(DATE_KEY, data)
values.put(STATUS_KEY, status)
return database.insert(STATUS_TABLE_NAME, null, values)
}

fun updateStatus(sid: Long, data: String, status: String?): Long {


val database = this.writableDatabase
val values = ContentValues()
values.put(STATUS_KEY, status)
val whereClause = DATE_KEY + "='" + data + "' AND " + S_ID + "=" + sid
92
return database.update(STATUS_TABLE_NAME, values, whereClause, null).toLong()
}

@SuppressLint("Range")
fun getStatus(sid: Long, data: String): String? {
var status: String? = null
val database = this.readableDatabase
val whereClause = DATE_KEY + "='" + data + "' AND " + S_ID + "=" + sid
val cursor = database.query(STATUS_TABLE_NAME, null, whereClause, null, null, null, null)
if (cursor.moveToFirst()) status = cursor.getString(cursor.getColumnIndex(STATUS_KEY))
return status
}

fun getDistinctMonths(cid: Long): Cursor {


val database = this.readableDatabase
return database.query(
STATUS_TABLE_NAME,
arrayOf(DATE_KEY),
C_ID + "=" + cid,
null,
"substr(" + DATE_KEY + ",4,7)",
null,
null
) //01.04.2020
}

companion object {
private const val VERSION = 2
//class table
private const val CLASS_TABLE_NAME = "CLASS_TABLE"
const val C_ID = "_CID"
const val CLASS_NAME_KEY = "CLASS_NAME"
93
const val SUBJECT_NAME_KEY = "SUBJECT_NAME"
private const val CREATE_CLASS_TABLE = "CREATE TABLE " + CLASS_TABLE_NAME
+ "( " +
C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
CLASS_NAME_KEY + " TEXT NOT NULL, " +
SUBJECT_NAME_KEY + " TEXT NOT NULL, " +
"UNIQUE (" + CLASS_NAME_KEY + "," + SUBJECT_NAME_KEY + ")" +
");"
private const val DROP_CLASS_TABLE = "DROP TABLE IF EXISTS " +
CLASS_TABLE_NAME
private const val SELECT_CLASS_TABLE = "SELECT * FROM " + CLASS_TABLE_NAME

//student table
private const val STUDENT_TABLE_NAME = "STUDENT_TABLE"
const val S_ID = "_SID"
const val STUDENT_NAME_KEY = "STUDENT_NAME"
const val STUDENT_ROLL_KEY = "ROLL"
private const val CREATE_STUDENT_TABLE = "CREATE TABLE " +
STUDENT_TABLE_NAME +
"( " +
S_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
C_ID + " INTEGER NOT NULL, " +
STUDENT_NAME_KEY + " TEXT NOT NULL, " +
STUDENT_ROLL_KEY + " INTEGER, " +
" FOREIGN KEY ( " + C_ID + ") REFERENCES " + CLASS_TABLE_NAME + "(" +
C_ID + ")" +
");"
private const val DROP_STUDENT_TABLE = "DROP TABLE IF EXISTS " +
STUDENT_TABLE_NAME
private const val SELECT_STUDENT_TABLE = "SELECT * FROM " +
STUDENT_TABLE_NAME

//STATUS TABLE
private const val STATUS_TABLE_NAME = "STATUS_TABLE"
const val STATUS_ID = "_STATUS_ID"
94
const val DATE_KEY = "STATUS_DATE"
const val STATUS_KEY = "STATUS"
private const val CREATE_STATUS_TABLE = "CREATE TABLE " +
STATUS_TABLE_NAME +
"(" +
STATUS_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
S_ID + " INTEGER NOT NULL, " +
C_ID + " INTEGER NOT NULL, " +
DATE_KEY + " DATE NOT NULL, " +
STATUS_KEY + " TEXT NOT NULL, " +
" UNIQUE (" + S_ID + "," + DATE_KEY + ")," +
" FOREIGN KEY (" + S_ID + ") REFERENCES " + STUDENT_TABLE_NAME + "( " +
S_ID + ")," +
" FOREIGN KEY (" + C_ID + ") REFERENCES " + CLASS_TABLE_NAME + "( " +
C_ID + ")" +
");"
private const val DROP_STATUS_TABLE = "DROP TABLE IF EXISTS " +
STATUS_TABLE_NAME
private const val SELECT_STATUS_TABLE = "SELECT * FROM " +
STATUS_TABLE_NAME
}
}

Whenever stated efficiency of program few things are being considered such as less time
response, ease of understanding, and correct flow of code, Source-Lines-of-Code (SLOC). Here my
application “Attendance Management System” I have tried to reduce the lines of code using Kotlin
which will help the application to response faster. The comments i.e. non executable statements is used
for every different functions and classes and for variable initialization to know that which functions
and variables are for.

5.3: Testing approach


A test approach is test methodology execution of task, it characterizes how testing would be
completed. Test approach has two systems:
● Proactive – It is a methodology where the structure procedure is started as right on time as
conceivable so as to discover and fix the imperfections before the construct is made.
● Reactive – It is a methodology where the testing isn't begun until the structure and coding is
finished completely.
95
Diverse Test draws near:
There are many techniques that a task can adjust contingent the specific circumstance and some of
them are:
● Dynamic and heuristic methodologies
● Consultative methodologies
● A model-based methodology that utilizes factual data about disappointment rates.
● Approaches dependent on hazard based testing where the whole advancement happens dependent
on the hazard
● Methodical approach, which depends on disappointments.
● The standard-consistent methodology indicated by industry-explicit principles.
● Factors to be thought of:
● Risks of item or danger of disappointment or nature and the organization.
● Expertise and experience of the individuals in the proposed devices and systems.
● Regulatory and lawful perspectives, for example, outer and interior guidelines of the
improvement procedure.
● The nature of the item and the space.

5.3.1: Unit Testing


Unit testing centres confirmation exertion around the littlest unit of programming plan the
product segment/module. The unit test as a white-box arranged. Unit testing actualized in each module
of the Event Management System.
By giving right manual contribution to the framework. Information is put away in the database
and recovered. On the off chance that the client needs the necessary module to get to include, get the
yield from the End-client.
Unit testing, is a strategy utilizing which singular modules are tried to decide whether there are any
issues by the designer himself. It is worried about the utilitarian accuracy of the independent modules.
The existence pattern of unit testing

96
Figure 7 UNIT TESTING DESIGN
The primary point is to disconnect every unit of the framework to distinguish, investigate and fix the
imperfections.
Unit Testing - Advantages: -
Diminishes Defects in the recently evolved includes or decreases bugs while changing the current
usefulness. Diminishes the expense of testing as imperfections are caught in an early stage. Improve
the structure and permits better refactoring of code. Unit Tests, when coordinated with fabricate gives
the nature of the work also.
Unit Testing Techniques:
● Black Box Testing - Using which the UI, info, and yield are tried.
● White Box Testing - used to test every last one of those capacities conduct is tried.
● Gray Box Testing - Used to execute tests, dangers and evaluation strategies.

I have made various units or modules if my task so it's simpler for us to test and discover the
mistakes. I begin playing out all the exercises simultaneously then it's hard for us to discover and
investigate if any blunder emerge. So it's in every case better to go with the unit testing. So we can
discover the imperfection in every unit and expel it and afterward incorporate it

5.3.2: Integration Testing


Reconciliation Testing is a degree of programming testing where singular units are
consolidated and tried as a gathering. The motivation behind this degree of testing is to uncover
blames in the collaboration between incorporated units. Test pilots and test stubs are utilized to aid
Integration Testing

97
● Strategy: Any of Black Box Testing, White Box Testing and Gray Box Testing techniques can
be utilized. Typically, the strategy relies upon your meaning of 'unit’. Tasks

● Integration Test Plan


● Prepare
● Review
● Rework
● Baseline
● Integration Test Cases/Scripts
● Prepare
● Review
● Rework
● Baseline
● Integration Test
● Perform

When Integration Testing is performed?


● Integration Testing is second level of testing performed right after Unit Testing and before
System Testing.

Figure 7 Integration Testing Design

● Who performs Integration Testing?

Developers themselves or independent testers perform Integration Testing.


98
● Approaches

The enormous detonation is approach to manage Integration Testing or a huge segment of the
units combines and attempts at one go. This approach is taken when the testing bunch gets the entire
programming in a pack. Top-Down is an approach to manage Integration Testing where top-level units
are attempted first and lower-level units are attempted very much arranged after that. This system is
embraced when top-down progress methodology is sought after. Test Stubs are relied upon to imitate
lower-level units which may not be open in the midst of the fundamental stages.
Base Up is an approach to manage Integration Testing where base measurement units are
attempted first and upper-level units very much arranged after that. This procedure is received when
the base up headway methodology is sought after. Aircraft testers are relied upon to reproduce bigger
sum units which may not be open in the midst of the fundamental stages. Sandwich/Hybrid is a way to
deal with Integration Testing which is a mix of Top-Down and Bottom-Up Approaches.
How I used integration testing in my project:
Once I am done with my unit testing, I started integrating the units in my project. So as soon as
I integrate any unit with my project, I took a glance at my project whether it’s working fine or not or is
there any issue arises after the integration of units. So, at integration testing my project look like this.

99
Figure 8 Directory

5.3.3 Beta Testing


In programming headway, a beta test is the second time of programming testing where an
assessment of the objective gathering endeavors the thing out. Beta is the second letter of the Greek
letters all together. At first, the term alpha test suggested the essential time of testing in an item
improvement process. The chief stage joins unit testing, part testing, and structure testing. Beta testing
can be considered "pre-release testing."

Figure 9 Unit Testing Design

100
5.4: Modification and Improvements
After appropriate unit testing and the combination testing a large portion of the serious issues
and blunder that may happen later on are expelled. Additionally, it encourages us to improve the
presentation of the undertaking, it causes us in memory the executives too for example while testing
we look for the more proficient method for executing the one specific unit.
● After a testing we make changes in approval. We attempt to give more approval so increasingly
precise information of client is utilized.
● We attempt to include more fields of client so recipient get legitimate data of client.

5.5: Test Cases


1. First of all, Splash screen appears with logo popping up and stays for 3 second and then Login Page
appears which asks for Username and Password.
2. Admin have to give the username as “Mccian” and Password: “12345” and also provide the same in
their next login.
3. If the credentials are incorrect, it will notify and ask for correct username and password
4. In the main page we need to check whether the Class details are been added and updated
successfully or not and on swipe it should be deleted.
5. Updating class requires, Admin focus on the panel and also on deleting the admin should be able to
undo the task successfully.
6. Add and View Details – In this, we need to see the Students details of understudy, instructor and
cluster.
8.logout-This our last action, we need to watch that on snap of logout button in the drawer layout
whether client is effectively logging out and coordinated to the login page.

101
CHAPTER 6: RESULTS AND DISCUSSION
6.1 Test Reports
Test reports are done to take care of the issues in our program on presumptions of user input.
Test reports are checked info is legitimate or not. On the off chance that information isn't substantial,
at that point it shows an appropriate blunder with the goal that client input a legitimate worth. On the
off chance that the task is passed in all the experiments, at that point just it is sent to the client till then
it is ceaselessly changed and afterward again checked for blunders and all the reports are recorded. The
different experiments required for this undertaking and their arrangement of information sources and
yields are given as follows:
● LOGIN PAGE

On the off casual that the admin gives legitimate sources of info, at that point the landing page
will show up comprising of a few connection catches where in which the client can play out a few
capacities, for example, include instructor, include understudy, see understudy subtleties, see educator
subtleties, include timetable and so on else a message of "Incorrect Username or Password "will be
provoked until client enter a substantial email Id or secret word.
Login Page works as safety precaution but it has no addition to create new users
● STUDENT PAGE

This app lacks a feature were importing excel of Student details instead of manually adding them
is possible

● ATTENDANCE SHEET

The Attendance Sheet is displayed and when saved it is generated in PDF format, where this is
used to highlight the absentee and presenters in a tabular form and the file is generated in downloads
folder.

NO. TEST CASE DESCRIPTION ACTUAL OUTPUT EXPECTED OUTPUT


1 Login page Validate Admin details Admin logged in Admin logged in
and redirect them to successfully successfully
the main page.
2 Student page Verify the students Stored successfully Stored successfully
details and create
student attendance data
3 Attendance Check whether correct PDF generated PDF generated
Sheet class, student details successfully successfully
are correct and PDF is
generated

102
6.2 User Documentation
● Splash screen

Appears with Logo and a app name

103
● Login page
⮚ This is the first page which appears when any admin click the app.
⮚ It ask Username and Password i.e. Mccian and 12345.

104
● Main page

➢ Contains a Floating button and Drawer

➢ Floating button lets to create/add a new class

➢ Drawer will give different menu options such as Home, Add Class, Profile, Log out and
Share, Rating

➢ Each menu option has a destined work to do

105
● Create Class Dialog Box

➢ After click the floating button, dialog box appears which will ask for Class name and
Subject name.

➢ For example: TYIT and SQA

106
● Student details page

➢ This will show the name and roll number of student when added by click the menu option

107
● Student details dialog box

➢ When you click “Add Student” option, the dialog box appears.

➢ Add Student Roll number and Name

➢ For example: 1, Ram

➢ The Good part of this application is it will arrange in numerical order.

108
● Marking absent and present

➢ After adding few student details, now start with attendance

➢ Swipe Left to mark student as Absent and Status “A” appears

➢ Swipe Right to mark student as Present and Status “P” appears

109
● Update Student details

➢ To edit or update Student name, click or long press for option on the detail

➢ To delete student detail, Long press for option to delete

➢ For example: Here we updated Name of “Bunty” as “Nick”

➢ Save the attendance by click on the save image on the Action bar

110
● Change date

➢ Now if you want to mark or check or update previous attendance, change the date

➢ Click on the option menu and choose Change date

➢ Choose the required date and mark the attendance

➢ Remember to save

111
● Monthly Attendance sheet

➢ Now to change attendance record, go to option menu and choose Attendance Sheet option

➢ Choose the month of which you have to view the record

➢ For example: We choose record of month March 2022 and the result is successfully
viewed.

112
● Save as PDF and view PDF

➢ As you save the record, a PDF file is generated

➢ This PDF is saved in Downloads folder of Phone Storage

➢ And the File name will be in the manner of “Class name (Subject name) Attendance
Report.pdf”

➢ For example: Our PDF file name is TYIT (SQA) Attendance Report.pdf

113
114
CHAPTER 7: CONCLUSIONS
7.1. Conclusion
The "Attendance Management System" effectively structured with all testing done precisely. It
empowers the admin to just add student data and mark attendance with PDF record.
While the enhancement of the undertaking it is taken consideration so the necessities arrive at
the organizational needs. Here in the venture the institute and administrator can look and recover any
subtleties as per genuineness with the application of imports. Objectives accomplished can be
portrayed as follows

➢ Create an Android application to replace scanning and paper attendance techniques.

➢ Allow communication with diverse types of students.

➢ Improve accuracy in results.

➢ It has user friendly interface having quick access to documents.

➢ Save valuable time and workload for staff and students.

➢ Avoid fake entry.

➢ Improve student`s performance by periodically informing teachers about their performance


by quick ball available.

➢ Less database maintenance charges

➢ User-friendly application (Here, the Admin is a teacher)

➢ Secures attendance data of students.

➢ Eradicate paperwork, manual work

➢ Programmed calculation of attendance daily and monthly report

➢ To Increase security, only the in-charge will have access to change students’ data (Roll no,
present days)

7.2. Confinement of the framework


● This application isn't connected to official college executives framework or association, so just
unique individual can utilize it.
● The application won't have option to embed or see subtleties if the mobile is lost.

115
7.3. Future extent of the undertaking.
Idea of this application is extremely helpful to the instructor to include, erase, see, update the
understudy and student record and all data about understudy provides for the parent. In future there are
chances that different designers may get a kick out of the chance to refresh or alter the element of this
present application. It tends to abridge that the future extent of the task can be with respect to:
● We can include advance programming for importing excel of Student details instead of filling
manually
● We can have cloud storage to prevent data loss and assure data redundancy
● Integrate different burden balancers to stabilize the application.
● Create a database login, were new users and password are available to be created.
● Implementing different downloadable formats for ease of access and also separation of student
attendance data during an academic.

The previously mentioned focuses are the improvements which should be possible to build
relevance and utilization of the venture. Here we can keep up the records of attendance. Progressions
should be possible on keeping up the records of the understudy and instructor booking and so on.

116
References

Books Referred:

Kotlin Development Essentials, Learn Kotlin for Android Development:The NextGeneration

Language Modern Android App Programming, Learn Android Studio:Build Android Apps

Website referred:

https://www.youtube.com/

https://kotlinlang.org/docs

https://developer.android.com/docs

https://www.google.com/

https://github.com/

https://www.geeksforgeeks.org/

117

You might also like