Sei sulla pagina 1di 37

CHAPTER 1

INTRODUCTION

1.1 OVERVIEW

Many people wont carry their government documents to all the places. They can face

some difficulties in the absence of documents. Cases like they need a specific

number from aadhaar card , pan card number for expensive purchase , caught by

traffic police lack of driving license.

1.2 AIM
The main objective of this application is to store our important certificates and documents
like driving license,vehicle insurance,PAN card etc. in a digital format.

1.3 OBJECTIVE

The main aspiration of this project is for the ease of the students, officers who are
unable to carry the documents everywhere.
They never want to wait for anything because everything is available within their
palm.
The information can be retrievable i.e. even if the mobile containing this
Information is lost or unisatlled they can be fetched easily with the given credentials.

1
1.4 STUDENT WELFARE

The main aspiration of this project is for the ease of the students, officers who are
unable to carry the documents everywhere.They ever want to wait for anything because
everything is available within their palm.The information can be retrievable i.e. even if
the mobile containing this Information is lost or unisatlled they can be fetched easily with
the given credentials.

1.5 SYSTEM OVERVIEW


Many people wont carry their government documents to all the places. They can face

some difficulties in the absence of documents. Cases like they need a specific

number from aadhaar card , pan card number for expensive purchase , caught by

traffic police lack of driving license.

2
CHAPTER 2

SYSTEM ANALYSIS

2.1 WHY ANDROID?

The answer to this question may appear simple but the recent trend in android
is too advanced that it requires high security. The buzzword android apps lingered
in our thoughts and echoed in our ears that made us to choose the road not taken.
Chosen the most popular and promising field, the path was not a cakewalk. Still, the
outcome is fruitful.

2.1.1 ANDROID VIRTUAL DEVICE-EMULATOR

2.1.1.1 Android Emulator

The Android Development Tools (ADT) includes an emulator to run an


Android system. The emulator behaves like real Android device (in most cases) and
allows testing the application without having a real device.

We can configure the version of the Android System we would like to run the
size of the SD card, the screen resolution and other relevant settings. We can define
several of them with different configurations.

These devices are called Android Virtual Device (AVD) and we can start
several in parallel. Starting a new emulator is very slow, because the file system of
the new AVD needs to get prepared. The ADT allows deploying and running
Android program on the AVD.

2.1.2 PLATFORM DESCRIPTIONS

2.1.2.1 What is Android?

Android is a software stack for mobile devices that includes an operating


system, middleware and key applications. The Android SDK provides the tools and
APIs necessary to begin developing applications on the Android platform using the

3
Java programming language. It is developed by Open Handset Alliance led by
Google. Google purchased the initial developer of software, android Inc., in 2005.
Figure 2.1Android Statistics

The unveiling of the Android distribution in 2007 was announced with the
founding of the Open Handset Alliance, a consortium of 86 hardware, software and
telecommunication companies devoted to advancing open standards for mobile
devices. Google release the Android code as open source, under the Apache License.
The Android Open Source Project (AOSP) is tasked with the maintenance and
further development of Android.

Android has a large community of developers writing applications (apps) that


extend the functionality of devices. Developers write primarily in a customized
version of Java. Applications can be downloaded from third-party sites or through
online stores such as Google Play (formally android Market), the app store run by
Google. As of February 2012 there were more than 4,50,000 apps available for
Android, and the estimated number of applications downloaded from the Android
Market as of December 2011 exceeded 10 billion.

Figure 2.2 Android Versions

Android was listed as the best-selling smart phone platform worldwide in Q4


2010 by Canals with over 300 million Android devices in use by February 2012.
According to Googles Andy Rubin, as of February 2012 there are over 8,50,000
Android devices activated every day.

2.1.3 GOOGLE PLAY

Google offers the Google Play services. Google hosts Android applications
and the Google Play application allow installing new Android application on an
Android device. Google Play used to be called Android Market.

2.1.3.1 Security and Permissions

During deployment on an android device, the Android system will create a


unique user and group ID for every Android application. Each application file is
private to this generated user, eg. Other applications cannot access these files.
5
Therefore by means of the underlying Linux operating system, every Android
application is isolated from other running applications. A misbehaving application
cannot easily harm other android applications.

