Sunteți pe pagina 1din 89

University of Palestine

Faculty of Information Technology


Department of Management Information
Systems

Business Location Advisor, Based on GPS Mobile Application


Submitted by
Ibrahim. F.Abu Jame 220110095
Mahmoud. J. Zaqout 220100010
Mohammed. F. Salha 220100383

Submitted to
Najwa Baraka

December, 2014

Table of Contents
Abstract........................................................................................................................................IV
List of Figures................................................................................................................................V
List of Abbreviations and Glossaries.......................................................................................VII
Chapter 1: INTRODUCTION......................................................................................................1
1.1

Background..................................................................................................................................2

1.2

Problem Statement.......................................................................................................................3

1.3

Objectives....................................................................................................................................3

1.4

Importance of the Project.............................................................................................................4

1.5

Scope and Limitation of the Project.............................................................................................5

Chapter 2: LITERATURE REVIEW..........................................................................................6


2.1

Introduction.................................................................................................................................7

2.2

Business location Strategy...........................................................................................................7

2.3

Business location Strategy with technology.................................................................................8

2.4

Technologies used on business location advisor........................................................................10

2.5

Related work..............................................................................................................................11

2.6

Business advisor application VS existing systems and application............................................17

Chapter 3: METHODOLOGY...................................................................................................18
3.1

Introduction...............................................................................................................................19

3.2

Methodology..............................................................................................................................19

3.2.1

Agile methodology................................................................................................................20

3.2.2

Scrum methodology...............................................................................................................21

3.2.3

Agile-Scrum methodology....................................................................................................21

3.2.4

Reason of using Agile-Scrum methodology.........................................................................22

3.2.5

Phases of Agile-Scrum methodology...................................................................................24

Chapter 4: Requirement and Analysis.......................................................................................26


4.1 Introduction.....................................................................................................................................27
4.2

Functional Requirement............................................................................................................27

4.2.1

Registration Management......................................................................................................28

4.2.2

Project Management..............................................................................................................28

4.2.3

Suggestion Management........................................................................................................28

4.2.4

Place Management.................................................................................................................28
1

4.2.5

Profile Management..............................................................................................................28

4.2.6

Search Management...............................................................................................................28

4.3

Non-Functional Requirement.....................................................................................................28

4.3.1

Performance Requirement......................................................................................................29

4.3.2

Safety Requirement................................................................................................................29

4.3.3

Usability Requirement...........................................................................................................29

4.3.4

Availability Requirement.......................................................................................................29

4.3.5

Flexibility Requirement.........................................................................................................29

4.4

Application Perspective.............................................................................................................30

4.5

Use Case diagram......................................................................................................................30

4.6

Activity Diagram.......................................................................................................................34

4.7

Sequence Diagram.....................................................................................................................40

Chapter 5: Architecture and Design..........................................................................................43


5.1 Introduction....................................................................................................................................44
5.2 Agile Design Practices....................................................................................................................44
5.2 Agile Design Philosophies..............................................................................................................45
5.2 Design Throughout The Lifecycle..................................................................................................47
5.3 Business location advisor application Architecture.........................................................................48
5.3 CRC Design....................................................................................................................................50
5.3.1 CRC Android administrator user..................................................................................................50
5.3.2 CRC Android investor user..........................................................................................................51
5.3.2 CRC Android business expert user..............................................................................................51
5.5 Database Table................................................................................................................................52
5.5 Entity Relationship Diagram...........................................................................................................53
5.6 Graphical user interface (GUI).......................................................................................................54
5.6.1 Business advisor Android Application GUI:................................................................................54
5.7 Implementation..............................................................................................................................59
5.8 Development Tools........................................................................................................................59

Chapter 6 : Testing and Evaluation............................................................................................60


6.1 Testing...........................................................................................................................................61
6.2 Purpose of Testing.........................................................................................................................62
6.3 Importance of Testing....................................................................................................................62
6.4 Test Environment...........................................................................................................................63
6.5 Test Challenges..............................................................................................................................63

6.5 Checklist Business advisor App Testing........................................................................................63


6.6 Test Environment Android Automated Testing................................................................................69
6.6.1 Documented Test Results..............................................................................................................71
6.7 Beta Testing....................................................................................................................................71
6.8 Maintenance...................................................................................................................................72
6.9 Evaluation.......................................................................................................................................72

Chapter 7: Future Works and Conclusion...............................................................................73


7.1 Introduction...................................................................................................................................74
7.2 Conclusion.....................................................................................................................................74
7.3 Project Challenges.........................................................................................................................75
7.4 Future Works.................................................................................................................................75

Appendices....................................................................................................................................76
References.....................................................................................................................................80

Abstract
Business location advisor, based on gps (BLAGPS) Mobile Application: is a mobile app
providing innovative solutions are designed for help investor to choose the right location of any
new business project, such as ( businesses, restaurants, and school). A good selection of the
project site of the most important positive factors to help the success of your project, being in the
right location is a key ingredient in a business's success, if a company selects the wrong location,
it may have adequate access to customers, workers, transportation, materials, and so on.
consequently, location often plays a significant role in a company's profit and overall success. In
(BLAGPS) we used android platform it's mobile operating system (OS) based on the Linux
kernel and currently developed by Google. In (BLAGPS) we used mixed agile-scrum model in
development of the application because it promotes adaptive planning, evolutionary
development, early delivery, continuous improvement and encourages rapid and flexible
response to change, and it a flexible, holistic product development strategy where a development
team works as a unit to reach a common goal", challenges assumptions of the "traditional,
sequential approach" to product development, and enables teams to self-organize by encouraging
physical co-location or close online collaboration of all team members, as well as daily face-toface communication among all team members and disciplines in the project. After finishing
design application it was tested and evaluated by some users and it has won the admiration of
users, and the

functional

and

non-functional requirements

that were specified

were

implemented and the main objectives of our project were satisfied. In the future we hope that
our application working under all platforms such as windows phone and IOS to reach all
people and become the first choice for companies to market themselves to wider range of
people.

List of Figures
Figure 3.1 : Proposed Agile-Scrum Methodology for mobile application development............................19
Figure 4.1 : Business location advisor App Use Case Diagram.................................................................33
Figure 4.2 : Business location advisor App Signup Activity Diagram.......................................................35
Figure 4.3 : Business location advisor App Log In Activity Diagram........................................................36
Figure 4.4 : Business location advisor App Edit Profile Activity Diagram................................................37
Figure 4.5: Business location advisor App Add New Project Activity Diagram........................................38
Figure 4.6 : Business location advisor App Search Activity Diagram........................................................39
Figure 4.7 : Business location advisor App Signup Sequence Diagram.....................................................40
Figure 4.8 : Business location advisor App Log In Sequence Diagram.....................................................41
Figure 4.9 : Business location advisor App Edit Profile Sequence Diagram..............................................41
Figure 4.10: Business location advisor App Add New Project Sequence Diagram....................................42
Figure 4.11 : Business location advisor App Search Sequence Diagram...................................................42
Figure 5.1 : Agile design practices.............................................................................................................44
Figure 5.2 : The Agile SDLC.....................................................................................................................48
Figure 5.3 : Business location advisor application Architecture................................................................49
Figure 5.4 : ER Diagram of Business location advisor application.......................................................53
Figure 5.5 : Register GUI of bussiness advisor location............................................................................54
Figure 5.6 : Login GUI of business advisor location.................................................................................55
Figure 5.7 : Main menu of business advisor location.................................................................................55
Figure 5.8 : Add GUI of business advisor location....................................................................................56
Figure 5.9 : Add new place GUI of business advisor location...................................................................56
Figure 5.10 : Suggest Location GUI of business advisor location.............................................................57
Figure 5.11 : Find City GUI of business advisor location..........................................................................57
Figure 5.12 : The best Place to create project GUI of business advisor location........................................58
Figure 6.1 : Testing Involvement across Agile Process..............................................................................62
Figure 6.2 : Automated Testing Using Robotium Framework....................................................................70
Figure 6.3 : Testing Results Using Robotium Framework.........................................................................71

List of Tables
Table 2.1 : Business advisor application VS existing systems and application..........................................17
Table 4.1: Register Use Case Details.......32
Table 4.2: Login Use Case Details...32
Table 4.3: Edit Profile Use Case Details......32
Table 4.4: Add New Project Use Case Details.........33
Table 4.5: Search Use Case Details..33
Table 5.1: Android administrator with its responsibilities and collaborator....49
Table 5.2: Android investor user with its responsibilities and collaborators...50
Table 5.3: Android business expert user with its responsibilities and collaborators ...51
Table 5.4: Admin Table in Database ...52
Table 5.5: Business expert Table in Database .....52
Table 5.6: Investor Table in Database .....52
Table 5.7: Add new location table in Database ..52
Table 5.8: Suggest location table in Database ....53
Table 6.1: Device Specific Checks ......64
Table 6.2: Network Specific Check ....65
Table 6.3: App Specific Checks ......66
Table 6.4: App User Interface Checks table in Database ...67

List of Abbreviations and Glossaries


BLAGPS

Business Location Advisor, Based On GPS.

GIS

Geographic information system.

AOSP

Android Open Source Project.

GPS

Global Positioning System.

SQL

Structured Query Language.

OS

operating system.

API

Application Programming Interface.

URL

Uniform Resource Locator.

Wi-Fi

Wireless Networking Technology.

ASD

Adaptive Software Development.

AUP

Agile Unified Process.

DSDM

Dynamic Systems Development Method.

XP

Extreme Programming.

FDD

Feature Driven Development.

GUI

Graphical User Interface.

CRC

Class Responsibility Collaborator.

UML

Unified Modeling Language.

TDD

Test-driven development.

ERD

Entity Relationship Diagram.

CLIs

Command-line interfaces.

PDA

Personal digital assistant.

WIMP

Window, Icon, Menu, Pointer.

ADT

Android Development Tools.

XML

Extensible Markup Language.

AVD

Android Virtual Device.

Chapter 1
INTRODUCTION

1.1 Background
When business operations require a new facility such as (businesses, restaurants and landmarks), the most
important decision you need to make is to choose the right location, site selection indicates the practice of
new facility location, both for business and government. Site selection involves measuring the needs of a
new project against the merits of potential locations.
1

Many factors feed into the site selection decision: the potential partners (and competitors) in the vicinity ,
local economic climate, the available workforce, and local regulations, taxation and incentive potential.
Hiring site selection consultants allows the business to gain certainty and subject matter expertise.
Choosing a site on which to locate a new business is not a simple task. Countless factors natural, manmade, social and economic must be examined. Where we choose to build and how we build on a site
have an impact on the local and global environments, ongoing costs (utility bills, maintenance) and our
physical and psychological well-being. With todays rapid growth, dwindling resources and increasing
pollution threats, concern for human and environmental health are causing us to take a closer look at our
building practices, starting with the building site.
Advances in technology and new demands on the existing system have now led to efforts to emergence of
a new concept. A geographic information system (GIS) is a system designed to capture, store, manipulate,
analyze, manage, and present all types of geographical data. The acronym GIS is sometimes used for
geographical information science or geospatial information studies to refer to the academic discipline or
career of working with geographic information systems and is a large domain within the broader
academic discipline of Geo informatics. [2]
GIS is a relatively broad term that can refer to a number of different technologies, processes, and
methods. It is attached to many operations and has many applications related to engineering, planning,
management, transport/logistics, insurance, telecommunications, and business. For that reason, GIS and
location intelligence applications can be the foundation for many location-enabled services that rely on
analysis, visualization and dissemination of results for collaborative decision making. [3]
In a general sense, the term describes any information system that integrates, stores, edits, analyzes,
shares, and displays geographic information for informing decision making. GIS applications are tools
that allow users to create interactive queries (user-created searches), analyze spatial information, edit data
in maps, and present the results of all these operations. Geographic information science is the science
underlying geographic concepts, applications, and systems. [4] [5]
Modern GIS technologies use digital information, for which various digitized data creation methods are
used. The most common method of data creation is digitization, where a hard copy map or survey plan is
transferred into a digital medium through the use of a CAD program, and geo-referencing capabilities.
With the wide availability of or tho-rectified imagery (both from satellite and aerial sources), heads-up
digitizing is becoming the main avenue through which geographic data is extracted. Heads-up digitizing
involves the tracing of geographic data directly on top of the aerial imagery instead of by the traditional
method of tracing the geographic form on a separate digitizing tablet (heads-down digitizing).
2

