42
Suche Da Carte

Suche Da Carte

Embed Size (px)

Citation preview

Page 1: Suche Da Carte

Suche Da Carte

Page 2: Suche Da Carte

Suche Da Carte

DISSERTATION SUBMITED AS “PROJECT 1” IN

PARTIAL FULFILMENT OF THE REQUIREMENTS

FOR THE AWARD OF THE DEGREE

BACHELOR OF TECHNOLOGY (B. TECH.)

IN

COMPUTER SCIENCE & ENGINEERING (CSE)

OF

WEST BENGAL UNIVERSITY OF TECHNOLOGY

Submitted By

Name WBUT Roll no Registration no of

year 2011-2015

Semester Stream

Shubharthi Dasgupta 27000111043 112700110043 7th CSE

Priyanka Das 27000111036 11270110036 7th CSE

Poumita Das 27000111034 112700110034 7th CSE

UNDER THE GUIDANCE OF

Mrs. Tanaya Roy

Assistant professor

Department of MCA

SABITA DEVI EDUCATION TRUST-BRAINWARE GROUP OF INSTITUTIONS

398, RAMAKRISHNAPUR ROAD, BARASAT

KOLKATA-700 124

Page 3: Suche Da Carte

TO WHOM IT MAY CONCERN

This is to certify that the project report entitled

“Suche Da Carte”

Prepared By

Name WBUT Roll no Registration no of

year 2011-2015

Semester Stream

Shubharthi Dasgupta 27000111043 112700110043 7th CSE

Priyanka Das 27000111036 11270110036 7th CSE

Poumita Das 27000111034 112700110034 7th CSE

submitted in partial fulfillment of the requirements for the award of the degree

of

COMPUTER SCIENCE & ENGINEERING (CSE)

OF

West Bengal University of Technology

have completed their minor project work entitled Suche Da Carte. They have fulfilled

these requirements and the project can be successfully implemented. To far my

knowledge goes their work was not submitted to any other University/Institution for

the award of any degree, diploma, fellowship or other similar titles or prizes and the

work has not been published in any journal or magazine.

---------------------------------------------

Mrs. TANAYA ROY

Assistant professor

Department of MCA

SDET-BRAINWARE GROUP OF INSTITUTIONS

398, RAMAKRISHNAPUR ROAD, BARASAT

KOLKATA-700 124

Date :

Page 4: Suche Da Carte

TO WHOM IT MAY CONCERN

This is to certify that Shubharthi Dasgupta, Priyanka Das and Poumita Das of 4th year

7th Semester students of the CSE course of Sabita Devi Education Trust-Brainware

Group of Institutions, under West Bengal University of Technology undertook a project

as ‘PROJECT 1’, entitled Suche Da Carte under the supervision of Mrs. Tanaya Roy,

Assistant Professor of Brainware Group of Institutions during Session 2014-2015 on

Android. They worked sincerely and regularly on this project and completed their

assigned work satisfactorily.

---------------------------------------------

Mr. JAYANTA AICH

Teacher-in-Charge

CSE

SDET-BRAINWARE GROUP OF INSTITUTIONS

398, RAMAKRISHNAPUR ROAD, BARASAT

KOLKATA-700 124

Date:

Page 5: Suche Da Carte

DECLARATION

This is hereby declared that We, Shubharthi Dasgupta, Priyanka Das and Poumita Das,

students of 7th semester of CSE, have carried out our 7th semester project work entitled

Suche Da Carte under the guidance of Mrs. Tanaya Roy, Assistant Professor, MCA

SDET-Brainware Group of Institutions and is done by ourselves in the fulfillment for

the award of the degree of B.Tech in Computer Science & Engineering from West

Bengal University of Technology. It is further declared that the project work has not

been submitted to any other academic university for the award of any degree of

examination.

The said project work will not be under any circumstances be used for any university

or institution examination except for CSE of West Bengal University of Technology.

-------------------------------- ----------------------------------------------- -------------------------------

POUMITA DAS SHUBHARTHI DASGUPTA PRIYANKA DAS

CSE-7th Semester CSE-7th Semester CSE-7th Semester

WBUT Roll: 27000111034 WBUT Roll: 27000111043 WBUT Roll: 27000111036

WBUT Reg: 112700110034 WBUT Reg: 112700110043 WBUT Reg: 112700110036

Date :

SDET-BRAINWARE GROUP OF INSTITUTIONS

398, RAMAKRISHNAPUR ROAD, BARASAT

KOLKATA-700 124

Page 6: Suche Da Carte

