You are on page 1of 75

Click-O-PIC

CHAPTER 1

INTRODUCTION

1.1. OVERVIEW

The title of the project is “Click-o-pic”.

CLICK-O-PIC is an Android based application.

This android application provides a platform where a user can search the location by
clicking the picture of a at particular location and uploading it on the application.

It will then show the corresponding address of the particular picture which has been
uploaded.

CLICK-O-PIC is a online local search service that helps quickly and conveniently
find information about the particular location, while helping in improving the
effectiveness of users comforts. User here clicks a picture and then we get the
corresponding address of that particular place if available otherwise only the location
is retrieved over the map.

It is an android app that helps user to find the nearby places of the current location
like hospitals, schools, restaurants, etc.

It also helps user to find the weather of the current place of today and of next three
days.

1.2. FEATURES

The basic features of the application are as follows:

1. This application can be used only in android mobile phones.

2. The user needs to download the application from PlayStore and then install
the application in order to enjoy the services of the CLICK_O_PIC
application.

3. Basic feature of this app is that you can the address just by clicking the
picture of that area.

4. On clicking over the upload button ; the picture gets uploaded on the
application and its corresponding address is retrieved and if its

Deptt. of CSE, MBSCET 1


Click-O-PIC

corresponding address is not available then we can retrieve its particular


location over the map.

5. It gives the detailed information of the nearby places.

6. It provides the weather of the current location of current time as well as of


the next three days.

7. The application CLICK-O-PIC can be used by anyone very easily.

1.3. PURPOSE

This project is based on the Android technology.

The main purpose of this project is to provide the Mobile User with corresponding
address of the particular location as well as to provide them the accessibility of nearby
location details and weather of the current location.

In other words we can say that the project has the following purposes:-

 Provide the Mobile User with different services at anywhere, at any time:

This basically means that an android mobile user can get the benefits of the
application services at anywhere and anytime. The android mobile user just have to
click the picture of the particular area for getting its corresponding address. The
various services are as follows:

 Click the picture and search for its corresponding address.

 Search by voice.

 Search by typing.

 Audio chatting

 Video chatting

 Provide timely and quick detailed information on particular location :

This basically means that if we are in a hurry and want to get out of a particular place
but we do not know our exact location then our application can help in many ways.

Like if there a place where someone wants to go but do not know the name of the
location then by uploading the picture he or she can get the corresponding address of
that particular location.

Deptt. of CSE, MBSCET 2


Click-O-PIC

 Provide fast and easy search with just a few clicks:

It is very easy to use this application. Just with a few clicks we can find out our not
only our current location but also can search for any place on the map also.

Anybody can use it easily. Just requires an android mobile phone and internet
connectivity.

 Provide easy access to the details of the nearby places:

It means with this app use can get the detailed information about the nearby places in
a very easy and efficient manner.

 Provide the user the weather information:

This app help user to get the details of the current weather plus user can also come to
know about the weather of the next three days.

Deptt. of CSE, MBSCET 3


Click-O-PIC

CHAPTER 2

SYSTEM DEVELOPMENT LIFE CYCLE

The systems development life cycle (SDLC), also referred to as the


application development life-cycle, is a term used in systems engineering,
information systems and software engineering to describe a process for planning,
creating, testing, and deploying an information system.

Our project development life cycle typically involves the following phases:

2.1 PROBLEM DEFINITION


This means to state the problem with which we have to deal with in order to make our
app useful for users in all domains.

So our application problem statement is to provide user the flexibility of using one
single app for three different functions which one can find in three different apps, but
not only this but also in such a manner that user finds it easy to use it.

This is the most crucial step in creating a successful system, we have decide the
objectives, the resources such as personnel and costs.

2.2 PROPOSED SYSTEM

Developing a system is feasible if and only if it is beneficial and removes all the
drawbacks of the existing system and also enhances the way of operation to make the
operation performing easy. The user should be satisfied with its functionality. If
system does not fulfill this requirement then developing that system would be futile.
My basic aim is to develop this system is to improve its functionality and removes all
the drawback of existing system.

The aim of proposed system is to develop a system of improved facilities. The


proposed system can overcome all the limitations of the existing system. The system
provides proper security and reduces the manual work.

2.2.1 Advantages of our proposed system

 The system is very simple in design and to implement.

Deptt. of CSE, MBSCET 4


Click-O-PIC

 The system requires very low system resources and the system will work in
almost all configurations.

 It has got the following features:

o Minimize manual data entry.

o Minimum time needed for various processing.

o Greater efficiency.

o Better service.

o User friendliness and interactive.

o Minimum time requirement.

2.3 MOTIVATION

As we know that internet is growing day by day and from small to large enterprise
and as we know that with this increasing work load of people and less time and less
connectivity of one person with person.

When new people who shifted to new places or the tourists who came to explore our
country must find it difficult to move around the place without any knowledge about
it and plus it becomes more difficult if you don’t know anyone who can guide you.

And for all this purpose the user have to go through several different apps.

So, thinking over this, we try to make an app that help people around the world to find
the address of any place without asking anyone and also the nearby places and
weather of that current place.

The user gets all the resources at a single place instead of wandering around for these.

Thus we provide the user the functionality of three different apps in just one app.

This app is effective and saves time and costs of the users.

Our app help people to save time in this developing country.

2.4 SIGNIFICANCE OF PROJECT


The significance of our app is to help user to provide them security in some unknown
places.

Deptt. of CSE, MBSCET 5


Click-O-PIC

This app is not only useful for adults but also for the children as when they get lost
somewhere without taking help of any stranger who can misguide them but with our
app they can easily reach their place safely by searching there current place address
plus the nearby places such as police stations or railway stations, etc in a very short
time.

This is also user friendly app with nota very long processing and very easy to interact.

2.5 REQUIREMENT ANALYSIS

Requirement analysis is the most important and fundamental stage in SDLC. It is


performed by the senior members of the team with inputs from the customer, the sales
department, market surveys and domain experts in the industry. This information is
then used to plan the basic project approach and to conduct product feasibility study
in the economical, operational and technical areas.

The objective of this phase is to define in more detail the system inputs, processes,
outputs and interfaces. At the end of this phase the system’s processes will be defined
at the functional level, meaning the functions to be performed will be known, but not
necessarily how they will be performed.

Requirements Analysis will identify and consider the risks related to how the
technology will be integrated into the standard operating procedures. Requirements
Analysis will collect the functional and system requirements of the business process,
the user requirements and the operational requirements (e.g., when operational what is
necessary to keep the system up and running).

This phase is also known as feasibility study. In this stage the Requirement is been
gathered for the product to be developed. The gathered requirement is documented in
a simple document which is known as the Software Requirement Specification.

If requirement analysis phase is not completed properly or in a sluggish manner then


there might be inconsistencies in the final product.

2.6 FEASIBILITY ANALYSIS

The feasibility study is the important step in any software development process. This
is because it makes analysis of different aspects like cost required for developing and
executing the system, the time required for each phase of the system and so on. If
these important factors are not analyzed then definitely it would have impact on the

Deptt. of CSE, MBSCET 6


Click-O-PIC

organization and the development and the system would be a total failure. So for
running the project and the organization successfully this step is a very important step
in a software development life cycle process.