In parallel, Smart phone has revolutionized the way we take and share their information, and became
meet the needs of mobile users is more important than ever. In line with this revolution; so we designed
Business location advisor, based on GPS mobile application: is a mobile app providing innovative
solutions are designed for find places your users care about like
Business location advisor application adeptly manages the site selection process, leading clients through a
complicated process with a clearly defined plan and goals. We work closely with our clients to deliver
optimal results.

1.2 Problem Statement


The issue of determining the location of any project is one of the difficult decisions faced by
companies management they must study the proposal location adequately before making their
choice, because if they erred in choosing the right location , this error will remain a heavy
burden, and an obstacle to the achievement success that could have been reached, If they
selecting the appropriate location from the beginning of the project it will result in more business
success and profit raising. It is necessary to take into account a range of factors and
considerations to determine project location. These factors very in their effect importance from
one industry to another, from one time to another, and from one country to others.
This project aims to develop a mobile app that provides an easy and deterministic way to choose
the geographic location of any new business project.

1.3 Objectives
The objectives of the project are:
-To help the organization in the planning of new projects or expansion.
-To helps to reach a large amount of information with high efficiency.
-To take the best decision in the fastest time.

1.4 Importance of the Project


The location of a business is the place where it is situated. There are a number of factors that
need to be considered in choosing a location for a business. One of the earliest decisions any
entrepreneur has to make is where to locate his or her business. In order to do this, he or she has
to make a careful assessment of costs. The ideal location would be one where costs are
3

minimized. The entrepreneur would need to look at the benefits which each area had to offer as
well as any government help which might be available.
So a good selection of the project site of the most important positive factors to help the success
of your project, being in the right location is a key ingredient in a business's success. If a
company selects the wrong location, it may have adequate access to customers, workers,
transportation, materials, and so on. Consequently, location often plays a significant role in a
company's profit and overall success. A location strategy is a plan for obtaining the optimal
location for a company by identifying company needs and objectives, and searching for locations
with offerings that are compatible with these needs and objectives. Generally, this means the firm
will attempt to maximize opportunity while minimizing costs and risks.
A company's location strategy should conform with, and be part of, its overall corporate strategy.
Hence, if a company strives to become a global leader in telecommunications equipment, for
example, it must consider establishing plants and warehouses in regions that are consistent with
its strategy and that are optimally located to serve its global customers. A company's executives
and managers often develop location strategies, but they may select consultants (or economic
development groups) to undertake the task of developing a location strategy, or at least to assist
in the process, especially if they have little experience in selecting locations.
In Gaza, site selection is a rare event in the life of most companies, even the thought of it can be
very daunting, and time consuming. The application (Business location advisor) is a short guide
on how to be better prepared when choosing where to relocate or expand your business. It will
help you articulate your prime objectives, clarify your critical goals, and take some of the
mystery out of choosing a location.

1.5 Scope and Limitation of the Project

Business location advisor application is designed to provides an easy and deterministic way

to choose the geographic location of any new business project.


In business location advisor application, we using android is a computing platform
designed for use in some smart phones and other devices. This technology, which is owned
by Google, Inc, includes an operating system, software, and applications.

The operating system is based on Linux, which provides advanced computer processing.
Android technology is maintained and continually developed by the Android Open Source

Project (AOSP) [7]


Business location advisor provides maps of Gaza Strip cities, customer can Purchase and
enjoy Business advisor free instantly on your Android phone or tablet without the hassle of
syncing.

Chapter 2
LITERATURE REVIEW

2.1

Introduction

This chapter review and identify concepts and related work about Business location advisor .

2.2

Business location Strategy

Being in the right location is a key ingredient in a business's success. If a company selects the
wrong location, it may have adequate access to customers, workers, transportation, materials,
and so on. Consequently, location often plays a significant role in a company's profit and overall
success. A location strategy is a plan for obtaining the optimal location for a company by
identifying company needs and objectives, and searching for locations with offerings that are
compatible with these needs and objectives. Generally, this means the firm will attempt to
maximize opportunity while minimizing costs and risks.
Facilities. Facilities planning involves determining what kind of space a company will need
given its short-term and long-term goals.
6

Feasibility. Feasibility analysis is an assessment of the different operating costs and other factors
associated with different locations.
Logistics. Logistics evaluation is the appraisal of the transportation options and costs for the
prospective manufacturing and warehousing facilities.
Labor. Labor analysis determines whether prospective locations can meet a company's labor
needs given its short-term and long-term goals.
Community and site. Community and site evaluation involves examining whether a company
and a prospective community and site will be compatible in the long-term.
Trade zones. Companies may want to consider the benefits offered by free-trade zones, which
are closed facilities monitored by customs services where goods can be brought without the usual
customs requirements.
Political risk. Companies considering expanding into other countries must take political risk into
consideration when developing a location strategy. Since some countries have unstable political
environments, companies must be prepared for upheaval and turmoil if they plan long-term
operations in such countries.
Governmental regulation. Companies also may face government barriers and heavy restrictions
and regulation if they intend to expand into other countries. Therefore, companies must examine
governmentalas well as culturalobstacles in other countries when developing location
strategies.
Environmental regulation. Companies should consider the various environmental regulations
that might affect their operations in different locations. Environmental regulation also may have
an impact on the relationship between a company and the community around a prospective
location.
Incentives. Incentive negotiation is the process by which a company and a community negotiate
property and any benefits the company will receive, such as tax breaks. Incentives may place a
significant role in a company's selection of a site. [8]

Depending on the type of business, companies also may have to examine other aspects of
prospective locations and communities. Based on these considerations, companies are able to
choose a site that will best serve their needs and help them achieve their goals.

2.3

Business location Strategy with technology

Globalization and technology have been the biggest drivers of change in the location decision
process over the last thirty years. Location activity has been very high in recent decades as a
result of technology improvements, economic growth, international expansion and globalization,
and corporate restructuring, mergers and acquisitions.
The top five location factors for global companies are costs, infrastructure, labor characteristics,
government and political issues, and economy. Key sub-factors are the availability and quality of
the labor force, the quality and reliability of modes of transportation, the quality and reliability of
utilities, wage rates, worker motivation, telecommunication systems, record of government
stability, and industrial relations laws. Other sub-factorsprotection of patents, availability of
management resources and specific skills, and system and integration costsare of increasing
importance.
Whereas wages and the industrial relations environment are significant factors in multinational
location decisions, by far the main determinant is the host country market size. Furthermore,
global economic considerations have become paramount in location strategy as companies
contemplate the advantages afforded by various locations in terms of positioning in international
markets and against competitors.
When companies seek new sites they generally strive to keep operating and start-up costs low,
and so they often choose locations in collaboration with economic development groups to
achieve these goals. Companies also now expect to move into new facilities more quickly than in
the past, so they tend to focus more on leasing facilities than purchasing land and building new
facilities. Also, by leasing facilities, companies can relocate every few years if the market
requires it.
Technology, especially communications technology, has not only been a driver of change, but
has facilitated the site selection process. Managers can obtain initial information on alternative
locations via the Internet and promotional software. Site selections agencies increasingly use
8

geographical information system (GIS) technology, and e-mail has become a dominant mode of
communication in location research and negotiation. [9]
Location databases have enabled companies to do initial screening themselves, hence reducing
their need to rely on economic developers to providing only very specific information and details
on locationssuch as commuting patterns and workforce characteristics.
Business location advisor, based on GPS mobile application: is a mobile application providing
innovative solutions are designed for find places your users care about like , businesses,
restaurants and landmarks, The Fused Location Provider intelligently manages the underlying
location technology and gives you the best location according to your needs, and it's have
powerful mapping platform including satellite imagery, street view, elevation profiles, driving
directions, styled maps, demographics, analytics and an extensive places database. With the
worlds most accurate global coverage and an active mapping community making daily updates,
your users will benefit from a continually improving services, and it's allow your users explore
the world with rich maps provided by GoogleMap. Identify locations with custom markers,
augment the map data with image overlays, embed one or more maps as fragments, and much
more by helping to choose the best location for the establishment of a new project, Through two
phases: the first to determine the geographical area where the project will take place, and the
second analysis of the site within the borders of this region. In all these stages are focusing on
the best choice of location.

2.4

Technologies used on business location advisor

2.4.1 MySQL database: Many computer programs, including web-based programs like blogs,
photo galleries and content management systems need to store and retrieve data. For example,
blog software need to store the posts (i.e., articles) you write, and retrieve them when a visitor
goes to your site. Similarly, photo galleries store information about their pictures (for
example, for sites that allow users to rate the photos, the numerical rating for each
picture is stored in a database). Instead of reinventing the wheel and implementing their
own system of storing and retrieving data, these software simply use the specialized database
programs I mentioned earlier. To make it easy for other programs to access data through them,
many database software support a computer language called "SQL" (often pronounced as
"sequel").
9

SQL was specially designed for such a purpose. Programs that want the database software to
handle the low-level work of managing data simply use that language to send it
instructions. There are many databases that support the use of SQL to access their data, among
them MySQL and PostgreSQL. In other words, MySQL is just the brand of one database
software, one of many. The same goes for PostgreSQL. These two databases are very
popular among programs that run on websites (probably because they are free), which is
why you often see one or both of them being advertised in the feature lists of web hosts, as well
as being listed as one of the "system requirements" for certain web software (like blogs and
content management systems).[10]
2.4.1 Android: is a mobile operating system (OS) based on the Linux kernel and currently
developed by Google. With a user interface based on direct manipulation, Android is designed
primarily for touchscreen mobile devices such as smartphones and tablet computers, with
specialized user interfaces for televisions (Android TV), cars (Android Auto), and wrist watches
(Android Wear). The OS uses touch inputs that loosely correspond to real-world actions, like
swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual
keyboard. Despite being primarily designed for touchscreen input, it also has been used in game
consoles, digital cameras, regular PCs (e.g. the HP Slate 21) and other electronics.

Android is the most widely used mobile OS and, as of 2013, the highest selling OS overall.
Android devices sell more than Windows, iOS, and Mac OS X devices combined,[11][12] [13]
[14][15]with sales in 2012, 2013 and 2014[16] close to the installed base of all PCs.[17] As of
July 2013 the Google Play store has had over 1 million Android apps published, and over 50
billion apps downloaded.[18] A developer survey conducted in AprilMay 2013 found that 71%
of mobile developers develop for Android.[19] At Google I/O 2014, the company revealed that
there were over 1 billion active monthly Android users, up from 538 million in June 2013.[20]

2.5

Related work

In this section, we briefly present some of the research literature related to our application
(Business location advisor).

2.5.1 Google Maps:


10