ACKNOWLEDGEMENTS

We have received the assistance and cooperation of quite a number of people during

our project Suche Da Carte. So we hereby take the opportunity to extend our sincere

gratitude to all those who have provided their assistance and cooperation and valuable

suggestion from time to time in spite of their busy schedule.

First we would like to thank our project guide Mrs. Tanaya Roy. She has not just helped

us but provided her valuable suggestion from time to time. We would like to extend

our sincere gratitude to Mr. Jayanta Aich and all other faculty members, entire technical

Assistant team of CSE for their encouraging support and for providing us a pleasant

atmosphere during the period of project development.

Lastly, we would like to thank our parents for their overall support.

\-------------------------------- ----------------------------------------------- -------------------------------

POUMITA DAS SHUBHARTHI DASGUPTA PRIYANKA DAS

CSE-7th Semester CSE-7th Semester CSE-7th Semester

WBUT Roll: 27000111034 WBUT Roll: 27000111043 WBUT Roll: 27000111036

WBUT Reg: 112700110034 WBUT Reg: 112700110043 WBUT Reg: 112700110036

Date :

SDET-BRAINWARE GROUP OF INSTITUTIONS

398, RAMAKRISHNAPUR ROAD, BARASAT

KOLKATA-700 124

Page 7: Suche Da Carte

Contents

Abstract 1

1. Study of Existing System 2

2. Metamorphosis 4

2.1 Problem statement 4

2.2 Objectives 4

2.3 Benefits of the new system 4

2.4 Development platforms 5

3. Requirement Analysis 7

3.1 Introduction 7

3.2 Information requirements 7

3.3 Software Requirement Specification 8

3.4 Feasibility Analysis 9

3.4.1 Introduction 9

3.4.2 Economic feasibility 9

3.4.3 Technical feasibility 9

3.4.4 Behavioral Feasibility 10

3.5 Conclusion 10

4. Data Dictionary 11

5. Scheduling Analysis 11

5.1 Gantt Chart 11

Page 8: Suche Da Carte

6. Planning of project 12

6.1 Software Development Paradigm 12

6.2 Team structure 14

6.3 Cost Estimation 14

6.4 Software Size Estimation 14

6.5 Estimated Time Scheduling 14

6.6 Software Configuration Management 15

7. Design analysis 15

7.1 UML 15

7.1 a Use-Case Diagram 16

7.2 Activity Diagram 18

8. Testing and Debugging 20

8.1 Testing Process 20

8.2 Definitions of Testing 20

8.3 Testing Objectives 20

8.4 Testing Principles 21

8.5 Theory of Testing 22

8.6 System Testing 22

8.6.1 Unit Testing 22

8.6.2 Integration Testing 24

8.6.3 Validation Testing 25

8.6.4 Functional Testing 25

8.7 User Training 25

Page 9: Suche Da Carte

9. Security of the System 26

9.1 Physical Security 26

9.2 Application Security 26

10. User Manual 27

11. Conclusion 28

11.1 Overview of the whole project 28

11.2 Project Scheduling 28

11.3 Limitations 28

11.4 Scope for Future Amendments 29

Appendix 30

Appendix A 30

Appendix B 31

Page 10: Suche Da Carte

List of Figures

FIGURE 1.a Study of existing systems (Google Map API) 2

FIGURE 1.b Study of existing systems (ATM) 3

FIGURE 1.c Study of existing systems (hospital) 3

FIGURE 5.1 Gantt chart 11

FIGURE 6.1 Evolutionary prototype model 13

FIGURE 7.1.a Use-Case diagram 17

FIGURE 7.2 Activity diagram 19

FIGURE 8.6.1 Unit testing Part 1 22

FIGURE 8.6.1 Unit testing Part 2 23

FIGURE 8.6.2 Integration testing Part 1 24

FIGURE 8.6.2 Integration testing Part 2 24

FIGURE 8.6.2 Integration testing Part 3 25

FIGURE 9.2.1 Generation of unique key 26

FIGURE 9.2.2 Permission of key 27

Page 11: Suche Da Carte

List of Tables

TABLE 6.2 Team structure 14

TABLE 7.1 a Use-Case Diagram Components 16

TABLE 7.2 Activity Diagram Components 18

TABLE 11.2 Project scheduling 28

Page 12: Suche Da Carte

| 1

ABSTRACT

Suche Da Carte is a simple application designed for Android users, one that aims to make the

user aware of his/her location about certain places of interest he might be looking for. Studies

