PredPol GPS
Software Design Document
Team LocP
Sherelien Haase
Connor Leary
Chris Miller
Eduardo Trejo
Table of Contents
1. INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 Overview
1.4 Reference Material
1.5 Definitions and Acronyms
2
2
2
2
2
2
2. SYSTEM OVERVIEW
PredPol GPS
Software Design Document
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
3.2 Design Rationale
3
3
3
4. DATA DESIGN
4.1 Data Dictionary
3
3
5. HUMAN INTERFACE DESIGN
5.1 Overview of User Interface
5.2 Screen Images
5.3 Screen Objects and Actions
3
3
4
4
6. REQUIREMENTS MATRIX
1. INTRODUCTION
1.1 Purpose
Create a simple Android app that Police officers will use on patrol which continually
sends the GPS location of the officer to their agency's database.
1.2 Scope
Law enforcement Agencies around the world are always looking for a way to improve
how they protect their citizens. Our approach to help them is to develop a way for them
to see when high crime areas develop to help improve the overall coverage of their
patrol routes.
1.3 Overview
Our application for android devices will allow the officer to connect to a secure server
where there location will be logged every 15 feet the officer moves while walking or
driving. The application will show the officer where there is a need for police presence,
giving them information about the crimes at risk in that location.
PredPol GPS
Software Design Document
1.4 Reference Material
Android Studio
SourceTree
GitHub
1.5 Definitions and Acronyms
PredPol - Predictive Policing
LocP - Location Policing
API - Application Program Interface
2. SYSTEM OVERVIEW
By logging on to the application, the police officer will be able to see their patrolling
location and their assigned district on the map. The map side of the application contains
two buttons that Police officers can select: Menu and Location. The Menu button will be
inflated with the names of districts provided by the agencys database as well as a logout
option. Selecting a district will draw out a boundary of that location by drawing
information out of the agency's database. The logout option will take the officer back to
the login screen. The Location button will center the map to the officer's location. The
map also contains a small blue icon on the officer's current location and will be updated
every 15 feet as the officer moves around either walking or driving.
3. SYSTEM ARCHITECTURE
3.1 Architectural Design
The app is divided into two activity screens: The login, and the map. The login screen
will handle user identification with the server and will only be executed with a successful
login. The map screen will handle location services with the secure connection and will
continue to track location data until the app is logged out.
3.2 Design Rationale
There is no need for any user verification to occur while an officer is holding the device,
so a secure connection should be created outside the scope of data transmission.
Likewise, there is no reason to track the location of a device that is not currently logged
in.
4. DATA DESIGN
PredPol GPS
Software Design Document
4.1 Data Description
Field
Notes
Type
Id
Identification for each district within the database
int
adress
the address for the district
varchar
longitude
the longitude point for each location
double
latitude
the latitude point for each location
double
Effective date
Date that the district was added to the the patrol history
date
5. HUMAN INTERFACE DESIGN
5.1 Overview of User Interface
The application is broken down into two activities: User login and Google Map interface.
The user is first directed to the login in menu where they are prompted to enter their
email and password to authorize them to use the site. Once passed that they are able to
access all the districts through the drop down menu.
5.2 Screen Images
PredPol GPS
Software Design Document
5.3 Screen Objects and Actions
5.3.1 Login screen
The first activity the user will encounter is the login screen. Here the user will
enter their respective email address and password to ensure authorization into
the PredPol database and have access to the applications other functionalities.
5.3.2 Map center
The user will have access to the Google API in order to use the Google maps
functionality. The map should automatically start you in the position that you
logged into and be able to re-center the user if they were to move. Here, the
location will be continuously updating every 15 yards in order to keep a real time
update of current data being sent and received.
5.3.3 Drop down menu
The drop down menu displays all districts within the patrolling officers radius.
Once the district appears on the list the officer can select it and the location will
appear on the map. The officer can also logout from this menu.
6. REQUIREMENTS MATRIX
Requirement
ID
Requirement Type
Requirement Description
Source
001
Chore
Mock up of user interface
Project mentor, completed Mar 27
002
Chore
Mock up of login Screen
Project mentor:, completed Mar 27
003
Functionality
View full screen Google Map
Project mentor: completed Mar 27
004
Functionality
Map centers on GPS location
Project mentor: completed April 3
005
Functionality
Resuming GPS centering
Project mentor: completed April 3
006
Functionality
Toolbar
Project mentor: completed April 8
007
Non-Functionality
API call to login to PredPol
agency endpoint and get auth
Project Mentor: complete april 10
PredPol GPS
Software Design Document
5
token
008
Non-Functionality
Rest API request for district list
Project Mentor: complete May 1
009
Functionality
District Dropdown on Toolbar
Project Mentor: completed May 8
010
Non-Functionality
Continuously run and send
updates in background
Project Mentor : In progress