Explore new places, discover local favorites, and navigate your world with Google Maps.
Available on Android phones and tablets with a simple, easy-to-use design, and get where you
need to go quickly with voice guided turn-by-turn GPS navigation, or try public transit, biking,
and walking directions, and find the perfect spot for any occasion with local reviews from trusted
friends and experts and tour cities with stunning, 360-degree Street View and see inside
restaurants, museums and more, and sign in to save favorite locations, get tailored
recommendations, and access past searches across devices.[21]

Advantages of Google Maps app :-

Make better decisions:- Google Maps API for Work enables developers to add visualization
your internal applications. You can select from 34 statistics to display on the map at state, county,
census tract or block group granularity, including population, age, race, marital status and
housing status.
Get turn-by-turn GPS navigation to your destination:- Google Maps for Android shows you
where you are and gets you to where you want to go. Get free, voice-guided turn-by-turn
navigation, whether driving, walking or taking public transit. See estimated time to your
destination based on live traffic info.
Search for places nearby and get the local information you need:- Search for restaurants,
businesses and more near you. Find and get recommendations from people in your circles and
from experts, and access full place reviews and summaries from Zagat editors.
Indoor Maps:- Use Indoor Maps to see detailed floor plans and your accurate indoor location
for select airports, hotels, stores & other locations.
3D Maps :- Rich 3D maps give you a more realistic sense of whats around.
Street View:- You can explore the world with Street View.
Discover great offers near you:- Google Maps shows you offers near you, so you can get great
deals on the go.
Discover great offers near you:- Google Maps shows you offers near you, so you can get great
deals on the go. [22]

11

Disadvantages of Google Maps app :-

Accuracy:- Information provided by the Google Maps website may be inaccurate or out of date.
Walking and cycling directions, in particular, may suggest routes that are missing sidewalks,
pedestrian paths or cycling paths. The suggested driving routes also may not be the most efficient
ones available, and may not account for any specific requirements you may have, such as
avoiding low clearance bridges and overpasses. Relying on Google Maps alone for any
additional information you may need, such as public transit timetables, the location or opening
hours of a business, road closures or traffic load, may lead to wasted time and frustration.
Accessibility:- The Google Maps website relies on downloading and displaying large images.
Because of this, it may load slowly or not at all if you have a connection that is limited in speed.
Similarly, the website may function poorly or not at all if viewed on a browser that is not fully
updated or if Java is not updated.
Missing information:- Depending on the country and location you are interested in, you may
find that entire buildings are blurred out in Street View. This is done on request because of
privacy concerns, but this also severely limits the usefulness of the feature. Similarly, in the
satellite view, certain areas may be displayed using older imagery or may be blurred out
altogether. [23]

2.5.2 Foursquare:
A location-based social networking website for mobile devices, such as smart phones. Users
"check in" at venues using a mobile website, text messaging or a device-specific application by
selecting from a list of venues the application locates nearby. Location is based on GPS hardware
in the mobile device or network location provided by the application, and the map is based on
data from the openstreet map project. Each check-in awards the user points and sometimes
"badges". The user who checks in the most often to a venue becomes the "mayor," and users
regularly vie for "mayorships."[24]

Advantages of Foursquare app :

Local search and recommendations:- Foursquare lets the user search for restaurants, nightlife
spots, shops and other places of interest in their surrounding area. It is also possible to search
12

other areas by entering the name of a remote location. The app displays personalised
recommendations based on the time of day, displaying breakfast places in the morning, dinner
places in the evening etc. Recommendations are personalised based on a number of factors
including a users check-in history, their "Tastes" and their venue Ratings. The app also learns
about the places they like to go as they move through the world and uses this to personalise their
experience.
Tips and expertise:- Foursquare eschews the traditional concept of letting users leave long-form
reviews, and instead encourages the writing of "Tips" - short messages about a location which let
other users know what is good (or bad) there. Tips are strictly limited to 200 characters in length,
but can include a URL to link to an external site with more information, and can optionally
include a photo. Tips can also be set to expire after a certain amount of time, or on a specific
date, which can be useful for leaving Tips about events or promotions at a venue that will end
soon.
Location detection: Foursquare 8.0 uses its own proprietary technology called "Pilgrim" to
automatically detect a user's location. Foursquares "Pilgrim" is able to accurately guess a users
current location by comparing historical check-in data (previous users tacitly stating "I am here")
with a combination of signals such as a users current GPS signal, cell tower triangulation,
cellular signal strength and surrounding wifi signals. In this way Foursquare can know a users
location without them needing to "check in".[25]
Foursquare for business:- Foursquare for Business is a suite of tools for businesses to manage
their listing on the service. Businesses can 'Claim' their listing which gives them access to free
tools that lets them update their business information (address, phone number etc.), add photos
and tips, create 'Specials' and see visitor statistics. Claiming a venue can be done for free via mail
which takes several weeks to process, or instantly with a credit card for a fee. In January 2013,
Foursquare released 'Foursquare for Business', a mobile app that lets businesses manage their
listing on Foursquare from their iOS device.[ 26]

Disadvantages of Foursquare app :-

I'll be watching you:- With the ability to link Foursquare to Facebook and Twitter, it is easy for
people to know where you are or where you have been. Your visits are basically public
13

knowledge. No matter where you check in, people will know where you've been, which can be a
little unsettling. Stalkers, for example, will be able to know where you are going or where you
have been. Also, if people know where you are, then people also know that you are not home,
potentially leading to you being robbed.
Abusing Foursquare:- Foursquare can also be used as a promotional tool. For example, if you
work for a restaurant, you can check in and give the restaurant nothing but praise. Oversaturating Foursquare with unwarranted praise defeats the purpose of the app. If you know
people who do this, then it compromises the value of Foursquare because you will not know who
is being genuine and who is trying to get a raise.
On the subject of social network abuse, there is another thing about Foursquare that may bother
you. While linked to Facebook or Twitter, Foursquare will automatically post where you are
checking in, whether you want it to or not. This will spam people's Facebook or Twitter feeds
unnecessarily, possibly resulting in an "un-friend" or "un-follow" which, let's face it, no body
wants to have happen to themselves.
Wikifoursquare:- Users of Foursquare can add locations to the app, which can lead to incorrect
information, incomplete information, and misspellings. However, unlike Wikipedia, no
corrections can be made. Also, duplicate locations are an issue, compromising the stats that
Foursquare compiles. For example, there are some airports that you can check in at every gift
shop, every bag claim, every desk, etc. Obviously, this is a little excessive. Nobody cares if you
just picked up a carton of duty-free cigarettes at a South American airport. [27]

2.5.3 TD Canada Trust:


The TD Canada Trust Small Business Advisor in your area understands the challenges you face
and can help you to achieve your goals. [28]
Advantage of TD Canada Trust:

Understand your ongoing business needs


Simplify your finances
Save time and money
Stay committed to your long-term goals
We're a part of your community and we want to see you succeed.
14

Disadvantages of TD Canada Trust:

Does not support the mapping technique


Not mobile application
Consulting only made in small Canadian cities

2.5.4 TBP Network:


The Business Place is a network of small business support centres with branches across South
Africa and Botswana. If you aspire to start your own business or you are running a business and
want to grow it, we can assist you by providing information, referrals, training, workshops,
networking and business opportunities.
Based on research findings which indicated a major lack of support for emerging small business
it was decided to establish a small business support hub. The first branch opened in May 1999, at
58 Marshall Street in downtown Johannesburg, in collaboration with funding partners Investec
Bank and the City of Joburg. Major demand for The Business Place model ensured further sites
were established.
The core of each Business Place branch is the information centre, where clients are able to
receive assistance in working out the next steps to start or expand their businesses. Clients may
then be referred to other support organizations or SMME service providers, many of which are
clustered in the same building for ease of access.
The Business Place Joburg has been successful in having a positive impact on the lives of many
entrepreneurs; this has led to similar ventures being launched across Southern Africa in
collaboration with local partners. The result is that there are now seven additional branches of
The Business Place. See the Branches pages for more information.
This expansion also created the need for a central support structure, which led to the
establishment of The Business Place Network. See the TBP Network page for more information.
[29]
Advantage of TD Canada Trust:The Business Place Network is a team of people dedicated to supporting existing and new
branches of The Business Place in the following ways.
15

New branch set up


Financial management and reporting
Training and development
Enterprise development initiatives
Branding and marketing
Advice and support for branch managers

Disadvantages of TD Canada Trust:

2.6

Does not support the mapping technique


Not mobile application
Consulting only made in small South Africans cities.

Business advisor application VS existing systems and application

From bottom comparison between our applications "Business advisor application" with other
similar applications or website in, Table 2.1 show that "Business advisor application" provide a
lot of benefits that business investor need look for, these benefits will be more attractive to our
target area in business market also ensure popularity and success of our application.
Features

Business advisor

Google map

Solutions for business


Mobile application
Anyone can handle it
Maps feature
Missing information
Accessibility
Accuracy for places

X
X
X

Foursquar
e

x
x
x

Table 2.1: Business advisor application VS existing systems and application

16

TD Trust

TBP Network

x
x
x

x
x
x

Chapter 3
METHODOLOGY

17

3.1

Introduction

This chapter describes which we used a combination of two agile and scrum methodologies
utilized to develop business location advisor application.

3.2

Methodology

This project involving various agile-scrum methodologies and challenges involved in mobile software
development process helped us derive a development methodology. Traditional software development
methodologies should be redesigned to accommodate adaptive nature of mobile applications [30] In
our approach, certain vital practices that we found essential for mobile software development lifecycle
have been included into the traditional Agile and SCRUM methodologies. [31] Figure 3.1 shows
the proposed Agile-Scrum methodology for mobile application development with some additional
features.

Figure 3.1 : Proposed Agile-Scrum Methodology for mobile application development

18

3.2.1 Agile methodology


Agile software development is a group of software development methods based on iterative and
incremental development, where requirements and solutions evolve through collaboration between selforganizing, cross-functional teams. It promotes adaptive planning, evolutionary development and
delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a
conceptual framework that promotes foreseen tight interactions throughout the development cycle. [32]
Agile software development is considered to be a powerful and proficient approach to accommodate
rapidly changing demands of the market and to cope up with modern software development trends.
According to , Agile software development methodologies claim to speed up the delivery of software
solutions to a clients rapidly changing requirements. [33]
Agile methods are believed to enhance certain features of mobile application development process
such as flexibility, productivity, sustainability, learning, responsiveness, leanness, lightness, simplicity,
technical quality and active user collaboration in software development. [34]
This methodology uses iterative-incremental model for development process to achieve quick delivery of
software and to improve risk-management capabilities, Some of the highlighting agile characteristics that
well align with requirements of mobile application development include: [35]
a) Test-driven development: Testing goes hand-in-hand with development process.
b) Continuous customer involvement: Mobile industry focuses on demands from the market or end
-users. Customer involvement during all phases of SDLC is considered highly important to avoid
unpleasant or unprecedented variations in requirements. This helps to adapt accordingly.
c) Prioritization of requirements: According to iteration, level of abstraction and current scope,
the requirements may vary and has to be prioritized. Once they are prioritized, the design and
implementation processes are focused on satisfying the highly significant requirements first and then
towards attending to less significant requirements.
d) Effective Communication: The primary means of communication is face-to face people
interaction. Agile process believes in building projects around stimulated individuals in the team.
e) Enhanced quality assurance: The iterative incremental model and process-wide review-learning
sessions ensure enhanced quality assurance.
f) Skilled developers: Developers are agile, knowledgeable, collocated and collaborative.
19

g) Process-wide reviews and learning sessions: Knowledge obtained from product development
is in turn.
Well-known agile software development methods frameworks include:

Adaptive Software Development (ASD)