show that ATMs, Hospitals and restaurants, are three of the most frequent areas of interest in the

map, by a mobile phone user. Keeping that in mind, we, have decided to implement only just these

three places in our searching application. Suche Da Carte, which simply means, “Search from

Maps”, translated as, Suche (n. German), Da (p. Italian) and Carte (n. French) is based on the

ever-popular Google Maps API v2, and also the Places API, provided by Google. These different

categories like ATMs, or Hospitals or Restaurants, can be searched by the user based on his

choice, and there is also an option provided to give the radius as an input, so that the user can

not only request for places, but can also set a distance. On-the-Go, this application can be a life-

saver, because of its inherent ability to track the user by its geolocation property. Thus, combined

with the reliability of Google Maps, and the accuracy and the filtering of places according to your

liking would make Suche Da Carte an exciting experience to try out.

Page 13: Suche Da Carte

| 2

1. Study of existing system

Normally it is difficult to find out a particular place in the google map as even a particular

search returns a number of solutions. Moreover the search is scattered and it’s difficult to find

out the exact location of our destination.

Suche Da Carte uses the concept of using Google APIs, which are available for everyone to

use. Since smartphones are becoming one of the most important gadgets of our life, so the

idea of locating nearby places of interest has been a long-term study of developers around the

world. Some of the already developed systems and applications which are in use are listed as

follows. It should be remembered though, that we tried to make our application as unique as

possible and was not a copy of others’ work.

a. Google Map API

https://developers.google.com/maps/documentation/android/

Fig 1.a Google Map API

The genius guys at Google are kind enough to share their map API with us for free, bless

them. A large portion of the work is done once we implement the map in our application. So

this is definitely an existing system, or rather a framework or API in this case, which should

be mentioned.

Page 14: Suche Da Carte

| 3

b. ATM Finder by Ndot Technologies

https://play.google.com/store/apps/details?id=info.ndot.atmfinder

Fig 1.b ATM finder

ATM's finder is used to find the ATM and banks around your place, based on my geolocation,

and works with Google Maps API. Limitations are there though, only ATMs are visible and

the app is outdated for newer phone models.

c. Hospital Finder Emergency US

https://play.google.com/store/apps/details?id=my.UShospitals.com

Fig 1.c Hospital finder

This Hospital Finder app finds your GPS location and quickly finds the 10 nearest hospitals

to you and information about each hospital. Limitation is currently only US hospitals in the

United States can be accesses by Hospital Finder.

Page 15: Suche Da Carte

| 4

2. Metamorphosis

It contains the necessary information related to project about the problems solved by the

project, the purpose of undertaking the project and the benefits of the system on the whole. It

gives the idea of the problem faced by the user in broader sense.

2.1 Problem statement

In a nutshell this application aims at finding out the nearest ATM, hospitals and restaurants

within a radius as specified by the user. This search is based on the location of the user.

2.2 Objectives

The motive is to get the location of the available ATM, hospitals and restaurants nearest to the

user’s location as a search result. These are shown within the google map. The actual locations

are shown and the data is never false or erroneous or tampered with as this application uses

the Google API as its backbone.

2.3 Benefits of the new system

Suche Da Carte is a hassle free and simple application as it only involves only choosing what

to be displayed and within what range to be displayed. Moreover no need of any third party

software to install the app in the mobile. In this app a radius is given as input, only the places

within that range will be shown disregarding those outside the perimeter. This is more

effective than searching for a place randomly in a google map where hundreds of results are

shown corresponding to a particular search. This app can run on any android mobile without

any hazards and it is very easy to use.

Page 16: Suche Da Carte

| 5

2.4 Development platforms

Our application, Suche Da Carte, is developed on Eclipse Luna, bundled with ADT, or

Android Development Tools. For developing an Android application the, SDK, i.e. the

Software Development Kit must be imported in the Eclipse. Without this SDK Android apps

cannot be developed. Most importantly JDK must be installed in the machine to use the

eclipse.

Software Used

Software Purpose

Windows 8.1 64 bit or

Mac OS X

Operating system

Eclipse Luna, with

ADT Bundle

To develop the code of the application and to

design it.

Android SDK To import and use the default android libraries

and their APIs. This is the main repository.

Java 7 Android apps use Java as the base language, and

so, JVM must be installed in the machine

Hardware Used

Hardware

Descriptions

RAM

8GB

Processor

AMD A8 Quad-core

Hard Drive

1TB

Page 17: Suche Da Carte

| 6

Minimum Software Requirements

Software Purpose

Windows XP or

Mac OS X