Android also contains a permission system. Android predefines permissions


for certain tasks but every application can also defines its own permissions. An
application must declare in its configuration file (Android Manifest.xml) that it
requires certain permissions.

Depending on the details of the required permission, the Android system will
automatically grant the permissions, reject it or ask the user if he grants this
permission to the application during installation.

2.1.4 DESIGN CONSIDERATIONS

2.1.4.1 Android Development

Prior to beginning this progress we had no experience of Android Development. The


first step was to figure out how Android Projects are structured.
=
Figure 2.3 Pie Chart

2.1.5 HISTORY

Android is a mobile phone operating system. It was originally developed by


Android Inc, which was acquired by Google in July 7,2005. Today development is
overseen by the Android Open Source Project (AOSP), led by Google. The AOSP is

6
tasked with the maintenance and further development of Android. As of the 3rd
Quarter of 2010 Android has a market share of 25% making it the second most
popular phone operating system of the market (second only to Nokia Symbian). This
is a major rise from the 3.5% share.
Figure 2.4 Android Version Details

2.1.6 ARCHITECTURE

Android is based on the Linux Kernel. Android Developers are able to access
all the components of the Application Framework used by core applications when
creating an application. These features include the Location Manager, Bluetooth, the
Accelerometer and E-mail etc.The following diagram shows the major components
of the Android operating system.

Figure 2.5 Android Architecture

2.1.7 APPLICATION FRAMEWORK

An Android Application has four parts


Activities- Activities are the visual interfaces for each task in the
application. Each activity, despite being linked, is independent class.
Services- Services are the background tasks that dont have a user
interface. Services might be linked to one or more activities. In this ap
application Services would include recording the route over the
duration of the journey (this happens even when the map is not
displayed).

8
Broadcast Receivers- The Broadcast Receiver receives and reacts to
broadcast announcements (for example, a low battery message).
Content Providers- The content Provider shares the applications data
with other applications. This data can be stored in a SQLite database.
1. An Activity Manager manages the lifecycle of applications and
provides a common navigation back stack.
2. A Resource Manager, providing access to non-code resources such as
localized strings, graphics and layout files.
3. A Notification Manager that enables all applications to display custom
alerts in.

2.2 EXISTING SYSTEM


UIDAI,a government organization already announced an app named Digilocker.
It can store the documents details in image format

2.2.1 DRAWBACKS

The main drawbacks of the existing system are

We cant directly convert our documents in e-format.


Minor bugs like sometimes the documents uploads is failing.

2.3 NEED FOR PROPOSED SYSTEM

Not only overcoming the drawbacks of existing system is our proposed system,
We have added some additional features like documents can uploaded as typographed
format i.e details can be manually typed as to avoid some blurry images and notification
about expiration of an document like driving license,vehicle insurance is added.

9
2.4 FEATURES

Notification about expiry of documents is added.


In our app,documents can be manually typed rather than converting it seperately.
This application can be used in offline.

2.5 SYSTEM REQUIREMENTS

2.5.1 HARDWARE REQUIREMENTS

Hardware is the collection of physical elements that constitutes a computer


system. Computer hardware refers to the physical parts or components of a
computer such as monitor, keyboard, computer data storage etc.

Processor : Intel 13
Cache Memory : 1 MB
HDD : 500 GB
RAM : 4 MB
Processor Speed : 1.2 GHz
Display Type : VGA
Operating System : Windows 7,Windows 8
Coding Language: JAVA
Software Package : Android SDK, Eclipse IDE

2.5.2 SOFTWARE REQUIREMENTS

Software is any set of machine-readable instructions that directs a computer


processor to perform specific operations. Software is usually written in high-level
programming languages that are easier and more.
10
CHAPTER 3

SYSTEM DESIGN

Frontend: JAVA, ANDROID

3.1 INPUT DESIGN

Systems design is the process of defining the architecture, components,


modules, interfaces, and data for a system to satisfy specified requirements. Systems
design could be seen as the application of systems theory to product development.
There is some overlap with the disciplines of systems analysis, systems architecture
and systems engineering.