In the software development life cycle after making an analysis in the system
requirement the next step is to make analysis of the software requirement. In other
words feasibility study is also called as software requirement analysis. In this phase
development team has to make communication with customers and make analysis of
their requirement and analyze the system.

By making analysis this way it would be possible to make a report of identified area
of problem. By making a detailed analysis in this area a detailed document or report is
prepared in this phase which has details like project plan or schedule of the project,
the cost estimated for developing and executing the system, target dates for each
phase of delivery of system developed and so on. This phase is the base of software
development process since further steps taken in software development life cycle
would be based on the analysis made on this phase and so careful analysis has to be
made in this phase.

Though the feasibility study cannot be focused on a single area some of the areas or
analysis made in feasibility study is given below. But all the steps given below would
not be followed by all system developed. The feasibility study varies based on the
system that would be developed.

 Feasibility study is made on the system being developed to analyze whether the
system development process require training of personnel. This help in
designing training sessions as required in later stage.

 Is the system developed has scope for expanding or scope for switching to new
technology later if needed in ease. In other study is made to find the portability
of the system in future.

 Is the cost of developing the system high or does it meet the budgeted costs.
That is a cost benefit analysis is made. In other words an analysis is made on
cost feasibility of the project. This helps in identifying whether the organization
would meet the budgeted costs and also helps the organization in making
earlier and effective plans for meeting extra costs because of the system
development.

Deptt. of CSE, MBSCET 7


Click-O-PIC

Analysis is made on what software to use for developing the system. This study
and analysis would help to choose the best implementation for system and the
organization. This feasibility study includes factors like scalability, how to
install, how to develop and so on. This feasibility study in short includes the
analysis of technical areas. This analysis helps the efficiency of the system
developed to get improved. This is because by choosing the correct technology
by making analysis on the needs of system helps in improving the efficiency of
the system.

 The above feasibilities are analysis which helps in development of the system.
But the scope of feasibility study does not end with this. Analysis or feasibility
study also includes the analysis of maintenance stage. In other words feasibility
study is made to analyze how one would maintain the system during
maintenance stage. This helps sin planning for this stage and also helps in risk
analysis. Also the analysis helps in making analysis about what training must
be given and how and what all documents must be prepared to help users and
developers to face maintenance phase.

2.6.1 Advantages of making Feasibility study:

There are many advantages of making feasibility study some of which are
summarized below:

 This study being made as the initial step of software development life cycle has
all the analysis part in it which helps in analyzing the system requirements
completely.

 Helps in identifying the risk factors involved in developing and deploying the
system

 The feasibility study helps in planning for risk analysis Feasibility study helps
in making cost/benefit analysis which helps the organization and system to run
efficiently.

 Feasibility study helps in making plans for training developers for


implementing the system.

 So a feasibility study is a report which could be used by the senior or top


persons in the organization. This is because based on the report the

Deptt. of CSE, MBSCET 8


Click-O-PIC

organization decides about cost estimation, funding and other important


decisions which is very essential for an organization to run profitably and for
the system to run stable.

Thus before developing a product or software it is an essential step that one does
feasibility study in some or all the areas mentioned which would help in developing
and maintaining the software efficiently and effectively within budgeted costs.

Deptt. of CSE, MBSCET 9


Click-O-PIC

CHAPTER 3

SYSTEM DESIGN

3.1 CONCEPT DESIGN

Conceptual Design is an umbrella term given to all forms of non-aesthetic design


management disciplines. It is an early phase of the design process, in which the broad
outlines of function and form of s are articulated. It includes the design of
interactions, experiences, processes and strategies. It involves an understanding of
people's needs - and how to meet them with products, services, & processes. Common
artifacts of conceptual design are concept sketches and models.

Since the emergence of design thinking as a vehicle for business and research
development, many conventionally trained aesthetic designers have wrongly been
called upon to support organizations with workshops pertaining specifically to
business or process development in the incorrect assumption that all design is equal in
this capacity. This has resulted in a large shadow being cast over the role of design in
business and development and questions being asked about the value of design as a
tool for business and research development.

Systems design is the process of defining elements of a system like modules,


architecture, components and their interfaces and data for a system based on the
specified requirements. It is the process of defining, developing and designing
systems which satisfies the specific needs and requirements of a business or
organization.

Concept design generally takes place after feasibility studies and options appraisals
have been carried out and a project brief has been prepared. The concept design
represents the design team's initial response to the project brief.

Some designers will differentiate between 'concept design' and 'scheme design'. In this
case, the 'concept' is the initial design idea, whereas the 'scheme' develops the
concept, taking on board more functional and practical considerations. Most project
plans have now combined these two steps into the single stage 'concept design', or
'concept'. Concept design is followed by 'detailed design' or 'developed design' during

Deptt. of CSE, MBSCET 10


Click-O-PIC

which all the main components of the building and how they fit together are
described.

During the concept design stage, the consultant team will develop:

 The design concept.

 Outline specifications.

 Schedules of accommodation.

 A planning strategy.

 The cost plan.

 Procurement options.

 Programme and phasing strategy.

 Buildability and construction logistics.

Descriptions of the design tasks that are performed during this stage can be found at:

 Concept architectural design.

 Concept architectural design checklist

 Concept structural design.

 Concept services design.

Where building information modelling (BIM) is being used, at this stage, the built
asset might be represented by massing diagrams or 2D symbols representing generic
elements, with some critical elements developed in more detail. The project
information model may also include drawings, reports and other structured
information directly related to the built asset and its facilities, floors, spaces, zones,
systems and components It can also be useful at this stage to generate presentation
material such as photo visualisations and 3D walk-throughs that help facilitate
employer assessments and consultations with user panels, champions, and other
stakeholders.

At the end of the stage, the consultant team will prepare a concept design report for
the client which records the basic design concepts for the preferred option that might
be worth further investigation in the detailed design stage. The concept design report
will also identify any instructions required from the client.

Deptt. of CSE, MBSCET 11


Click-O-PIC

The project brief will continue to develop as the concept design is prepared, but is
then frozen at the end of the concept design stage and change control procedures are
introduced.

An application for planning permission might be made during the concept design
stage. This is likely to be an outline planning application if made at the beginning of
the stage or a detailed planning application if made once the concept design is
complete.

3.2 DESIGN OBJECTIVE

Design objective (DO): In communications systems, a desired performance


characteristic for communications circuits and equipment that is based on engineering
analyses, but (a) is not considered feasible to mandate in a standard, or (b) has not
been tested.

DOs are used because applicable systems standards are not in existence.

Examples of reasons for designating a performance characteristic as a DO rather than


as a standard are (a) it may be bordering on an advancement in the state of the art, (b)
the requirement may not have been fully confirmed by measurement or experience
with operating circuits, and (c) it may not have been demonstrated that the
requirement can be met considering other constraints, such as cost and size.

A DO is sometimes established in a standard for developmental consideration. A DO


may also specify a performance characteristic used in the preparation of specifications
for development or procurement of new equipment or systems.

3.3 SYSTEM DESIGN

System design is the process of defining the architecture, 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.

If the broader topic of product development "blends the perspective of marketing,


design, and manufacturing into a single approach to product development,"[3] then
design is the act of taking the marketing information and creating the design of the
product to be manufactured. Systems design is therefore the process of defining and
developing systems to satisfy specified requirements of the user.

Deptt. of CSE, MBSCET 12


Click-O-PIC