Operating system

Eclipse Juno, with

ADT Bundle

To develop the code of the application and to

design it.

Android SDK To import and use the default android libraries

and their APIs. This is the main repository.

Java 7 Android apps use Java as the base language,

and so, JVM must be installed in the machine

Minimum Hardware Requirements

Hardware

Descriptions

RAM

4GB

Processor

AMD or Intel Dual-core

Hard Drive

25GB

Phone Requirements

Requirement

Descriptions

Type

Android™ Smartphone

RAM

512MB

Processor

833MHz Single Core

Memory

5MB

Connectivity

2G Carrier Connection

Sensors

GPS, Location Service

Android Version

4.4 KitKat

Page 18: Suche Da Carte

| 7

3. Requirement Analysis

3.1 Introduction

Requirements analysis in systems engineering and software engineering, encompasses those

tasks that go into determining the needs or conditions to meet for a new or altered product,

taking account of the possibly conflicting requirements of the various stakeholders, analyzing,

documenting, validating and managing software or system requirements. Requirements

analysis is critical to the success of a systems or software project. The requirements should be

documented, actionable, measurable, testable, traceable, related to identified business needs

or opportunities, and defined to a level of detail sufficient for system design.

3.2 Information requirements

Information requirement are the information needed to support a business or other activity.

Systems analysts turn these information requirements into functional specifications of an

information system. The information requirements for any project need to be discussed and

identified to ensure that the correct information is gathered or collected from the most

appropriate source.

Discovering information requirements can be done most effectively by:

Understanding the purpose of the overall project including specific goals to be

achieved.

Identifying and Understanding user’s requirement about the application.

Finding the information that can be helpful for the user to use the application.

Documenting the Information Requirements.

Page 19: Suche Da Carte

| 8

3.3 Software Requirement Specification

A software requirements specification (SRS) is a description of a software system to be

developed, establishing the basis for agreement between customers and contractors or

suppliers (in market-driven projects, these roles may be played by the marketing and

development divisions) on what the software product is to do as well as what it is not expected

to do. Software requirements specification permits a rigorous assessment of requirements

before design can begin and reduces later redesign. The software requirements specification

document enlists enough and necessary requirements that are required for the project

development. To derive the requirements we need to have clear and thorough understanding

of the products to be developed or being developed. This is achieved and refined with detailed

and continuous communications with the project team and customer till the completion of the

software. Requirements can be classified into two broad categories:

Functional requirements: A net connection serves as the only and mandatory

functional requirement as Suche Da Carte is a web based application.

Non-Functional categories: Non-functional requirements in case of Suche da Carte

are the untold part of the project which is not communicated. These can be understood

as a support system of functional requirements. Nonfunctional requirements of this

app involves response time, security, reliability, accuracy, capacity and availability etc.

Non-functional requirements impose constraints on the design or implementation such

as performance engineering requirements, quality standards, or design constraints. It

also provides a realistic basis for estimating product costs, risks, and schedules.

Page 20: Suche Da Carte

| 9

3.4 Feasibility Analysis

3.4.1 Introduction

The feasibility study is an evaluation and analysis of the potential of a proposed project which

is based on extensive investigation and research to support the process of decision making.

An analysis of the ability to complete a project successfully, taking into account legal,

economic, technological, scheduling and other factors. Rather than just diving into a project

and hoping for the best, a feasibility study allows project managers to investigate the possible

negative and positive outcomes of a project before investing too much time and money.

3.4.2 Economic feasibility

The purpose of the economic feasibility assessment is to determine the positive economic

benefits to the organization that the proposed system will provide. It includes quantification

and identification of all the benefits expected. This assessment typically involves a cost/

benefits analysis.

In case of our project, Suche Da Carte no monetary cost is involved and thus the only

economic feasibility is the amount of data charged for a particular search.

3.4.3 Technical feasibility

The technical feasibility of the system counts for the technical acceptance of the system. The

technical capability of the personnel as well as the capability of the available technology

should be considered. In technical feasibility the following issues are taken into consideration.

Whether the system does not have any rigid hard-ware and software requirements and there

is availability of the people who can perform the software engineering activities required for

the development of the system. Hence, the system is technically feasible.

There is no particular hardware or software requirement for our app Suche Da Carte. Even a

beginner with an android phone can easily use the app without any guidance or user a manual.

Page 21: Suche Da Carte

| 10

3.4.4 Behavioral Feasibility

Behavioral feasibility is how effectively a user uses his system. The newly proposed system

should be easy to operate and convenient. Behavioral feasibility is dependent on human