Agile Unified Process (AUP)
Crystal Methods (Crystal Clear)
Dynamic Systems Development Method (DSDM)
Extreme Programming (XP)
Feature Driven Development (FDD)
Kanban
Lean software development
Scrum
Scrum-ban

3.2.2 Scrum methodology


Scrum is an iterative and incremental Agile software development framework for managing software
projects and product or application development. Its focus is on "a flexible, holistic product development
strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional,
sequential approach". Scrum enables the creation of self-organizing teams by encouraging co-location of
all team members, and verbal communication among all team members and disciplines in the project.
Scrum is a well-known agile methodology which is characterized by iterative-incremental sprints.
Sprints are short and time bound in nature. According to [35], Scrum is an approach of project
delivery which includes self-organizing process into iterations which consists of planning, blackbox engineering process and review or post-mortem phase. Scrum is an empirical management technique
to control and manage software development process. It mainly focuses on customer satisfaction, product
reliability and product quality by means of
self-organizing iterations. The dynamics of the team and process are revealed and built during project
execution.

3.2.3 Agile-Scrum methodology


This project involving various agile-scrum methodologies and challenges involved in mobile software
development process helped us derive a development methodology. Traditional software development
methodologies should be redesigned to accommodate adaptive nature of mobile applications [30] In
our approach, certain vital practices that we found essential for mobile software development lifecycle

20

have been included into the traditional Agile and SCRUM methodologies. [31] Figure 3.1 shows
the proposed Agile-Scrum methodology for mobile application development with some additional
features
Agility means being able to move quickly and easily. Using agile

methodologies

in

software

development process makes the process flexible enough to adapt quickly and easily to the changing
trends and technologies. In mobile software engineering, methodology is of great importance,
since software applications are ever changing and evolving based on immediate user requirements. For
teams focused on customer satisfaction via development of a well-designed application by means of a
production process, agile methodology is adopted. The SCRUM methodology is an iterativeincremental agile development framework. Projects are developed through series of iterations called
sprints. Each sprint is ideally a bunch of low level SDLC processes where a small sub feature is driven
from idea conception, planning till testing phase, which takes around two to four weeks to complete.
Short SCRUM meetings are held on a daily basis to discuss status updates of the teams sprint tasks. Post
sprint, retrospective meeting is conducted to document the shortcomings and improvements. It has
been found that agile-scrum process is best suited for project development scenarios with highly
emerging or rapidly changing requirements as in the case of mobile software development, In our
approach, certain vital practices that we found essential for mobile software development lifecycle have
been included into the traditional Agile and SCRUM methodologies. Figure 3.1 shows the
proposed Agile-Scrum methodology for mobile application development with so

3.2.4 Reason of using Agile-Scrum methodology


1.Revenue:- The iterative nature of agile development means features are delivered
incrementally, enabling some benefits to be realised early as the product continues to develop.
2. Speed-to-market:- Research suggests about 80% of all market leaders were first to market.
As well as the higher revenue from incremental delivery, agile development philosophy also
supports the notion of early and regular releases, and perpetual beta.
3. Quality:- A key principle of agile development is that testing is integrated throughout the
lifecycle, enabling regular inspection of the working product as it develops. This allows the
product owner to make adjustments if necessary and gives the product team early sight of any
quality issues.

21

4. Visibility:- Agile development principles encourage active user involvement throughout the
products development and a very cooperative collaborative approach. This provides excellent
visibility for key stakeholders, both of the projects progress and of the product itself, which in
turn helps to ensure that expectations are effectively managed.
5. Risk Management:- Small incremental releases made visible to the product owner and
product team through its development help to identify any issues early and make it easier to
respond to change. The clear visibility in agile development helps to ensure that any necessary
decisions can be taken at the earliest possible opportunity, while theres still time to make a
material difference to the outcome.
6. Flexibility / Agility:- In traditional development projects, we write a big spec up-front and
then tell business owners how expensive it is to change anything, particularly as the project goes
on. In fear of scope creep and a never-ending project, we resist changes and put people through a
change control committee to keep them to the essential minimum. Agile development principles
are different. In agile development, change is accepted. In fact, its expected. Because the one
thing thats certain in life is change. Instead the timescale is fixed and requirements emerge and
evolve as the product is developed. Of course for this to work, its imperative to have an actively
involved stakeholder who understands this concept and makes the necessary trade-off decisions,
trading existing scope for new.
7. Cost Control:- The above approach of fixed timescales and evolving requirements enables a
fixed budget. The scope of the product and its features are variable, rather than the cost.
8.Business Engagement/Customer Satisfaction:- The active involvement of a user
representative and/or product owner, the high visibility of the product and progress, and the
flexibility to change when change is needed, create much better business engagement and
customer satisfaction. This is an important benefit that can create much more positive and
enduring working relationships.
9. Right Product:- Above all other points, the ability for agile development requirements to
emerge and evolve, and the ability to embrace change (with the appropriate trade-offs), the team
build the right product. Its all too common in more traditional projects to deliver a successful

22

project in IT terms and find that the product is not what was expected, needed or hoped for. In
agile development, the emphasis is absolutely on building the right product.
10. More Enjoyable:- The active involvement, cooperation and collaboration make agile
development teams a much more enjoyable place for most people. Instead of big specs, we
discuss requirements in workshops. Instead of lengthy status reports, we collaborate around a
task-board discussing progress. Instead of long project plans and change management
committees, we discuss whats right for the product and project and the team is empowered to
make decisions. In my experience this makes it a much more rewarding approach for everyone.
In turn this helps to create highly motivated, high performance teams that are highly cooperative.

3.2.5 Phases of Agile-Scrum methodology


Phase 1: Requirements and Analysis.
In 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 application requirements.[36]
Requirements analysis is critical to the success of a systems or application project.[37] in
requirements process of "BLAGPS" application

we documented, actionable, measurable,

testable, traceable, the needed related to identified business needs or opportunities, and defined
to a level of detail sufficient for design process.
Phase 2: Design and Development.
Software design is the process by which an agent creates a specification of a software artifact,
intended to accomplish goals, using a set of primitive components and subject to constraints.
This phase includes the following steps which will take care in designing business location
advisor :

Specify system architecture and Database relations,

application "BLAGPS" to identify architecture of application and Database relations.


Make "BLAGPS" GUIs Simple as possible.
Choose a system metaphor to describe "BLAGPS" implementation.
Use CRC cards for business location advisor design sessions.
23

and we have taken care in the

Refactoring by removal of redundancy or unused functionality whenever and wherever


possible.

Phase 3: Test and QA.


These play important roles in mitigating uncertainties and technical risks respectively if
they are included in the early stages of development, which is explained in the upcoming
section. Phases 2 and 3 form a Sprint in our pro ject that lasts for 1 to 4 weeks. The Re-use
concept in software development is covered in Phase 2 of our methodology and is implemented
in our Android application . Daily SCRUM meetings are part of Sprint for the team to
share updates on tasks accomplished, plan for the next course of action, foresee and
address various issues.
This phase includes the following steps:
1. All code of "BLAGPS" must have unit tests.
2. All code of "BLAGPS" must pass all unit tests before it can be released.
3. When a bug is found tests are created.
Phase 4: Product acceptance phase.
Marks the closure of each sprint after which, effective feedback and retrospective meetings
are held to document the best practices and shortcomings faced in the current sprint iteration.
This phase includes the following steps:

Acceptance tests are run often and the stories published.

Phase 5: Release to Market.


An important validation step which confirms the products acceptance. On satisfying the
customers requirements, the product is set for official market release. If not, second
iteration begins from Phase 1 paving way for another sprint cycle. Most of the phases in
this methodology uses sub-version repository to control and maintain versioning of all project
related documents as shown in Figure 3.1.

24

Chapter 4
Requirement and Analysis

4.1 Introduction
When do requirement analysis and design activities happen in the Agile framework? How is our
understanding of requirement and design analysis valuable in the Agile framework with Scrum?
this chapter describes how these elements flow through Sprints within the Scrum framework.

25

In this Section, the functional and non-functional requirements are introduced using the Unified
Modeling Language (UML) which is an open method used to specify, Visualize, construct and
document the artefacts of an object-oriented software-intensive system under development.
UML offers a standard way to write a system's blueprints, including conceptual components.
Functional requirement:- defines a function of a software system or its component. A
function is described as a set of inputs, the behavior, and outputs. Functional requirements may
be calculations, technical details, data manipulation and processing and other specific
functionality that defines what a system is supposed to accomplish. Behavioral requirements
describing all the cases where the system uses the functional requirements are captured in use
cases. [38]
Non-functional requirement:- is a requirement that specifies criteria that can be used
to judge the operation of a system, rather than specific behaviors. This should be
contrasted with functional requirements that define specific behavior or functions. [39]

4.2 Functional Requirement


Functional requirements may be calculations, technical details, data manipulation and processing
and other specific functionality that define what a system is supposed to accomplish. Behavioral
requirements describing all the cases where the system uses the functional requirements are
captured in use cases. Functional requirements are supported by non-functional requirements
(also known as quality requirements), which impose constraints on the design or implementation
(such as performance requirements, security, or reliability). Generally, functional requirements
are expressed in the form "system must do <requirement>", while non-functional requirements
are "system shall be <requirement>". The plan for implementing functional requirements is
detailed in the system design. The plan for implementing non-functional requirements is detailed
in the system architecture.
The goal of functional requirement is to determine the behavior of users for Add New Poroject
in terms of functionality. After login, the application moves the user to the home screen and
there they have many options.

4.2.1 Registration Management

The application must be allow users to register and login in the application.
26

The application must validate users login, so the user can enter valid username and
password to login in the application.

4.2.2 Project Management


The application must be allow users to Add new project.
The application must be allow user "business expert" to Delete project.
The application must be allow users to update project information.

4.2.3 Suggestion Management


The application must be allow user "business expert" to suggest place to create new project.
The application must be allow user "business expert" to suggest place to create new project.
The application must be allow user "business expert" to determine why the project is
important in this region.

4.2.4 Place Management


The application must be allow user "business expert" to create new place in the map.

4.2.5 Profile Management


The application must be allow users to edit profile.
The application must be allow users to choose password.

4.2.6 Search Management


The user "investor" must be able to search by place and city.

4.3 Non-Functional Requirement


In systems engineering and requirements engineering, a non-functional requirement is a
gvrequirement that specifies criteria that can be used to judge the operation of a system, rather
than specific behaviors. This should be contrasted with functional requirements that define
specific behavior or functions. The plan for implementing functional requirements is detailed in
the system design. The plan for implementing non-functional requirements is detailed in the
system architecture.
Broadly, functional requirements define what a system is supposed to do and non-functional
requirements define how a system is supposed to be. Functional requirements are usually in the
form of "system shall do <requirement>", an individual action of part of the system, perhaps
27

explicitly in the sense of a mathematical function, a black box description input, output, process
and control functional model or IPO Model. In contrast, non-functional requirements are in the
form of "system shall be <requirement>", an overall property of the system as a whole or of a
particular aspect and not a specific function. The systems' overall properties commonly mark the
difference between whether the development project has succeeded or failed.

4.3.1 Performance Requirement


"BLAGPS" application must be on very high standard servers to accommodate the huge amount
of data and requests for access to the server from a large number of users at the same time.

4.3.2 Safety Requirement


The database of "BLAGPS" application must be located in a special secure server and must be
backups to other servers directly at specific times to avoid loss and damage data.

4.3.3 Usability Requirement


In the "BLAGPS" application, the user interface must be familiar to user, so that the user can
easily do his tasks without any training or help.

4.3.4 Availability Requirement


"BLAGPS" application should be available at all times, meaning the user can access it using a
device application.

