0% found this document useful (0 votes)
64 views

Android Tracking System

This document provides a software requirements specification for the HotSpot Mobile Application version 1.0. It describes the purpose and functionality of the application, which is to allow users to search for groups of people with similar interests, activities, and attributes displayed on a map. The application will initially target college students but eventually all smartphone users. It provides mockups of the main screens and interfaces and specifications for all user requirements, including adding and managing user activities, attributes, and interests. Implementation details regarding platforms, dependencies, constraints, and assumptions are also included.

Uploaded by

Imran
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
64 views

Android Tracking System

This document provides a software requirements specification for the HotSpot Mobile Application version 1.0. It describes the purpose and functionality of the application, which is to allow users to search for groups of people with similar interests, activities, and attributes displayed on a map. The application will initially target college students but eventually all smartphone users. It provides mockups of the main screens and interfaces and specifications for all user requirements, including adding and managing user activities, attributes, and interests. Implementation details regarding platforms, dependencies, constraints, and assumptions are also included.

Uploaded by

Imran
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Software Requirements

Specification
for
HotSpot Mobile Application
Version 1.0
Prepared by Cole Canning and Cooper Jackson
Sam Jackson, Web Developer
November 12, 2013










BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
2
"# $%&'()*+&,(%
"#"# -../,+0&,(% 123'2,34
BotSpot Nobile is a mobile application intenueu to make locating gioups of people
with similai inteiests easy anu intuitive. 0seis aie able to seaich foi gioups of
people baseu on theii inteiests, activities, anu attiibutes, anu the application will
piesent a map uisplaying wheie these gioups aie locateu. By automatically tiacking
useis locations anu iemembeiing theii infoimation, the application iequiies little
maintenance aftei initial setup anu pioviues an effoitless expeiience. While a map
uisplays gioup locations, no inuiviuual usei infoimation is ievealeu. A minimal
inteiface pioviues only the essential functionality anu keeps the piocess simple,
allowing useis to iemain calm anu fiee of stiess. The application is implementeu foi
both i0S anu Anuioiu uevices along with an infoimational website, anu incluues
0bjective-C, }ava, PostgiesSQL, Python, Bjango, BTNLCSS, }avaSciipt, anu the NvC
fiamewoik.
"#5# 6*'.(73
This Besign Bocument seives as a uesciiption of the BotSpot Nobile Application anu
its opeiational iequiiements to both technical anu non-technical clients, useis, anu
uevelopeis.
"#8# 9+(.3
BotSpot Nobile will initially be taigeteu towaius college stuuents with Anuioiu oi
iPhone uevices.

!"#$%&"'(: College stuuents aie tightly clusteieu anu tenu to have similai inteiests.
They also tenu to have mobile uevices capable of iunning the application anu woiu
of mouth can be passeu along easily. These conuitions aie peifect foi initial launch
anu will make impioving the application usage easiei to hanule.




BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
S
"#:# ;3<,%,&,(%7
1.4.1. AAI
This teim is a shoithanu acionym meaning Attiibutes, Activities, anu Inteiests.
Since these thiee teims (uefineu in the following subsections) aie so similai,
they aie often gioupeu togethei anu iefeiieu to in this mannei.
1.4.2. Activity
An action specifieu by the usei that the usei is cuiiently unueigoing. Theie will
be a uefineu set of available activities that the usei can select fiom. These
activities will expiie aftei a shoit uuiation, anu aie iequiieu to be set by the usei
befoie seaiching.
1.4.S. Attiibutes
A chaiacteiization of the usei. The usei will select theii own attiibutes fiom a
pieuefineu list, anu will only be able to filtei baseu on an attiibute if they have
specifieu that attiibute.
1.4.4. Inteiests
The usei's inteiests. The usei will select theii own Inteiests fiom a pieuefineu
list. These inteiests will be filteiable on the Beatmap, anu will pioviue the
seiveis with usei-specific infoimation that can be useu to pioviue them with
useful BotSpots.
1.4.S. uoogle Naps API
uoogle Naps is a veiy populai online maps solution. Theie is an API foi both
iPhone anu Anuioiu uevelopment that is useu foi the application.
1.4.6. Beatmap
The map that will be piesenteu to the usei that uses a coloi giiu, usually
associateu with tempeiatuie, foi uisplaying gioups of people anu theii sizes
thiough coloi. Theie is an API foi uoogle Naps that makes this possible.
1.4.7. BotSpot
This teim loosely uesciibes a gioup of clusteieu useis on the Beatmap.
BotSpots will be ueteimineu thiough useis with similai AAI.

BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
4
5# 123'0// ;37+',.&,(%
5#"# 6'()*+& 63'7.3+&,23
This application is a completely inuepenuent application foi Anuioiu anu iPhone
uevices. The application will be a lightweight anu minimal application that ielies on
system anu uatabase infoimation to be piocesseu anu sent to the application foi
uisplaying. The only functional uepenuencies aie on the uoogle Naps API.
5#5# 6'()*+& =*%+&,(%7
The application piimaiily focuses on the following actions that a usei can peifoim:
Auu usei Attiibutes.
Auu usei Activities
Auu usei Inteiests.
Seaich foi BotSpots baseu on Attiibutes.
Seaich foi BotSpots baseu on activities.
Seaich foi BotSpots baseu on inteiests.
5#8# >73' ?/07737 0%) ?@0'0+&3',7&,+7
The initial gioup of useis will compiise of Bickinson College stuuents. When fully
ueployeu, the application will taiget all smaitphone useis. The moie people using
the application, the moie uata theie will be to uisplay.

!"#$%&"'() This will allow concentiateu ueployment anu easy euiting of the
application on a smallei scale. When completeu, all useis shoulu be able to use the
seivice, as ieaching moie useis will inciease populaiity anu utilization.
5#:# 1.3'0&,%A B%2,'(%C3%&
The application will iun on all cuiient veisions of the Anuioiu mobile opeiating
system fiom veision 4.u anu above. The application will also iun on i0S 6 anu above.

!"#$%&"'(: Pievious veisions of Anuioiu uo not offei many featuies that aie integial
to the application inteiface, such as menu swiping fiom left to iight. The numbei of
useis using i0S 6 anu above is an extiemely laige peicentage of iPhone useis, anu
woiiying about pievious veisions is not woith uevelopment time.
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
S
5#D# ;37,A% 0%) $C./3C3%&0&,(% ?(%7&'0,%&7
2.S.1. The following is a compilation of constiaints anu limitations on the system:
The cuiient seivei useu foi the application only has S12 NB of RAN anu 2u
uB of stoiage. This may pose a limitation as the usei base is expanueu.
The uoogle Naps API is fiee only unuei ceitain Teims of Seivice in ielation
to vaiious aspects of the application, incluuing whethei oi not it is fiee to
useis anu how many mapping iequests aie maue pei uay. As the usei base
expanus, a license may neeu to be puichaseu.
0ui application must auheie to the Anuioiu anu Apple teims of seivice foi
theii mobile applications.
The applications must iun quickly anu smoothly on both Anuioiu anu Apple
uevices. 0ptimizing foi the haiuwaie anu languages of each platfoim is
integial.
A laige numbei of useis will incui a laige amount of aggiegateu uata.
Naintaining this uata efficiently will iequiie veiy efficient algoiithms anu
stiategies.
2.S.2. The following is a compilation of the implementation aspects of the system:
Python is useu foi the seivei-siue implementation alongsiue the Bjiango
API.
PostgiesSQL is useu foi the uatabase since it is compatible with Bjiango anu
Python anu iecommenueu foi usage.
The NvC Fiamewoik is useu in oiuei to maximize coue ieuse anu
oiganization.
The seivei is cuiiently iunning 0buntu 12.u4 LTS 64 bit.
5#E# -77*C.&,(%7 0%) ;3.3%)3%+,37
Secuiing funus foi the uoogle Naps API license has not fully guaianteeu by the
client.
Secuiing funus foi moie poweiful seiveis has also not been fully guaianteeu by
the client.
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
6
Both Apple anu Anuioiu have to accept the application anu publish it to theii
iespective App Stoies.
Convincing stuuents at Bickinson College to use the application foi the initial
phase of launch is not yet guaianteeu.
8# >73' F3G*,'3C3%&7
This section pioviues a specification foi all of the usei iequiiements. Refei to Section 4
foi a uetaileu mock-up of the application inteifaces iefeienceu.
8#"# $%&3'<0+3 1'A0%,H0&,(% 0%) =*%+&,(%0/,&I
S.1.1. Bomescieen
See Section 4.1 foi an example mock-up uiagiam.
S.1.1.1. Ninimal anu lightweight.
S.1.1.2. The backgiounu shoulu be a uoogle Nap.
S.1.1.S. A pin on the map at the usei's cuiient location.
S.1.1.4. A button to auu layeis of BotSpots to the map.
S.1.1.S. A button to auu an activity. Reuiiects to Auu Activity Scieen (S.1.2).
S.1.1.6. A button to go to the Settings Scieen (S.1.S).
S.1.1.7. A seaich bai to move the location of the uoogle Nap.
S.1.1.8. Swiping iight biings the usei to the Auu Activity Scieen (S.1.2).
S.1.1.9. Swiping left biings the usei to the Settings Scieen (S.1.S).