resources available for the project and involves projecting whether the system will operate

and be used when installed. The system is behaviorally feasible if it fulfills the following

Existing members are not affected in anyway.

Retrieval of information is easy, accurate and fast.

The proposed system is easy and moderate.

Suche Da Carte a self-explanatory and simple app that shows the ATMs, hospitals and

restaurants nearest to the user and within the range specified by the user. The locations are

pointed out in the google map. It run on any android mobile without any hazards and it is very

easy to use.

3.5 Conclusion

Thus the Requirements analysis phase focuses on what the system will do in an effort that

views all stakeholders, including sponsors and potential users, as important sources of

information. During this phase we will create one unambiguous set of requirements that

establishes an agreement between all stakeholders on what the system should do

Provide developers and all other stakeholders with a clear understanding of the

requirements

Define the boundaries of the system

Prioritize features to provide a basis for possible iterations.

Page 22: Suche Da Carte

| 11

4. Data dictionary

A data dictionary is a collection of descriptions of the data objects or items in a data model

for the benefit of programmers and others who need to refer to them. A first step in analyzing

a system of objects with which users interact is to identify each object and its relationship to

other objects. This process is called data modeling and results in a picture of object

relationships. After each data object or item is given a descriptive name, its relationship is

described (or it becomes part of some structure that implicitly describes relationship), the type

of data (such as text or image or binary value) is described, possible predefined values are

listed, and a brief textual description is provided. This collection can be organized for

reference into a book called a data dictionary.

In case of our project Suche Da Carte, Google API’s have been used. Hence the data

dictionary of those serves as the data dictionary of this application

5. Scheduling analysis

5.1 Gantt chart

Fig 5.1 Gantt chart

Page 23: Suche Da Carte

| 12

6. Planning of project

This topic describes about the team involved in building the project and their input to the

various section of project for making this available for the users. The overall size of the project

and cost estimation. It occupies very less space in user domain. The duration of project and

how the modules have been divided between the team members.

6.1 Software Development Paradigm

For the development of this system, Suche Da Carte we have used evolutionary prototype

model. The main goal when using Evolutionary Prototyping is to build a very robust prototype

in a structured manner and constantly refine it. The reason for this is that the Evolutionary

prototype, when built, forms the heart of the new system, and the improvements and further

requirements will be built.

When developing a system using Evolutionary Prototyping, the system is continually refined

and rebuilt. Evolutionary prototyping acknowledges that we do not understand all the

requirements and builds only those that are well understood. This technique allows the

development team to add features, or make changes that couldn't be conceived during the

requirements and design phase.

For a system to be useful, it must evolve through use in its intended operational environment.

A product is never "done;" it is always maturing as the usage environment changes. We often

try to define a system using our most familiar frame of reference---where we are now. We

make assumptions about the way business will be conducted and the technology base on

which the business will be implemented. A plan is enacted to develop the capability, and,

sooner or later, something resembling the envisioned system is delivered.

Although Evolutionary Prototypes may not have all the features the users have planned, they

may be used on an interim basis until the final system is delivered. In Evolutionary

Prototyping, developers can focus themselves to develop parts of the system that they

understand instead of working on developing a whole system. To minimize risk, the developer

does not implement poorly understood features. The partial system is sent to customer sites.

As users work with the system, they detect opportunities for new features and give requests

for these features to developers. Developers then take these enhancement requests along with

their own and use sound configuration-management practices to change the software-

requirements specification, update the design, recode and retest. The following

Diagram will give a clear view of the application to be built.

Page 24: Suche Da Carte

| 13

Fig 6.1 Evolutionary prototype model

Page 25: Suche Da Carte

| 14

6.2 Team structure

Our team, a group of three members has carried out the project under the guidance of Mrs.

TANAYA ROY.

Name of team member Worked on

Shubharthi Dasgupta Research, Coding

Priyanka Das Design

Poumita Das Documentation

Table 6.2 Team structure

6.3 Cost Estimation

There is no involvement of money in our application Suche Da Carte as it is not a paid one.

The cost is determined in terms of effort. So from the basic concept of COCOMO model we

know that for organic projects the effort can be found out by the formula

Effort= a1 * (KLOC) a2 PM where a1= 2.4 and a2= 1.05

For this application we have

KLOC=0.636(Size)

So

Effort=2.4*(KLOC) ^1.05

=1.497 PM

6.4 Software Size Estimation

For this application size estimation is done by calculating lines of code as there are no other

available parameters.

We have

KLOC=.636