Until the 1990s, systems design had a crucial and respected role in the data processing
industry. In the 1990s, standardization of hardware and software resulted in the ability
to build modular systems. The increasing importance of software running on generic
platforms has enhanced the discipline of software engineering.

Object-oriented analysis and design methods are becoming the most widely used
methods for computer systems design. The UML has become the standard language in
object-oriented analysis and design. It is widely used for modeling software systems
and is increasingly used for high designing non-software systems and organizations.

Architectural design

The architectural design of a system emphasizes the design of the system architecture
that describes the structure, behavior and more views of that system and analysis.

Logical design

The logical design of a system pertains to an abstract representation of the data flows,
inputs and outputs of the system. This is often conducted via modelling, using an
over-abstract (and sometimes graphical) model of the actual system. In the context of
systems, designs are included. Logical design includes entity-relationship diagrams
(ER diagrams).

Physical design

The physical design relates to the actual input and output processes of the system.
This is explained in terms of how data is input into a system, how it is
verified/authenticated, how it is processed, and how it is displayed. In physical design,
the following requirements about the system are decided.

1. Input requirement,

2. Output requirements,

3. Storage requirements,

4. Processing requirements,

5. System control and backup or recovery.

Deptt. of CSE, MBSCET 13


Click-O-PIC

Put another way, the physical portion of system design can generally be broken down
into three sub-tasks:

1. User Interface Design

2. Data Design

3. Process Design

User Interface Design is concerned with how users add information to the system and
with how the system presents information back to them. Data Design is concerned
with how the data is represented and stored within the system. Finally, Process Design
is concerned with how data moves through the system, and with how and where it is
validated, secured and/or transformed as it flows into, through and out of the system.
At the end of the system design phase, documentation describing the three sub-tasks is
produced and made available for use in the next phase.

Physical design, in this context, does not refer to the tangible physical design of an
information system. To use an analogy, a personal computer's physical design
involves input via a keyboard, processing within the CPU, and output via a monitor,
printer, etc. It would not concern the actual layout of the tangible hardware, which for
a PC would be a monitor, CPU, motherboard, hard drive, modems, video/graphics
cards, USB slots, etc. It involves a detailed design of a user and a product database
structure processor and a control processor. The H/S personal specification is
developed for the proposed system.

System Design is the solution to the creation of a new system. This is the important
aspect made up of several steps. The complete, efficient and successful system should
provide the following in succession: -

 From where should we start


 Where we have to go
 Where should we stop

If the project is to be successful, we will need answer these question. The answer of
these questions is schema manner and is known as system design.

A systematic manner will be followed so as to achieve beneficial result at the end. It


involves starting with a vague idea and ultimately developing it up into a useful

Deptt. of CSE, MBSCET 14


Click-O-PIC

system. The design phase is transition from a user oriented to a document oriented to
the programmers.

Software report can be broken into a series of steps starting with the basic ideas and
ending with the finished project.

The steps for the successful project are as follows: -

 We should define problem completely and the goals should be known before our
destination
 In the next step, we should specify inputs and outputs of our interest
 Then the structure of various database should be designed which will be used
during the programming
 Next, we should design our programs of user friendly nature and always provide a
way to the user to read back the origin if he/she find any complex problem at any
stage
 We should know the function of each and every program which will leads us to or
helps us to read at the specified goal.
 Then we write these individual programs which later on joining solve our problem
 Next step involve then testing of these programs and correction – if necessary
 At last, linking all the programs in a well-specified manner and combining in the
form of a menu, submenu etc. will be our defined problem.

Deptt. of CSE, MBSCET 15


Click-O-PIC

CHAPTER 4

WORKING ENVIRONMENT

4.1 TECHNICAL SPECIFICATIONS

Tools/platform

This project is developed using the tools, which are most suited for development of
the Application Package. These tools are as follows: -

 Eclipse Android Developer Tools(For front end and model layer)

 MySQL DataBase (For Database Storage as Back end)

 JSON, as an intermediate between Android code(Front end) and MySql( Back End )
Database.

Minimum Hardware & software requirement

Technology Environment

Programming Languages: Java, Android Development Environment(adt).

Hardware Used

Processor Intel(R) Core(TM)

Processor Speed 533 MHZ

Hard Disk Space 320 GB

Ram Memory 2.00 GB

Software Used

Operating System Windows 7

Database Server (Back end) MySQL

Front end Eclipse Android Developer Tools

Hardware Requirements.

Hardware Environment (Deployment Server/ End User)

Equipment Android Mobile Phones

Deptt. of CSE, MBSCET 16


Click-O-PIC

Software Requirements.

For Android Devices

Software Environment (Deployment Server/ End User)

Equipment Android OS 3.x and 4.x (until and unless any


modification did at the API level from the manufactures
or Google itself for the higher versions).

Portability Requirements

This Android application would be portable over the minimum Hardware/Software


requirements given above.

Deptt. of CSE, MBSCET 17


Click-O-PIC

CHAPTER 5

TECHNOLOGY USED

5.1 WHAT IS ANDROID

Fig 5.1:-Android

Android is a complete set of software for mobile devices such as tablet computers,
notebooks, smartphones, electronic book readers, set-top boxes etc. It contains
a linux-based Operating System, middleware and key mobile applications. It can be
thought of as a mobile operating system. But it is not limited to mobile only. It is
currently used in various devices such as mobiles, tablets, televisions etc.Android is a
software package and linux based operating system for mobile devices such as tablet
computers and smartphones. It is developed by Google and later the OHA (Open
Handset Alliance). Java language is mainly used to write the android code even
though other languages can be used.

The goal of android project is to create a successful real-world product that improves
the mobile experience for end users. There are many code names of android such as
Lollipop, Kitkat, Jelly Bean, Ice cream Sandwich, Froyo, Ecliar, Donut etc.

5.2 WHAT IS OPEN HANDSET ALLIANCE (OHA)

It’s consortium of several companies. This group of companies are allowed to use
source code of android and develop applications.[1]

Deptt. of CSE, MBSCET 18


Click-O-PIC

Fig 5.2 OHA

5.3 FEATURES OF ANDROID


After learning what is android, let's see the features of android. The important features
of android are given below:

1) It is open-source.

2) Anyone can customize the Android Platform.

3) There are a lot of mobile applications that can be chosen by the consumer.

4) It provides many interesting features like weather details, opening screen, live RSS
(Really Simple Syndication) feeds etc.

5) It provides support for messaging services(SMS and MMS), web browser, storage
(SQLite), connectivity (GSM, CDMA, Blue Tooth, Wi-Fi etc.), media, handset layout
etc.

5.4 HISTORY OF ANDROID


The history and versions of android are interesting to know:-

1) Initially, Andy Rubin founded Android Incorporation in Palo Alto, California,


United States in October, 2003.

2) In 17th August 2005, Google acquired android Incorporation. Since then, it is in


the subsidiary of Google Incorporation.3) The key employees of Android
Incorporation are Andy Rubin, Rich Miner, Chris White and Nick Sears.

4) Originally intended for camera but shifted to smart phones later because of low
market for camera only.

Deptt. of CSE, MBSCET 19


Click-O-PIC

5) Android is the nick name of Andy Rubin given by co workers because of his love
to robots.

6) In 2007, Google announces the development of android OS.