Input Design is the process of converting a user oriented description of the


inputs to a computer-based business system into a programmer-oriented
specification. Input data were found to be available for establishing and maintaining
master and transaction files and for creating output records. The most suitable types
of input media, for either off-line or on-line devices, where selected after a study of
alternative data capture techniques.

3.1.1 Input Design Consideration

The field length must be documented.


The sequence of fields should match the sequence of the fields on the
source document.
The data format must be identified to the data entry operator.
These specify what the product does, focusing on its operational
capabilities and the processing of inputs and resultant outputs.
These specify how much or how well the product must perform,
addressing such issues as speed, strength, response times, accuracy,
limits of operations, etc.
11
3.2 OUTPUT DESIGN

A quality output is one, which meets the requirements of the end user and
presents the information clearly. In any system results of processing ar
e
communicated to the users and to other system through outputs. In output design it
is determined how the information is to be displaced for immediate need and also
the hard copy output. It is the most important and direct source information to the
user. Efficient and intelligent output design improves the systems relationship to
help user decision-making.

Designing computer output should proceed in an organized, well


thought out manner; the right output must be developed while ensuring
that each output element is designed so that people will find the system
can use easily and effectively. When analysis design computer output,
they should identify the specific output that is needed to meet the
requirements.
Select methods for presenting information.
Create document, report, or other formats that contain information
produced by the system.

The output form of an Information system should accomplish one or more of the
following objectives.

Convey information about past activities, current status or projections of the


future. Signal important events, opportunities, problems, or warnings.
12
3.3 FUNCTIONAL DESIGN

USE CASE DIAGRAM

A use case diagram in the unified modeling language (UML) is a type of


behavioral diagram defined by and created from use case analysis. Its purpose is to
present a graphical overview of the functionality provided by a system in terms of
actors, their goals and any dependencies between those use cases.

Login/Register

Enter
Details

Store
Details

View
Details SERVER
USER
Notifiy
Expiry Details

Retrieve
Lost Details

Figure 3.1 Use Case Diagram

13
In this use case diagram actors are students (user) who use this app and admin who
update and store. The other attributes involves entering the application then
selecting domain and attend test on corresponding domain by the user. Then the
score is validated by admin and then admin will display the project titles if the score
is good and the user can view the abstract.

A use case is a methodology used in system analysis to identify, clarify, and


organize system requirements. The use case is made up of a set of possible
sequences of interactions between systems and users in a particular environment and
related to a particular goal. It consists of a group of elements (for example, classes
and interfaces) that can be used together in a way that will have an effect larger than
the sum of the separate elements combined. The use case should contain all system
activities that have significance to the users. A use case can be thought of as a
collection of possible scenarios related to a particular goal, indeed, the use case and
goal are sometimes considered to be synonymous.

A use case diagram is a graphic depiction of the interactions among the elements of
a system.

A use case diagram contains four components.

The boundary, which defines the system of interest in relation to the world
around it.
The actors, usually individuals involved with the system defined according to
their roles.
The use cases, which are the specific roles played by the actors within and
around the system.

14
CLASS DIAGRAM
In software engineering, a class Diagram in the unified modeling language
(UML) is a type of static structure diagram that describes the of a system by
showing the systems classes, their attributes, operations (or methods), and the
relationship among the classes.

USER
ENTER SERVER
VIEW RETRIEVE

LOGIN()
VALIDATE()

DATABASE

STORE()

Figure 3.2 Class Diagram

A class has three components,

In the diagram classes are represented with three boxes, as given as follows

The top compartment contains the name of the class. It is printed in bold and
centered, and the first letter is capitalized.
The middle compartment contains the attributes of the class. They are left-
aligned and the first letter is lowercase.
The bottom compartment contains the operations the class can execute. They are
also left-aligned and the first letter is lowercase.

15
In the design of a system, a number of classes are identified and grouped together
in a class diagram that helps to determine the static relations between them. With
detailed modeling, the classes of the conceptual design are often split into a number
of subclasses.
In order to further describe the behavior of systems, these class diagrams can be
complemented by a state diagram or UML state machine.