6.5 Estimated Time Scheduling

Again from the basic concept of COCOMO we know that development time can be found out

by the formula

Tdev= b1 * (Effort) b2 Months

Where for organic projects we have b1= 2.5 and b2=0.38

So

Tdev=2.5*(Effort) ^0.38=2.91 Months

Page 26: Suche Da Carte

| 15

6.6 Software Configuration Management

Software configuration management (SCM) is used for tracking and controlling any changes

within the application. If there are any changes SCM determines what change has been done

and who did it. If a configuration is not performing well then SCM determines how to replicate

it across many hosts. Thus software configuration management is an important part of

software development.

Initially our application Suche Da carte, was to be an automation app. The original idea was

to find out the ATM, hospitals, restaurants and petrol pumps near the vicinity of the user and

send notifications. However due to the inability of implementing fragments in the code it was

not possible to develop it likewise. So presently this application is only capable of showing

the results within the google map and pointing out the nearest ATM, hospital and restaurants.

7. Design analysis

7.1 UML

Object-oriented modeling and design is a way of thinking about problems using models

organized around real world concepts. The fundamentals construct is the object, which

combines both data structure and behavior. Object - oriented models are useful for

understanding problems communicating with application experts, modeling enterprises,

preparing documentation and designing programs and databases.

Page 27: Suche Da Carte

| 16

7.1 a Use-Case Diagram

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

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

organize system requirements.

Components:

Tool Description

Actor

Association

Dependency or Instantiates

Case

Table 7.1 a Use-Case Diagram Components

<<extend>>:

Extend is a directed relationship that specifies how and when the behavior defined

in usually supplementary (optional) extending use case can be inserted into the

behavior defined in the extended use case.

Page 28: Suche Da Carte

| 17

Figure 7.1 b Use-Case Diagram

Explanation:

In our application, Suche Da Carte, the user can, after opening the application, navigate

the map, track his current location with the help of geolocation property, and can also zoom

in or out in the map for better perspective. He or she can also search the map for different

places provided by the dropdown or spinner in the application, along with the radius which

may or may not be specified. The developer key and the query link is verified by the Google

server, and depending upon the verification, the query answer is returned.

Page 29: Suche Da Carte

| 18

7.2 Activity Diagram

Activity diagrams are graphical representations of workflows of stepwise activities and

actions with support for choice, iteration and concurrency. In the Unified Modelling

Language, activity diagrams are intended to model both computational and

organizational processes (i.e. workflows). Activity diagrams show the overall flow of

control.

Components:

Tool Description

Start State

Activity or State

Decision

State Transition

End State

Table 7.2 Activity Diagram Components

Page 30: Suche Da Carte

| 19

Figure 7.2 Activity Diagram

Explanation:

For our app Suche Da Carte the user first has to select the place he chooses to search within

the map and enter the radius according to his choice. Then he has to press the find button. If

there is no internet connection the map fails to load. Otherwise if there is a stable internet

connection the map loads successfully with the markers showing the places within the specified

radius.

Page 31: Suche Da Carte

| 20

8. Testing and Debugging

Testing is performed to verify that the completed software package functions according to the

expectations defined by the requirements/specifications. The overall objective to not to find

every software bug that exists, but to uncover situations that could negatively impact the

customer, usability and/ or maintainability.

8.1 Testing Process

In testing process, the compiler is evaluated with the intent to find that whether it satisfies the

specified requirements or not. The testing process executes the system in order to identify any

gaps, errors or missing requirements in contrary to the actual desire or requirements. It

analyzes the compiler to detect the differences between existing and required conditions that

is defects/errors/bugs and to evaluate the features of it.

8.2 Definitions of 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).

8.3 Testing Objectives

Primary purpose of testing is to detect software failures so that defects may be discovered and

corrected. It involves the execution of a software component or system to evaluate one or more

properties of interest. In general, these properties indicate the extent to which the component

or system under test:

meets the requirements that guided its design and development,

responds correctly to all kinds of inputs,

performs its functions within an acceptable time,

is sufficiently usable,

can be installed and run in its intended environments, and achieves the general result

its stakeholder’s desire

Page 32: Suche Da Carte

| 21

8.4 Testing Principles

The basic principles that guide the testing are shown:

Traceability: All tests should be traceable to the user requirements. As we know that the

objective of testing is to uncover errors. It follows that the most several defects from the user’s

point of view are those that cause the program to fail to meet its requirements.

Planning: Tests should be well planned. Test planning can begin as soon as the requirements