7) In 2008, HTC launched the first android mobile.[1]

5.5 ANDROID VERSIONS, CODENAME AND API

Let's see the android versions, codenames and API Level provided by Google.

Table 5.1: Code name,versions and API

Version Code name API Level

1.5 Cupcake 3

1.6 Donut 4

2.1 Éclair 7

2.2 Froyo 8

2.3 Gingerbread 9 and 10

3.1 and 3.3 Honeycomb 12 and 13

4.0 Ice Cream Sandwich 15

4.1, 4.2 and 4.3 Jelly Bean 16, 17 and 18

4.4 KitKat 19

5.0 Lollipop 21

5.6 ANDROID ARCHITECTURE

Android architecture or Android software stack is categorized into five parts:

1. Linux kernel

2. native libraries (middleware),

3. Android Runtime

Deptt. of CSE, MBSCET 20


Click-O-PIC

4. Application Framework

5. Applications[1]

Fig 5.3:-Architecture of Android

1) Linux kernel

It is the heart of android architecture that exists at the root of android


architecture. Linux kernel is responsible for device drivers, power management,
memory management, device management and resource access.

2) Native Libraries

On the top of Linux kernel, their are Native libraries such as Web Kit, OpenGL, Free
Type, SQLite, Media, C runtime library (libc) etc.

The WebKit library is responsible for browser support, SQLite is for database,
FreeType for font support, Media for playing and recording audio and video formats.

3)Android Runtime

In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which
is responsible to run android application. DVM is like JVM but it is optimized for
mobile devices. It consumes less memory and provides fast performance.[1]

Deptt. of CSE, MBSCET 21


Click-O-PIC

4) Android Framework

On the top of Native libraries and android runtime, there is android framework.
Android framework includes Android API's such as UI (User Interface), telephony,
resources, locations, Content Providers (data) and package managers. It provides a lot
of classes and interfaces for android application development.

5) Applications

On the top of android framework, there are applications. All applications such as
home, contact, settings, games, browsers are using android framework that uses
android runtime and libraries. Android runtime and native libraries are using
linuxkernal.

5.7 ANDROID CORE BUILDING BLOCKS

Fig 5.4 Building Blocks

An android component is simply a piece of code that has a well defined life cycle e.g.
Activity, Receiver, Service etc.

The core building blocks or fundamental components of android are activities, views,
intents, services, content providers, fragments and AndroidManifest.xml.

Deptt. of CSE, MBSCET 22


Click-O-PIC

 Activity: An activity is a class that represents a single screen. It is like a


Frame in AWT.

 View: A view is the UI element such as button, label, text field etc. Anything
that you see is a view.

 Intent: Intent is used to invoke components. It is mainly used to:

o Start the service [1]

o Launch an activity

o Display a web page

o Display a list of contacts

o Broadcast a message

o Dial a phone call etc.

For example, you may write the following code to view the webpage.

Intent intent=new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.javatpoint.com"));

startActivity(intent);

Service: Service is a background process that can run for a long time. There are two
types of services local and remote. Local service is accessed from within the
application whereas remote service is accessed remotely from other applications
running on the same device.

 Content Provider: Content Providers are used to share data between the
applications.
 Fragment: Fragments are like parts of activity. An activity can display one or
more fragments on the screen at the same time.
 AndroidManifest.xml: It contains information about activities, content
providers, permissions etc. It is like the web.xml file in Java EE.
 Android Virtual Device (AVD): It is used to test the android application
without the need for mobile or tablet etc. It can be created in different
configurations to emulate different types of real devices.

 DVM(DA LVIK VIRTUAL MACHINE)

Deptt. of CSE, MBSCET 23


Click-O-PIC

 ACTIVITY LIFE CYCLEAndroid Activity Lifecycle is controlled by 7


methods of android.app.Activity class. The android Activity is the subclass of
ContextThemeWrapper class.

 An activity is the single screen in android. It is like window or frame of Java.

 By the help of activity, you can place all your UI components or widgets in a
single screen.

 The 7 lifecycle method of Activity describes how activity will behave at


different states.

Android Activity Lifecycle methods

Let's see the 7 lifecycle methods of android activity.

Method Description

onCreate called when activity is first created.

onStart called when activity is becoming visible to the user.

onResume called when activity will start interacting with the user.

Deptt. of CSE, MBSCET 24


Click-O-PIC

onPause called when activity is not visible to the user.

onStop called when activity is no longer visible to the user.

onRestart called after your activity is stopped, prior to start.

onDestroy called before the activity is destroyed.

Deptt. of CSE, MBSCET 25


Click-O-PIC

CHAPTER 6

SOFTWARE ENGINEERING PROCESS

6.1 SOFTWARE MODEL OF THE PROJECT

INCREMENTAL MODEL

In incremental model the whole requirement is divided into various builds. Multiple
development cycles take place here, making the life cycle a “multi-waterfall”
cycle. Cycles are divided up into smaller, more easily managed modules. Incremental
model is a type of software development model like V-model, Agile model etc.

In this model, each module passes through the requirements, design, implementation
and testing phases. A working version of software is produced during the first
module, so you have working software early on during the software life cycle. Each
subsequent release of the module adds function to the previous release. The process
continues till the complete system is achieved.

Diagram of incremental model

Incremental model in software engineering is a one which combines the elements of


waterfall model in an iterative manner. It delivers a series of releases called
increments which provide progressively more functionality for the client as each
increment is delivered.

Deptt. of CSE, MBSCET 26


Click-O-PIC

In the incremental model of software engineering, waterfall model is repeatedly


applied in each increment. The incremental model applies linear sequences in a
required pattern as calendar time passes. Each linear sequence produces an increment
in the work.

Diagram Of Incremental Model

As from the diagram, you can see that there are 5 phases(tasks) which are carried out
in each increment. If you want to see what activity is carried out in each phase, then
check out this post: Phases of waterfall model as the phases are same.

The first increment is often a core product where the necessary requirements are
addressed, and the extra features are added in the next increments. The core product is
used and evaluated by the client. Once the customer assesses the core product, there is
plan development for the next increment. Thus in every increment, the needs of the
client are kept in mind, and more features and functions are added, and the core
product is updated. This process continues till the complete product is produced.

The increments earlier to the main increment are called as “stripped down” versions
of the final product. These increases form a base for customer evaluation. On this
basis, the client can suggest new requirements if required.

If there are less number of employees to work on the project Incremental development
model is very useful to complete the project before the deadline. In a project, early
increments can be done with less number of people. In case if the core product is

Deptt. of CSE, MBSCET 27


Click-O-PIC

well-defined and understood more employees could be added if needed in the future
increments.

One of the benefits of the Incremental process model is that it can be planned to
manage technical risks.

Advantages of Incremental model:

 Generates working software quickly and early during the software life cycle.

 This model is more flexible – less costly to change scope and requirements.

 It is easier to test and debug during a smaller iteration.

 In this model customer can respond to each built.

 Lowers initial delivery cost.

 Easier to manage risk because risky pieces are identified and handled during
it’d biteration.

Disadvantages of Incremental model:

 Needs good planning and design.

 Needs a clear and complete definition of the whole system before it can be
broken down and built incrementally.

 Total cost is higher than waterfall.

When to use the Incremental model:

 This model can be used when the requirements of the complete system are
clearly defined and understood.

 Major requirements must be defined; however, some details can evolve with