An association represents a family of links. A binary association (with two ends)


is normally represented as a line. An association can link any number of classes. An
association with three links is called a ternary association. An association can be
named, and the ends of an association can be adorned with role names, ownership
indicators, multiplicity, visibility, and other properties.
There are four different types of association: bi-directional, uni-directional,
aggregation (includes composition aggregation) and reflexive. Bi-directional and
uni-directional associations are the most common ones.
For instance, a flight class is associated with a plane class bi-directionally.
Association represents the static relationship shared among the objects of two
classes.

16

SEQUENCE DIAGRAM

USER DATABASE SERVER


1.Login/Register
4,Manage Database
2,Store Details

3,View Details

5,Notify about expiry

6,Retrieve Lost Details

USER DATABASE SERVER

Figure 3.3 Sequence Diagram


17
A Sequence diagram is an interaction diagram that shows how processes
operate with one another and in what order. It is a construct of a message sequence
chart. A sequence diagram shows object interactions arranged in time sequence. It
depicts the objects and classes involved in the scenario and the sequence of
messages exchanged between the objects needed to carry out the functionality of the
scenario. Sequence diagrams are typically associated with use case realizations in
the Logical View of the system under development. Sequence diagrams are
sometimes called event diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different
processes or objects that live simultaneously, and, as horizontal arrows, the
messages exchanged between them, in the order in which they occur. This allows
the specification of simple runtime scenarios in a graphical manner.

Messages, written with horizontal arrow with the message name written above
them, display interaction. Solid arrow heads represent synchronous, open arrow
heads calls, represent asynchronous, and dashed lines represent reply messages. If a
caller sends a synchronous message, it must wait until the message is done, such as
invoking a subroutine. If a caller sends an asynchronous message, it can continue
processing and doesnt have to wait for a response. Asynchronous calls are present
in multithreaded applications and in message oriented cells. Activation boxes, or
method-call boxes, are opaque rectangles drawn on top of lifelines to represent that
processes are being performed in response to the message (Execution Specifications
in UML).

Objects calling methods on themselves use messages and add new activation
boxes on top of any others to indicate a further level of processing. object
is destroyed an X is drawn on top of the lifeline, and the dashed line ceases to be
drawn below it. It should be the result of a message, either from the object itself, or
another.

18

ACTIVITY DIAGRAM

Login/Register

Store Details
View Details

Notify ExpirationRetreive Lost Details Edit Details

Figure 3.4 Activity Diagram

Activity diagrams are mainly used as a flow chart consists of activities


performed by the system. But activity diagram are not exactly a flow chart as they
have some additional capabilities. These additional capabilities include branching,
parallel flow, swim lane etc.

Before drawing an activity diagram we must have a clear understanding about the
elements used in activity diagram. The main element of an activity diagram is the
activity itself. An activity is a function performed by the system. After identifying

19
the activities we need to understand how they are associated with constraints and
conditions.

So before drawing an activity diagram we should identify the following elements:

Activities

Association

Conditions

Constraints

Once the above mentioned parameters are identified we need to make a mental
layout of the entire flow. This mental layout is then transformed into an activity
diagram.

The following is an example of an activity diagram for order management


system. In the diagram four activities are identified which are associated with
conditions. One important point should be clearly understood that an activity
diagram cannot be exactly matched with the code. The activity diagram is made to
understand the flow of activities and mainly used by the business users.

The following diagram is drawn with the four main activities:

Send order by the customer

Receipt of the order

Confirm order

20
STATE CHART

Edit Details
good

View Details Login


Register Store Details

Notify Expiration

bad
Enter Correctly
Figure 3.5 State Chart Diagram

The name of the diagram itself clarifies the purpose of the diagram and othe
r
details. It describes different states of a component in a system. The states a
re
specific to a component/object of a system.

A State chart diagram describes a state machine. Now to clarify it state machine
can be defined as a machine which defines different states of an object and these
states are controlled by external or internal events.

Activity diagram explained in next chapter, is a special kind of a State cha


rt
diagram. As State chart diagram defines states it is used to model lifetime of
an
object.