model is complete. Detailed definition of test cases can begin as soon as the design model has

been solidified.

Organization: Testing should begin “in the small” and progress toward testing “in the large.”

The first tests planned and executed generally focus on individual components.

Compactness: Exhaustive testing is not possible. The number of path permutations for even

a moderately sized program is exceptionally large. For this reason, it is impossible to execute

every combination of paths during testing. It is possible, however, to adequately cover

program logic and to ensure that all conditions in the component-level design have been

exercised.

Clustering the defect: Defect clustering simply state that a small number of modules in an

application contains maximum defects detected.

Early testing: It is imperative to start testing software as early as possible. This ensures that

the defects can be captured and fixed within the stipulated time-frame, thereby allowing

developers to deliver the software to the clients on time.

Page 33: Suche Da Carte

| 22

8.5 Theory of Testing

Testing cannot establish that a product functions properly under all conditions but can only

establish that it does not function properly under specific conditions. The scope of software

testing often includes examination of code as well as execution of that code in various

environments and conditions as well as examining the aspects of code: does it do what it is

supposed to do and do what it needs to do. In the current culture of software development, a

testing organization may be separate from the development team. There are various roles for

testing team members. Information derived from software testing may be used to correct the

process by which software is developed

8.6 System Testing

System testing involves the following topics-

8.6.1 Unit Testing

There were two major units of testing - the spinner, button and text components and the map

fragment. Both of the components were individually tested for errors and exceptions. They

did not cause any problems. We have used JUnit plugin in Eclipse for Unit Testing, and

Integration Testing.

Part 1: We can see that the button, text fields and labels all work fine, along with the spinner,

whose options gets populated once the onCreate() method is called.

Fig 8.6.1 Unit testing (Part 1)

Page 34: Suche Da Carte

| 23

Part 2:

Here, we see that the Map fragment loads fine, and is able to locate and pinpoint the user’s

location accurately. Also, the map can be zoomed in or out, based on the user’s choice. Here

also, there were no problems that were encountered.

Fig 8.6.1 Unit testing (Part 2)

Page 35: Suche Da Carte

| 24

8.6.2 Integration Testing

Once the individual modules were tested, we decided to integrate the modules into a single

activity. After doing this, we carried out Integration testing.

As it turned out, the modules were perfectly integrated and the activity had no bug, right from

the start, where the map fragment loaded, to the marker placements in the map, till the end,

where the detail of the marker would popup.

Figure 8.6.2 The Map Fragment loads successfully

Page 36: Suche Da Carte

| 25

Figure 8.6.2.Depending on the radius input, and the place type, the markers point in the map

Figure 8.6.2 Depending on the markers, if we tap on a marker, its details popup

8.6.3 Validation Testing

Validation testing was pretty simple, as we ourselves were the clients who wanted to build the

application and it turned out the way we wanted it to. So we, for formalities’ sake, verified

our app with the checklist, about what it should do, and whether it could do it.

8.6.4 Functional Testing

All the inputs, core application functions were checked and double checked, to ensure there

were no exceptions. String handling, text, and data, especially when interfacing with non-

Unicode applications or modules. Text handling (such as copying, pasting, and editing) of

extended characters, special fonts, and non-Latin scripts were also checked.

8.7 User Training

There is no special training required for using this application. The only constraint is that as

this application involves google maps it is mandatory to have a net connection.

Page 37: Suche Da Carte

| 26

9. Security of the System

9.1 Physical Security

Physical security is the protection of hardware, programs, and data from physical

circumstances and events that could cause serious losses or damage to a software or an

application.

The physical security of this application involves the use the google API’s for incorporating

the different and hence no system level authentication and authorization are required

separately. While installing this app the necessary permissions like location and email address

serve as the physical security.

9.2 Application Security

The application security of this project is solely based on the generation of a new unique key

which can only be used for the development of this project. The google APIv2 and Places

API have been activated resulting in the generation of a new key.

Fig 9.2.1 Generation of unique key

Page 38: Suche Da Carte

| 27

Fig 9.2.2 Permissions of key

10. User Manual

No separate user manual is required for this application as it is self-explanatory in nature and

even a beginner will be able to use it without any guidance. This app only needs an Android

mobile to run and stay in touch with a one click to open it.

Page 39: Suche Da Carte

| 28

11. Conclusion

It is a very simple app. It is a must-have app for anyone whose profession involves travelling

to a lot of places on a daily basis. There are a number of location finding apps in the play

store. Some of them are very tricky to install and run and some of them also only can be used