time.

 There is a need to get a product to the market early.

 A new technology is being used

 Resources with needed skill set are not available

 There are some high risk features and goals.

Deptt. of CSE, MBSCET 28


Click-O-PIC

CHAPTER 7

TIME SCHEDULING

7.1 DEFINITION

Time scheduling is a collection of techniques used to develop and present schedules


that show when work will be performed.

7.2 GENERAL

The choice of tools and techniques used to develop a time schedule depends upon the
level of detail available about the work that needs to be done.

Where the work is well defined, modelling techniques can be used to show the
sequence of working and logical dependencies between each package of work. The
resulting model can be used to predict start and finish times, and identify where there
is flexibility in the schedule.

If requirements are clear but the means to achieve them is less so, or where the
requirements are subject to significant change as the work proceeds, then modelling
techniques are less appropriate.

Network analysis can be used where the work is well defined.

The analysis process has four stages:

 create a logical model of how the work will be performed;

 estimate activity durations;

 calculate timings for the activities;

 present the results.

Each aspect of the process is considered by the team, using subject-matter experts
when appropriate. A schedule agreed by the team is more likely to succeed than one
imposed from above.

The logical model is known as a network diagram. This can be drawn in different
formats. The common format used by scheduling software is activity-on-node, or
precedence networking.

Deptt. of CSE, MBSCET 29


Click-O-PIC

Four types of relationship between two activities can be shown in a precedence


network. The most common is ‘finish-to-start’. ‘Start-to-start’ and ‘finish-to-finish’
are also common. Occasionally a ‘start-to-finish’ dependency may be appropriate.

Estimating activity durations needs to consider many factors, such as the effort
required, the efficiency of resources, physical constraints (e.g. restricted working) etc.
Some activities will comprise work that has been done before and is well understood,
others will be new or employ innovative methods.

The simplest form of calculation is critical path analysis. This uses one duration
estimate that encompasses all the factors. Critical path analysis calculates earliest and
latest dates for the performance of each activity and hence the overall duration of the
individual
project. It then calculates the amount that activities can be delayed without
affecting the project finish. This is known as total float. The longest path (or paths)
through the network is called the critical path and is made up of activities with the
lowest total float.

A refinement of the network diagram is the program evaluation and review technique
(PERT). This uses a weighted three-point estimate for each activity’s duration in
place of a single-point estimate. This enables confidence limits to be applied to the
result of the critical path analysis.

The most realistic form of analysis is Monte Carlo. In its simplest form Monte Carlo
analysis uses the three-point estimate for activity durations but then performs multiple
critical path analyses (typically many hundreds) using different activity durations each
time. This results in a statistical model of project duration that can be used to calculate
the probability of achieving a specific completion date, or calculating a date by which
there is an x% probability of finishing.

In Monte Carlo analysis the concept of a critical path is replaced by the criticality of
activities, i.e. how frequently they appear on the critical path in the multiple
calculations.

The results of all these techniques are typically presented as a Gantt chart.

The main advantage of a network-based model is that it can be frequently updated


with new information and quickly recalculated. This is an ongoing process throughout
the project life cycle and uses information about actual progress to predict the
eventual project completion.

Deptt. of CSE, MBSCET 30


Click-O-PIC

Earned value management combines time scheduling with cost scheduling. It


measures progress in terms of value delivered rather than elapsed time. This is used to
provide more accurate predictions of future progress and completion based upon
progress to date.

Network analysis is not always the best time-scheduling method. A variety of time-
scheduling methods have been developed to suit various technical environments. For
example:

 line-of-balance is used on projects that deliver repetitive products (such as a housing


estate). This technique is suited to show how resource teams move from product to
product rather than the detail of individual activities.

 time is used (typically in IT) on Agile projects. The project is divided into several
discrete periods (or ‘timeboxes’) that typically have durations of between two and six
weeks. The work scope and priorities are changed in order to meet the fixed
timescale.

 timechainage is used on linear projects such as roads and tunnels. It shows the timing
of activities combined with the physical location of the work.

7.3 WHAT IS A GANTT CHART?


A Gantt chart, commonly used in project management, is one of the most popular and
useful ways of showing activities (tasks or events) displayed against time. On the left
of the chart is a list of the activities and along the top is a suitable time scale. Each
activity is represented by a bar; the position and length of the bar reflects the start
date, duration and end date of the activity. This allows you to see at a glance:

 What the various activities are

 When each activity begins and ends

 How long each activity is scheduled to last

 Where activities overlap with other activities, and by how much

 The start and end date of the whole project

So, a Gantt chart shows you what has to be done (the activities) and when (the
schedule).

Deptt. of CSE, MBSCET 31


Click-O-PIC

Fig 7.1 A simple Gantt chart

Basically, A Gantt chart is a type of bar chart, devised by Henry Gantt in the 1910s,
that illustrates a project schedule. Gantt charts illustrate the start and finish dates of
the terminal elements and summary elements of a project. Terminal elements and
summary elements comprise the work breakdown structure of the project. Modern
Gantt charts also show the dependency (i.e., precedence network) relationships
between activities. Gantt charts can be used to show current schedule status using
percent-complete shadings and a vertical "TODAY" line as shown here.

Although now regarded as a common charting technique, Gantt charts were


considered revolutionary when first introduced.[1]This chart is also used
in information technology to represent data that has been collected.

Project management is similar to this. To complete a project successfully, you must


control a large number of activities, and ensure that they're completed on schedule. If
you miss a deadline or finish a task out of sequence, there could be knock-on effects
on the rest of the project. It could deliver late as a result, and cost a lot more. That's
why it's helpful to be able to see everything that needs to be done, and know, at a
glance, when each activity needs to be completed.

Gantt charts convey this information visually. They outline all of the tasks involved in
a project, and their order, shown against a timescale. This gives you an instant
overview of a project, its associated tasks, and when these need to be finished.

When you set up a Gantt chart, you need to think through all of the tasks involved in
your project. As part of this process, you'll work out who will be responsible for each
task, how long each task will take, and what problems your team may encounter.

This detailed thinking helps you ensure that the schedule is workable, that the right
people are assigned to each task, and that you have workarounds for potential
problems before you start.

Deptt. of CSE, MBSCET 32


Click-O-PIC

They also help you work out practical aspects of a project, such as the minimum time
it will take to deliver, and which tasks need to be completed before others can start.
Plus, you can use them to identify the critical path – the sequence of tasks that must
individually be completed on time if the whole project is to deliver on time.

Finally, you can use them to keep your team and your sponsors informed of progress.
Simply update the chart to show schedule changes and their implications, or use it to
communicate that key tasks have been completed.

Most project scheduling is performed with the aid of computer software. The many
proprietary software packages available enhance the basic scheduling techniques
extensively. They also provide considerable choice in the way that schedules are
presented and reported. As with all computer software, the quality of information
produced is only as good as the quality of the modelling and estimating data input in
the first place.

7.4 SCHEDULING TASKS

7.4.1 Options for scheduling

If you have a repetitive task in your Android app, you need to consider that activities
and services can be terminated by the Android system to free up resources. Therefore
you can not rely on standard Java schedule like the TimerTasks class.

The Android system currently has two main means to schedule tasks:

 the (outdated) AlarmManager

 the JobScheduler API.