State chart diagram is one of the five UML diagrams used to model dynamic
nature of a system. They define different states of an object during its lifetime. And
these states are changed by events. So State chart diagrams are useful to mod
el
21
reactive systems. Reactive systems can be defined as a system that responds to
external or internal events.

State chart diagram describes the flow of control from one state to another state.
States are defined as a condition in which an object exists and it changes when
some event is triggered. So the most important purpose of State chart diagram is to
model life time of an object from creation to termination.

State chart diagrams are also used for forward and reverse engineering of a
system. But the main purpose is to model reactive system.

Following are the main purposes of using State chart diagrams:


To model dynamic aspect of a system.

To model life time of a reactive system.

To describe different states of an object during its life time.

Define a state machine to model states of an object.

A State-chart diagram is also called a state machine diagram which is an


illustration of the states an object can attain as well as the transition between
those states in UML.
The above diagram defines that user can enter into app by selecting domain
and it can be followed by attending test. Then the user can get the score and
then based on score user can get the project title and abstract of projects. The
starting and ending point can be defined in symbols.

22
ENTITY-RELATIONSHIP DIAGRAM

Enters
User

Server

Store
Validates

Figure 3.6 Entity Relationship Diagram

Entity Relationship model is a data model for describing the data or information
aspects of a business domain or its process requirements .the main components of
this diagram are entities and the relationship that can exist among them.

The above diagram describes entity which defines a student which can exist the
relationship by attending and it followed by test. Here a student attending the test is
explained where attends can be described in relationship symbol. This defines the
relation between student and test.

An entity admin related to test by validating. Here also an relationship exist between
admin and test.

This diagram represents about the relationship exist between student and test and
also between the admin and test.

23
An entity is a thing that exists either physically or logically. An entity may be a
physical object such as a house or a car (they exist physically), an event such as a
house sale or a car service, or a concept such as a customer transaction or order (they
exist logicallyas a concept). Although the term entity is the one most commonly
used, following Chen we should really distinguish between an entity and an entity-
type.

An entity-type is a category. An entity, strictly speaking, is an instance of a


given entity-type. There are usually many instances of an entity-type. Because the
term entity-type is somewhat cumbersome, most people tend to use the term entity
as a synonym for this term.

Entities can be thought of as nouns. Examples: a computer, an employee, a


song, a mathematical theorem.
A relationship captures how entities are related to one another. Relationships
can be thought of as verbs, linking two or more nouns. Examples:
an
own relationship between a company and a computer, a supervises relationship
between an employee and a department, a performs relationship between an artist
and a song, a proves relationship between a mathematician and a conjecture.

The model's linguistic aspect described above is utilized in the declarative


database ERROL, which mimics constructs. ERROL's semantics and
implementation are based on RRA, a relational algebra that is adapted to the entity
relationship model and captures its linguistic aspect.

Entities and relationships can both have attributes. Examples:


an employee entity might have a Social Security

24
CHAPTER 4

SYSTEM IMPLEMENTATION AND TESTING

4.1 SOFTWARE TESTING

Software testing is an investigation conducted to provide stakeholders with


information about the quality of the product or service under test. Software testing
can also provide an objective, independent view of the software to allow the
business to appreciate and understand the risks of software implementation.

Test techniques include, but are not limited to the process of executing a
program or application with the intent of finding software bugs (errors or other
defects). The purpose of testing is to discover errors. Testing is the process of trying
to discover every conceivable fault or weakness in a work product. It provides a way
to check the functionality of components, subassemblies, assemblies and/or a
finished product it is the process of executing software with the intent of ensuring
that the software system meets its requirements and user expectations and does not
fail in an unacceptable manner. There are various types of test. Each test type
addresses a specific testing requirement. Software testing is the process of
evaluation a software item to detect differences between given input and expected
output. Also to assess the feature of a software item. Testing assesses the quality of
the product. Software testing is a process that should be done during development
process. In other words software testing is a verification and validation.

4.2 UNIT TESTING

This type of testing is performed by the developers before the setup is handed
over to the testing team to formally execute the test case.

Unit testing is performed by the respective developers on the individual units of


source code. The developers use test data that is separate from the test data of the

