Running Head: LAB I - GAS PRODUCT DESCRIPTION 1

advertisement
Running Head: LAB I - GAS PRODUCT DESCRIPTION
1
Lab I – GAS Product Description
Marrissa A. Webster
Professor Janet Brunelle
March 2, 2011
Version Two
Many factors come into play when a family decides to take a vacation. The trip needs to
be planned by choosing a destination and deciding activities to do at that destination. Next, a
decision needs to be made about how the family will arrive at the destination, whether it is by
plane, train, car, or bus. If going by car, they need directions to the destination, which can be
found through a GPS system or from a mapping website.
When driving to the destination, interruptions occur where someone may need to go to
the restroom, everyone could be hungry, or the vehicle needs gas. When these events occur, the
family may be in an area they are unfamiliar with, so they must rely on the signs located in the
medians of the interstate for places to stop. These signs may not indicate all the restaurants in the
Running Head: LAB I - GAS PRODUCT DESCRIPTION
2
area where the family is located. Also, it is common knowledge that the gas stations indicated on
those signs are usually more expensive than the ones a little further down the road. The lack of
knowledge increases frustration and inefficiency while traveling.
The unfamiliar area the family is traveling through or in could cause more money to be
spent since some businesses take advantage of the situation by raising the prices of their product.
In 2008, the household in the United States spent $1,415 while on vacation. Almost half of the
money spent during traveling is on transportation alone, whether this is from flying on a plane or
driving in a car. Only 10% of the money spent is actually spent on the points of interest where a
family may want to go (United States Department of Labor, 2010).
Fuel prices were at the all time low in the beginning of 2009, but since have begun to
gradually increase (National Business Travel Association). As fuel prices increase, the cost of
driving to a vacation location increases. This also causes airplane fares to increase since the
airlines have to compensate from the change in the fuel price.
The Geographical Auto-Delivery System (GAS) is a phone application, which
automatically notifies the end-user of points of interest, weather, and altered road conditions
located in a five-mile radius of his or her current location. The application improves a traveling
experience by allowing the experience to be more enjoyable. The frustration, due to lack of
knowledge, while traveling is eliminated by the application since it educates the traveler of
participating businesses around him or her.
2.
GAS PRODUCT DESCRIPTION
The Geographical Auto-Delivery System (GAS) is a system, used on a smart phone, that
automatically notifies the user of altered road conditions, weather, and points of interest
indicated in the end-user profile while traveling. The profile is built by the end-user through
Running Head: LAB I - GAS PRODUCT DESCRIPTION
3
either the application on the smart phone or the website provided by the application. The enduser profile includes restaurants, gasoline stations, hotel chains, and points of interests such as
amusement parks, camping areas, etc. The profile has a feature where the end-user can activate
the entire profile or certain categories (food, gas, hotels, etc.) of the profile for notifications. This
allows the end-user to control what he or she would like to be notified while traveling.
The goals of this application are to increase visibility for participating businesses and
save time and money for travelers. The application increases visibility for businesses by showing
all of the businesses’ locations within the five-mile radius of the end-user’s current location in
real-time. The application helps the end-user save time and money by assisting him or her with
points of interest locations and altered road conditions that may delay the travel.
2.1
Key Product Features
GAS has many key features that allow traveling to be more enjoyable. The end-user
profile is an innovative aspect that allows the end-users to customize their applications. With this
profile, they can indicate the different businesses they enjoy. For example, a particular end-user
may not like Taco Bell but enjoys Chick-fil-A. This end-user can select Chick-fil-A as a place he
or she likes, and Taco Bell as a place he or she dislikes. When this user has the food category
activated while traveling, the application will show all the Chick-fil-As located in his or her fivemile radius along with any other restaurants he or she likes but none of the Taco Bells.
Any business that decides to participate in the application will create a profile. The
business profile includes all locations of that particular business and the items they sell. The
business can edit these locations if a new store opens or if one closes. The businesses can also
view any of the competition around that business. That is a great advantage to the businesses,
since they will have an idea how to increase their customer flow.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
4
GAS has unique notifications compared to other traveling applications. The notifications
include weather conditions, road conditions and points of interest in the end-user’s five-mile
radius. All notifications are in real-time, meaning that the updates are pushed from the GAS
database to the smart phone application as needed. To eliminate distracted driving, the
notifications are text to speech where the smart phone will announce what is on the notification.
For example, when the end-user is near a fast food chain he or she likes, as indicated in the enduser profile, the application will sound a bell-like sound and speak that the particular fast food
chain is near. The application will then ask the user if he or she will want to reroute to the fast
food chain. When the user indicates he or she would like to reroute, the application reroutes the
user to the fast food chain. When there is a change in the road conditions located within the fivemail radius of the end-user, the application will alert the user with a bell-like sound and an
audible notification. It will then speak to the end-user, saying that there is a change in the road
condition that may cause delays and ask the end-user if he or she wants to reroute. If the end-user
indicates he or she would like to reroute, the application will then reroute the end-user to a route
that will not cause as much of a delay in the end-user’s travel.
When a family goes on a vacation, they get directions to where they need to go. They
could hit traffic, which would delay their vacation depending on how bad the traffic is.
Eventually, they will need to stop for fuel, where the prices could be higher; therefore, costing
more money. After a while, the family is ready to eat some food, which requires them to find the
closest place to eat that everyone can agree upon. This can cause frustration and road rage, and a
terrible traveling experience.
With GAS, when a family goes on vacation, the application will give the family turn-byturn directions to their destination. When it gets to the point where they need to stop to fill up
Running Head: LAB I - GAS PRODUCT DESCRIPTION
5
their vehicle with fuel, they can turn on the fuel notifications and GAS will show all the fuel
stations, with the prices, in the family’s five-mile radius. Not only does GAS show where all the
fuel stations are, but it also can reroute the family to the fuel station of their choice. When the
family needs to stop for some food, the same process occurs, except for their favorite restaurants.
2.2
Major Components (Hardware/Software)
Figure 1 illustrates the major functional components used for GAS. These components
are essential to build the application and for the application to work properly. These components
include an input handler, a database, a notification process, a server, the Internet, a third party
server, a computer system, and smart phone with GPS capability.
[This space intentionally left blank]
Running Head: LAB I - GAS PRODUCT DESCRIPTION
6
Figure 1. Major Functional Component Diagram
Major hardware components needed for the application to work properly are a web
server, processor server, smart phone and a computer with Internet. The web server is used to
store the website needed for the application. It also allows all needed transactions to occur. The
processor server stores the database, input handler and the notification process. These are
essential so the application can work properly. A smart phone is needed to run the application
and the GPS capability is necessary so the application can receive the end-user’s locations. A
computer system is required for both the business and end-user so they both can edit their profile
and any billing information as needed.
Major software components include a database, website, mobile application and graphic
user interfaces (GUIs). The database is one of the most important components of our application
since it stores all the information. The tables included in the database are Users, Preferences,
Establishments, Businesses, and Items. The User table stores the e-mail and password used by
the end-user along with a User ID number assigned to that user. Each user also has a preference
ID number, which coincides with the preference ID number and the information under that ID
number in the Preferences table. The Preferences table contains a preference ID number along
with a business ID number. This business ID number points to the information in the Businesses
table where the business ID numbers match in both the Preferences and Businesses tables. The
Businesses table contains the name of the businesses along with the type of businesses it is and
the subtype. Since each business gets its own login, the login name and password are stored
under the Businesses table. A business may have several establishments, which is stored under
the Establishments table. In order to like a business with its establishments, the Businesses table
contains an establishments section, which links to the establishment ID number under the
Running Head: LAB I - GAS PRODUCT DESCRIPTION
7
Establishments table. The Establishments table includes the address, phone number, the items
sold at that establishment along with the times the establishment opens and closes. The items
section in the Establishments table points to the Items table, which contains the name and prices
of the particular items.
Another necessary software component is the website. The website has sections for the
end-users, the businesses, information about the application, and contacting us about any
information in regards to the application. The end-user section of the website allows an end-user
to login to his or her account which he or she can manager his or her profile and account, alter
any personal information as needed, and invite any friends to purchase the application. The enduser section also allows other customers or new customers to register for the application, browse
the features of the application, and view the frequently asked questions (FAQs). The business
section of the website allows a business to login to its account to manage the profile, account and
invite other businesses to participate in the application. A new business may register through the
website and upon completion of registration, the business must submit its profile for review. This
way, the company can ensure the business trying to register is truly a business. The businesses
may also view the features to the business through the application along with the Frequently
Asked Questions.
Another software component is the mobile application itself. This application must be
able to communicate, through the GAS server, to the many other components used in the
application. The communication with the server happens through the Internet provided from the
data package of the cellular phone company. If you refer back to the Major Functional
Component Diagram (Figure 5), it clearly illustrated how the communication takes place.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
8
In order for the application to useful, graphic user interfaces (GUIs) are needed. The
GUIs include a map of the end-user’s current location. When a point of interest, as indicated in
the end-user profile, is located in the five-mile radius, a flag appears with a notification. This
notification indicates a point of interest is near and asks if the end-user would like to reroute.
Many algorithms are needed to make this application function. Table 1 lists the different
algorithms, along with the definition of each, the input needed, and the output provided from
each algorithm. The New Route algorithm is used when the end-user decides to reroute to a new
location and when the end-user takes a wrong turn or misses a turn. The Wrong Turn Detection
algorithm detects if the user took a wrong turn in his or her path. The Nearby Point of Interest
Notification sends a list of point of interests to the end-user after the algorithm detects any points
of interest near the end-user. The GPS Data Collection algorithm collects the end-user’s GPS
coordinates and stores them in the system with an anonymous ID number. The information
businesses input through website is entered in the database through the Business Data Transfer
algorithm. To ensure the information going into the database is in the correct format, the Input
Validation algorithm will output an error message to any one person who inputs something
incorrectly. The Inclement Weather Notification algorithm notifies the user when inclement
weather is ahead. The Authentication and Access Control algorithms grant a business or end-user
with correct access permissions set by the system administrator.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
9
[This space intentionally left blank]
Algorithm
New Route
Wrong Turn
Detection
Nearby Point of
Interest Notification
GPS Data
Collection
Business Data
Definition
Provides traveler
with new route.
Detects if the
traveler took a
wrong turn.
Detects if traveler is
near any point of
interests in his or
profile.
Input
 Current Location
 Destination
 Current Location
 Directions
 Current Location
 Business Data
 Traveler