Modern Android applications should use the JobScheduler API. Apps can schedule
jobs while letting the system optimize based on memory, power, and connectivity
conditions.

7.5 THE JOB SCHEDULER API

The Android 5.0 Lollipop (API 21) release introduces a job scheduler API via
the JobScheduler class. This API allows to batch jobs when the device has more
resources available. In general this API can be used to schedule everything that is not
time critical for the user.

Deptt. of CSE, MBSCET 33


Click-O-PIC

7.5.1 Advantages of the job scheduler API

Compared to a custom SyncAdapter or the alarm manager, the JobScheduler supports


batch scheduling of jobs. The Android system can combine jobs so that battery
consumption is reduced. JobManager makes handling uploads easier as it handles
automatically the unreliability of the network. It also survives application restarts. Here
are example when you would use this job scheduler:

 Tasks that should be done once the device is connect to a power supply

 Tasks that require network access or a Wi-Fi connection.

 Task that are not critical or user facing

 Tasks that should be running on a regular basis as batch where the timing is not
critical

Deptt. of CSE, MBSCET 34


Click-O-PIC

CHAPTER 8

TESTING

8.1 TESTING PROCESSES

Testing is a process rather than a single activity. This process starts from test planning
then designing test cases, preparing for execution and evaluating status till the test
closure. So, we can divide the activities within the fundamental test process into the
following basic steps:

1) Planning and Control


2) Analysis and Design
3) Implementation and Execution
4) Evaluating exit criteria and Reporting
5) Test Closure activities

1) Planning and Control:

Test planning has following major tasks:

i. To determine the scope and risksand identify the objectives of testing.

ii. To determine the test approach.

iii. To implement the test policy and/or the test strategy. (Test strategy is an outline
that describes the testing portion of thesoftware development cycle. It is created to
inform PM, testers and developers about some key issues of the testing process. This
includes the testing objectives, method of testing, total time and resources required for
the project and the testing environments.).

iv. To determine the required test resources like people, test environments, PCs, etc.

v. To schedule test analysis and design tasks, test implementation, execution and
evaluation.

vi. To determine the Exit criteria we need to set criteria such as Coverage criteria.
(Coverage criteria are the percentage of statements in the software that must be
executed during testing. This will help us track whether we are completing test
activities correctly. They will show us which tasks and checks we must complete for a
particular level of testing before we can say that testing is finished.)

Deptt. of CSE, MBSCET 35


Click-O-PIC

Test control has the following major tasks:

i. To measure and analyze the results of reviews and testing.


ii. To monitor and document progress, test coverage and exit criteria.
iii. To provide information on testing.
iv. To initiate corrective actions.
v. To make decisions.

2) Analysis and Design:

Test analysisandTest Designhas the following major tasks:

i. To review the test basis. (The test basis is the information we need in order to start
the test analysis and create our own test cases. Basically it’s a documentation on
which test cases are based, such as requirements, design specifications, product risk
analysis, architecture and interfaces. We can use the test basis documents to
understand what the system should do once built.)
ii. To identify test conditions.
iii. To design the tests.
iv. To evaluate testability of the requirements and system.
v. To design the test environment set-up and identify and required infrastructure and
tools.

3) Implementation and Execution:

During test implementation and execution, we take the test conditions into test
casesand procedures and other testware such as scripts for automation, the test
environment and any other test infrastructure. (Test cases is a set of conditions under
which a tester will determine whether an application is working correctly or not.)
(Test ware is a term for all utilities that serve in combination for testing a software
like scripts, the test environment and any other test infrastructure for later reuse.)

Test implementation has the following major task:

1. To develop and prioritize our test cases by using techniques and create test
data for those tests. (In order to test a software application you need to enter
some data for testing most of the features. Any such specifically identified
data which is used in tests is known as test data.)

Deptt. of CSE, MBSCET 36


Click-O-PIC

We also write some instructions for carrying out the tests which is known as test
procedures.
We may also need to automate some tests using test harness and automated tests
scripts. (A test harness is a collection of software and test data for testing a program
unit by running it under different conditions and monitoring its behaviour and
outputs.)
To create test suites from the test cases for efficient test execution.
(Test suite is a collection of test cases that are used to test a software program to
show that it has some specified set of behaviours. A test suite often contains detailed
instructions and information for each collection of test cases on the system
configuration to be used during testing. Test suites are used to group similar test cases
together.)
To implement and verify the environment.

Test execution has the following major task:

i. To execute test suites and individual test cases following the test procedures
ii. To re-execute the tests that previously failed in order to confirm a fix. This is
known as confirmation testing or re-testing..
iii. To log the outcome of the test execution and record the identities and versions
of the software under tests. The test log is used for the audit trial. (A test log is
nothing but, what are the test cases that we executed, in what order we
executed, who executed that test cases and what is the status of the test case
(pass/fail). These descriptions are documented and called as test log.).
iv. To Compare actual results with expected results.
v. Where there are differences between actual and expected results, it report
discrepancies as Incidents.

4) Evaluating Exit criteria and Reporting:


Based on the risk assessment of the project we will set the criteria for each test level
against which we will measure the “enough testing”. These criteria vary from project
to project and are known as exit criteria.
Exit criteria come into picture, when:
1. Maximum test cases are executed with certain pass percentage.
2.Bug rate falls below certain level.
3. When achieved the deadlines.

Deptt. of CSE, MBSCET 37


Click-O-PIC

Evaluating exit criteria has the following major tasks:


I. To check the test logs against the exit criteria specified in test planning.
ii. To assess if more test are needed or if the exit criteria specified should be changed.
iii. To write a test summary report for stakeholders.

5) Test Closure activities:


Test closure activities are done when software is delivered. The testing can be closed
for the other reasons also like:

 When all the information has been gathered which are needed for the testing.

 When a project is cancelled.

 When some target is achieved.

 When a maintenance release or update is done.

Test closure activities have the following major tasks:


I. To check which planned deliverables are actually delivered and to ensure that all
incident reports have been resolved.
ii. To finalize and archive test ware such as scripts, test environments, etc. for later
reuse.
iii. To handover the test ware to the maintenance organization. They will give support
to the software.
iv To evaluate how the testing went and learn lessons for future releases and projects.

8.2 TYPES OF TESTING


The code is tested at various levels insoftware testing. Unit, system and user
acceptance testing are often performed. This is a grey area as many different opinions
exist as to what the stages of testing are and how much, if any iteration occurs.
Iteration is not generally part of the waterfall model, but the means to rectify defects
and validate fixes prior to deployment is incorporated into this phase.

The following are types of testing that may be relevant, depending on the type of
system under development:

 Model-based testing

 Data set testing

 Unit testing

Deptt. of CSE, MBSCET 38


Click-O-PIC

 System testing

 Integration testing

 Black-box testing

 White-box testing

 Regression testing

 Automation testing

 User acceptance testing

 Software performance testing

1) Model-based testing

Model-based testing is an application of model-based design for designing and


optionally also executing artefacts to perform software testing or system testing.
Models can be used to represent the desired behaviour of a System Under Test (SUT),
or to represent testing strategies and a test environment.

2)Test data

Test data is data which has been specifically identified for use in tests, typically of a
computer program.

Some data may be used in a confirmatory way, typically to verify that a given set of
input to a given function produces some expected result. Other data may be used in
order to challenge the ability of the program to respond to unusual, extreme,
exceptional, or unexpected input.