25
quality assurance team. The goal of unit testing is to isolate each part of the program
and show that individual parts are correct in terms of requirements and functionality.

LIMITATIONS OF UNIT TESTING

Testing cannot catch each and every bug in an application. It i


s
impossible to evaluate every execution path in every software
application. The same is the case with unit testing.
There is a limit to the number of scenarios and test data that th
e
developers can use to verify the source code. So after he has exhausted
all options there is no choice but to stop unit testing and merge the code
segment with other units.

4.3 SYSTEM TESTING

This is the next level in the testing and tests the system as a whole. Once all
the components are integrated, the application as a whole is tested rigorously to see
that it meets Quality Standards. This type of testing is performed by a specialized
testing team. System testing is so important because of the following reasons.

System Testing is the first step in the Software Development Life


Cycle, where the application is tested as a whole.
The application is tested thoroughly to verify that it meets th
e
functional and technical specifications.
The application is tested in an environment which is very close to the
production environment where the application will be deployed.

26
4.4 ERROR TESTING

This error testing involves checking and correcting the error while
implementing the projects, as follows
Figure 4.1 Image Error

This error occurred when inserting an image of inappropriate format which can be
recovered by giving a proper name and correct format.

27

Figure 4.2 Run Timeout Error


Above mentioned about run out error, this error occurs when emulator is not
responding for long time. which can be corrected by giving continuous response to
the emulator or launcher.

28

Figure 4.3 Launching Error

The above mentioned figure4.4.3 mentions error occurs when giving unnecessary
library in java file. And it also occurs when essential library is not present in java
file.
Figure.4.4 Emulator Error
This error occurs when an emulator is started while another emulator is in working
state. Only one emulator should be started at a time.

29
IMPLEMENTATION

Figure 4.5 Home Page

The above mentioned screenshot is the home page of the kickstarter app,by clicking
the button kickin in this homepage leads to next page of selecting domain.

30
Figure 4.6 Selecting Domain Page

This screenshot describes about the domain selection by clicking the particular
domain that is needed by the user which leads to test module.

31
Figure 4.7 Login/Register Page

The above screenshot describes the Login/Register page of the application to store the user
details.

32
Figure 4.8 Server Page

This screenshot shows the local server startup to control the database.

33
Figure 4.9 Error Page

The above screenshot shows that if user answers were not appropriate then it shows

this error page of sorry! try again... the test.

34
Figure 4.10 Database Page

This screenshot mentions mysql database which is back end,that stores the details in the
documents.

35
Figure 4.
11 Sample Filling Page

The above screenshot shows the abstr


act of the projects selected in the title p
age.

It will show the front end, back end &


description of the project.

36

CHAPTER 5

CONCLUSION AND FUTURE WORK

5.1 CONCLUSION

We have demonstrated an application which defines a self- evaluation test


regarding the selection of project based on different IT Domains. A major motive of
our app is to test the performance of the students and it will provide a project based
on marks scored in domains. The scope of this application is used to make students
to choose their projects easily. Students can update their knowledge by taking over
this test. Students longing for project centers can be avoided. Students can choose
appropriate domain based on their scores. This app will ensure abstract of the
project. Students find comfortable in finishing project in a time. As there is a more
possibility, that students can use this application because our app can be used in
offline. This is a major advantage of our application. This will be more beneficial to
future generations.

5.2 FUTURE WORK

The kick-starter can be further developed by adding the features like pre-test for
school students and college students to check how they have prepared for their
Board/University Examination. In future projects will be added with new ideas and
new domains by updating new versions.

37
REFERENCE

BOOKS:

ANDROID COOKBOOK by IAN F. DARWIN published by


OREILLY Media, Inc.,

SOURCE LINKS:

www.tutorialpoints.com accessed on Feb 13, 2017


www.nevonprojects.com accessed on Feb 24, 2017
www.lovelycoding.org accessed on Mar 9, 2017
www.1000projects.org accessed on Mar14, 2017
www.roseindia.com accessed on Mar17 , 2017
www.stackoverflow.com accessed on Mar23 , 2017

38

Potrebbero piacerti anche