4.3.5 Flexibility Requirement


"BLAGPS" application must be able to add or delete features because it is based on object
oriented concept.

4.4Application Perspective
The "BLAGPS" application will use a database and web servers that can be accessed with any
android device connect with Wi-Fi connection. The users who can use this application are just
the registered users and have username and password. After registering, and add new project.

28

4.5 Use Case diagram


A use case diagram is a static description of some way in which the application is used. This
diagram shows how the application use cases are related to each other and how the users can get
at them. Each bubble represents a use case and each stick person represents a user.
A use case is a list of steps, typically defining interactions between a role (known in Unified
Modeling Language (UML) as an "actor") and a system, to achieve a goal. The actor can be a
human, an external system, or time.

Figure 4.1: Business location advisor App Use Case Diagram

Brief Use case Description


The user who is the main actor in our project, he can do some of the process:
1- Register to App

29

Open the project , The project checks if the mobile or PDA that is supported Android
platform connected to the internet or not, if yes open the project and then the application show
registration activity to user, required enter data to registration ,after registration the user must
log in moving to the application.
2- Login to App
User should inputs his/her name into the business "BLAGPS" application via Login Screen.
3- Edit Profile
After the first step the user can view and edit profile details , and can add other information
about yourself. The user can see number of your points, comments and post
4- Add New Project
To choose the best place to start project, the investor inputs his/her name and ID number into the
BGIS application via Login Screen, the application displays Screen, which show all projects in
the place you want to set up a project in which, The investor will ask about the best place to add
project, according to the recommendations of the economic expert, the investor must click on the
List Add a new project, the investor must specify the place, who wants to set up a project, the
investor must specify the type of project, who wants to set up, the application validates the
investor is eligible to start the project according to the recommendations of the economic expert,
the experience validates the investor is eligible to start this project. If not eligible, the investor is
asked to choose another.
5- Search
The user can able to search cities around Gaza cities by city name.

Use Case Details:U1: Register


Register
30

Pre-Conditions
Post-Conditions
Normal Path
Abnormal Path

Install and open the project.


Enter valid username/password and click register button.
View login screen.
Invalid username/password and Ask for correction
Table 4.1: Register Use Case Details

U2: Login
Login
Pre-Conditions
Post-Conditions
Normal Path
Abnormal Path

Open the project.


Enter valid username/password and click login button.
View project
Invalid username/password and Ask for correction
Table 4.2: Login Use Case Details

U3: Edit Profile

Pre-Conditions
Post-Conditions

Edit Profile
Login to application and click on profile tab.
Update Image Change Username Add Information Add Site Add

Normal Path

Phone No. Change Email Address Save all Data Changes.


Show alert dialog that say the updates were successfully and go to main

Abnormal Path

layout.
Show error messages related to error in the event of errors in the input like
empty username or email address not matches to email pattern.
Table 4.3: Edit Profile Use Case Details

U4: Add New Project

Pre-Conditions
Post-Conditions
Normal Path

Add New Project


Investor: is a person who seeks to set up a project in order to earn profits.
The Investor will be start the project when he/she wants if he/she is project
is available.
1. The use case begins when investor wants to start project.
2. The investor inputs his/her name into the business advisor application via
Login Screen, to choose the best place to start project.
3. The application displays Screen, which show all projects in the place
you want to set up a project in which
31

Abnormal Path

4. The investor will ask about the best place to add project, according to the
recommendations of the business expert.
5.The investor must click on the List Add a new project.
6. The investor must select the place, who wants to set up a project.
7. The investor must select the type of project, who wants to set up.
8. The application validates the investor is eligible to start the project
according to the recommendations of the business expert.
9. The experience validates the investor is eligible to start this project. If
not eligible, the investor is asked to choose another.
Invalid the place of project and Ask for correction.
Table 4.4: Add New Project Use Case Details

U5: Search

Pre-Conditions
Post-Conditions
Normal Path
Abnormal Path

Search
Login to application and click on search tab.
User can able to search by place and city.
Application display search results similar to the words entered
The application will not display any results because there are no
similar search results.
Table 4.5: Search Use Case Details

4.6 Activity Diagram


The Activity diagram is another important diagram in UML to describe dynamic aspects of the
system, that is basically a flow chart to represent the flow form one activity to another activity.
The activity can be described as an operation of the system.
So the control flow is drawn from one operation to another. This flow can be sequential,
branched or concurrent. Activity diagrams deals with all type of flow control by using different
elements like fork, join etc.
The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behavior of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.
Activity is a particular operation of the system. Activity diagrams are not only used for
visualizing dynamic nature of a system but they are also used to construct the executable system
32

by using forward and reverse engineering techniques. The only missing thing in activity diagram
is the message part.
The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behavior of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.

AC1: Signup

33

Create new user account

Ask for correction

Successfully created

Figure 4.2: business advisor App Signup Activity

AC2: Log In
34

Figure 4.3: business advisor Log In Activity

35

AC3: Edit profile

Figure 4.4: business advisor Edit profile Activity


AC4: Add New Project
36

Enter username and password

Display error

Add new project

Select the place of project

Select the type of project

The place is selected


successfully

Figure 4.4: business advisor Add New Project Activity

AC5: Search
37

Figure 4.5: business advisor Search Activity

38

4.7 Sequence Diagram


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

Figure 4.6: business advisor App Register Sequence Diagram


39

S2: Login

Figure 4.7: business advisor App Login Sequence Diagram

S3: Edit Profile

Figure 4.8: business advisor App Edit profile Sequence Diagram


40

S4: Add Project

Figure 4.8: business advisor App Add Project Sequence Diagram

S5: Search

Figure 4.8: business advisor App Search Sequence Diagram


41

Chapter 5
Architecture and Design

42

5.1 Introduction
This chapter overviews design strategies for agile software development teams. These strategies
are critical for scaling agile software development to meet the real-world needs of modern IT
organizations. The Agile approach to design is very different than the traditional approach, and
apparently more effective too. It is important to understand.

5.2 Agile Design Practices


There is a range of agile design practices, see Figure 5.1, from high-level architectural practices
to low-level programming practices. Each of these practices are important, and each are needed
if your team is to be effective at agile design.

Figure 5.1 : Agile design practices.

43

5.2 Agile Design Philosophies

Agile designs are emergent, theyre not defined up front. The business advisor design will
emerge over time, evolving to fulfill new requirements and take advantage of new
technologies as appropriate. Although we will often do some initial architectural modeling at
the very beginning of a project during iteration 0 this will be just enough to get our team
going. Agilists dont need to get a fully documented set of models in place before you may
begin coding (although sometimes, just sometimes, you may need to perform look-ahead

modeling).
Your unit tests form much of your detailed design documentation. With a test-driven
development (TDD) approach to development you write a test and then you write just enough
domain code to fulfill that test. An important side effect of this approach is that your unit
tests not only validate your code, they also form the majority of your design documentation
in the form of executable specifications. TDD is complementary to AMDD and is actually

scaled by AMDD.
Design models need to be just barely good enough. We dont need to model every single
detail in your models, the models dont need to be perfect, and they certainly dont need to be
complete. Remember the last time you coded from a design spec (if we ever did)? Did you
really look at all the fine-grained details? No, because you were competent enough to handle

the details yourself.


Multiple models. Effective developers realize that each type of model has its strengths and
weaknesses, therefore they need to apply the right model(s) for the job at hand. Because
Mobile development is complex you quickly realize that you need to know about a wide
range of models in order to be effective. All of the models mentioned in this newsletter, and

more, are described at the Agile Models Distilled page.


We typically only need a subset of the models. Although there are many modeling
techniques available to your, the fact is that any given project team will only require a subset.
Think of it like this: in your toolbox at home you have a wide array of screwdrivers,
wrenches, pliers, and so on. For any given repair job you will use only a few of the tools.
Different jobs, different tools. we never need all of your tools at once, but over time you will

use them in a variety of manners.


Each model can be used for a variety of purposes. A UML class diagram can be used to
depict a high-level domain model or a low-level design, not to mention things in between.
44

Use cases can be used to model the essential nature of a process or the detailed system usage
description which takes into account architectural decisions. Never underestimate how

flexible you can be with models.


Designers should also code. Whenever a model is handed over to someone else to code
there is significant danger that the programmer will not understand the model, will miss some
of its nuances, or may even ignore the model completely in favor of their own approach.
Furthermore, even when hand-offs are successful you will discover that you need far more
details in your models than if you had simply coded it yourself. In short, separating design
from programming is a risky and expensive proposition. It is far more effective to have

generalizing specialists on your team that can both design and code.
Prove it with code. Never assume your design works; instead, obtain concrete feedback by

writing code to determine if it does in fact work.


Feedback is your friend. Never forget that you are a mere mortal just like everyone else on
your team. Expect to receive feedback -- I suggest you actively seek it -- about your work
and be prepared to consider it and act accordingly. Not only will your system be the better for

it, you will likely learn something in the process.


Sometimes the simplest tool is a complex CASE tool. When it comes to requirements I
prefer inclusive tools such as paper and whiteboards, but when it comes to design I tend to
lean towards sophisticated tools which (re)generate code for me. Like my grandfather always

said, you should use the right tool for the job.
Iterate, iterate, iterate. With an iterative approach to development you work a bit on
requirements, do a bit of analysis, do a bit of design, some coding, some testing, and iterate
between these activities as needed. You will also iterate back and forth between working on

various artifacts, working on the right artifact at the right time.


Design is so important you should do it every day. It is critical to think through how
youre going to build something, to actually design it, before you build it. our design efforts
may take on the form of a sketch on a whiteboard, a detailed model created with a
sophisticated modeling tool, or a simple test that you write before you write business code.
Agile developers realize that design is so important that they do it every day, that design isnt
just a phase that you do early in the project before getting to the real work of writing the

source code.
Design for your implementation environment judiciously. Take advantage of features of
your implementation environment, but be smart about it. Trade-offs are normal, but
45

understand the implications and manage the risks involved. Every time you take advantage of
a unique performance enhancement in a product (such as a database, operating system, or
middleware tool) you are likely coupling our application to that product and, thus, reducing
its portability. To minimize the impact of implementation environment on our application, we
can layer your software and wrap specific features to make them appear general to their

users.
Document complicated things. If it is complicated, then document it thoroughly. Better yet,
invest the time to design it so it is simple. Remember the AM practice Create Simple

Content.
Do not over document. You need to document your design, but you shouldnt over
document either. Remember, users pay you to build systems, not to document them. There is
a fine line between under documenting and over documenting, and only through experience

are you able to find it. Be as agile as possible when it comes to documentation.
Don't get sidetracked by the data community. Unfortunately many within the data
community believe that you require a serial approach to design, particularly when it comes to
databases. This belief is the result of either not understanding evolutionary development or
some misguided need to identify the "one truth above all else". Evolutionary database design
techniques such as agile data modeling, database refactoring, and database regression testing
work incredibly well in practice.

5.2 Design Throughout The Lifecycle


Figure 5.1 depicts the generic agile software development lifecycle. For the sake of discussion,
the important thing to note is that there is no design phase, nor a requirements phase for that
matter, which traditionalists are familiar with. Agile developers will do some high-level
architectural modeling during Iteration 0, also known as the warm-up phase, and detailed design
dduring development iterations and even during the end application (if needed).

46

Figure 5.1: The Agile SDLC.

5.3 Business location advisor application Architecture