Test data may be produced in a focused or systematic way (as is typically the case in
domain testing), or by using other, less-focused approaches (as is typically the case in
high-volume randomized automated tests). Test data may be produced by the tester, or
by a program or function that aids the tester. Test data may be recorded for re-use, or
used once and then forgotten.

3) Unit Testing

Unit testing is the testing of an individual unit or group of related units. It falls under
the class of white box testing. It is often done by the programmer to test that the unit
he/she has implemented is producing expected output against given input.

Deptt. of CSE, MBSCET 39


Click-O-PIC

4) System Testing

System testing is the testing to ensure that by putting the software in different
environments (e.g., Operating Systems) it still works. System testing is done with full
system implementation and environment. It falls under the class of black box testing.

5) Integration Testing

Integration testing is testing in which a group of components are combined to produce


output. Also, the interaction between software and hardware is tested in integration
testing if software and hardware components have any relation. It may fall under both
white box testing and black box testing.

6)Black-box testing

Black-box testing is a method of software testing that examines the functionality of an


application without peering into its internal structures or workings. This method of
test can be applied virtually to every level of software testing: unit, integration,
system and acceptance. It typically comprises most if not all higher level testing, but
can also embody unit testing

7) White-box testing

White-box testing (also known as clear box testing, glass box testing, transparent box
testing, and structural testing) is a method of testing software that tests internal
structures or workings of an application, as opposed to its functionality (i.e. black-box
testing). In white-box testing an internal perspective of the system, as well as
programming skills, are used to design test cases. The tester chooses inputs to
exercise paths through the code and determine the appropriate outputs. This is
analogous to testing nodes in a circuit, e.g. in-circuit testing(ICT). White-box testing
can be applied at the unit, integration and system levels of the software testing
process. Although traditional testers tended to think of white-box testing as being
done at the unit level, it is used for integration and system testing more frequently
today. It can test paths within a unit, paths between units during integration, and
between subsystems during a system–level test. Though this method of test design can
uncover many errors or problems, it has the potential to miss unimplemented parts of
the specification or missing requirements.

Deptt. of CSE, MBSCET 40


Click-O-PIC

8) Regression Testing

Regression testing is the testing after modification of a system, component, or a group


of related units to ensure that the modification is working correctly and is not
damaging or imposing other modules to produce unexpected results. It falls under the
class of black box testing.

9) Test automation

In software testing, test automation is the use of special software (separate from the
software being tested) to control the execution of tests and the comparison of actual
outcomes with predicted outcomes.[1] Test automation can automate some repetitive
but necessary tasks in a formalized testing process already in place, or perform
additional testing that would be difficult to do manually.

10) User Acceptance Testing

Acceptance testing is often done by the customer to ensure that the delivered product
meets the requirements and works as the customer expected. It falls under the class of
black box testing.

11)Software Performance Testing

Performance testing is the testing to assess the speed and effectiveness of the system
and to make sure it is generating results within a specified time as in performance
requirements. It falls under the class of black box testing.

Deptt. of CSE, MBSCET 41


Click-O-PIC

CHAPTER 9

MAINTENANCE

9.1 MAINTENANCE FEATURES

Popular project management software features include:

1. Project planning and scheduling

2. Team collaboration

3. Time tracking

4. Project budgeting

1) PROJECT PLANNING AND SCHEDULING


Project Planning

In planning phase, plan is made and strategies are set, taking into consideration the
company policies, procedures and rules

Planning provides direction, unifying frame work, performance standards, and helps
to reveal future opportunities and threats

In Planning, the following steps are followed.

 The Objectives of the projects in definite words

 Goals and stages intermediate to attain the final target

 Forecast and means of achieving goals i.e., activities.

 Organization resources-financial, managerial and operational-to carry out


activities and to determine what is feasible and what is not.

 Alternatives-individual courses of action that will allow accomplishing goals.

 For consistency with company’s policies

 An alternative which is not only consistent with its goals and concept but also
one that can be accomplished with the evaluated resources.

 Decision on a Plan

Deptt. of CSE, MBSCET 42


Click-O-PIC

Project Scheduling

 Scheduling is the allocation of resources

 Resources in conceptual sense are time & energy but in practical sense are the
time, manpower, equipment applied to material.

 Scheduling is the process of formalizing the planned functions, assigning the


starting and completion dates to each activity which proceeds in a logical
sequence and in an orderly and systematic manner.

In Scheduling, the following steps are followed.

 Detailed control information is to be calculated.

 Timings to events & activities are assigned

 Consideration must be given to resources generally concerned with those


resources whose availability is limited and which there by impose a constraint
on the project. Important ones are skilled, technical and supervisory manpower
and capital investment

 Resource Allocation

2) Building a Collaborative Team Environment


Teams are expected to produce results, but performance is hindered when team
members do not work well together. A collaborative team environment is essential for
the team's success. To create a collaborative environment, team members must
practice the following:

 Have a Common Purpose and Goal

A team is defined as a group of people working together toward a common goal.


Without a goal, there is no team. Ideas for creating a common goal include:

 Create and/or review the team's charter.

 Discuss why the team exists.

 Allow each team member to express commitment.

 Create mottoes, symbols, awards, or posters that portray the team as one unit.

 Use the common purpose to prioritize team actions.

Deptt. of CSE, MBSCET 43


Click-O-PIC

 Trust Each Other

Team members must trust each other if they are to work together successfully. Ideas
for creating trust among team members include:

 Be honest.

 Work to eliminate conflicts of interests.

 Avoid talking behind each other's back.

 Trust teammates (you must trust them before they will trust you).

 Give team members the benefit of the doubt.

 Clarify Roles

Knowing everyone's role and being familiar with the responsibility of those roles
create efficiency and flexibility. Ideas for clarifying roles on the team include:

 Review team members' roles frequently.

 Relate team member expectations to the team's overall purpose.

 Clarify responsibilities when action planning.

 Learn what others do on the team.

 Figure out ways to help each other.

 Communicate Openly and Effectively

Miscommunication can create hard feelings and undermine the success of the team.
Ideas for improving communication include:

 Err on the side of overcommunicating.

 Seek to understand all angles.

 Take responsibility for being heard and understood.

 Work to clear up misunderstandings quickly and accurately.

 Reinforce and recognize team member efforts.

 Appreciate Diversity

Team members come from all walks of life, with different backgrounds and
perspectives. Ideas for taking advantage of team diversity include:

Deptt. of CSE, MBSCET 44


Click-O-PIC

 Remember that reasonable people can and do differ with each other.

 Try to learn as much as you can from others.

 Evaluate a new idea based on its merits.

 Avoid remarks that draw negative attention to a person's unique


characteristics.

 Don't ignore the differences among team members.

 Balance the Team's Focus

Finally, team members need to recognize that they should measure and monitor the
products and services the team provides as well as the team's internal group dynamics
and relationships. (Sometimes team members get so involved in the process of
becoming a team they forget the reason they were made a team in the first place, or
vice versa.) Ideas for creating that balance include:

 Regularly review and evaluate the effectiveness of team meetings.

 Hold team celebrations for achieving results.

 Praise individual effort.

 Design individual performance goals that emphasize both results and


teamwork.

 Assign certain team members to monitor task needs and others to monitor