!"#$%&"'(: Client piefeience. Keeping the application focuseu on the map with
buttons anu swipes to navigate to auuitional pages keeps the BotSpots in the
centei of attention, but othei scieens easily accessible.
S.1.2. Auu Activity Scieen
See Section 4.2 foi an example mock-up uiagiam.
S.1.2.1. Incluue a title.
S.1.2.2. Incluue a back button.
S.1.2.S. Incluue a seaich bai to seaich foi Activities.
S.1.2.4. Allow the usei to Auu Activities (S.2).
S.1.2.S. Show a list of cuiient Activities
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
7
S.1.2.6. Show the Activities iemaining time.

!"#$%&"'(: Client piefeience. This scieen is meant to be a place wheie a usei can
manage theii Activities by viewing anu auuing them.
S.1.S. Settings Scieen
See Section 4.S foi an example mock-up uiagiam.
S.1.S.1. Incluue a title.
S.1.S.2. Incluue a back button.
S.1.S.S. Incluue a list of the usei's Attiibutes.
S.1.S.4. Incluue a list of the usei's Inteiests.
S.1.S.S. Allow the usei to auu Attiibutes (S.S).
S.1.S.6. Allow the usei to auu Inteiests (S.4).
S.1.S.7. Allow useis to euit theii location settings.
S.1.S.8. Allow the usei to log out.

!"#$%&"'(: Client piefeience. This scieen is meant to be a place wheie a usei can
manage theii Attiibutes, Inteiests, anu account settings.
8#5# -)) -+&,2,&I
S.2.1. The usei shoulu be able to auu an Activity.
S.2.2. Each activity must be specifieu with a uuiation of time it will last foi.
S.2.S. The activity must match a pieuefineu Activity.
S.2.4. All Activities of the usei must be viewable.
S.2.S. If the usei uoes not have an Activity set, the usei must be piompteu to auu at
least one.

!"#$%&"'(: Client piefeience. Auuing an activity is meant to uesciibe what the usei is
uoing with keywoius. The usei must have an activity set to gainei gatheiing uata foi
the application.
8#8# -)) -&&',J*&3
S.S.1. The usei shoulu be able to auu Attiibutes.
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
8
S.S.2. 0pon opening the application foi the fiist time anu cieating an account, the
usei must choose some initial Attiibutes.
S.S.S. Attiibutes must come fiom a pieuefineu list.
S.S.4. In oiuei to seaich by Attiibutes, the usei must specify theii value foi that
Attiibute.

!"#$%&"'(: Client piefeience. Naking Attiibutes come fiom pieuefineu lists ensuies
that useis will shaie the same values thus making it easiei to seaich by them. It also
makes choosing them simplei foi useis. Requiiing useis to specify Attiibutes
gaineis moie infoimation foi othei useis to seaich by.
8#:# -)) $%&3'37&
S.4.1. The usei shoulu be able to auu Inteiests.
S.4.2. Inteiests must come fiom a pieuefineu list.

!"#$%&"'(: Client piefeience. Naking Inteiests come fiom pieuefineu lists ensuies
that useis will shaie the same values thus making it easiei to seaich by them. It also
makes choosing them simplei foi useis.
8#D# -../,+0&,(% 123'2,34
S.S.1. 0pon opening the application foi the fiist time, the usei must be biought to an
account cieation page.
S.S.2. 0pon logging in foi the fiist time, the usei must be piompteu to auu at least
one Attiibute (S.S)
S.S.S. The application must iepoit the usei location anu AAI to the seivei.
S.S.4. Theie must be a toggle foi iepoiting location automatically veisus manually.

!"#$%&"'(: The usei must cieate an account anu set attiibutes so the seiveis have
some uata on the usei to uisplay. It woulu not be beneficial to have useis simply use
the application to seaich without giving infoimation to use. Constantly iepoiting
location may be seen as a uetiiment to useis uue to batteiy anu piivacy conceins, so
the toggle is necessaiy even though it will limit the uata gatheiing.

BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
9
:# >73' $%&3'<0+3
The following uiagiams show a mock-up foi the application:
:#"# K(C37+'33%
This page is explaineu in Section S.1.1 anu is piesent in the following uiagiam:



BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
1u


:#5# -)) -+&,2,&I 9+'33%
This page is explaineu in Section S.1.2 anu is piesent in the following uiagiam:




BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
11
:#8# 93&&,%A7 60A3
This page is explaineu in Section S.1.S anu is piesent in the following uiagiam:



BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
12
D# 9I7&3C ;37,A%
Theie aie two impoitant paits to the System Besign. The fiist is the inteiaction
between the application anu the seiveis. The seconu is the Seivei anu Batabase
management. Refei to the System Nouel in Section 6 while ieauing this section to aiu in
compiehension.
D#"# -../,+0&,(% $%&3'0+&,(%
The base of the application inteiaction between the seiveis anu mobile uevice ielies
on the exteinal entity of the usei. This entity can iequest infoimation fiom the
uatabases as well as senu infoimation. The fiist piocess the exteinal entity
encounteis is the 0sei uateway. To establish a connection the exteinal entity senus
enciypteu infoimation containing the login cieuentials as well as its cuiient
attiibutes, activities, anu inteiests. The 0sei uateway piocess enciypts anu senus
this infoimation to the 0seis Cieuentials, Location anu AAI (Attiibutes, Activities,
anu Inteiests) uata stoie to authenticate the usei. If the usei is authenticateu the
uata is checkeu against the valiu AAI uata stoie anu if the uata is valiu it is then
stoieu in the 0seis Cieuentials, Location anu AAI uata stoie. The uata is then
stiippeu of iuentify infoimation of the usei anu enteieu into the Anonymous 0sei
Bata stoie. If the cieuentials aie invaliu a iesponse is then sent to the 0sei uateway
which then iequests the usei entity to ieentei theii infoimation. This piocess is
iepeateu when the usei eithei checks in manually oi the application automatically
upuates its location. 0nce authenticateu the usei can call upon two othei piocesses,
uet BotSpots anu Change AAI.
S.1.1. uet Botspots
The uet BotSpots piocess is ielatively simple; the exteinal entity passes
paiameteis of the attiibutes iequesteu as well as the location of the usei along
to the seivei. uet AAI checks the valiu AAI uata stoie to confiim that the
paiameteis aie valiu. If they aie valiu then the uet AAI piocess iequests the
BotSpot uata of the AAI fiom the Anonymous Aggiegateu Bata stoie foi the
usei's cuiient location anu suiiounuing aiea. The uata is then ietuineu to the
usei wheie it is ienueieu. If the AAI aie not valiu an eiioi is ietuineu.
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
1S
S.1.2. Change AAI
Change AAI is the othei piocess that the exteinal entity can call upon. With this
piocess the usei can upuate theii AAI. The usei passes paiameteis to Change
AAI iequesting that the paiametei of attiibutes eithei be ueleteu oi auueu to the
usei's infoimation in the Enciypteu 0sei Cieuentials, Location, anu AAI stoie. If
the attiibutes aie valiu the uata is auueu, if not an eiioi is ietuineu.
D#5# 93'23' 0%) ;0&0J073 C0%0A3C3%&
The heait of the uatabase management system is the Contiollei piocess. This
Contiollei piocess contiols the contents of the uatabases by calling on methous to
aggiegate the uata stoieu in Enciypteu 0sei Cieuentials, Location, anu AAI stoie as
well as expunging expiieu uata. The aggiegateu uata is stoieu in the Anonymous
Aggiegateu Bata stoie. This piocess is iun continuously to make suie that the
uatabases aie upuateu with cuiient infoimation. To accomplish this featuie, the
Contiollei piocess calls upon two othei piocesses, Kill Expiieu Bata anu Aggiegate
Bata.
S.2.1. Kill Expiieu Bata
The Kill Expiieu Bata piocess is calleu by the Contiollei piocess to puige
expiieu uata fiom the Enciypteu 0sei Cieuentials, Location, anu AAI stoie. Kill
Expiieu Bata also calls upon the Anonymous Aggiegateu Bata piocess to
iecalculate aggiegateu uata with the expiieu uata puigeu. Bata is puigeu foi
being out of uate which can skew the iesults foi a location. If the uata is oluei
than Su minutes it is iemoveu fiom the uatabase so locations uo not iepoit
aitificially high numbei of useis at a ceitain location.
S.2.2. Aggiegate Bata
Aggiegate Bata is the piocess that ieceives infoimation fiom the Enciypteu 0sei
Cieuentials, Location, anu AAI stoie anu calculates a compiesseu veision of the
uata. The piocess soits the uata foi locations anu combines useis with the same
location as one entity with a weight of the amount of useis in one place. This
'supei usei' has the combineu AAI of all the useis in the same location. It keeps
tiack of the amount of each AAI at the location as well as the numbei of oveiall
BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
14
people. The uata is then stoieu in the Anonymous Aggiegate Bata stoie. When
calleu upon foi a ceitain AAI at a location it ietuins the numbei of useis with
that AAI at the location.
E# 9I7&3C L()3/
The System mouel is bioken up into two pieces; Application Inteiaction anu Seivei anu
Batabase Nanagement. These mouels exist simultaneously, but aie sepaiateu foi
claiity.
E#"# -../,+0&,(% $%&3'0+&,(%
This system mouel below shows the inteiaction between the application anu the
seiveis anu uatabases. Foi a highei-level explanation, see SectionS.1.









BotSpot Nobile Application
Copyiight 2u1S by Cole Canning anu Coopei }ackson
1S
E#5# 93'23' 0%) ;0&0J073 L0%0A3C3%&
This system mouel below shows the inteiaction between the seivei anu the
uatabase. Foi a highei-level explanation, see SectionS.2.

You might also like