Beruflich Dokumente
Kultur Dokumente
The project presented, as part of the curriculum, was the first experience of
this kind for me. I had considered this project not only as a program of
studies to be completed, but as a goal to learn, study, develop and test
commercial software technologies.
I am pleased to be able to say that, in an acceptable manner, I have
achieved my goals and goals to make this project a result. I would like to
thank and thank the support of some who have helped physically, mentally
and intellectually during this project.
Foremost regards to my guide and Co-ordinator Prof, Dr.Hiren Dand
and Principal , Dr.K.G.Rajan who made available the facilities required
for the project work.
I also want to mention the tacit support of my parents who, as
always, helped me as much as possible to make my job a success.
The contribution made by my friends and mates, directly or indirectly
was indispensable, and will always be remembered.
This opportunity has given me a valuable experience about software
development.
Swapnil V. Jadhav
1
TABLE OF CONTENT
Table of Contents
CHAPTER 1:-INTRODUCTION ................................................................................... 4
1.1:-BACKGROUND .......................................................................................................... 4
1.2:-OBJECTIVES .............................................................................................................. 5
1.3:-PURPOSE, SCOPE, AND APPLICABILITY ..................................................................... 5
1.3.1:-Purpose .............................................................................................................. 5
1.3.2:-Scope ................................................................................................................. 6
1.3.3 Applicability ....................................................................................................... 6
1.4:-ACHIEVEMENTS ........................................................................................................ 7
1.5:-ORGANIZATION REPORT ........................................................................................... 8
CHAPTER 2:-SURVEY OF TECHNOLOGIES ......................................................... 11
2.1:- TECHNOLOGIES AVAILABLE FOR DEVELOPMENT: ................................................... 11
2.2:-TOOLS AND TECHNIQUES USED: .............................................................................. 11
2.3:-MAJOR ANDROID APP PROGRAMMING LANGUAGES AVAILABLE FOR DEVELOPMENT
....................................................................................................................................... 14
2.4:-ANDROID APP DESIGNING TOOLS ........................................................................... 16
2.5:-SIMILAR TECHNOLOGY/APPLICATION..................................................................... 17
2.5.1:-Attendance....................................................................................................... 17
2.5.2:-Automatic Attendance System ........................................................................ 18
2.6:-TESTING TECHNOLOGY ................................................................................... 19
CHAPTER 3:-REQUIREMENTS AND ANALYSIS.................................................. 20
3.1:- PROBLEM DEFINITION: ........................................................................................... 20
3.2:-REQUIREMENTS SPECIFICATION .............................................................................. 21
3.2.1:-USER REQUIREMENTS .......................................................................................... 21
3.2.2:-Functional Requirements ................................................................................ 22
3.2.3:-Non-Functional Requirements ........................................................................ 22
3.2.4:-Problems In The Existing System ................................................................... 23
3.3:-PLANNING AND SCHEDULING .................................................................................. 27
3.3.1:- Project Plan .................................................................................................... 27
3.4:-SOFTWARE AND HARDWARE REQUIREMENTS ......................................................... 29
3.5:- PRELIMINARY PRODUCT DESCRIPTION .................................................................. 29
3.6:-CONCEPTUAL MODELS ............................................................................................ 30
CHAPTER 4:-SYSTEM DESIGN................................................................................. 39
2
4.1:-BASIC MODULES ..................................................................................................... 39
4.2:-DATA DESIGN ......................................................................................................... 41
4.2.1:-Schema Design ................................................................................................ 41
4.2.2:-Data Integrity and Constraints ........................................................................ 42
4.3:-PROCEDURAL DESIGN ............................................................................................. 43
4.3.1:-Logic Diagrams ............................................................................................... 43
4.3.2:-Algorithm Design ............................................................................................ 47
4.4:-USER INTERFACE DESIGN ....................................................................................... 48
4.6:-SECURITY ISSUES .................................................................................................... 51
4.6:-TEST CASES ............................................................................................................. 52
CHAPTER 5:-IMPLEMENTATION AND TESTING............................................... 54
5.1:-IMPLEMENTATION APPROACH :- ............................................................................. 54
5.2:-CODING DETAILS & CODE EFFICIENCY :- ............................................................... 55
5.3:-TESTING APPROACH ................................................................................................ 73
5.3.1:-Unit Testing ..................................................................................................... 74
5.3.2:- Integration Testing ......................................................................................... 76
5.3.3:- Beta Testing ................................................................................................... 81
5.4:-MODIFICATION AND IMPROVEMENTS ...................................................................... 82
5.5:- TEST CASES ........................................................................................................... 82
CHAPTER 6:-RESULTS AND DISCUSSION ............................................................ 83
6.1:-TEST REPORTS :- ..................................................................................................... 83
6.2:- USER DOCUMENTATION ......................................................................................... 85
CHAPTER 7:-CONCLUSIONS .................................................................................... 92
7.1:- SIGNIFICANCE OF THE SYSTEM ............................................................................... 92
7.2:- LIMITATIONS OF THE SYSTEM ................................................................................. 92
REFERENCES ................................................................................................................ 94
APPENDIX ...................................................................................................................... 95
3
CHAPTER 1:-INTRODUCTION
1.1:-Background
From ages, marking the attendance is one of the most important way to record the
presence of students in schools, colleges for marking the attendance institutes and organizations
uses the various methods. This helps them in generating their payrolls and other credentials.
These systems may be manual or automated. There are some well known attendance
system use in the various and institutes are Biometric-based system and card-based
system are some of the examples of automated attendance system. In the manual
attendance system, the faculty takes the attendance of the students enrolled in different
courses. The information about the attendance is then passed on to the academic section
of the institutes where this information is stored into the institutes server database.
So this app will save the time of marking the attendance manually in the sheets
user can mark the attendance only by sliding either of the side which is faster and
reliable. Also all the data is stored in online database so there is no need manually
manage those data it’s safe and when the user require those he can retrieve it.
Some other characteristics are also there in this application which will are useful
for the user. And also user can update the content of the application whenever he/she
wants. Which make it more user friendly.
4
1.2:-Objectives
Marking attendance with cell phones instead of our existing approach is a step
towards sustainable development Composition via the mobile device not only saves
resources and effort, but also allows the user to gain easy and interactive access to student
attendance records.
This system will overcome the restrictions of the existing approach or techniques.
Marking the attendance of students with the android device on one swipe not only saves
our resources and efforts, but also allows the user to gain easy and interactive connection
to student attendance records. We try to create an application that can help the teachers to
mark the students attendance through their mobile device
The main aim to develop this application is to minimize the required time and cost. With
the technical essence. This application is much more interactive as compared to the
previous methods which are use to take the attendance. Swipe control which is the main
feature of this application which drive it to the different level.
1.3.1:-Purpose
In the existing system user have to manually mark the attendance of each and every
student which is not at all feasible and also it’s time consuming task to mark the
attendance of each and every student using pen and paper. It is a tedious job to maintain
all the records for the user. The human effort is more here. The retrieval of the
information is not easy because the all the records are stored in the register so when the
user require a information about the specific student he must have to go through all the
registers. The new system should overcome the drawbacks such as:
1. This will reduce the use of paper.
2. Management cost of the logs.
3. Add or remove data dynamically.
4. There are less human efforts required.
5
5. The system will automatically send the attendance report to the parents if
it’s less than 75%.
6. This system support reusability so once the user filed the details of student
in the app database he don’t have add this next time.
7. This data will remain in the database until the user removes it.
8. Also this application is more secure than the previous system.
9. If the same data with the same information is encountered then the
application will prompt a message that this record is already there you
want to update that record or not.
1.3.2:-Scope
The application is useful in the domain were the user have to manually mark the
attendance. This will decrease his/her effort. And also this idea will cope up with the
upgraded technology and we can enhance the performance of the system in the future by
using proximity sensors of the mobile where we just have to wave our hand on a device it
will directly put the attendance into the database.
1.3.3 Applicability
• When the user opens the application for the first time he have to register into the
app.
• Then next screen will appear where he have to insert class name and the student
strength. Then the user have to insert the students photo and the name. The
application will automatically assign the roll number to it.
• Then he have to hit a “Done” button.
• Here he is redirected next page where he can see the four section.
1. Take Attendance
Here user get a bundle of cards on which the students profile photo, name
and roll number is written.
6
Then the user start swiping those cards based on that the attendance is get
marked.
2. View catalogue
Here user can see all the records of the student and how many lecture he
has attended.
3. Generate defaulters
Via this section user can directly generate the defaulters of a class
automatically. And send the attendance to those particular student.
4. Create New Log
This section will help user to create a new class log where he can add a
student for the future use.
The user can dynamically increase the count on click of create new log.
5. Logout
1.4:-Achievements
Achievements of the system are as follows:
We learned how to write a project srs.
We learn how to work with the android studio to develop an application.
We learn how to use the firebase as a backend for our project.
We learn how to schedule a task so the productivity will be more.
We gain lot of information about the software and technology available in
this field.
This application is user-friendly so this will cover a large gamut of
departments.
The application does not require any further investment once it’s
developed.
To generate the defaulters logs at the month end.
Send the attendance of the student to their parents (Those are in
defaulters).
Lesser the data redundancy and data in-consistency.
7
Dynamic structure.
Incorporate a huge amount of a data.
It’s more reliable and improve productivity.
The proposed system requires very less paper work. Because all the data is
directly get stored on the cloud storage
1.5:-Organization Report
Chapter 1: Introduction
Background: An explanation of the development context and its association with the
work already done in the field.
Purpose: Project theme description that answers questions about why this project is
implemented.
Applicability: The student must describe the direct and indirect applications of his work.
Achievements: Explain what knowledge the student achieved after the accomplishment
of the work.
8
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 in critical path. Give the list of software along with hardware components
require by project and explain key points about it.
Chapter 4: System Design:
This chapter describes features and procedures researched in aspects, consisting of screen
layouts, business rules, process diagrams, pseudo-code, and other documentation, which
is appropriate for the project. It consists of designing a system, i.e. designing schemes,
designing algorithms and designing basic modules of a system.
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 process or
work I have done to make code efficient.
This chapter also contains the details of various testing approach I have used.
This Chapter shows the details of the test results after testing the software and generate
report on the basis of the Test results.
This chapter will also show the behaviour of the Website when inputs are different from
the one written in the Test Cases.
This Chapter also contains details of working of the website and the different functions in
the project. It should also contain User Manual, Which provides the understanding of the
working of the project to the user.
9
Chapter 7: Conclusion
This chapter summarise about all the important point of all other chapters.
It also shows the limitation in the proposed system and details about future plan to
explore the scope of the project.
10
CHAPTER 2:-SURVEY OF TECHNOLOGIES
Android applications development tools and technologies refer to a variety of tools and
programming languages used to perform the various activities involved in developing
android applications.
Android may be a Linux primarily based operating framework created for cell
phones. There's plenty of programming that includes operating frameworks and
libraries. It had been created by Google and therefore the Open telephone
Collusion in Gregorian calendar month 2005. This is an open software so and it’s
free so it allow manufacturers and engineers to uninhibitedly build up their
applications.
The SDK incorporates an expansive arrangement of improvement instruments
that incorporates a debugger, libraries, an emulator dependent on a QEMU-based
telephone. The incorporated advancement condition (IDE) bolstered for the
improvement of Android applications is the Shroud programming that uses the
Android improvement devices.
11
2. Firebase
Firebase is the online data storage platform where we can store our data
FirebaseTCloudTMessaging
Earlier known as Google Cloud Informing (GCM), Firebase Cloud Informing
(FCM) is a cross-stage answer for messages and notices for Android,ios, and
web applications, which as of now can be utilized at no expense.
3. Firebase Auth
4. Realtime Database
5.Firebase Storage
12
utilize it to store pictures, sound, video, and different substance created by
client.
6.Photoshop
Photoshop is use to design some component of the application which will help
to give nice look and feel.
Ionic Framework:-
Ionic Framework is associate open supply SDK that permits developers to
make high-quality and superior mobile applications mistreatment internet
technologies referred to as markup language, CSS and JavaScript. And
this may build development quicker than traditional development. The
applying developed with the particle framework is compatible with
mechanical man and Ios platforms.
MySql language:-
Mysql is the another info language we will use because the info language.
8. Used database language:-
13
Figure 2.2.1: Growth Chart
Java:
Around the world for any android application developers, one of the most
preferred programming language for associate android app is Java, the explanations being
that it's merely the official language of Android app development, which implies it's one
among the foremost supported languages by Google and therefore the one that almost all
apps within the Play Store are engineered with.
Java was developed by Sun Microsystems means back in 1995, and it's used for a
good vary of programming applications. Java code is pass by a the java virtual machine,
that runs on humanoid devices and interprets the code.
14
C/C++:
On the off chance that you ask me, it isn't generally fitting to pick this way to build up an
Android application. Android Studio offers help for C/C ++ utilizing the Android Local
Advancement Unit. This implies it will compose code that does not keep running on the
Java Virtual Machine, but rather runs locally on the gadget and gives more power over
things like memory .For more serious applications like 3D recreations, this will enable
you to get more execution from an Android gadget.
Corona:
Phonegap:
At long last, the last "improved" choice that you can create Android applications is
PhoneGap, except if you need to utilize an application generator program. PhoneGap
depends on Apache Cordova and, generally, enables you to make applications with a
similar code you would ordinarily use to make a site: HTML, CSS and JavaScript. This is
then shown by means of a "Web View" yet bundled as an application. Thus, PhoneGap
goes about as a scaffold, enabling designers to get to some essential local elements of the
telephone or tablet, for example, the accelerometer or camera.
15
C#:
Like Java, C # is a refuse accumulation, which implies you don't need to stress over
things like memory breaks and arranging for memory. Be that as it may, in the meantime,
C # is more current than Java with a cleaner grammar, despite the fact that this could be
my damage. The best dialect to create Android applications is frequently lessened to
taste.
Notwithstanding, in the event that you need an acquaintance especially simple and
inviting with the improvement of Android applications, I suggest the mix of C # and
Solidarity.
Marvel
Invision
PopApp
Android Patterns
Adobe Kuler
16
2.5:-Similar Technology/Application
2.5.1:-Attendance
17
ADDITIONAL INFORMATION
In 2001 new innovation turned out and it caught great publications .That approach caught
observation picture and contrasted them with the database of computerized photos. That
was better for security purpose of view. Face acknowledgment method is expanding step
18
by step and assume real job in our life. Now it is being utilized to distinguish missing
childrens, visa extortion, character misrepresentation and so on.
Face detection-
Here we use system camera to take photo of a Candidate/user. Then we will detect face
from that image. After matching it with the many faces it will create database containing
photo of each student with name and roll number. It is mainly used for comparison
withtest image.
2.6:-TESTING TECHNOLOGY
Black box testing approach is used to test this website by initially examining the
requirements and specifications and choosing valid inputs and determining expected
outputs of selected inputs.
White box testing approach is also used to test this website by understanding the
functionality of the system through its source code and creating the tests cases and
executing them.
19
CHAPTER 3:-Requirements and analysis
3.1:- x-:
Identification of the problem is one of the obvious tasks to be performed before
developing a project. A clear understanding of the problem will help build a better system
and reduce the risk of project failure.
b) The second is to identify at an abstract level the expected capabilities of the new
system.
It helps in understanding the system properly so that all the problems are
identified correctly. It also involves considering all the alternatives that exist to
achieve the objectives with respect to modifying the system, even all the various
ways to implement the alternatives.
After we thoroughly understood the existing system, it was concluded that all of the work
was done manually. All kinds of calculations and planning were done using the human
brain instead of taking advantage of the modern Information Technology
20
The purposed System will overcome all problems mentioned above:-
• Storing knowledge into the base that is obtainable throughout the period of time
of the computer code or we are able to say until the corporate mistreatment that
computer code.
• No redundancy of information.
3.2:-Requirements Specification
3.2.1:-User Requirements
1. Swipe based attendance system provide efficient way of a marking the attendance
with the technical touch of updated technology.
2. The user registers with the login credentials.
3. The registration will be done by accepting first name, password and email-id.
4. Once the user has registered, the system provides a login page where the client
has to login with username and password which has been previously registered.
5. The system defines a standard format for setting the email id i.e.
“…...@...in/com” and mobile number should be not more or less than 10 digits.
6. If the in future user forget his password and he want to login into the system then
for that there is a forgot password option is available.
21
7. Once the user enter into the system he see the 4 boxes where he can create a new
attendance sheet, take the attendance, generate defaulters and the user profile.
8. If he select the create new attendance sheet on first page system will ask user to
enter the class or division name and the strength of the student.
3.2.2:-Functional Requirements
Functional desires are the services the system must supply, but the system must react to
specific inputs and therefore the manner the system must behave notably state of affairs
and will in addition expressly state what the system should not do.
• System will raise user once whether or not or not he want continue together with his
previous sheet or he want manufacture a spanking new one.
• System will allow user to send mail to the particular parent of the scholar at the month
end.
3.2.3:-Non-Functional Requirements
Availability: Here we are using the firebase as our default database so there is less
chance of non-availability of it while retrieving the data.
Reliability: System can work robustly while no loss of any information even within the
part of various failures. All the personal details of the customers will be stored in
“Encrypted form” in order to secure the data. The system will be developed in a manner
that ensures there is no malicious code or bugs.
Security: All the user details are secured because these details are stored in the cloud
storage which our firebase here so there is less chance of data loss or data corruption
22
Maintainability: System will maintain the following data:
i. Name
ii. Username
iii. Email-id
iv. Password
v. Students data
Usability: The system is easy to handle. The user of the system can easily go through the
website without any complications.
Supporting and overseeing time for little and substantial organizations can be an
overwhelming undertaking. That is the reason Go Clockwise's biometric time
participation framework is an unbelievably well known alternative among business
visionaries. In any case, despite the fact that these frameworks have numerous focal
points, they are not totally mistake free. Coming up next is a short rundown of probably
the most continuous biometric issues of the help framework and the time that our clients
find.
Do whatever it takes not to take breaks Dependent upon state and adjacent laws, agents
may be required to take breaks following a particular number of extensive stretches of
work. Through the biometric investment disclosure structure, you can change the hours of
your specialists to reflect these rest periods. On the off chance that specialists hate the
imperative relief, the structure will subsequently deduct the time from their chance
sheets. The issue develops when delegates decay to take breaks, surrendering you as a
business, encroaching upon neighborhood working condition laws. Thusly, concentrating
on the necessity for a break is basic.
23
Figure 3.4.1 : Biometric attendance
Unscheduled Hours
The consistent undertaking of getting to the biometric help framework to endorse the
hours worked by representatives can be dangerous on the off chance that for reasons
unknown, a few workers have spontaneous calendars without anyone else time. It isn't as
straightforward as endorsing these hours since you don't know whether they are blunders
or the genuine hours worked. To stay away from this issue, advise workers that they
ought to send you an email before a specific timeframe to educate them of any
adjustments in the schedule. Additionally, check with your supervisor or chief in the
event that it is fundamental for these progressions to be endorsed by a higher specialist
before they can be affirmed in the framework.
Missed swipes
Some of the time, representatives may neglect to sign in to the Biometrics framework. As
a matter of first importance, this issue could influence your installment since you will be
unable to know whether you were available amid the whole turn. Your biometric time
participation programming framework will send you a notice demonstrating this
irregularity. Along these lines, you have room schedule-wise to converse with the worker
who has not gotten the punches previously the due date for endorsement of the
participation sheet.
24
Remaining Marked In
Your workers may require a secret word and a username to sign in to the framework. Be
that as it may, subsequent to completing the day, they can neglect to leave their record.
The issue is additionally convoluted when the following representative enters and
incidentally enters someone else's record. Abruptly, you locate an immense perplexity
and inquiries regarding why a representative has worked more than 12 hours and another
has never tried to work! One answer for this issue is regularly blurbs that remind workers
to totally detach from their records. Another methodology is to ask them to totally close
down their PCs toward the finish of their day of work, driving the following
representative to restart their PC without anyone else.
Missed Endorsements
Biometric help frameworks after some time have various focal points to offer
organizations. Normal mix-ups ought not unnerve you. You simply need to know how to
take care of these issues.
25
2. Challenges in face recognition attendance system:-
Illumination variations:
At the point when the picture is shaped, factors, for example, lighting (range, source and
force appropriation) and camera qualities (sensor reaction and focal points) some way or
another impact the presence of the human face. Lighting varieties can likewise do as such
because of the properties of the skin's reflectance and the camera's inside control. By
building a hearty and proficient facial acknowledgment framework, the issue of changing
lighting/lighting is viewed as one of the fundamental specialized difficulties looked by
framework fashioners, in which a man's face may show up significantly unique. it
functions admirably in observation exercises just with a moderate lighting variety, while
execution diminishes essentially when serious lighting happens. A large portion of the
current ways to deal with lighting varieties make strong suspicions that are exceptionally
hard to fulfill by and by. Show based methodologies, for instance, require various
pictures per individual enlisted under various lighting conditions. The test aftereffects of
invariant extraction approaches (eg 2D Gabor, edge outline, show that picture portrayals
are inadequate to defeat a serious variety in light. To oversee changes in lighting
conditions or stance, it is conceivable to utilize a picture re-terminating procedure
dependent on a hearty albedo estimation as for stance to produce various frontal pictures
of a similar individual with variable brightening. A confinement of albedo estimation is
that they necessitate that pictures be adjusted, and in addition affectability to outward
appearances. Despite the fact that picture preprocessing methods are straightforward and
quick, they overlook the impact of alters in the course of light that create vast changes in
neighborhood qualities.
26
Pose/viewpoint:
Pictures of a face change contingent upon the relative position of the camera confront
(front, 45 °, profile, look down) and some facial highlights, for example, eyes or nose,
might be incompletely or completely impeded. Truth be told, changes in stance influence
the acknowledgment procedure because of the presentation of projective disfigurements
and self-impediment. In this way, act resilience turns out to be much more basic for facial
acknowledgment frameworks dependent on a solitary vision of a subject. Blanzet al.
Facial acknowledgment techniques ordered into two elective standards; That is, changed
into perspectives and dependent on coefficients. The changed perspective methodologies
basically act in a method for preprocessing to change/twist the picture of the test, in view
of the assessed pose parameters, to coordinate the picture of the exhibition in position.
Give a basis for planning once these tasks are going to be administrated.
Allow to set up the allocation of resources required to complete the project, and facilitate
your to figure out the essential path for a project wherever you need to complete it by a
specific date
When a project is beneath manner, Gantt Charts facilitate to observe whether or not the
project is on schedule. the most objective of a Gantt chart is to assess however long a
project ought to take and to ascertain the order within which tasks have to be
administrated by the ending of the project.
27
Task Name Duration Start Finish Predecessors
Mon
Project topic deciding 5 days Fri 05/07/18
02/07/18
Mon
Collecting data 10 days Fri 17/07/18 1
09/07/18
Mon
Problem definition 20 days Fri 11/08/18 2
23/07/18
Mon
System design 20 days Fri 02/09/18 3
20/08/18
Mon
Problem evaluation 5 days Fri 21/09/18 4
17/09/18
Mon
Requirement analysis 45 days Fri 25/10/18 6
08/10/18
28
Figure: 3.3.1 :- Gantt chart
1. HARDWARE REQUIREMENTS:
Processor: Intel(R) Core(TM) i5-5200u CPU@2.20GHZ 2.20GHZ.
Memory: 4GB RAM for faster speed we can use 8GB RAM.
System Type: 64bit Operating System.
2. SOFTWARE REQUIREMENTS:
FRONT END: ANDROID STUDIO 2017.
BACK END: FIREBASE.
OS: WINDOWS 10.
29
more interactive. In this, user have to swipe right or left to mark the attendance this will
save a time of the user as well as the paper.
3.6:-Conceptual models
The student should perceive the domain of the matter and manufacture a model of the
system, that describes the operations which will be performed within the system and also
the allowable sequences of such operations. Abstract models could comprehend complete
data flowcharts, ER diagrams, object familiarized diagrams, system flowcharts, etc.
30
Notations:
31
1. Flow of the login activity:-
In the login activity 1st there's a start node once the user first login into the
system. The system can check whether or not the user is registered or not if the
user is registered it'll transfer it to the subsequent page or we will say the activity.
32
If the user isn't registered with the system then the another page can open
wherever he need to register his details. at the moment he can get transfer back to
the login page were he need to re-login within the system and also the system can
once more check whether or not the user is registered or not then he can get
transfer to the new page or next page that’s our main activity page were all the
most options of the app get visible to the user
The main page activity consist of two section. When the user click on the create new log
icon the user will get transferred to the new activity or page where he have to enter the
class name and count of student . Here we accept class name as a name of a log. And
count of student will accept a number from user which means the count of the total
strength of the student in class .
As soon as the user hits the submit button the next activity will open were the system will
generate a table which consist of number of rows mentioned in the count of section block
33
in previous activity. So there user have to type the name of the student in the sequential
manner. Once user gets done with this he will hit the submit button so the data is get
stored in the database.
This data is retrieved in the mark attendance section where the user have to select a class
name so the list of cards will displayed.
When the user hits the mark attendance icon on the home page he will be
transferred to the new page or activity were he have to select class who’s
attendance he have to mark. So on this page there is one dropdown list will appear
from where he have to select a class. After selecting when he hits the enter button
system will display a bunch of cards one behind each other .on which the students
roll number and the students name is written.
From here user will start swiping the cards if that particular student is there in the
class the user will swipe that students card on the right side or if he’s not there in
the class then the user swipe him on the left side. On this right and left swipe the
34
students attendance is marked and this record is stored in cloud storage for that we
are using here a firebase database which realtime database.
And as we know sometime there might be the changes in the sheet so once the
user done with swipping for all the students there is one submit button will be
displayed at the end of the last card.
Once he hit that he will be trasfered to the new activity or page from where he can
make change in his sheet if the student came late for the lecture so the user can
change that students attendance for that he just have to enter the students roll
number then the system will display that students card so here he can swipe that
card on right. Done his attendance is get marked.
4. Defaulters activity:-
35
If the user hits the generate defaulters icon on the home page he will be transferred to
the new page or activity were he have to select class. when he submit the selection the
system will display the list of students name in the table and the students whose
attendance is below 75% they are displayed with the red color. So the user can easily
identify that particular student and can take the action against him.
And also the user can view this detail at anytime because these all records are directly
stored in the cloud storage which means in the firebase so it’s easily accessible at any
time when user require.
5. Profile activity:-
From this activity user can view his details or information like his username, all
the logs he created and the logout button.
Logs he created means here he can view all the logs which consist of class name
and the records.
36
Normalized system diagram:-
37
3.6.7: Main DFD
38
CHAPTER 4:-SYSTEM DESIGN
4.1:-Basic Modules
Registration Module:
This module will allow the User to Register. User first have to Register to use our
Services.
If you are a user, you have to login first to perform any task.
If user enters invalid username or password, the system will show invalid prompt
window.
Home Page:
Then user gets the four boxes which are create new log, mark attendance, defaulters,
profile.
This section will help the user to add the new records of the students in the database.
Here user have to enter all the students name which he want there in his attendance sheet.
In this module the user gets card which he have to swipe in either of the side whether it’s
on left side or on the right side.
39
Defaulter module:
Here user gets the information about all the students whose attendance is less than 75%
and there names are highlighted in the red color in a list.
Profile Module:
In this module, user can view all the logs list he created yet.
Logout Module:
40
4.2:-Data Design
4.2.1:-Schema Design
41
4.2.2:-Data Integrity and Constraints
User Table for login and register:
Registration
activity
1. username Varchar(50) Yes -
2. Emailid Varchar(50) Yes -
3. Password Varchar(50) Yes -
User Table
2. Student_Name numeric(18,0) No -
3. Present Boolean No -
4. Absent Boolean No
Student Table
42
Defaulters table :
2. Student_Name numeric(18,0) - -
3. Overall Integer - -
percentage
Defaulters Table
4.3:-Procedural Design
4.3.1:-Logic Diagrams
Data Flow Diagram (DFD):
The DFD take as associate degree input method output read from the system that's
knowledge objects flow within the code and square measure reworked by process
component and knowledge objects from flow of the code.
5. Acknowledge and Label from every method internal to the system together with
conic section reasonably circle.
43
Notations
44
1. Level 0/context diagram: -
Level zero DFD may be a basic summary of the entire system or method being
analysed or modelled in Reallocation of Services Project. it's designed to be associate
at-a-glance read, showing the system as one high-level method, of however the User
and Admin will each move with the System.
45
A data flowchart (DFD) may be a graphical illustration of the "flow" of knowledge
through AN data system, modelling its method aspects. A DFD is commonly used as a
primary step to make an summary of the system while not going into deep within the
structure. DFDs may be used for the mental image of knowledge process (structured
design).
The on top of knowledge flowchart provides the data regarding the every activity is
reticulated with one another and the way the flow of the information goes once user begin
the appliance .When the user begin the appliance initial time user must login within the
system then it verifies whether or not the user is registered within the system or not if
user verified then next activity can get open. Then our main activity opens wherever all
the options of our system is displayed from there user will choose anyone. The additional
elaborative description is within the abstract model section
46
4.3.2:-Algorithm Design
Login module algorithm:-
Step 2 : If user have username and password enter it and hit the submit button else goto
step 3 for registration.
Step 3 : Register with the valid information set the new password hit the submit goto step
2 for re-login.
Step 4 : Exit.
Step 1 : Once done with the login with valid credentials you will navigated to home page.
Step 2 :Choose anyone tab from here if it’s create new log go to step 3 else if it’s Mark
attendance go to step 4 else if it’s defaulters goto step 5 else if it’s profile goto step 6.
Step 3 : In create new log activity enter the class name and student count hit submit
Step 4 : In Marks attendance activity select class from the dropdown hit next.
Step 4.2 : Start swiping if student present swipe right else swipe left.
Step 5 : In defaulters activity select class from the dropdown hit next.
47
Step 5.1 : The names of the students are displayed on the screen whose attendance
less than 75%.
Step 7 : Exit.
This page will display the name of the application and also if you click anywhere on the
display it will open the next activity. In this case our next activity is Login activity or we
can say a login page.
48
The Login page:-
When user click anywhere on the front page he will be redirected our next page which is
our login page.
The login page consist of two fields which is username and password. If user already
have an account so he will directly type his username and password then he will be
redirected to our home page.
If user not yet register then he have to register first. On click of create new account or
register he will be redirected to the registration activity or page.
49
The Registration Page:-
When the user clicks on the create a new account/register he will be navigated to the next
page which is our this registration page. Where user have to feed the data in the system.
50
4.6:-Security issues
There are apps , software or more commonly used are our websites consist of some sort
of the authentication system which every user have to perform . So here user have to fill
his personal details such as Name, Email-id, password , contact number for online
transaction he have to fill his credit card number. So this is the responsibility of that
company to secure the users data at any cost because personal information is the first
priority of the everyone if it goes in the wrong it may lead to the dangerous
consequences.
51
Our app provide a security to the users personal credentials or more generally we can say
to the personal information. This is done because of the use of firebase database as the
backend database for our application.
Generally the firebase stores the data in the cloud storage which is the more secure way
to store the data. There 0.01% of chance that data of the user is get leaked this 0.01% is
at worst condition.
4.6:-Test cases
Up to this section we gather the information about the system which user expect to be
developed. So on that basis we jot down some testcases which we used in this and they
are listed below:-
Test case 1 :-Requirements gathering and the features to be there in the app.
Here we collect all the specification from the user which he want to be there in the app.
So if user provide all the requirements properly as per his requirement there is less
chance of conflicts ,because sometimes what happen that user don’t tell the developer
what he exactly want from the system and there it fails.
The user who want that system is definitely not from the technical background so he
don’t know exactly what language and technology used in the development purpose but
still sometimes the user keep on suggesting that use that technology because it’s use by
the rival company. So it may mislead the development environment.
Test case 3:- Scheduling of the activities and scheduling of the resources.
It basically concern with the developing the prototype or basic module of the app and
sending it to the user for the testing purpose. Based in this we priorities the activity and
also allocate the resources to perform those in fix time slot.
52
Test case 4:- User Interface
The simplicity of User Interface is person independent i.e., one user find User Interface is
Complex if they haven’t used any application but for another user it will be simple.
Therefore, we cannot perfectly implement this requirement but we try to implement as
much as possible. If the user satisfied with the user requirement then this requirement is
meet.
This application will take the less than second to perform any activity i.e. if user swipe a
card left or right next sequence of card is displayed immediately there is no delay
between the two card. Only at the generate defaulters list section it will take the less than
a minute to generate a table showing the names of the students with their attendance.
In this basically we check whether the all the features which user demands for can fit in
the budget or not or else he have to negotiate with the user.
53
CHAPTER 5:-IMPLEMENTATION AND
TESTING
5.1:-Implementation Approach :-
The implementation phase is where we have to actually do the project work to produce
the deliverables. The word “deliverable” means anything our project delivers. The
deliverables for our project include all of the products or services that we are developing
for the client, customer, or sponsor, including all the project management documents that
we put together.
Once we have completed with our designing and planning phase it’s time for project
implementation, the third phase of the project management life cycle. The
implementation phase involves putting the project plan into action. It’s here that we have
to coordinate and direct project resources to meet the objectives of the project plan. As
the project unfolds, it’s our job to direct and manage each activity, every step of the way.
That’s what happens in the implementation phase of the project life cycle: you follow the
plan you’ve put together and handle any problems that come up.
The means embraced to construct every deliverable will fluctuate contingent upon the
sort of task we are attempted, and can't along these lines be portrayed here in any genuine
detail. For example designing and media communications activities will concentrate on
utilizing gear, assets, and materials to build each extend deliverable, though PC
programming ventures may require the advancement and execution of programming code
schedules to create each undertaking deliverable. The exercises required to manufacture
every deliverable will be obviously determined inside the venture necessities record and
undertaking plan.
The implementation phase keeps the project plan on track with careful monitoring and
control processes to ensure the final deliverable meets the acceptance criteria set by the
customer. This phase is typically where approved changes are implemented.
54
Most often, changes are identified by looking at performance and quality control data.
Routine performance and quality control measurements should be evaluated on a regular
basis throughout the implementation phase. Gathering reports on those measurements
will help us to determine where the problem is and recommend changes to fix it.
Login Activity:-
when we first time start the app it will first display you the login page if the user have an
account then he have to put his email id and password
55
If the entered email id and password is valid the he will get access to his account and
previous data
But if he don't have an account then he have to click on "Signup button" which the on a
login screen so if the user hits this button he will transferred to a different activity, there
he have to put his email id and password to create a new account.
if (TextUtils.isEmpty(email)){
//Checking empty or not
Toast.makeText(this,"Please enter your
email.",Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)){
//checking empty or not
Toast.makeText(this,"Please enter your
Password.",Toast.LENGTH_SHORT).show();
return;
}
56
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressDialog.dismiss();
if (task.isSuccessful()){
databaseLogin.child("treck").child("New logs");
finish();
startActivity(new
Intent(getApplicationContext(),MainPageActivity.class));
}
}
});
}
@Override
public void onClick(View v) {
if (v == buttonSignin){
userLogin();
}
if (v == textViewSignup){
finish();
startActivity(new Intent(this, RegistrationActivity.class));
}
Registration Activity :-
here we have to enter our email id and password which want set for our application. So
every time the new data which is added by the user belong to him itself it won't refers to
anyone else.
57
So once the user set the email id and password and hit the register button again the login
page will appear here user have to enter his email id and password.so he can successfully
access his account.
if (TextUtils.isEmpty(email)){
//Checking empty or not
Toast.makeText(this,"Please enter your
email.",Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)){
//checking empty or not
Toast.makeText(this,"Please enter your
Password.",Toast.LENGTH_SHORT).show();
return;
}
progressDialog.setMessage("Registering user.....");
progressDialog.show();
firebaseAuth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()){
//user is sucessfully registered and logged in
startActivity(new Intent(getApplicationContext(),LoginActivity.class));
58
finish();
}
else{
Toast.makeText(RegistrationActivity.this,"Failed to register. Please try
again",Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public void onClick(View v) {
if(v == buttonRegister){
registerUser();
}
if (v == textViewSignin){
startActivity(new Intent(this,LoginActivity.class));
}
}
It's the snippet of code were we are uploading an image i.e our student profile pic and this
image get stored in our firebase database storage section.
59
private void uploadFile() {
//checking if file is available
if (filePath != null) {
//displaying progress dialog while image is uploading
final ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("Uploading");
progressDialog.show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
60
public void onFailure(@NonNull Exception exception) {
progressDialog.dismiss();
Toast.makeText(getApplicationContext(), exception.getMessage(),
Toast.LENGTH_LONG).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>()
{
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
//displaying the upload progress
double progress = (100.0 * taskSnapshot.getBytesTransferred()) /
taskSnapshot.getTotalByteCount();
progressDialog.setMessage("Uploaded " + ((int) progress) + "%...");
}
});
61
}).addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
progressDialog.dismiss();
if (task.isSuccessful()) {
Uri downloadUri = task.getResult();
String downloadURL = downloadUri.toString();
rollNo=editTextRollNo.getText().toString();
Upload upload = new Upload(editTextName.getText().toString().trim(),
downloadURL,rollNo);
//rollNo+=1;
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
String uid = user.getUid();
//adding an upload to firebase database
uploadId = mDatabase.push().getKey();
String getSpinnerValue=ArtistMainActivity.spinnerValue;
mDatabase.child(uid).child("Logs").child(getSpinnerValue).child("uploads").child(upl
oadId).setValue(upload);
//mDatabase.child(uid).child("uploads").child(uploadId).setValue(upload);
editTextName.getText().clear();
editTextRollNo.getText().clear();
imageView.setImageDrawable(null);
} else {
// Handle failures
// ...
}
62
}
});
}
else {
//display an error if no file is selected
}
}
here is our main feature, from the above snippet we get to know what happen if the user
swipe the left or user swipe the right.
onLeftCardExit() shows that if the user swipe the card on the left direction then
entry will be added as absent in the firebase real-time database
onRightCardExit() shows that if the user swipe the card on the right direction then
the entry will be added to a database as present.
stringArray[m]=date;
m++;
dref =
FirebaseDatabase.getInstance().getReference().child("Records").child(uid).child("Logs
").child(getSwipeSpinnerValue).child("uploads");
dref1=FirebaseDatabase.getInstance().getReference("Records");
dref.addValueEventListener(new ValueEventListener() {
63
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
flingContainer.setFlingListener(new SwipeFlingAdapterView.onFlingListener() {
@Override
public void removeFirstObjectInAdapter() {
64
int k=1;
int m=1;
@Override
public void onLeftCardExit(Object dataObject) {
dref1.child(uid).child("Attendance").child(getSwipeSpinnerValue).child(date).child("
Absent").push().child("abname").setValue(Stud_name);
//dref1.child("Absent").child(Stud_UploadId).setValue("0");
array.remove(0);
myAppAdapter.notifyDataSetChanged();
m = k;
@Override
public void onRightCardExit(Object dataObject) {
dref1.child(uid).child("Attendance").child(getSwipeSpinnerValue).child(date).child("P
resent").push().setValue(Stud_name);
// dref1.child("Present").child(Stud_UploadId).setValue("1");
array.remove(0);
myAppAdapter.notifyDataSetChanged();
65
k = m;
@Override
public void onAdapterAboutToEmpty(int itemsInAdapter) {
@Override
public void onScroll(float scrollProgressPercent) {
view.findViewById(R.id.item_swipe_right_indicator).setAlpha(scrollProgressPercent <
0 ? -scrollProgressPercent : 0);
view.findViewById(R.id.item_swipe_left_indicator).setAlpha(scrollProgressPercent
> 0 ? scrollProgressPercent : 0);
}
});
This code will help us to get all the student images with their names in our recycler view
which we have uploaded while creating new record.
i.e from here we can track the student who are there in our database under that particular
class.
66
mDatabase =
FirebaseDatabase.getInstance().getReference().child("Records").child(uid).child("Logs
").child(getSpinnerValue).child("uploads");
@Override
public void onCancelled(DatabaseError databaseError) {
progressDialog.dismiss();
}
});
67
Changing Todays Attendance :-
This section of the code will help us to change the entry of the present or absent students.
so here dr1.chilid("abname") .removeValue() will remove the value from the absent node
in the database.
buttonAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TodaysSpinnerVal = spinnerGenres1.getSelectedItem().toString();
myref.child(TodaysSpinnerVal).child(startDate5).child("Absent").addValueEventList
ener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
studentList.clear();
for (DataSnapshot snap:dataSnapshot.getChildren())
{
Student student=snap.getValue(Student.class);
studentList.add(student);
}
StudentList adapter=new StudentList(TodaysAtt.this,studentList);
listViewArtists.setAdapter(adapter);
}
@Override
68
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
});
private boolean updateArtist() {
DatabaseReference dR =
FirebaseDatabase.getInstance().getReference().child("Records").child(uid).child("Atte
ndance").child(TodaysSpinnerVal).child(startDate5).child("Present");
DatabaseReference dR1 =
FirebaseDatabase.getInstance().getReference().child("Records").child(uid).child("Atte
ndance").child(TodaysSpinnerVal).child(startDate5).child("Absent");
dR.push().setValue(aloName);
dR1.child("abname").removeValue();
dR1.child(aloName).setValue(null);
dR1.child(aloName).removeValue();
here we create on Hashmap table in the form of our keys and values.
69
If the value found in the present node in our database then the value section of our
hashmap is increased by 1 else it's remain constant or better we can say it remain 0.
buttonAdd.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View view) {
Log.d("hello",total+" ");
@RequiresApi(api = Build.VERSION_CODES.O)
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot child: dataSnapshot.getChildren()) {
preList.add(child.getValue().toString());
Log.d("hello", child.getValue().toString());
}
for(String s : defStudents.keySet())
{
Integer i = defStudents.get(s);
if(preList.contains(s))
{
defStudents.put(s,i+1);
}
else
{
defStudents.put(s,i);
}
70
}
preList.clear();
for(Map.Entry m:defStudents.entrySet()){
Toast.makeText(MyDefaulter.this,"NATOOO : "+m.getKey()+"
"+m.getValue(),Toast.LENGTH_SHORT).show();
Log.d("hello","data: "+m.getKey()+" "+m.getValue());
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(MyDefaulter.this,"Lolllll not
working",Toast.LENGTH_SHORT).show();
}
});
here we calculate the percentage of student attendance using the formula as:-
float MyPer=(i/o)*100;
71
for(final Map.Entry m:defStudents.entrySet()){
float i= (int) m.getValue();
float o=total;
Log.d("hello", i+" ");
Log.d("hello", o+" ");
final float MyPer=(i/o)*100;
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
calDefStudents.put((String) m.getKey(),MyPer);
Log.d("hello", MyPer+" ");
Toast.makeText(MyDefaulter.this,"Calculated percentage : "+m.getKey()+"
"+m.getValue(),Toast.LENGTH_SHORT).show();
72
Log.d("hello","Calculated percentage "+m.getKey()+" "+MyPer);
}
for(Map.Entry m:calDefStudents.entrySet()){
Toast.makeText(MyDefaulter.this,"NATOOO : "+m.getKey()+"
"+m.getValue(),Toast.LENGTH_SHORT).show();
Log.d("hello3","data: "+m.getKey()+" "+m.getValue());
}
}
5.3:-Testing approach
A test approach is the test strategy implementation of a project, defines how testing
would be carried out. Test approach has two techniques:
Proactive - An approach in which the test design process is initiated as early as possible
in order to find and fix the defects before the build is created.
Reactive - An approach in which the testing is not started until after design and coding
are completed.
There are many strategies that a project can adopt depending on the context and some of
them are:
73
Standard-compliant approach specified by industry-specific standards.
Factors to be considered:
Risks of product or risk of failure or the environment and the company.
Expertise and experience of the people in the proposed tools and techniques.
Regulatory and legal aspects, such as external and internal regulations of the
development process.
The nature of the product and the domain.
5.3.1:-Unit Testing
Unit testing focuses verification effort on the smallest unit of software design- the
software component or module. The unit test is white-box oriented. The unit testing
implemented in every module of student attendance management System.
By giving correct manual input to the system. The data are stored in database and
retrieved. If user needs required module to access input or get the output from the End
user. Any error will accrued the time will provide handler to show what type of error will
accrued.
Unit testing, a testing technique using which individual modules are tested to determine if
there are any issues by the developer himself. It is concerned with functional correctness
of the standalone modules.
74
The main aim is to isolate each unit of the system to identify, analyze and fix the defects.
Reduces Defects in the Newly developed features or reduces bugs when changing the
existing functionality.
Unit Tests, when integrated with build gives the quality of the build as well.
Black Box Testing - Using which the user interface, input and output are tested.
White Box Testing - used to test each one of those functions behavior is tested.
Gray Box Testing - Used to execute tests, risks and assessment methods.
75
How I used this in my project:-
Here in the above image we can see that I have created a different units or modules if my
project so it’s easier for us to test and find the errors.
If start performing all the activities at the same time then it’s difficult for us to find and
debug if any error arise. So it’s always betted to go with the unit testing.
So we can find the defect in each unit and remove it and then integrate it.
Method
Any of Black Box Testing, White Box Testing and Gray Box Testing methods can be
used. Normally, the method depends on your definition of ‘unit’.
76
Tasks
Integration Test Plan
Prepare
Review
Rework
Baseline
Integration Test Cases/Scripts
Prepare
Review
Rework
Baseline
Integration Test
Perform
Integration Testing is the second level of testing performed after Unit Testing and before
System Testing.
Approaches
Big bang is a way to deal with Integration Testing where all or a large portion of the units
are joined together and tried at one go. This methodology is taken when the testing group
gets the whole programming in a pack. So what is the distinction between Big Bang
Integration Testing and System Testing? Indeed, the previous tests just the collaborations
between the units while the last tests the whole framework.
Top Down is a way to deal with Integration Testing where top-level units are tried first
and lower level units are tried well ordered after that. This methodology is adopted when
77
top-down improvement strategy is pursued. Test Stubs are expected to mimic lower level
units which may not be accessible amid the underlying stages.
Bottom Up is a way to deal with Integration Testing where base dimension units are tried
first and upper-level units well ordered after that. This methodology is adopted when base
up advancement strategy is pursued. Test pilots are expected to recreate larger amount
units which may not be accessible amid the underlying stages. Sandwich/Hybrid is an
approach to Integration Testing which is a combination of Top Down and Bottom Up
approaches.
Once I am done with my unit testing, I started with my integration testing i.e
I have a some unit like this then 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 glance on
my project whether it’s working fine or not.
78
79
80
5.3.3:- Beta Testing
Beta is the second letter of the Greek letters in order. Initially, the term alpha test implied
the primary period of testing in a product improvement process. The principal stage
incorporates unit testing, part testing, and framework testing. Beta testing can be
considered "pre-discharge testing."
Beta testing is likewise now and then alluded to as client acknowledgment testing or end
client testing. In this period of programming advancement, applications are exposed to
true testing by the target group for the product. The encounters of the early clients are
sent back to the engineers who roll out conclusive improvements before discharging the
product financially.
For in-house testing, volunteers or paid guineas pigs utilize the product. For generally
dispersed programming, designers may make the test adaptation accessible for
downloading and free preliminary over the Web. Another reason for making
programming generally accessible along these lines is to give a see and perhaps make
some buzz for the last item.
81
5.4:-Modification and Improvements
After proper unit testing and the integration testing most of the major problems and error
that might occur in the future are removed.
82
CHAPTER 6:-RESULTS AND DISCUSSION
6.1:-Test Reports :-
83
7. Mark If student is Card is Card is Pass
Attendance present swipe properly get properly get
card right else swiped and swiped and
left. marked entry marked entry
in the in the
database database
8. Generate Select class List of absent List of absent Pass
defaulters - name and students is students is
Change date. generated. generated.
todays records And onclick And onclick
of them toast of them toast
will appear will appear
from there we from there we
can update can update
our student our student
attendance attendance
9. Generate Select the List will be List will be Pass
defaulters class name, generate with generate with
Starting date students name students name
and ending and their and their
date hit mark overall overall
the hit Per. attendance in attendance in
percentage percentage
10. Profile Show profile Displaying Displaying Pass
user profile user profile
84
6.2:- User Documentation
First is our registration page for the new user here user have to fill all the details.
Next is our login page were we have to put our email-id and password which we
enter at the registration page.
85
Now once we successfully login into our application then the Home page will
open. Here we have to select which activity we have to perform.
If we want to mark the attendance or take the attendance of student then hit the
Mark attendance block.
If we want to generate defaulters or change the todays record then hit the
Generate defaulters block.
If we want logout from the application then hit the view profile block.
86
If we hit the create new log block then the first screen will appear is
Here we have to select the class name for which we have to create a new records.
And hit the Add records.
The next window will appear here you have to select Student profile picture , Roll
number and then hit the upload button
87
Now we have mark attendance activity if we select this tab the next activity will
appear here we have to select the class name then hit the submit button. On the
next page student name, image and roll number will appear.
88
If the student is present then we have to swipe the card in right direction else in a
left direction.
89
If user hits the Generate defaulters block the next window will appear here we
have to select whether we have to change the todays record or Generate defaulter
percentage.
If we select the change todays record the next window will appear here we have
to select the class name and date then click the hit me button.
90
Now here we have to long press the student name from the list who’s record we
have to update.
Now if we hit the Generate defaulter button then we get the students name and
there overall attendance percentage.
91
CHAPTER 7:-CONCLUSIONS
So this app will save the time of marking the attendance manually in the sheets
user can mark the attendance only by sliding either of the side which is faster and
reliable. Also all the data is stored in online database so there is no need manually
manage those data it’s safe and when the user require those he can retrieve it.
If they are fairly comfortable with the system i.e if our application is completely
satisfying the customers need then they won’t find any limitations in the system. So it’s
completely depends on who’s ging to use this application.
92
7.3:- Future scope of the project
The concept of this application is really awesome. In future there are chances that other
developers might like to update or modify the feature of this current application. Because
from all the side it’s beneficial for the customer as well as our community. Customer
means this application provides a better performance, ease of use, more interactive user
interface and beneficial for community means this application will help our community to
save the paper i.e. in this application we are storing everything in databases also we don’t
have to keep records of student like we use to do in the past.
93
REFERENCES
https://www.simplifiedcoding.net/
https://gist.github.com/discover
https://stackoverflow.com/
https://www.youtube.com/
https://www.androidtutorialpoint.com/material-design/
https://www.wikipedia.org/
https://www.tutorialspoint.com/
94
APPENDIX
95