In the early days of mobile applications development for smartphones, there were only two
dominant client architectures, the web app architecture relying on the phone web browser and the
native app which involved custom development for the device OS. It was only in 2009 that a
third option started to emerge. This was the Hybrid App approach, which attempted to plug the
main limitation of the Web App approach: the lack of access to device features such as GPS and
Bluetooth.
All mobile applications today use one of these three mobile architectures. Hybrid App
architecture is growing in popularity and most enterprises are evaluating various hybrid
application development platforms for enterprise-wide adoption.
Often, mobile applications are just supposed to extend the capabilities of existing desktop or web
applications. However, in addition to the obvious difference in the form factor and the touch
sensitive screen, the user experience expected is quite different. The user is a lot less patient with
a mobile application; typically, the user wants to quickly start the app, accomplish a task and be
done. Moreover, the user expects a visually stunning, highly responsive and intuitive interface.
Thus, mobile applications that simply port an existing desktop or web experience to the mobile
without rethinking the entire user experience usually under-perform. Client architecture plays an
integral part in the user experience design of the mobile application.
The universe of mobile devices comprises the entire range of phones, from low-end feature
phones to high-end smartphones and tablets. Building mobile apps for feature phones is quite a
47

different challenge and involves a different set of technologies like J2ME, BREW, content
adaptation, and XHTML. With the growing rate of adoption of smartphones and tablets across
the world, there is a large demand for mobile applications designed for popular mobile devices
running operating systems like iOS, Android, WindowsPhone/8, and Blackberry operating
systems. Moreover these apps need to run on devices with largetouch screens, broadband (Wifi,
3G) connectivity, camera and other sensors. Here we focus on the architecture of mobile
applications designed for these smartphones and tablets.

Figure 5.3: Business location advisor application Architecture.

48

5.3 CRC Design


Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of
object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as
a teaching tool,[40] but are also popular among expert designers[41] and recommended by
extreme programming supporters.[42] Martin Fowler has described CRC cards as a viable
alternative to UML sequence diagram to design the dynamics of object interaction and
collaboration.[41]
Using a small card keeps the complexity of the design at a minimum. It focuses the designer on
the essentials of the class and prevents her/him from getting into its details and inner workings at
a time when such detail is probably counter-productive. It also forces the designer to refrain from
giving the class too many responsibilities. Because the cards are portable, they can easily be laid
out on a table and re-arranged while discussing a design with other people.

5.3.1 CRC Android administrator user


Table 5.1 shows Android user class in business advisor with its responsibilities and collaborators.

Class Name : Android administrator user


Responsibilities
Configuration, Support, Maintenance, and
Reliable operation
Adding and deleting users.
Adding and deleting roles
Modifying user and role configurations, other
than security attributes.
Assigning and modifying the security attributes
of a user, role, or rights profile.
Creating and modifying rights profiles.
Assigning rights profiles to a user or role.
Assigning privileges to a user, role, or rights
profile.
Assigning authorizations to a user, a role, or
rights profile
Removing privileges from a user, role, or
rights profile.
Removing authorizations from a user, role, or
rights profile.

Collaborators
administrator user

business expert user

administrator user
administrator user
administrator user

business expert user


business expert user
business expert user

administrator user

business expert user

administrator user
administrator user
administrator user

business expert user


business expert user
business expert user

administrator user

business expert user

administrator user

business expert user

administrator user

business expert user

49

5.3.2 CRC Android investor user


Table 5.2 shows Android user class in business advisor with its responsibilities and collaborators.

Class Name : Android investor user


Responsibilities

Collaborators

Download application
Create new user (investor)

Administrator user

The investor will ask about the best place to


add project, according to the recommendations
of the business expert.
The investor must click on the search view to
Add a new project
The investor must select the place, who wants

Business expert user

to set up a project.
The investor must select the type of project,
who wants to set up.
The investor show the best place that chosen
by the recommendations of the business expert.

5.3.2 CRC Android business expert user


Table 5.3 shows Android user class in business advisor with its responsibilities and collaborators.

Class Name : Android business expert user


Responsibilities
Download application.
Create new user (business expert).
Add new places
Suggest places to create projects.
Determine why the project is important in this

Collaborators
Android administrator user
Android investor user

region.

5.5 Database Table


A database is a data structure that stores organized information, the following database tables ,
interrelated by different relations to comprises business advisor database.
Table 5.4 shows user "admin" database table attributes, their types, and attributes size.

Admin
50

Id
INT(10)
User
VARCHAR(50)
Password
VARCHAR(50)
Table 5.4 Admin Table in Database
Table 5.4 shows user "Business expert" database table attributes, their types, and attributes size.

Business Expert
Id
INT(10)
User
VARCHAR(50)
Password
VARCHAR(50)
Table 5.5 Business expert Table in Database
Table 5.5 shows user "Investor" database table attributes, their types, and attributes size.

Investor
Id
User
Password

INT(10)
VARCHAR(50)
VARCHAR(50)
Table 5.6 Investor in Database

Table 5.7 shows " Add new place" database table attributes, their types, and attributes size.

Location
Id
INT(10)
NAME
VARCHAR(50)
Database CATEGORY
VARCHAR(50)
LATITUDE
Float
Table 5.8 LONGITUDE
Float
table" database table attributes, their types, and attributes size.
Table 5.7

Add new location table in

shows "Suggest location

Suggestion
Table 5.8
Database

5.5
Entity
(ERD) is

Id
NAME
CATEGORY

INT(10)
VARCHAR(50)
VARCHAR(50)

LATITUDE
LONGITUDE
DETAILS
RATING
STATUS
RELATED USER

Float
Float
VARCHAR(50)
VARCHAR(50)
VARCHAR(50)
VARCHAR(50)

Suggest location table in

Entity Relationship
Diagram
Relationship

Diagram

very important and the first

step in designing database after understanding requirements well, we design the ERD which
leads to good mapping.
51

Figure 5.4: ER Diagram of Business location advisor application.

5.6 Graphical user interface (GUI)


In computing, a graphical user interface (GUI) is a type of interface that allows users to interact
with electronic devices through graphical icons and visual indicators such as secondary notation,
as opposed to text-based interfaces, typed command labels or text navigation. GUIs were
introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs),
which require commands to be typed on the keyboard.
Smaller mobile devices such as PDAs and smart phones typically use the WIMP elements
(window, icon, menu, pointer) with different unifying metaphors, due to constraints in space and
available input devices. Applications for which WIMP is not well suited may use newer
interaction techniques, collectively named as post-WIMP user interfaces, This point has been
taken into consideration in our project.

5.6.1 Business advisor Android Application GUI:


Register:

52

Figure 5.4 shows the page of that enable users "investors" or "business expert" to sign up.

Figure 5.4: Register GUI of business advisor location.

Login:
Figure 5.5 shows the page of that enable users "investors" or "business expert" to login.

53

Figure 5.5 Login GUI of business advisor location.

Main menu:
Figure 5.6 shows the home page of business location advisor.

Figure 5.6 Main menu of business advisor location.

Add:

54

Figure 5.7 shows the page through which the expert can determines the geographic location of
the place to add, or suggestion.

Figure 5.7 Add GUI of business advisor location.

Add new place:


Figure 5.8 shows the page through which the expert can add new place to menu.

Figure 5.8 Add new place GUI of business advisor location.

Suggest Location:
55

Figure 5.9 shows the page through which the expert can suggest location( best place to create
new project) and select why he/she choose it.

Figure 5.9 Suggest Location GUI of business advisor location.

Find City:
Figure 5.10 shows the page that appear to the user (investor) when searching for a place to build
the project.

Figure 5.10 Find City GUI of business advisor location.

The best Place to create project:


56

Figure 5.11 shows the page that appear to the user (investor) to determine the most suitable for
the establishment of a new project location.

Figure 5.11 The best Place to create project GUI of business advisor location.

57

5.7 Implementation
The implementation phase takes the requirements and design phase product and implements
them using appropriate technologies. In the case of validation testing, it is during this phase that
test cases are completed and automated in preparation for validation testing. Typically, a lot of
testing on the early system versions is also performed during this phase, not only to validate the
system, but to validate that there are no problems with the test cases themselves.
A program will write based upon the algorithm designed in the last phase (design). A piece of
code is written for every module and checked for the output. We will use the Java for android to
develop the software. At this phases must match between the requirements and the output
of the application to determine the verification for it. As mentioned, the implementation language
will be Java because mostly Android applications are written in it.

5.8 Development Tools


The following tools have been used to develop "business location advisor" application:MySQL: is the database where all information/data related to requests, records and logs is
stored.
APPSERV: is an open source tool for Windows with Apache, MySQL, PHP and other additions,
in which these applications are configured automatically, allowing us to run a full web server. As
extra features phpMyAdmin to manage MySQL
ADT Bundle: Android Development Tools (ADT) is a plugin for the Eclipse IDE that is
designed to give a powerful, integrated environment in which to build Android applications.
ADT extends the capabilities of Eclipse to let quickly setup new Android projects, create an
application UI, add packages based on the Android Framework API, debug applications using
the Android SDK tools, developing in Eclipse with ADT is highly recommended and is the
fastest way to get started. With the guided project setup it provides, as well as tools integration,
custom XML editors, and debug output pane, ADT gives an incredible boost in developing
Android applications.

58

Chapter 6
Testing and Evaluation

59

6.1 Testing
Testing under a traditional, or waterfall approach, has followed the same steady structure and
processes for many years. A testing team is often led by a testing manager who manages a group
of hands-on, dedicated testers. That manager usually has a defined project schedule for when
testing will start and finish, from which a test document is prepared by the team. This document
is usually very large and contains all of the test cases to be executed over a lengthy period of
time. The results are handed to the overall project manager who sets up a meeting with testers to
discuss the findings. From here the testers set up meetings with the development staff to discuss
failed test cases and figure out which ones can be fixed and which ones will be passed to the next
release.
Traditional testing has worked adequately over the years but has always had limitations. For
example, a software developer may get a bug report back from the testing team months after he
has written the code, making the change more difficult to implement. Another issue is addressing
user expectations - testing may be the first time a user is viewing the built functionality since
approving requirements or design concepts many months or even years earlier. If the function, or
even the entire system, is not built to user needs the entire project may be in jeopardy.
The Agile approach to testing is much more integrated. The analysts, developers, and testers
work together to deliver increments, or sprints, of functionality instead of one massive software
package at the end of the project. Testing is performed during each increment and not at the end
of the project, resulting in earlier identification of issues and minimized re-work. For example,
developers make the changes right away and not months later, so they have an accurate
understanding of the problem and can make the most appropriate correction.
Working as a unit under the agile method ensures that all work streams are focused on one
common goal building desired functionality, as outlined in user stories. User stories are
requirements which are prioritized and identified by the product owner (often times, the client).
Testers are involved throughout the entire sprint process, as outlined in Figure 6.1.
This involvement, including story development and estimation exercises, allows testers to more
accurately identify mistakes or omissions, better document what is needed, and get things done
more quickly.
60

Figure 6.1: Testing Involvement across Agile Process.

6.2 Purpose of Testing


There are two fundamental purposes of testing: verifying procurement specifications and
managing risk. First, testing is about verifying that what was specified is what was delivered: it
verifies that the product (application) meets the functional, performance, design, and
implementation requirements identified in the procurement specifications. Second, testing
is

about

managing

risk

vendor/developer/Integrator.

for

both

the

acquiring

agency

and

the

systems

The testing program is used to identify when the work has

been completed so that the contract can be closed, the vendor paid, and the system shifted by
the agency into the warranty and maintenance phase of the project. [43]

6.3 Importance of Testing


A good testing program is a tool for both the agency and the Integrator/supplier; it
typically identifies the end of the development phase of the project, establishes the
criteria for project acceptance, and establishes the start of the warranty period. [44]

61

6.4 Test Environment


