Upload
poumita-das
View
10
Download
0
Tags:
Embed Size (px)
Citation preview
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
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 :
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:
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
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
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
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
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
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
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
| 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.
| 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.
| 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.
| 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.
| 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
| 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
| 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.
| 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.
| 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.
| 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.
| 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
| 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.
| 13
Fig 6.1 Evolutionary prototype model
| 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
| 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.
| 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.
| 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.
| 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
| 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.
| 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
| 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.
| 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)
| 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)
| 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
| 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.
| 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
| 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.
| 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.
| 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.
| 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);
| 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)