Preferences
The system stores
 GPS data
GPS data along with  Anonymous ID
an associated
anonymous ID.
Collects the
 Business
Output
 Map with
directions
 New directions

List of Nearby
Point of Interests

GPS data stored
in the system

Database Writes
Running Head: LAB I - GAS PRODUCT DESCRIPTION
Transfer
Input Validation
Inclement Weather
Notification
information
businesses inputted
through the website
into the database.
Checks the data
going into the
system to make sure
it is in the correct
format.
Notifies the user if
inclement weather is
ahead.
Authentication
Ensures you are
who you are.
Access Control
Assigns permissions
based on who you
are.
10
Information
 Incoming data

Error message if
incorrect format








Weather
Notification

Access
granted/denied
Weather Data
Current Location
Directions
Username
Password
Username
Password

Access
Table 1. Algorithm Table
2.3
Target Market/Customer Base
GAS targets two different customer bases and markets, one being the business and the
other being the actual traveler. In order for a business to participate, they must pay a monthly fee.
When a business decides it would like to participate in the application, it will access the website
and go through the registration process. The registration process includes creating the business
profile and providing us with needed contact information. After the registration process is
completed, the business’s profile is sent in for review. This is to ensure that a business is
creditable and not false. The major benefit to a business that participates with this application is
the constant advertisement. Every time a person, who has downloaded the application, passes
through the area where the business is located, the person is alerted of the business. The
businesses can also continually be updated about other businesses of the same type around them.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
11
This way the business can keep up with the competition without having to travel the
competition’s location.
The end-user is a major customer base for the application. For a low price, the end-user
may download the application on his or her smart phone and will have access to all the point of
interest locations around him or her. To narrow the amount of information to the smart phone, the
user may personalize the application by updating the user profile. This ensures the end-user will
only be alerted and shown information about points of interest he or she likes rather than
dislikes. The user profile can be updated through the application itself or through the website.
3.
PROJECT PROTOTYPE DESCRIPTION
This semester, the CS 411 orange group will create a working prototype of the application
described in Section 2. There will be a reduction in scale and scope to give a feel of how the
application will work in the real world. A mobile application will not be created, but instead a
test harness, which is a piece of computer software that will act as the application would on a
smart phone. Instead of GPS information being collected through the smart phone, four or five
predetermined traveled paths will be created through a GPS receiver device. Each path will point
to one or more end-users. The weather and road condition notifications will not be included in
the application since they are not innovative aspects. Instead of rerouting the end-user to a new
location through the point of interest notifications, we will just show the notification since
rerouting is not an innovative aspect. The application will only have ten to fifteen businesses
incorporated instead of an infinite amount.
3.1
Prototype Functional Goals and Objectives
Many risks are caused with this type of application, including distractive driving,
business participation, the competition completing a similar application first, server load, privacy
Running Head: LAB I - GAS PRODUCT DESCRIPTION
12
and security, and business fraud. Tackling these risks is a major objective of the prototype
development. The prototype will address the last three of the six risks and some assumptions will
be made, as indicated in Table 2, to mitigate the first three. For the server load risk, best practices
will be exercised to ensure the server will not crash. The authentication and access control
algorithms will mitigate the privacy and security risk. A disclaimer will be introduced to the endusers, and a terms of agreement will be given to the businesses to help prevent the application’s
creditability to be at stake due to a business providing incorrect information.
Risk
Distractive Driving
Business
Participation
Competition
Completes First
Assumption
End-user will not use app while driving. (i.e. only the passengers will use
this app).
All businesses will want to participate in our application.
No other company is creating an application similar to GAS.
Table 2. Risk Assumptions
The development of the database is another major objective of the prototype since it is an
essential component of the prototype and real world product. It is very important for the database
to be working properly because it is what holds all the information needed for the application.
Without the database, there would not be notifications, end-user profiles, or business profiles
since it contains all the information needed for those components.
To ensure the information going into the database is the correct type or in the correct
format, the input validation algorithm is an important objective. The input validation algorithm
outputs an error message if a piece of information is the incorrect type or in the incorrect format.
Refer to Table 1 for more information about this algorithm.
The website is a very important aspect for the application since that is the only place the
businesses can update their profile or find any other information. The website will be essentially
Running Head: LAB I - GAS PRODUCT DESCRIPTION
13
the same for the prototype as the real world product, except it will not have the referral feature,
since that is not an innovative aspect. The website can be used to add businesses to the database,
update the businesses’ profiles, and update the end-users’ profiles. Along with the database, the
website is one of the most important goals in the development of the application.
Last, but not least, the test harness will be a web-based software through the web browser
that will act as the mobile application. It will contain the GUIs and notifications similar to the
real world product. The only difference is that the notifications will not ask the end-user to
reroute but just notify the end-user of the point of interest since the reroute feature is not an
innovative aspect. A test harness is used, instead of a mobile application, because of the limited
time provided to develop the prototype.
3.2
Prototype Architecture (Hardware/Software)
Major components used in the prototype are the website, database, notification
subsystem, CS server, test harness through a web browser, and computer system, as illustrated in
Figure 2. These components function similar to the real world product. A major difference is that
instead of a smart phone, the prototype will use a test harness through a web browser, an input
handle is not used and a third party server is not needed. Just like the real world product, the
database, and notifications run through the CS server, which connects to the computer system
through the Internet.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
14
Figure 2. Prototype Major Functional Component Diagram
The algorithms used in the prototype are the Business Data Transfer, Point of Interest
Detection, and Input Validation algorithms. The New Route, Wrong Turn Detection, GPS Data
Collection, and Inclement Weather Notification algorithms are not included in prototype because
they are not innovative aspect of our application. For more information about the algorithms
mentioned, refer to Table 1.
3.3 Prototype Features and Capabilities
Major features and capabilities of the prototype include the notifications, end-user
profile, and business profile. The notifications include any point of interest, indicated in the enduser’s profile, located in his or her five-mile radius. The end-user profile allows the the test
harness to be customized for a certain end-user. The business profile contains all the information
about a particular business including its address, phone number, and hours of operation. The
difference of the features between the prototype and real world are shown in Table 3.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
Feature
Real Time,
Autonomous
Notification
s
Weather
Gas Prices
Business
Profile
End-User
Profile
Website
Test Harness
Real World Project Description
The application will automatically push
notifications to the end-user about point of
interests or altercations in road conditions located
in the five mile radius from the user’s current
location.
The application will show when there is
inclement weather ahead.
The application will show the gas price, provided
by the business, when a gas station of the user’s
preference is in five-mile radius.
The application will allow a business to create a
profile, via the website, to include information
about the business (locations, type, etc.) and
update the information when needed. The
business may also check out other businesses,
related to their type, to see what the competition
is doing.
The application will contain a user profile, created
by the user either from the website or the
application itself, to reflect the user’s favorite
locations to visit.
The application will also have a website for the
user and the business to be able to log into to
create/update their respective profile. There will
also be a way to contact our company if needed
and a feature to refer a friend or another business
to participate in our application.
Not included
15
Prototype Description
Does not contain as many
businesses.
Not included
Fully functional
Does not contain as many
businesses.
Fully functional
The application will also
have a website for the user
and the business to be able to
log into to create/update their
respective profile. There will
also be a way to contact our
company if needed.
Will act as the phone
application and will include
all the features used in the
prototype.
Table 3. Real World Project vs. Prototype Features
Many risks develop when creating this application. Due to time constraints, not all risks
can be addressed including distractive driving, business participation, and the competition
completing a similar application first. Refer to Table 2 with the assumptions used during the
development of the prototype. For the mitigation of the other risks, refer to section 3.1.
Running Head: LAB I - GAS PRODUCT DESCRIPTION
3.4
16
Development Challenges
Many challenges will come about while developing the working prototype. Creating the
test harness will be a major challenge since it contains many aspects needed for the prototype.
Since many of the group members are not familiar with developing GUIs, the creation of the
GUIs will be a challenge during the development of the prototype. No one person in our group
has used the GPS receiver provided by the Computer Science Department; therefore, collecting
correct GPS information from the receiver and placing it into our database may be a
developmental challenge. The error of the GPS, however, is not significant enough to the Point
of Interest display. The reason for that is because the error is usually only 50 to 100 meters away
from the actual position (Corvallis Microtechnology, Inc.). Creating different tests, to ensure the
test harness is working properly, will be a development challenge since we will have to make
sure every possible thing that could go wrong is tested.
LAB I - GAS PRODUCT DESCRIPTION
GLOSSARY
17
Algorithm: set of rules to solve a problem.
App (Application): computer software used to help a user perform single or multiple tasks.
Auto-Delivery: information that is automatically delivered to a system.
Autonomous: an automatic process.
Business: commercial enterprise who chooses to be part of the application; only includes type of
restaurants, gasoline stations, and hotel chains.
Database: collection of data for either a single or multiple uses.
Database Schema: definition of the database structure.
End-User: the main user intended for a system.
Foreign Key: a key used in one database table to represent the primary key of a related database
table.
GPS (Global Positioning System): a navigational system that uses a satellite to locate the
latitude and longitude coordinates of a device.
GUI (Graphic User Interface): user interface used with graphics where mouse clicks, instead
of keyboard strokes, are used for input.
MFCD (Major Functional Component Diagram): a diagram that displays the major
components used in a project.
Point of Interest: a location indicated in the end-user profile.
Primary Key: a unique key used in a database to identify each row in the table.
Prototype: instance of something that shows an example of what is to be.
Real-Time: the time it takes for information to be sent to an application or piece of software.
Server: a computer that allows different users access shared files.
Sitemap: a flow chart that shows what is contained in a website.
Test Harness: piece of software that shows an example of a larger piece of software.
LAB I - GAS PRODUCT DESCRIPTION
Text to Speech: computer software that converts text to an artificial human voice.
Traveler: a person who travels to different locations.
18
LAB I - GAS PRODUCT DESCRIPTION
REFERENCES
19
Download