Mobile applications are first tested within the development environment using emulators and
later subjected to real device testing. Emulators provide an inexpensive way to test applications
on mobile phones. The following tools that used for test environment our Android project.

Emulators: Mobile emulators help us test our project on different devices without having to
actually have them on hand. These technologies serve as virtual pieces of hardware that
operate on a PC or laptop. By emulator, we can choose the sizes and OS versions, or even
modules to test. And verify certain functionality that is not specific to any device, carrier or

operating system.
Real Devices: We experimented by running project on a real devices like Sony, Samsung,
HTC and LG.

and testing on real handsets gives reliable and accurate results, gives

interoperability testing because performed on a live network and provide UX user experience
by end users.

6.5 Test Challenges


Our project needs to work on a range of devices, meet user expectation to guarantee quality of
project and achieved user requirements and non-functional requirement.
Our project needs to Wi-Fi network, able to show maps directly via the Internet, here lies the biggest
challenge, as the Internet companies do not cover all areas of the Gaza Strip.
At last, Google Maps does not display the names of all the places in Gaza, so we decided to add more
accurate to place detailed data, to be a tourist guide tourist places in Gaza, location and entertainment.

6.5 Checklist Business advisor App Testing


This checklist is specifically designed to test the characteristics of business advisor app.
Obviously, it tests only generic app characteristics and not the functionality of the app. For this a
separate test approach and test script must be created. The same goes of course for performance
testing, usability testing, security testing and other testing activities necessary for our specific
app.

62

For business advisor app, the checklist split into four different fields:
Device specific characteristics. These are characteristics that are related to the device on
which the app is installed.
Network specific checks
App checks. These are things to check that have to do with functionality that is frequently
used in an app.
App User interface checks.
1- Device Specific Checks
#

Description

1.1
1.2

Can the app be installed on the device?


Does the app behave as designed/desired if there is
an incoming call?
Does the app behave as designed/desired if there is
an incoming SMS?
Does the app behave as designed/desired if the
charger is connected?
Does the app behave as designed/desired if the
charger is disconnected?
Does the app behave as designed/desired if the
device goes to sleeping mode
Does the app behave as designed/desired if the
device resumes from sleeping mode
Does the app behave as designed/desired if the
device resumes from lock screen?
Does the app behave as designed/desired if the
device is tilted?
Does the app behave as designed/desired if the
device is shaken?
Does the app behave as designed/desired if a local
message is coming from another app (think of:
calendar reminders, to-do task etc.).
Does the app behave as designed/desired if a push
message is coming from another app (think of:
twitter mentions, whatsapp message, wordfeud
invitation, etc).
Does the app interact with the GPS sensor correctly
(switch on/off, retrieve GPS data)?

1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12

1.13

63

OK/
NOK?
OK
OK

Remarks
A
A

OK

OK

OK

OK

OK

OK

OK

NOK

NOK

NOK

N/A

1.14
1.15

1.16

1.17

1.18

1.19

1.20
1.21
1.22
1.23
1.24
1.25
1.26
1.27

Is the functionality of all the buttons or keys on the


NOK
device defined for this app?
Verify that buttons or keys which have no defined
NOK
function have no unexpected behaviour on the app
when activating.
In case theres a true back button available on the
OK
device does the back button take the user to the
previous screen?
In case theres a true menu button available on
OK
the device, does the menu button show the apps
menu?
In case theres a true home button available on
OK
the device, does the home button get the user back
to the home screen of the device?
In case theres a true search button available on
OK
the device, does this get the user to some form of
search within the app?
Does the app behave as designed/desired if the
OK
Battery low message is pushed
Does the app behave as designed/desired if the
OK
sound on the device is turned off?
Does the app behave as designed/desired if the
OK
device is in airplane mode?
Can the app be de-installed from the device?
OK
Does the application function as expected after reOK
installation?
Can the app be found in the app store? (Check after
OK
go-live)
Can the app switch to different apps on the device
OK
through multitasking as designed/desired?
Are all touch screen positions (buttons) working
OK
when a screen protector is used.
Table 6.1: Device Specific Checks

2- Network Specific Checks


64

A
A

A
N
A
A
A
A
N
A
A

Description

2.1
#

Does the app behave according to


specification if connected to the internet
through Wi-Fi?
Does the app behave according to
OK
specification if connected to the internet
through 3G?
Does the app behave according to
OK
specification if connected to the internet
through 2G?
Does the app behave according to
OK
specification of the app is out of network
reach?
Does the app resume working when it gets
OK
back into network reach from outside reach
of the network?
Update transactions are processed correctly
OK
after re-establishing connection.
Does the app still work correctly when
OK
tethering or otherwise connected to another
device
What happens if the app switches between
OK
networks (Wi-Fi, 3G, 2G)
Does the app use standard network ports
NOK
(Mail: 25, 143, 465, 993 or 995 HTTP: 80
or 443 SFTP: 22) to connect to remote
services, as some providers block certain
ports.
Table 6.2: Network Specific Check

2.2

2.3

2.4
2.5
2.6
2.7
2.8
2.9

OK/
NOK?
OK

3- App Specific Checks


65

Remarks
A

A
A
N
A
A
A

Description

3.1

Has the app been tested on different type of


devices and different versions of OS?
Stability check: if the app has a list (for
OK
instance of pictures) in it, try scrolling
through it at high speed.
Stability check: if the app has a list (for
OK
instance of pictures) in it, try scrolling to
before the first picture or behind the last
picture.
Is downloading of the app prevented in case
NOK
its bigger than the OS allows downloading
when connected to cellular networks?
Integration: does the app connect correctly to
NOK
the different social networks (LinkedIn,
twitter, facebook, etc).
The app does not interfere with other apps
OK
when in background/multitasking mode
(using GPS, playing music, etc.).
Can the user print from the app (if applicable)
NOK
The search option in the app displays relevant
OK
results
Verify most common gestures used to control
OK
the app.
What happens if you select different options
OK
at the same time (undesired multitouch, for
example select two contacts from the
phone book at the same time).
App name should be self explanatory
OK
Does the app limit or clean the amount of
OK
cached data.
Reloading of data from remote service has
OK
been properly designed to prevent
performance issues at server-side. (manual
reloading of data can reduce the amount of
server calls)
Does the app go to sleep mode when running
OK
in the background (prevent battery drain)
Table 6.3: App Specific Checks

3.2

3.3

3.4

3.5
3.6
3.7
3.8
3.9
3.10

3.11
3.12
3.13

3.14

OK/
NOK?
OK

Remarks
A
A

N
A
N
A
A
A

A
N
A

4- AppUser Interface Checks: This checklist is based on the recommendations of Apple and
some other experts. This checklist is not a substitute for a usability test, to get a good feeling
of the user experience of an app a user experience test is always the most reliable method.
66

Description

4.1

To keep controls as unobtrusive as possible


for instance by fading them out if they are not
used for a while.
Make it possible for users to go back to a
previous screen for instance by adding a back
or cancel button
The main function of the app should be
apparent immediately. It should speak for
itself.
Use at most one action on the screen that is
highlighted as the most likely for the user.
(Example: in iOS a blue button represents
the default or most likely action).
Minimize user actions by using a picker or a
table view where users can select a certain
choice over a data entry field where users
have to type a choice
In an app, the user should not be able to store
files locally, outside the app sandbox.
In an app, the user should not be exposed to
the permissions of a specific file
If there is a long list of data to scroll trough,
provide a search option above the list.
If performance is slow, indicate a progress
status icon (Loading), preferably with
specific message.
In case of live filtering of data while the user
enters his search query, verify the
performance.
The appearance of buttons that perform
standard actions are not altered in the app
(for instance: refresh, organize, trash,
Reply, back, etc.)
Do not use standard buttons for other
functions then that they are normally used
for
The app should respond to all changes in
device orientation, as per the design
Tapable elements should be about 7x7 mm in
size, using the pixel density of the target
device you can calculate the amount of

4.1

4.2
4.3

4.4

4.5
4.6
4.7
4.8
4.9
4.10

4.11

4.12
4.13

67

OK/
NOK?
OK

Remarks
A

OK

OK

OK

OK

OK

OK

OK

NOK

OK

OK

OK

OK

OK

4.14

4.15
4.16
4.17
4.18
4.19

pixels (chapter documentation contains a


link to different devices compared).
Do not redefine gestures in your app that have
OK
A
a standard meaning (example: swiping
from top to bottom enables the notification
center)
Requirement to login is delayed in the app as
OK
N
long as possible
If the app is stopped at an unexpected time,
OK
N
user data should be saved locally and
available at start-up.
Users should be warned of the consequences
OK
A
of deleting a document
Keyboard adjusts to expected input (for
OK
A
instance numbers/letters when expected).
Are inactive buttons clearly distinguished
OK
A
from active buttons?
Table 6.4: App User Interface Checks

6.6 Test Environment Android Automated Testing