relationship needs.

3) Time Tracking
Time tracking is simply the measurement and documenting of hours worked. With
technology businesses can also track additional data such as efficiency and employee
productivity. From project management methodologies and accounting systems to our
collaboration and communication processes, time tracking can allow businesses and
employees to be productive at unprecedented levels.

4) Develop Project Budget


The project budget is a detailed estimate of all the costs required to complete project
tasks. It is much more detailed than the high-level budget developed in the Initiate

Deptt. of CSE, MBSCET 45


Click-O-PIC

Stage. The typical budget specifies costs for staff labor, materials procurement,
ongoing operating costs and other direct costs such as travel or training.

The detailed budget provides the project sponsor with a best estimate of how much
the project will cost. The detail budget helps manage expectations and gives the
project sponsor information to develop a cost/benefit for the project.

The budget is also used in the Execute and Control stage to help determine whether
the project is financially on track.

9.2 TYPE OF MAINTENANCE

 Corrective Maintenance

This type of maintenance is also called bug fixing that may be observed while the
system is in use i.e. Correct reported errors.

 Adaptive Maintenance

This type of maintenance is concern with the modification required due to change in
environment. (i.e.External changes like use in different hardware platform or use
different O.S).

 Perfective Maintenance

Perfective maintenance refers to enhancement to the software product there by adding


or support to new features or when user change different functionalities of the system
according to customer demands making the product better, faster with more function
or reports.

 Preventive Maintenance

This type of maintenance is done to anticipate future problems and to improve the
maintainability to provide a better basis for future enhancement or business changes.

Deptt. of CSE, MBSCET 46


Click-O-PIC

CHAPTER 10

SCREENSHOTS

10.1 SPLASH SCREEN

This is the first screen called as the SPLASH SCREEN.Splash Screen gets destroyed
automatically after some seconds.

This is the first screen that displays the welcome screen for the user, when the user
launches the application.

There are two splash screens of our app, the first one is for the internet access and the
second is for loading to the next screen.

Deptt. of CSE, MBSCET 47


Click-O-PIC

10.2 HOME SCREEN

This is next screen that displays after the splash screen.

In this screen user will have the option to enable the location settings if it is off.

Deptt. of CSE, MBSCET 48


Click-O-PIC

10.3 CAMERA IMAGE ACTIVITY

This is next screen in which user will click the image.

Deptt. of CSE, MBSCET 49


Click-O-PIC

10.4 IMAGE UPLOAD ACTIVITY

In this screen the user will see the picture that he/she has clicked for finding the
address and the address if available, otherwise an msg written as “ Address not
available!” and three options.

10.5 SD CARD STORAGE


The images user has clicked will be automatically save in the sd card of your device.

Deptt. of CSE, MBSCET 50


Click-O-PIC

10.6 CURRENT MAP ACTIVITY

Here user will see his/her location on map.

10.7 NEARBY MAP ACTIVITY

In this user can view near by places from the drop down list on the map.

Deptt. of CSE, MBSCET 51


Click-O-PIC

10.8 NEARBY TAB ACTIVITY

In this activity the user can view the nearby places in a list with a little detail of each
places.

10.9 PLACE DETAIL ACTIVITY

Here we have provided the details of each near by places separately.

Deptt. of CSE, MBSCET 52


Click-O-PIC

10.10 WEATHER ACTIVITY

In this the user can view the current weather as well as the weather of next three days.

Deptt. of CSE, MBSCET 53


Click-O-PIC

CHAPTER 11

CODING

11.1 SPLASH SCREEN

11.1.1 Activity_splash.xml

11.1.2 Splash activity.java

Deptt. of CSE, MBSCET 54


Click-O-PIC

11.2 HOME SCREEN

11.2.1 activity_home.xml

Deptt. of CSE, MBSCET 55


Click-O-PIC

11.2.2 Homeactivity.java

11.3 CAMERA IMAGE ACTIVITY

11.3.1 Activity_camera image.xml

Deptt. of CSE, MBSCET 56


Click-O-PIC

11.3.2 CameraImageActivity.java

Deptt. of CSE, MBSCET 57


Click-O-PIC

11.4 CURRENT MAP ACTIVITY

11.4.1 current_mapActivity.xml

Deptt. of CSE, MBSCET 58


Click-O-PIC

11.4.2 current_map_activity.java

11.5 NEAR BY ACTIVITY

11.5.1 nearby_mapActivity.xml

Deptt. of CSE, MBSCET 59


Click-O-PIC

11.5.2 nearby_mapActivity.java

Deptt. of CSE, MBSCET 60


Click-O-PIC

Deptt. of CSE, MBSCET 61


Click-O-PIC

11.6 NEARBY_TABACTIVITY

11.6.1 nearby_tab.xml

Deptt. of CSE, MBSCET 62


Click-O-PIC

11.6.2 nearby_tabActivity.java

Deptt. of CSE, MBSCET 63


Click-O-PIC

11.7 SD CARD STORAGE

11.7.1 sd_card_storage.java

Deptt. of CSE, MBSCET 64


Click-O-PIC

11.8 PLACE_DETAILACTIVITY

11.8.1 Place_detailActivity.xml

Deptt. of CSE, MBSCET 65


Click-O-PIC

Deptt. of CSE, MBSCET 66


Click-O-PIC

11.8.2 Place detail activity. Java

Deptt. of CSE, MBSCET 67


Click-O-PIC

Deptt. of CSE, MBSCET 68


Click-O-PIC

11.9 Weather Activity

11.9.1 weather Activity.xml

Deptt. of CSE, MBSCET 69


Click-O-PIC

Deptt. of CSE, MBSCET 70


Click-O-PIC

11.9.2 weatherActivity.java

Deptt. of CSE, MBSCET 71


Click-O-PIC

Deptt. of CSE, MBSCET 72


Click-O-PIC

CHAPTER 12

CONCLUSION AND FUTURE SCOPE

12.1 CONCLUSION

CLICK-O-PIC

The basic idea behind our app is to helps quickly and conveniently find information
about the particular location, while helping in improving the effectiveness of users
comforts.

The main objective of this project is to provide the Mobile User with corresponding
address of the particular location.

Finding an address of any particular location is one of the most confusing work over
maps.

Our application help user to avoid this overhead by just one click.

User just have to click the picture of their location and upload it in our application and
within few minutes he or she will get the corresponding address.

And also finding an address of a particular location over the google maps of which
you don’t even know the name is not an easy task but our application will help the
user by providing the solution in this case.

So we can say that our application is somewhat an advanced version of google maps.

Deptt. of CSE, MBSCET 73


Click-O-PIC

12.2 FUTURE SCOPE

Nothing is perfect in this world. So, we are also no exception. Although, we have
tried our best to present the information effectively, yet, there can be further
enhancement in the Application. We have taken care of all the critical aspects, which
need to take care of during the development of the Project.

Like the things this project also has some limitations and can further be enhances by
someone, because there are certain drawbacks that do not permit the system to be
100% accurate.

Deptt. of CSE, MBSCET 74


Click-O-PIC

BIBLIOGRAPHY

[1] http://www.javatpoint.com/android-tutorial

[2] http://www.tutorialspoint.com/android/

[3] https://en.wikipedia.org/wiki/Systems_development_life_cycle

Deptt. of CSE, MBSCET 75

You might also like