Documente Academic
Documente Profesional
Documente Cultură
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
1.5
Introduction.................................................................................................................................7
2.2
2.3
2.4
2.5
Related work..............................................................................................................................11
2.6
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
3.2.5
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
4.6
Activity Diagram.......................................................................................................................34
4.7
Sequence Diagram.....................................................................................................................40
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
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
GIS
AOSP
GPS
SQL
OS
operating system.
API
URL
Wi-Fi
ASD
AUP
DSDM
XP
Extreme Programming.
FDD
GUI
CRC
UML
TDD
Test-driven development.
ERD
CLIs
Command-line interfaces.
PDA
WIMP
ADT
XML
AVD
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.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.
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.
Business location advisor application is designed to provides an easy and deterministic way
The operating system is based on Linux, which provides advanced computer processing.
Android technology is maintained and continually developed by the Android Open Source
Chapter 2
LITERATURE REVIEW
2.1
Introduction
This chapter review and identify concepts and related work about Business location advisor .
2.2
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
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
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).
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]
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
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]
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]
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.6
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
X
X
X
Foursquar
e
x
x
x
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.
18
g) Process-wide reviews and learning sessions: Knowledge obtained from product development
is in turn.
Well-known agile software development methods frameworks include:
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
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.
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 :
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]
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.
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.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
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.
Pre-Conditions
Post-Conditions
Normal Path
Abnormal Path
U2: Login
Login
Pre-Conditions
Post-Conditions
Normal Path
Abnormal Path
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
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
Pre-Conditions
Post-Conditions
Normal Path
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
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
Successfully created
AC2: Log In
34
35
Display error
AC5: Search
37
38
S2: Login
S5: Search
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.
43
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
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
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
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
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.
46
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.
48
Collaborators
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
administrator user
49
Collaborators
Download application
Create new user (investor)
Administrator 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.
Collaborators
Android administrator user
Android investor user
region.
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
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)
Entity Relationship
Diagram
Relationship
Diagram
step in designing database after understanding requirements well, we design the ERD which
leads to good mapping.
51
52
Figure 5.4 shows the page of that enable users "investors" or "business expert" to sign up.
Login:
Figure 5.5 shows the page of that enable users "investors" or "business expert" to login.
53
Main menu:
Figure 5.6 shows the home page of business location advisor.
Add:
54
Figure 5.7 shows the page through which the expert can determines the geographic location of
the place to add, or suggestion.
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.
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.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.
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
about
managing
risk
vendor/developer/Integrator.
for
both
the
acquiring
agency
and
the
systems
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]
61
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.
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
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
A
A
A
N
A
A
A
A
N
A
A
Description
2.1
#
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
OK/
NOK?
OK
Remarks
A
A
A
N
A
A
A
Description
3.1
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
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
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.
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.
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
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
Appendices
Appendices A: Evaluation Questionnaire of business location advisor
74
:
-:
75
-1
-2
::
-3
" "5 .
" "4 .
" "3 .
" "2 .
" "1 .
1
2
76
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
3
4
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
1
2
3
5 4 3 2 1
5 4 3 2 1
5 4 3 2 1
1
2
3
5
5
5
5
4
4
4
4
3
3
3
3
2
2
2
2
1
1
1
1
::::::::: :::::::::
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
5% 5%
90%
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