Attendance Android
Attendance Android
PROJECT REPORT
ON
ATTENDANCE SYSTEM
SUBMITTED BY
April 2018
For
ATTENDANCE SYSTEM
EXAMINATION
BSC-IT , SEMISTER VI
UNIVERSITY OF MUMBAI
ATTENDANCE SYSTEM
Acknowledgement
The success and final outcome of this project required a lot of guidance and assistance from
many people and I am extremely privileged to have got this all along the completion of my
project. All that I have done is only due to such supervision and assistance and I would not
forget to thank them.
I owe my deep gratitude to our project guide Mr. Vikas Bajpai , who took keen interest on my
project work and guided me all along ;till the completion of my project work by providing all
the necessary information for developing a good system.
I heartily thank our internal project guide Prof. Rupali Patil & Priya Singh , [Bsc.IT] for
guidance and suggestions during this project work .
I would like to extend our sincere esteems to all staff in laboratory & my classmates for their
timely support.
Index
TESTING
2.1 Testing Phase
2.2 Types of Testing
2.3 Cost and Benefit Analysis
2.4 Use case Diagram
2.5 Class Diagram
2.7 Entity Relationship Diagram
Activity Diagram
SYSTEM DESIGN
3.1 Software Development methodology
3.2 Life Cycle Module
3.3
MAINTENANCE & EVALUTION
4.1 Conclusion
4.2 Reference and Bibliography
4.3 Web Reference
4.4 Stakeholders
INTRODUCTION
o A Teacher first has to register himself/herself by entering basic detail and a unique userid
and password is assigned to every teacher which will be further used for login.
o It basically a different form of execution of online transactions in which the customer can
reserve for tickets and can pay online for their ticket confirmation.
o After logging in, teacher has to add students by entering the basic information to later
mark the attendance.
o The teacher can record day to day attendance of every student class wise, subject wise
and later at the end of the month can generate black list as well.
Existing System
The existing system is the manual entry for the students. Here the attendance will be
carried out in the hands written registers. It will be a tedious job to maintain the record for the
user. The human effort is more here. The retrieval of the information is not as the record is
maintained in the hand written registers.
This application requires correct feed on input into the respective field. Suppose the
wrong inputs are entered, the application resist to work. So the user fined it too difficult to
use.
Time consuming.
To avoid all these limitations and make the working more accurately the system needs to be
computerized in a better way.
PROPOSED SYSTEM:
To overcome the drawbacks of the existing system, the proposed system has been evolved.
This project aims to reduce the paper work and saving time to generate accurate results from
the student’s attendance. The system provides with the best user interface. The efficient
reports can be generated by using this proposed system.
Greater efficiency.
Better service.
Modules covered:-
User Registration: User can register on the app by entering some personal details
after which an OTP will be sent to the registered email id. This OTP needs to be
entered for successful registration.
User Login: User can login to system the app by entering the user id and password.
Students Module: In this module, user will be able to enter students details in a
particular class. User also has an option to update or delete the details at a later
stage.
Attendance module: In this module user will be able to record attendance of various
students. The students list will be generated automatically and user just has to mark
present or absent.
Export as an excel file: The attendance records can also be exported and stored as
an excel file.
Reports: User can also generate monthly, quarterly or day to day reports of
individual students as well.
Forgot Password/Change Password: In this module user can reset the password in
case he or she forgets or change the password for security reasons.
Feasibility Study
Feasibility study is made to see if the project on completion will serve the purpose of
the organization for the amount of work, effort and the time that spend on it.
Feasibility study lets the developer foresee the future of the project and the
usefulness. A feasibility study of a system proposal is according to its workability,
which is the impact on the organization, ability to meet their user needs and effective
use of resources. Thus when a new application is proposed it normally goes through
a feasibility study before it is approved for development.
The document provide the feasibility of the project that is being designed and lists
various areas that were considered very carefully during the feasibility study of this
project such as Technical, Economic and Operational feasibilities. The following are
its features:
Technical Feasibility
The system must be evaluated from the technical point of view first. The assessment
of this feasibility must be based on an outline design of the system requirement in
the terms of input, output, programs and procedures. Having identified an outline
system, the investigation must go on to suggest the type of equipment, required
method developing the system, of running the system once it has been designed.
The project should be developed such that the necessary functions and performance
are achieved within the constraints. The project is developed within latest
technology. Through the technology may become obsolete after some period of
time, due to the fact that never version of same software supports older versions, the
system may still be used. So there are minimal constraints involved with this project.
The system has been developed using Java the project is technically feasible for
development.
Economical Feasibility
The developing system must be justified by cost and benefit. Criteria to ensure that
effort is concentrated on project, which will give best, return at the earliest. One of
the factors, which affect the development of a new system, is the cost it would
require.
The following are some of the important financial questions asked during preliminary
investigation:
Since the system is developed as part of project work, there is no manual cost to
spend for the proposed system. Also all the resources are already available, it give an
indication of the system is economically possible for development.
BEHAVIOURAL FEASIBILITY
This includes the following questions:
The project would be beneficial because it satisfies the objectives when developed
and installed. All behavioural aspects are considered carefully and conclude that the
project is behaviourally feasible.
OPERATIONAL FEASIBILITY
The current system is manual thus processing large amount of data become a cumbersome
activity. Reports that are generated are difficult to prepare manually and are also error prone.
Since the user find difficulty operating a manual system, they have personally come forward
and given their ideas regarding what sort of computer system are expected. Organization has
evaluated organizational and cultural issues to identify potential risk for the new system. And
has come to conclusion that the new computerized system presents no risk they might prevent
effective use of the new system.
o The system is designed in such a way that it is easy to operate.
o The system does not involve any complex operations. It handles only simple data
oriented functions.
Technology used
INTRODUCTION TO ANDROID
Android is an open source and Linux-based Operating System for mobile devices such as
smartphones and tablet computers. Android was developed by the Open Handset Alliance,
led by Google, and other companies.
Android offers a unified approach to application development for mobile devices which
means developers need only develop for Android, and their applications should be able to
run on different devices powered by Android.
The first beta version of the Android Software Development Kit (SDK) was released by
Google in 2007 where as the first commercial version, Android 1.0, was released in
September 2008.
On June 27, 2012, at the Google I/O conference, Google announced the next Android
version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of
improving the user interface, both in terms of functionality and performance.
The source code for Android is available under free and open source software licenses.
Google publishes most of the code under the Apache License version 2.0 and the rest, Linux
kernel changes, under the GNU General Public License version 2.
Android Applications
Android applications are usually developed in the Java language using the Android Software
Development Kit.
Once developed, Android applications can be packaged easily and sold out either through a
store such as Google Play, SlideME, Opera Mobile Store, Mobango, F-droid and
the Amazon Appstore.
Android powers hundreds of millions of mobile devices in more than 190 countries around
the world. It's the largest installed base of any mobile platform and growing fast. Every day
more than 1 million new Android devices are activated worldwide.
What is API level?
API Level is an integer value that uniquely identifies the framework API revision offered by
a version of the Android platform.
Components:
There are following four main components that can be used within an Android application −
There are additional components which will be used in the construction of above mentioned
entities, their logic, and wiring between them. These components are −
This contains the .java source files for your project. By default, it includes
an MainActivity.java source file having an activity class that runs when your
app is launched using the app icon.
2 res/drawable-hdpi
This is a directory for drawable objects that are designed for high-density
screens.
3 res/layout
This is a directory for files that define your app's user interface.
4 res/values
This is a directory for other various XML files that contain a collection of
resources, such as strings and colours definitions.
5 AndroidManifest.xml
This is the manifest file which describes the fundamental characteristics of the
app and defines each of its components.
6 Build.gradle
Relational Database System: Like almost all other database systems on the market, MySQL
is a relational database system.
SQL compatibility: MySQL supports as its database language -- as its name suggests – SQL
(Structured Query Language). SQL is a standardized language for querying and updating data
and for the administration of a database. There are several SQL dialects (about as many as
there are database systems). MySQL adheres to the current SQL standard (at the moment
SQL: 2003), although with significant restrictions and a large number of extensions.
SubSELECTs: Since version 4.1, MySQL is capable of processing a query in the form
SELECT * FROM table1 WHERE x IN (SELECT y FROM table2) (There are also numerous
syntax variants for subSELECTs.)
Views: Put simply, views relate to an SQL query that is viewed as a distinct database object
and makes possible a particular view of the database. MySQL has supported views since
version 5.0.
Stored procedures: Here we are dealing with SQL code that is stored in the database system.
Stored procedures (SPs for short) are generally used to simplify certain steps, such as
inserting or deleting a data record. For client programmers this has the advantage that they do
not have to process the tables directly, but can rely on SPs. Like views, SPs help in the
administration of large database projects. SPs can also increase efficiency. MySQL has
supported SPs since version 5.0.
Triggers: Triggers are SQL commands that are automatically executed by the server in
certain database operations (INSERT, UPDATE, and DELETE). MySQL has supported
triggers in a limited form from version 5.0, and additional functionality is promised for
version 5.1.
Unicode: MySQL has supported all conceivable character sets since version 4.1, including
Latin-1, Latin-2, and Unicode (either in the variant UTF8 or UCS2).
User interface: There are a number of convenient user interfaces for administering a MySQL
server.
Full-text search: Full-text search simplifies and accelerates the search for words that are
located within a text field. If you employ MySQL for storing text (such as in an Internet
discussion group), you can use full-text search to implement simply an efficient search
function.
Replication: Replication allows the contents of a database to be copied (replicated) onto a
number of computers. In practice, this is done for two reasons: to increase protection against
system failure (so that if one computer goes down, another can be put into service) and to
improve the speed of database queries.
Foreign key constraints: These are rules that ensure that there are no cross references in
linked tables that lead to nowhere. MySQL supports foreign key constraints for InnoDB
tables.
GIS functions: Since version 4.1, MySQL has supported the storing and processing of two-
dimensional geographical data. Thus MySQL is well suited for GIS (geographic information
systems) applications.
ODBC: MySQL supports the ODBC interface Connector/ODBC. This allows MySQL to be
addressed by all the usual programming languages that run under Microsoft Windows
(Delphi, Visual Basic, etc.). The ODBC interface can also be implemented under Unix,
though that is seldom necessary.
Windows programmers who have migrated to Microsoft's new .NET platform can, if they
wish, use the ODBC provider or the .NET interface Connector/NET.
Platform independence: It is not only client applications that run under a variety of
operating systems; MySQL itself (that is, the server) can be executed under a number of
operating systems. The most important are Apple Macintosh OS X, Linux, Microsoft
Windows, and the countless Unix variants, such as AIX, BSDI, FreeBSD, HP-UX,
OpenBSD, Net BSD, SGI Iris, and Sun Solaris.
Speed: MySQL is considered a very fast database program. This speed has been backed up
by a large number of benchmark tests (though such tests -- regardless of the source -- should
be considered with a good dose of skepticism).
SYSTEM REQUIREMENTS
SOFTWARE CONFIGURATION:
Introduction:
The time lag between the cause and appearance of the problem.
The effect of system errors on files and rec ords within the system.
Types of testing:
1. Unit Testing:
Unit test is designed to ensure that the purpose for which it was designed for
which it was designed for is fulfilled. Each and every module was tested
individuall y with the test data and error messages were displayed for
incorrect and sufficient for entry works. All validation was tested to
correctness. Test data were fed in and results were checked for the
maintenance module, to ensure that all tables created contained nothing but
valid data. R everential integrit y constraints specified as part of the table
definition was also tested.
2. Integration Testing:
3. Recovery Testing:
Many computer based systems must recover from faults and resume
processing within a pre-specified time. In some cases a system must be fault
tolerant.ie processing faults must not cause overall system function to cease.
In the casers a system failure must be corrected within a specified period of
time or severe economic damage will occur.
4. Security Testing:
For real time and embedded system, software that provides required functions but not
confirm to performance requirements is unacceptable. Performance testing is designed to test
the run time performance of software within the context of an integrated system. Performance
testing occurs throughout all steps in the testing process. Even at unit level, the performance
of an individual module may be accessed as white box test recon ducted. However, it is not
until all system elements are fully integrated that true performance of a system can be
ascertained.
Performance Tests are sometimes coupled with stress testing and often required other
hardware and software implementation. It is often necessary to measure Resource utilization
.By incrementing a system the tester can uncover situations that lead to degradation and
possible system failure.
In white box testing knowing the internal working of the base, test can be
conducted to ensure that internal operations are performed according to
specification and all internal components have been adequately exercised. In
white box testing logical path thro ugh the software are tested by providing
test cases that exercise specific set of conditions and loops. Using white -box
testing software developer can derive test case that
Guarantee that all independent paths within a module have been exercised at
least once.
Exercise all logical decisions on their true and false side.
Exercise all loops at their boundaries and within their operational bound.
Exercise internal data structure to ensure their validit y.
Cost and Benefit analysis
Cost Benefit Analysis (CBA) is an economic tool to aid social decision making. CBA is a
term that refers both to-
➢A formal discipline used to help appraise, or assess, the case for a project or proposal,
which itself is a process known as project appraisal.
Benefits & costs are often expressed in money terns, and adjusted for the time value of
money, so that all flows of benefits & flows of project cost overtime (which tend to occur at
different points in time) are expressed on common basis in terms of their ‘present value’.
Closely related, but slightly, but different formal techniques include cost-effectiveness
analysis, fiscal impact analysis & Social Return on Investment (SROI) analysis.
The latter builds upon the logic of cost-benefit analysis, but differs in that it is explicitly
designed to inform the practical decision-making of enterprise managers & investors focused
on optimizing their social & environment impacts. The process involves monetary value of
initial &ongoing expenses versus expected return. In practice, analysts try to estimate costs &
benefit either by surveys methods or by drawing inferences from market behavior.
Use Case Diagram :
Class Diagram :-
Entity Relationship Diagram :-
Faculty Does
c
Student
Login
Belongs
To
Generat Blacklist
es
SOFTWARE
DEVELOPMENTMETHODOLOGY
The establishment and use of sound engineering principles in order to obtain economically
developed software that is reliable and works efficiently on real machines is called Software
Engineering.
Software process is the way in which we produce the software. Apart from hiring smart,
knowledgeable engineers and buying the latest development tools, effective software
development process is also needed, so that engineers can systematically use the best
technical and managerial practices to successfully complete their projects.
A software life cycle is the series of identifiable stages that a software product undergoes
during its lifetime. A software lifecycle model is a descriptive and diagrammatic
representation of the software life cycle. A life cycle model represents all the activities
required to make a software product transit through its lifecycle phases. It also captures the
order in which these activities are to be taken.
O Feasibility study
The feasibility study activity involves the analysis of the problem and collection of the relevant
information relating to the product. The main aim of the feasibility study is to determine whether it
would be financially and technically feasible to develop the product.
The goal of this phase is to understand the exact requirements of the customer
and to document them properly.(SRS)
O Design
During this phase the design is implemented. Initially small modules are
tested in isolation from rest of the software product.
In this all the modules are integrated and then tested altogether.
Release of software inaugurates the operation and life cycle phase of the
operation. The phases always occur in this order and do not overlap.
Waterfall Model: Advantages
Login table
Teachers
Student
Attendance
Conclusion
The Attendance Management System is developed using Android and MYSQL fully meets the
objectives of the system which it has been developed. The system has reached a steady state where
all bugs have been eliminated. The system is operated at a high level of efficiency and all the
teachers and user associated with the system understands its advantage. The system solves the
problem. It was intended to solve as requirement specification.
Future Enhancements
Books:
Hello, Android
Web references:
1) https://developer.android.com/reference/android/widget/Button.html
2) https://www.javatpoint.com/
3) https://www.tutorialspoint.com/android
4) abhiandroid.com/
Stakeholders
Faculty:
Students:
It becomes very easy for students to check their attendance record on the
fly wherever they are by just logging in to the system.