if the user has a credit or debit card. Unlike those users can easily install this app without any

tricks.

11.1 Overview of the whole project

This project is a web based application developed by using Google API’s and using android

as the platform. It’s basically a very short one. It involves a simple google map for finding

out ATM, hospitals and restaurants in and around the vicinity of the user. The radius is give

as an input by the user. However it must not be more than 15 K. Within that range the

available ones are shown in the map.

11.2 Project Scheduling

Month Stream Group no Name of the project Project status

July CSE 3 Suche Da Carte 25%

August CSE 3 Suche Da Carte 40%

September CSE 3 Suche Da Carte 60%

October CSE 3 Suche Da Carte 60%

November CSE 3 Suche Da Carte 100%

11.3 Limitations

The limitations of this project are as follows

As the application is web based it cannot be used until and unless there is a net

connection and as a result of poor net connection this app may cease to work or may

take a long time to respond.

The application being web based uses huge amount of data at a time for a particular

search.

The radius given as an input must not exceed 15 Km.

No push notification is available in this app.

Page 40: Suche Da Carte

| 29

11.4 Scope for Future Amendments

The future scope for this project includes the following points-

Features like petrol pump and others apart from ATM, hospitals, restaurants will be

incorporated.

The radius can be increased so that the search is applicable over a wider area.

Incorporation of push notification can be a major development in this project.

Page 41: Suche Da Carte

| 30

Appendix A: CODE SNIPPETS

[1] Getting Google Map

mGoogleMap = ((MapFragment)

getFragmentManager().findFragmentById(R.id.map)).getMap();

[2] Building the Google Map API Query String

StringBuilder sb = new

StringBuilder("https://maps.googleapis.com/maps/api/place/nearbysearch/json?");

sb.append("location="+mLatitude+","+mLongitude);

sb.append("&radius="+radius);

sb.append("&types="+type);

sb.append("&sensor=true");

sb.append("&key=MY_API_KEY");

[3] Getting Data and Placing Marker on the Map

MarkerOptions markerOptions = new MarkerOptions();

HashMap<String, String> hmPlace = list.get(i);

double lat = Double.parseDouble(hmPlace.get("lat"));

double lng = Double.parseDouble(hmPlace.get("lng"));

String name = hmPlace.get("place_name");

String vicinity = hmPlace.get("vicinity");

LatLng latLng = new LatLng(lat, lng);

markerOptions.position(latLng);

markerOptions.title(name + " : " + vicinity);

mGoogleMap.addMarker(markerOptions);

Page 42: Suche Da Carte

| 31

Appendix B: WEB REFERENCES

[1] Android Developers: Retrieving the Current Location

http://developer.android.com/training/location/retrieve-current.html#GetLocation

(15, Oct, 2014)

[2] Tamada, Ravi: Android working with Google Maps V2, 2013

http://www.androidhive.info/2013/08/android-working-with-google-maps-v2/

(1, Aug, 2014)

[3] Google Developers: Setting Up an API Project

https://developers.google.com/youtube/android/player/setup

(30, Jul, 2014)

[4] Stackoverflow: how to display nearby places like atm,hospitals in android google map?

http://stackoverflow.com/questions/19855298/how-to-display-nearby-places-like-atm-

hospitals-in-android-google-map

(17, Oct, 2014)

[5] Google Developers: Map Objects

https://developers.google.com/maps/documentation/android/map

(12, Aug, 2014)

[6] Tutorialspoint: Android Fragments

http://www.tutorialspoint.com/android/android_fragments.htm

(3, Aug, 2014)

[7] StackOverflow: Android onClick method

http://stackoverflow.com/questions/3733858/android-onclick-method

(5, Aug, 2014)

[8] StackOverflow: How to call method from OnClickListener.onClick method?

http://stackoverflow.com/questions/7813718/how-to-call-method-from-onclicklistener-

onclick-method

(5, Aug, 2014)

[9] Android Dev 101: Mapviews and overlays

http://androiddev101.com/episode-5-mapviews-and-overlays/

(17, ep, 2014)

[10] StackOverflow: Search by street name in a google map fragment

http://stackoverflow.com/questions/25537962/search-by-street-name-in-a-google-map-

fragment

(20, Sep, 2014)

[11] Vogel Lars: Using the Android action bar (ActionBar) - Tutorial

http://www.vogella.com/tutorials/AndroidActionBar/article.html

(3, Sep, 2014)

[12] GitHub: ikimuhendis/LDrawer

https://github.com/ikimuhendis/LDrawer

(10, Oct, 2014)