Android testing is based on JUnit. Testing for Android can be classified into tests which require
only the JVM and tests which require the Android system.
Robotium framework: Robotium is an open source automation testing framework that is used
to write a robust and powerful black box for Android applications (the emphasis is mostly on
black box test cases). It fully supports testing for native and hybrid applications. Native apps are
live on the device that is, d esigned for a specific platform. Mostly used to automate UI test
cases and internally uses run-time binding to Graphical User Interface (GUI) components.
The test cases written using Robotium can either be executed on the Android Emulator (Android
Virtual Device (AVD).

The features and benefits of Robotium are as follows:


68

Robotium helps us to quickly write powerful test cases with minimal knowledge of the
application under test.
Robotium offers APIs to directly interact with UI controls within the Android application
such as EditText, TextView, and Button.
The test application project and the application project run on the same JVM, that is, Dalvik
Virtual Machine (DVM).
Robotium supports Android features such as activities, menu, and context menu.
Robotium automated tests can be implemented quickly. Robotium is built on JUnit, because
of which it inherits all JUnit's features. The Robotium framework automatically handles
multiple activities in an Android application.
Robotium test cases are prominently readable, in comparison to standard instrumentation
tests.
Scrolling activity is automatically handled by the Robotium framework.

Figure 6.2: Automated Testing Using Robotium Framework.

6.6.1 Documented Test Results


Android testing is based on JUnit. Testing for Android can be classified into tests which require
only the JVM and tests which require the Android system, After complete the test cases using

69

Robotium framework , we conclude that the functions of our project work correctly, without
errors, efficiency and meets the expectations of the users, as shown in the figure below.

Figure 6.3: Testing Results Using Robotium Framework

6.7 Beta Testing


Mobile app beta tests typically focus on quality, user acceptance, and performance. Our project is
released on Google Play market in beta version to for users to evaluate. The users downloaded
our project on their devices. The results were perfect with many endorsements and other types of
feedback. Targeting actual users to try the app was an efficient method of evaluation.

6.8 Maintenance
Application maintenance is automated in this system for the purpose of correcting faults,
improving performance or adapting the system to a new environment. The programmatically
implemented software module is tested for the correct output. Bugs and errors are removed at
this phase.
70

In the process of testing, a series of tests and test cases are performed to check the module for
bugs, faults, and other errors. Erroneous codes are written and tested again until desired output is
achieved.
The system can be maintained when needed or required as such:
(1) A new functionality is added.
(2) The software models change.
(3) Software must be updated to run on improved hardware or with improved software.

6.9 Evaluation
After interview Municipality of Deir al-Balah in Gaza about business location advisor
mechanisms and benefits many of their managers expressed their satisfaction and acceptance of
project, however many of employees satisfied about application goals which expressed by them
as organizer of people queries, their are added more requirements especially in privacy issue but
the give general acceptance of the application, many of questioners has distributed to companies
and acceptance ratio got 90% as shown in figure A3 in Appendices.

71

Chapter 7

Future Works and Conclusion


.

7.1 Introduction
This chapter summarizes discussion about the project and shows the future work. At the end, it
gives a conclusion for the project with Results has been reached and provides some
important the recommendations for developers on the system in the future. The new system has
been deployed with so much care that it is free of errors and at the same time efficient and less
time consuming. System is robust. Also provision is provided for future developments in the
system.

72

7.2 Conclusion
The location of a business is the place where it is situated. There are a number of factors that
need to be considered in choosing a location for a business. One of the earliest decisions any
entrepreneur has to make is where to locate his or her business. In order to do this, he or she has
to make a careful assessment of costs. The ideal location would be one where costs are
minimized. The entrepreneur would need to look at the benefits which each area had to offer as
well as any government help which might be available.
So a good selection of the project site of the most important positive factors to help the success
of your project, being in the right location is a key ingredient in a business's success. If a
company selects the wrong location, it may have adequate access to customers, workers,
transportation, materials, and so on. Consequently, location often plays a significant role in a
company's profit and overall success. A location strategy is a plan for obtaining the optimal
location for a company by identifying company needs and objectives, and searching for locations
with offerings that are compatible with these needs and objectives. Generally, this means the firm
will attempt to maximize opportunity while minimizing costs and risks.
A company's location strategy should conform with, and be part of, its overall corporate strategy.
Hence, if a company strives to become a global leader in telecommunications equipment, for
example, it must consider establishing plants and warehouses in regions that are consistent with
its strategy and that are optimally located to serve its global customers. A company's executives
and managers often develop location strategies, but they may select consultants (or economic
development groups) to undertake the task of developing a location strategy, or at least to assist
in the process, especially if they have little experience in selecting locations.
In Gaza, site selection is a rare event in the life of most companies, even the thought of it can be
very daunting, and time consuming. The application (Business location advisor) is a short guide
on how to be better prepared when choosing where to relocate or expand your business. It will
help you articulate your prime objectives, clarify your critical goals, and take some of the
mystery out of choosing a location.

73

7.3 Project Challenges


Our project needs to Wi-Fi network, able to show maps directly via the Internet, here lies the
biggest challenge, as the Internet companies do not cover all areas of the Gaza Strip.
Information provided by the Google Maps may be inaccurate or out of date, Therefore, we faced
big problems in identifying places, especially that Google Maps does not cover the places in
Gaza
The Google Maps relies on downloading and displaying large images. because of this, it may
load slowly or not at all if you have a connection that is limited in speed. Similarly, the website
may function poorly or not at all if viewed on a browser that is not fully updated or if Java is not
updated.

7.4 Future Works


We hope that our application working under all platforms such as windows phone and IOS to
reach all people and become the first choice for companies to market themselves to wider
range of people.

Appendices
Appendices A: Evaluation Questionnaire of business location advisor


74

""Business Location Advisor




" Business Location
"Advisor

.

.

:-:

:
-:
75

-1

-2

::

-3

"-: "Business Location Advisor


:

" "5 .
" "4 .
" "3 .
" "2 .
" "1 .

Business Location Advisor

1
2

Business Location Advisor


Business Location Advisor

76

5 4 3 2 1
5 4 3 2 1

Business Location Advisor

5 4 3 2 1
5 4 3 2 1

Business Location Advisor

3
4

Business Location Advisor


Business Location Advisor

5 4 3 2 1
5 4 3 2 1
5 4 3 2 1

Business Location Advisor


Business Location Advisor

1
2
3

Business Location Advisor


Business Location Advisor

5 4 3 2 1
5 4 3 2 1
5 4 3 2 1

Business Location Advisor


Business Location Advisor

1
2
3

Business Location Advisor

5
5
5
5

4
4
4
4

3
3
3
3

2
2
2
2

Business Location Advisor

1
1
1
1

Business Location Advisor


Business Location Advisor
Business Location Advisor

::::::::: :::::::::
Questionnaire results
The managers and employee expressed their satisfaction and acceptance of project, however many of
employees satisfied about application goals which expressed by them as organizer of people queries,
their are added more requirements especially in privacy issue but the give general acceptance of the
application, many of questioners has distributed to companies and acceptance ratio got 90% as shown in
figure A2.

77

1
2
3
4

Business Location Advisor Chart


6
5
4
3
2
1
0

Figure A1: Questioner Result

Business Location Advisor Acceptance Percentage


5% 5%

90%

Figure A2: Business Location Advisor Acceptance Percentage

References
[1] Corporate Site Selection of greyhill advisors Retrieved from: http://greyhill.com/corporate-siteselection/.

78

[2] "Geographic Information Systems as an Integrating Technology: Context, Concepts, and Definitions".
ESRI. Retrieved 9 June 2011.
[3] Maliene V, Grigonis V, Paleviius V, Griffiths S (2011). "Geographic information system: Old
principles with new capabilities". Urban Design International 16 (1). pp. 16. doi:10.1057/udi.2010.25.
[4] Clarke, K. C., 1986. Advances in geographic information systems, computers, environment and urban
systems, Vol. 10, pp. 175184.
[5] Maliene V, Grigonis V, Paleviius V, Griffiths S (2011). "Geographic information system: Old
principles with new capabilities". Urban Design International 16 (1). pp. 16. doi:10.1057/udi.2010.25.
[6] C. J. Kaufman, Rocky Mountain Research Lab., Boulder, CO, private communication, May 1995.
[7] What Is Android Technology? Retrieved from: http://www.wisegeek.com/what-is-androidtechnology.htm].
[8] Location Strategy - Research Article from Encyclopedia of Management.
[9] Kincaid Location Strategy - Research Article from Encyclopedia of Management.
[10] http://www.thesitewizard.com/faqs/what-is-mysql-database.shtml.On 24/1/2014 at 9:15.
[11] Mahapatra, Lisa (November 11, 2013). "Android Vs. iOS: Whats The Most Popular Mobile
Operating System In Your Country?". Retrieved January 30, 2014.
[12] Elmer-DeWitt, Philip (January 10, 2014). "Don't mistake Apple's market share for its installed base".
CNN. Retrieved January 30, 2014.
[13] Yarow, Jay (March 28, 2014). "This Chart Shows Google's Incredible Domination Of The World's
Computing Platforms". Retrieved April 23, 2014.
[14] "Samsung sells more smartphones than all major manufacturers combined in Q1". Retrieved May 12,
2014.
[15] "Gartner Says Sales of Tablets Will Represent Less Than 10 Percent of All Devices in 2014:
Smartphones to Represent 71 Percent of the Global Mobile Phone Market in 2014: Android Device
Shipments to Reach One Billion in Emerging Markets in 2015" (Press release). Gartner. October 15,
2014. Retrieved October 19, 2014.
[16] "Global mobile statistics 2014 Part A: Mobile subscribers; handset market share; mobile operators".
mobiThinking. May 2014. Retrieved September 9, 2014.
79

[17] Rowinski, Dan (December 10, 2013). "The Post-PC Era Begins In Earnest Next Year: In 2014,
smartphones will most likely eclipse PCs in terms of the number of devices in use around the world".
readwrite. Retrieved September 9, 2014.
[18] "Android's Google Play beats App Store with over 1 billion apps, now officially largest".
Phonearena.com. Retrieved August 28, 2013.
[19] Developer Economics Q3 2013 analyst report http://www.visionmobile.com/DevEcon3Q13
retrieved July 2013.
[20] Google shows off new version of Android, announces 1 billion active monthly users. Techspot.
Retrieved June 30, 2014.
[21] Google Maps Retrieved from: http://phxdevices.com/node/3491.
[22] Benefits of google map Retrieved from: https://www.google.com/work/mapsearth/benefits/ .
[23] Disadvantages & Advantages of Using Google Maps Retrieved from:
http://science.opposingviews.com/disadvantages-advantages-using-google-maps-website-1538.html.
[24] Kincaid, Jason (March 18, 2009). "SXSW: Foursquare Scores Despite Its Flaws". The Washington
Post (Washington DC: WPC). ISSN 0190-8286. Retrieved March 16, 2011.
[25] Foursquare Retrieved from: http://en.wikipedia.org/wiki/Foursquare.
[26] Foursquare for business Retrieved from: http://en.wikipedia.org/wiki/Foursquare.
[27] beginners guide to foursquare Retrieved from:
https://sites.google.com/site/beginnersguidetofoursquare/issues.
[28] TD Canada Trust - Small Business Advisors Retrieved from: http://www.tdcanadatrust.com/productsservices/small-business/advisor/
[29] The Business Place Overview Retrieved from:
http://www.thebusinessplace.co.za/Main_Site/overview.html
[30] Kaleel, Shakira Banu and Harishankar, Ssowjanya, " Applying Agile Methodology in Mobile
Software Engineering: Android Application Development and its Challenges" (2013). Computer Science
Technical Reports. Paper 4.http://digitalcommons.ryerson.ca/compsci_techrpts/4
[31] Beck, Kent; et al. (2001). "Manifesto for Agile Software Development". Agile Alliance. Retrieved
14 June 2010.
80

[32] M.Taromirad and R.Ramsin, Cefam: Comprehensive evaluation framework for agile
methodologies, Software Engineering Workshop, 2008. SEW'08. 32nd Annual IEEE, pp.195-204,
October 2008.
[33] V.Rahimian and R.Ramsin, "Designing an agile methodology for mobile software development: A
hybrid method engineering approach", Second International Conference on Research Challenges in
Information Science, 2008. RCIS 2008.vol., no., pp.337,342, 3-6 June 2008.
[34] Kaleel, Shakira Banu and Harishankar, Ssowjanya, " Applying Agile Methodology in Mobile
Software Engineering: Android Application Development and its Challenges" (2013). Computer Science
T echnical Reports. Paper 4.http://digitalcommons.ryerson.ca/compsci_techrpts/4
[35] P. Nicolas, Introduction to SCRUM Agile Process for Global software development, Coalesce
Network, pp. 1-9, 2007.
[36] Kotonya, G. and Sommerville, I. 1998. Requirements Engineering: Processes and Techniques
Chichester, UK: John Wiley and Sons.
[37] Executive editors: Alain Abran, James W. Moore; editors Pierre Bourque, Robert Dupuis, ed. (March
2005). "Chapter 2: Software Requirements". Guide to the software engineering body of knowledge (2004
ed.). Los Alamitos, CA: IEEE Computer Society Press. ISBN 0-7695-2330-7. Retrieved 2007-02-08. It is
widely acknowledged within the software industry that software.
[38] Roman, G.-C. (1985) "A taxonomy of current issues in requirements engineering" Computer, April
1985 Volume: 18 Issue: 4, pp. 1423, ISSN: 0018-9162.
[39] R. T. Yeh (1982) "Requirements Analysis- A Management Perspective," Proc. COMPSAC '82, Nov.
1982, pp. 410416.
[40] Beck, Kent; Cunningham, Ward (Feb 2012), "A laboratory for teaching object oriented thinking",
ACM SIGPLAN Notices (india, NY, USA: Abg) 24 (10): 16, doi:10.1145/74878.74879, ISBN 0-89791333-7.
[41] Martin Fowler, UML Distilled, chapter 4.
[42] A concise introduction at extremeprogramming.org.
[43] http://qamadness.com/?q=blog/why-testing-important. On 25/12/2014 at 10:10.
[44] http://www.wangyuxiong.com/wp-content/uploads/downloads/2013/02/effective-softwaretesting.pdf.
On 27/12/2014 at 15:55.
81

S-ar putea să vă placă și