Академический Документы
Профессиональный Документы
Культура Документы
Wildcats
Version
Approved
Signature
Date
Ryan Richardson
2.0
3/15
Dr. T. L. Lewis
Version
Reviewed
Signature
Date
Group Member
2.0
Russell Dixon
3/15
Group Member
2.0
Eric Miller
3/15
Group Member
2.0
Ryan Richardson
3/15
Group Member
2.0
Simon Palenchar
3/15
Wildcats
Contents
1. Introduction........................................................................................................................3
1.1 Purpose of this document.............................................................................................3
1.2 Scope of this document................................................................................................3
1.3 Business Context..........................................................................................................3
2. General Description...........................................................................................................3
2.1 Product Functions.........................................................................................................3
2.2 Similar System Information.........................................................................................3
2.3 User Characteristics.....................................................................................................3
2.4 User Problem Statement...............................................................................................4
2.5 General Constraints......................................................................................................4
3. Functional Requirements...................................................................................................4
4. Interface Requirements....................................................................................................28
4.1 User Interfaces...........................................................................................................28
4.2 Communications Interfaces........................................................................................30
5. Performance Requirements..............................................................................................31
6. Other non-functional attributes........................................................................................31
6.1 Security......................................................................................................................31
6.2 Reliability...................................................................................................................31
6.3 Maintainability...........................................................................................................32
6.4 Reusability..................................................................................................................32
7. Operational Scenarios......................................................................................................32
8. Preliminary Use Case Models and Sequence Diagrams..................................................33
8.1 Use Case Model.........................................................................................................33
8.2 Sequence Diagrams....................................................................................................33
9. Updated Schedule.............................................................................................................34
10. Appendices.....................................................................................................................36
10.1 Definitions, Acronyms, Abbreviations.....................................................................36
10.2 References................................................................................................................36
Wildcats
1. Introduction
1.1 Purpose of this document
The purpose of this document is to define our product, its functional, interface, and
performance requirements, as well as its non-functional attributes and operational
scenarios. This document will also contain use case models, sequence diagrams, and
updated schedule. The document is intended for our software engineers.
2. General Description
2.1 Product Functions
The product is a system comprising of a multi-route optimizing app as well as a
companion manager-side website that tracks multiple app users. The driver will have a
button on the app to return his location and timestamp to the managers companion
website.
Wildcats
3. Functional Requirements
1. The manager shall have a textbox to enter his username.
1. Description
The website must have a textbox for the manager to enter their unique
username in order to log into their account.
2. Criticality (4/5)
The website needs a login feature with usernames in order to differentiate
between users. Without this feature no matter who you are you would be able to see
all drivers anyone has connected to the site.
3. Technical Issues
Preconditions:The textbox must be editable. The textbox must be long enough
to support enough characters. Must be intuitive to write username in textbox.
Postconditions: Username will be in box.
4. Risks
It isnt intuitive to put username here.
Minimization: Have textbox filled with Username as default.
5. Dependencies with other requirements
Dependent on the login page being up.
2. The manager shall have a textbox to enter his password.
1. Description
The website must have a textbox for the manager to enter their password in
order to log into their account.
2. Criticality (4/5)
The website needs a login feature with passwords in order to differentiate
between users and keep the accounts safer. Without this feature no matter who you
are you would be able to see all drivers anyone has connected to the site.
3. Technical Issues
Preconditions:The textbox must be editable. The textbox must be long enough
to support enough characters. Must be intuitive to write password in textbox.
Postconditions: Password will be in box. Password will be in dots to add
security
4. Risks
It isnt intuitive to put password here.
Minimization: Have textbox filled with ******* as default.
Wildcats
Wildcats
5. The manager shall have a table with drivers, their last location, and their timestamps.
1. Description
The Management page of the website will contain a list of drivers, their
timestamps and their locations ordered from the newest at the top to the oldest at the
bottom.
2. Criticality (5/5)
This is arguably the most important part of the management section of our
system. This allows the manager to see what locations their active drivers have
visited and when. It will even allow the managers to see when drivers are coming
back.
3. Technical Issues
Preconditions: Manager must be logged on. Management page is up.
Postconditions: Manager will see all drivers timestamps, locations and
usernames from the time he's logged on until now.
4. Risks
Table becomes too large to display on web page.
Minimization: Have vertical and horizontal scrollbars.
5. Dependencies with other requirements
This requirement depends on the Management page being open.
6. The manager shall have a list of active drivers.
1. Description
The management page of the website will have a list of all drivers currently
logged on.
2. Criticality (2/5)
This is not a necessary attribute but having it helps the manager easily see
current drivers. Without this list we could still see drivers, their locations, and their
timestamps with the other list.
3. Technical Issues
Preconditions: Manager is logged on. Management page is up.
Postconditions: All and any active users are displayed in this list.
4. Risks
Driver doesnt log out properly.
Minimization: Ping driver device to see if they are still online.
List becomes too large for web page.
Minimization: Use scrollbars vertically to create extra room.
5. Dependencies with other requirements
This requirement depends on the Management page being open.
7. The manager shall have a Create User button.
1. Description
The management page of the website section of our system must have a
Create user button that links the management page to the New User Creation page.
Wildcats
2. Criticality (5/5)
Without the ability to make new users the manager would never be able to
add and keep track of their drivers.
3. Technical Issues
Preconditions: Manager must be logged on. Management page is up.
Postconditions: Create User button is located on top of management page.
4. Risks
Button does not intuitively tell user what it does.
Minimization: Clearly label button.
5. Dependencies with other requirements
This requirement depends on the Management page being open.
8. The manager shall be able to go to a separate Create User page.
1. Description
The website must a separate page to add new driver accounts. This page will
have a textbox for the new username and one for the new password of the driver
being added, as well as a submit button.
2. Criticality (5/5)
Without the ability to make new users the manager would never be able to
add and keep track of their drivers. By having this on a separate page we keep the
main management page from becoming cluttered.
3. Technical Issues
Preconditions: Manager must be logged in. Create User button must be
clicked.
Postconditions: Textbox for new Username and textbox for new Password will
be shown. Submit button will be showing.
4. Risks
Spacing between items on page make page confusing.
Minimization: Have page be scalable with size.
5. Dependencies with other requirements
This requirement depends on the Create User button being pressed.
9. The manager shall have a username textbox on the Create User page.
1. Description
On the Create User page the manager must have a textbox to enter the new
users username.
2. Criticality (5/5)
Without the ability to assign usernames to new Users it would be impossible
to tell which drivers are which.
3. Technical Issues
Preconditions: Manager must be logged in. Create User button must be
clicked.
Postconditions: The manager will have a textbox that will accept a certain
number of characters.
Wildcats
4. Risks
It isnt intuitive to put username here.
Minimization: Have textbox filled with Username as default.
5. Dependencies with other requirements
This requirement is dependent on the Create User page being up.
10. The manager shall have a password textbox on the Create User page.
1. Description
On the Create User page the manager must have a textbox to enter the new
users password.
2. Criticality (5/5)
Without the ability to assign passwords to new Users it would reduce the
security of our driver side app.
3. Technical Issues
Preconditions: Manager must be logged in. Create User button must be
clicked.
Postconditions: The manager will have a textbox that will accept a certain
number of characters.
4. Risks
It isnt intuitive to put new users password here.
Minimization: Have textbox filled with ******** as default.
5. Dependencies with other requirements
This requirement is dependent on the Create User page being up.
11. The manager shall have a submit button on the Create User page.
1. Description
On the Create User page the manager must have a button to activate the
action of adding the new user to his profile.
2. Criticality (5/5)
This button will be necessary to let the user tell the web page that he is done
entering the username and password.
3. Technical Issues
Preconditions: Manager must be logged in. Create User button must be
clicked.
Postconditions: The manager will have a textbox that will accept a certain
number of characters.
4. Risks
It isnt intuitive to put click this when wanting to submit username and
password.
Minimization: Have Button labeled as Submit.
5. Dependencies with other requirements
This requirement is dependent on the Create User page being up.
Wildcats
Wildcats
If the driver types in an address incorrectly there will be an error message that
will appear telling them they entered an address incorrectly.
2. Criticality(5/5)
This needs to be in place so there are no error when sending addresses to the
Google Maps and Directions APIs and the to make sure the driver goes to the correct
destination.
3. Technical Issues
Preconditions: The driver has entered an address into an address text field and
Presses a GO button.
Postconditions: The application has seen that an address entered is not a valid
address and sends the error message
4. Risks
The applications test to see if an address is valid causing the message to not
appear.
Minimization: Test the applications address validity test rigorously.
5. Dependencies on other requirements
Dependent on the applications address test and, and that the address text
fields are available and taking input correctly.
15. The driver shall have a list of every address added so far.
1. Description
The application will show the address already entered in their respective text
fields where they can see them and also edit them if need be.
2. Criticality(4/5)
The driver needs to see every address they have entered on the screen in the
text Fields so they know in what order they entered them and if they made an error in
entering them.
3. Technical Issues
Preconditions: There will be empty address text fields that are editable.
Postconditions: The address text fields will be full with an address in each and
they
Are still editable.
4. Risks
The driver enters an address in wrong
Minimization: Let the drive edit the addresses that they have already typed in.
5. Dependencies on other requirements
Dependent on the address text fields and the another address button.
16. The driver shall have a log out button on the Address entry page.
1. Description
On the address entry screen there will be a button labeled log out at the
bottom of the screen that will allow them to log out.
2. Criticality(4/5)
Drivers need to be able to log out on any screen including the address entry
screen so the drivers working list on the manager's website is not wrong because
someone wasnt able to log out because there was no button.
Wildcats
10
3. Technical Issues
Preconditions: There will be a button labeled Log Out on the bottom of the
screen.
Postconditions: The button will have been pressed and the driver will be
logged out.
4. Risks
The driver clicks the log out button on accident and doesnt want to log out.
Minimization:Show a message asking if they are sure they want to log out.
5. Dependencies on other requirements
Dependent on the address entry page and being able to log out.
17. The driver shall be able to log out from the Address page.
1. Description
The driver will be able to press the Log Out button and take them to the log
in
screen.
2. Criticality(4/5)
If there is a Log Out button on the address entry screen then drivers need to
be
able log out on that screen or that button does nothing or can confuse the
driver
3. Technical Issues.
Preconditions: The Log Out button will have been pressed.
Postconditions: The drivers device will be taken back to the login screen.
4. Risks
The log out operation does not work correctly
Minimization test the operation rigorously.
5. Dependencies on other requirements
Dependent on the log out button and the login screen. .
18. The driver shall have an GO Optimized button.
1. Description
On the address entry screen there will be a button labeled GO Optimized
near the bottom of the screen.that will navigate their routes optimized based on time.
2. Criticality(4/5)
Drivers need a Go Optimized button so they have the option to optimize their
route based on time which is one of the main premises of the application.
3. Technical Issues
Preconditions: There will be a clickable button labeled Go Optimized near
the
bottom of the screen with addresses in the tech fields.
Postconditions: The button will be pressed and the driver will be able to
navigate
an optimized route and addresses in the text fields.
4. Risks
The button does not take the driver to the navigation screen
Minimization: Test the button often.
5. Dependencies on other requirements
Dependent on the optimized route operation and the navigation screen.
19. The driver shall be able to choose an Optimized Route.
1. Description
The application will optimize the addresses order based on time and route the
driver.
2. Criticality(5/5)
Wildcats
11
Drivers have the option between an optimized route and an As Is route and to
make sure they have both options they need to be able to choose which type if
route they
would like like an optimized route.
3. Technical Issues
Preconditions: The Go Optimized button will be clicked with
addresses in
the text fields.
.
Postconditions: The list of addresses is reordered to get the driver through their
entire route with the best time and the navigation screen is shown.
4. Risks
The route is not optimized.
Minimization: Test the optimization operation often
5. Dependencies on other requirements
Dependent on the Go optimized button.
20. The driver shall be able to get a Cannot Connect to GPS error message.
1. Description
If the drivers phone is not able to connect to their location or has no service or
any other impairment the driver will receive a :Cannot Connect to GPS error
message.
2. Criticality(3/5)
If the driver's phone cannot connect to the GPS they will need a error message
them their route request cannot be handled at that moment.
3. Technical Issues
Preconditions: The drivers device cannot connect to GPS and the driver clicks
one of the GO options.
Postconditions: The application shows an error message saying the device
cannot connect to GPS at the moment.
4. Risks
The GPS connects while the message is still being displayed
Minimization: Add a retry button on the message.
5. Dependencies on other requirements
Dependent on the connection to internet and having the device location
available.
21. The driver shall have an GO As Is button.
1. Description
The address entry screen will have a GO As Is button that allows the drive to
set their route order.
2. Criticality(4/5)
If the driver wants to make the order of the addresses manually they will need
a
Go As Is button so their list does not get optimized.
3. Technical Issues
Preconditions:Near the bottom of the screen there will be a clickable button
labeled
GO As Is with addresses in the text fields..
Postconditions: The button is clicked and the application displays the
navigation screen with the addresses routed the way they were inputted.
4. Risks
The button does not take the driver to the navigation screen
Minimization: Test the button often.
5. Dependencies on other requirements
Dependent on the as is operation and the navigation screen.
Wildcats
12
Wildcats
13
Must have database up and working. Website will be pushing new users to the
driver/user table. Database must save these new users to the table. Manager will
need a create page. Manager will need a link to get to the create page. Website must
be up and working properly. Manager must have logged in with valid credentials.
24. The manager shall be able to access an Edit page.
1. Description
Manager must be able to access edit page.
2. Criticality (3/5)
The Edit page is for convenience, it is not crucial.
3. Technical Issues
Pre-conditions: Must have internet. Manager must log-in. Manager must have
account stored on database. Database must be up and working. Credentials must be
validated. Link to edit page must be up and working. The link will be on the banner.
Post-conditions: Access to edit page grants the ability to edit and remove drivers.
Manager will also see a list of those drivers.
4. Risks
Manager might not have internet. Manager may not be able to log-in. This could be
because of incorrect credentials or a malfunction. We need to give manager the
ability to retrieve their username and password. We need to run tests on log-in to
make sure its working properly. Link to edit page may be broken. Need to test our
website links thoroughly.
5. Dependencies with other requirements
Edit page link must be up and working on the banner. The website must be up and
working. The manager can access this page once they have logged in. Need log-in
page. Need database up and working with stored manager credentials.
25. The manager shall have a list of his drivers and their passwords on the Edit page.
1. Description
The edit page will display a list of drivers and their passwords pulled from the
database
2. Criticality (3/5)
This list is to allow the manager to easily edit and remove drivers. It isnt crucial but
convenient. The manager can also view names and passwords in case log-ins are
forgotten.
Wildcats
14
3. Technical Issues
Pre-conditions: Must have an edit page to display the list. Must have a database up
with a driver table. Website must be able to pull information from the database. Must
be displayed in a list. The list will have two columns, one for name and one for
password.
Post-conditions: List will have remove buttons next to each driver. The list will be
editable by the manager.
4. Risks
Poor time management may lead us to not implement this function. We have to keep
following the schedule. We may not be able to have the website and database
interacting correctly, we will be seeking help when needed and consulting tutorials.
5. Dependencies with other requirements
Edit page must be up and working. Page must be accessible by manager. Database
must be up and working with a drivers table. Website must be able to pull table from
database and display the data in a list. Manager must be able to edit this list and
changes will be reflected in the database.
26. The manager shall have a remove button next to each driver name on the Edit page.
1. Description
A remove button will be displayed next to drivers in the drivers list on the Edit page.
2. Criticality (3/5)
Removing drivers from the database is not critical but very helpful to the manager.
3. Technical Issues
Pre-conditions: Must have a Edit page to place the button on. Must display the driver
list to remove from. Remove button should display next to individual drivers.
Website must be up and working and accessible by the manager.
Post-conditions: The remove button will have an action listener that will enable the
manager to delete a driver from the database and by that, the driver list.
4. Risks
Poor scheduling would be the only reason this is not implemented. Buttons are easy
to create. We will keep up to date with our schedule and communicate effectively. If
we fall behind we will have to put in extra time and work more efficiently.
5. Dependencies with other requirements
Wildcats
15
The remove button must be displayed by the page. It must be clickable. When
pressed, it should remove that driver from the database. The list should be updated
accordingly.
27. The manager shall be able to remove drivers.
1. Description
The manager will be able to remove drivers from the database on the edit page.
2. Criticality (3/5)
This function is not critical but very helpful to the manager.
3. Technical Issues
Pre-conditions: List of drivers must be displayed. There must be an option or button
to allow the manager to easily remove a driver from that list.
Post-conditions: The database must reflect these changes. The driver is removed from
the list.
4. Risks
Poor time management may lead us to not implement this function. We have to keep
following the schedule. We may not be able to have the website and database
interacting correctly, we will be seeking help when needed and consulting tutorials.
5. Dependencies with other requirements
The website, specifically the edit page, must be able to pull the driver list from the
database. The manager must be able to edit that list. The database must reflect those
edits.
28. The manager shall have a edit button at the bottom of the Edit page.
1. Description
An edit button at the bottom of the Edit page will enable the manager to edit user
account information.
2. Criticality (3/5)
Manager being able to edit users isnt critical but very helpful. Wed like the manager
to edit user accounts so we dont have to.
3. Technical Issues
Pre-conditions: Edit page must be up and working. Manager must be able to access
the page. Edit button must be clickable.
Post-conditions: Edit button should enable manager to edit user accounts,
Wildcats
16
4. Risks
Easily satisfied condition. Only problem may be not getting to it, poor scheduling.
We have to keep progressing through our schedule and communicating what we have
accomplished.
5. Dependencies with other requirements
Edit button enables the list to be changed. The list is saved to the database.
29. The manager shall be able to edit existing drivers usernames and passwords.
1. Description
The manager will have access to an edit page where they can edit user information.
The edit page will be accessible via a banner hyperlink.
2. Criticality (3/5)
This allows the manager to change user account information. Helps with forgotten
usernames, passwords, and updating user accounts. Not very critical but very useful.
3. Technical Issues
Pre-conditions: Website must be up and working with a edit page. Manager must be
able to successfully log in and be identified as a manager. Edit page must have list of
users and an action button to enable editing of their information. Must have an edit
button to enable user list to be edited.
Post-conditions: Edits must be saved to the database.
4. Risks
The manager may not be able to find the edit page. A manual will be provided with
instruction. The website may not function. Extensive testing will be done.
5. Dependencies with other requirements
The edit page has to pull user accounts from the database and display them in a list
with a button to edit them. The database must be updated when the user submits
changes.
30. The drivers device shall have location services activated on their phone.
1. Description
Location services enables GPS, giving the users position in latitude and longitude.
2. Criticality (5/5)
Wildcats
17
The users location is needed to provide directions and display a map of where they
are.
3. Technical Issues
Pre-conditions: GPS capability and have the option to turn it on
4. Risks
Android smartphones should have GPS capabilities. We can not ensure they do.
5. Dependencies with other requirements
GPS coordinates are used by Google Maps to display current location and Google
Maps Directions to give directions from current location. The queue would be
ineffective because directions could not be provided.
31. The driver shall have Google Maps downloaded on their phone.
1. Description
The driver must have the Google Maps application downloaded.
2. Criticality (5/5)
Without Google Maps the driver will not see a map and the application can not
receive current street address.
3. Technical Issues
Pre-conditions: Must have internet to connection to download Google Maps.
No post-conditions.:
4. Risks
Driver may not have internet connection.
5. Dependencies with other requirements
Google Maps is used to display the map with the drivers location. Google Maps
passes locations to Google Maps Directions.
32. The drivers device shall have internet access.
1. Description
The driver must have internet access on their mobile device.
2. Criticality (5/5)
Wildcats
18
Without internet access, the user can not talk to the database and website. The user
will also not be able to get directions.
3. Technical Issues
Everything is a post-condition to having internet access. Nothing works without it.
4. Risks
We cant help it if a drivers phone can not access the Internet. However, if the driver
has access and loses signal, we will save the queue saved locally on their phone.
5. Dependencies with other requirements
The user needs internet access to log-in, so all features provided after log-in depend
on this. The users credentials are checked by the database, if valid, log-in is granted.
If the user is a manager, they are given the manager page. If a driver, the user is taken
to the address queue page.
33. The driver shall have an app button that launches Deliverable.
1. Description
The driver will need an icon that will be placed on the home screen or in the
applications menu that will launch Deliverable for use.
2. Criticality (3/5)
Without such an icon, the user will be unable to easily distinguish Deliverable
from other applications on the users device.
3. Technical Issues
Different users will have different screen resolutions. Therefore, the
Deliverable icon must be given in a variety of images that will be displayed on high
resolutions screens to low resolution screens.
4. Risks
While updating to future versions, the app icon becomes the default android
app icon and is unrecognizable to the user. Minimize: always deploy with an app
icon.
The app icon is not immediately recognizable to the user because of its design.
Minimize: Design the icon with enough distinction from competitors.
5. Dependencies with other requirements
independent.
34. Only the manager shall have access to the Deliverable website.
1. Description
The manager is the only user type that will be able to make changes to the
driver accounts and view the active drivers.
2. Criticality (3/5)
Wildcats
19
The manager user is the only person who directly benefits from the
information provided on the website. Driver users should not be able to change driver
accounts from a managers perspective.
3. Technical Issues
The manager should be the only user able to access and make changes to the
4. Risks
The driver is able to access the website from a managers computer while the
manager is away. Minimize: provide a timeout to the manager site so they have to log back
in.
The website crashes and the manager is unable to access it. Minimize: shop
around for web hosts and choose carefully.
5. Dependencies with other requirements
Independent.
35. The driver shall have a Title screen.
1. Description
The title screen will be the portal to the application for a driver.
2. Criticality (5/5)
The title screen will allow a user to log in and access the apps features.
3. Technical Issues
Preconditions: The driver is not currently logged in.
Postconditions: The driver will be logged in.
4. Risks
The driver is unable to launch the application. Minimize: support a variety of
different Android versions.
The application crashes. Minimize: implement the application in a resource
efficient manner.
5. Dependencies with other requirements
Dependent on the app being launched from the icon.(1)
36. The driver shall be able to enter a username into the Title screens username textbox.
1. Description
The user must be provided a textbox to enter in a username for access to the
application.
2. Criticality (5/5)
Without authentication, the user is unable to use the app. This is one piece of
the authentication.
3. Technical Issues
Preconditions: The driver is not currently logged in.
Postconditions: The driver will be logged in.
4. Risks
Wildcats
20
Wildcats
21
Wildcats
22
Postconditions: The driver will not be logged in, and will be given a message,
notifying them of the failure, on the title screen.
4. Risks
The driver is unable to launch the application.
The application crashes.
The request times out because of a bad internet connection. Minimize: provide
detailed messages to the user.
The user is an attacker attempting to gain access to the system.
5. Dependencies with other requirements
Dependent on the app being launched from the icon, having a title screen,
having a username textbox, having a password textbox, having a log in button, and to
be able to log in to their driver account.(1, 3, 4, 5, 6, 7)
41. The driver shall be able to get a Cannot Connect to System error message.
1. Description
If a users credentials are valid, and they are denied access to the system, they
must be notified that their attempt was unsuccessful.
2. Criticality (4/5)
A user may become confused that their request was denied, and may wonder if
it was because of their credentials, when in fact the system failed to make the request
for some other reason.
3. Technical Issues
Preconditions: The driver is not currently logged in.
Postconditions: The driver will not be logged in, and will receive a message
that their log in attempt was unsuccessful.
4. Risks
The driver is unable to launch the application.
The application crashes.
The device uses an old processor that makes it difficult to enter text
sometimes.
5. Dependencies with other requirements
Dependent on the app being launched from the icon, having a title screen,
having a username textbox, having a password textbox, having a log in button, being
able to log into their account.(1, 3, 4, 5, 6, 7)
42. The driver shall have an Address screen.
1. Description
To be able to navigate to an address, the user must first enter one in. They must
be provided a screen by which to do so.
2. Criticality (5/5)
Without a screen dedicated to entering in addresses, the user will be unable to
use the features of the application to assist them in their deliveries.
Wildcats
23
3. Technical Issues
Preconditions: The driver must be logged into the system.
Postconditions: The driver will have an address to navigate to entered into the
system.
4. Risks
The driver is unable to launch the application.
The application crashes.
The device uses an old processor that makes it difficult to enter text
sometimes.
The device loses internet connectivity and is unable to log in to the system
before this step. Minimize: provide a message to the user if their device is unable to gain
access to the system.
5. Dependencies with other requirements
Dependent on the app being launched from the icon, having a title screen,
having a username textbox, having a password textbox, being able to log into the
system.(1, 3, 4, 5, 6, 7)
43. The driver shall be able to enter an address into a textbox on the Address screen.
1. Description
To be routed to an address, the user must be able to enter it to be submitted to
the system.
2. Criticality (5/5)
Without a clear means by which to enter addresses, the user cannot use the
features of the application.
3. Technical Issues
Preconditions: The driver must be logged into the system.
4. Risks
The driver is unable to launch the application.
The application crashes.
The device uses an old processor that makes it difficult to enter text
sometimes.
5. Dependencies with other requirements
Dependent on the app having an address screen. (10)
44. The driver shall have a Directions screen.
1. Description
The driver will have a screen displaying a map and navigate button.
2. Criticality (5/5)
Driver needs this map to see where they are and navigate button to push
directions to Google Maps Directions.
3. Technical Issues
Wildcats
24
25
Wildcats
26
Database must exist storing users. Logging out will set the driver to inactive.
The driver will not display on active drivers list once logged out.
49. The driver shall have a Log out button on the Direction page.
1. Description
A button labeled Log out will be provided on the Direction page.
2. Criticality (2/5)
This isnt a crucial feature, but it is helpful for the driver.
3. Technical Issues
Preconditions: Directions page must be working properly.
Postconditions: Pressing the button logs the driver out, taking them to the log
in screen. The database will update, marking the driver as inactive.
4. Risks
Driver may log out accidently. Button must not be easily hit by mistake. Do
user testing to make sure the button is in an ideal location.
5. Dependencies with other requirements
Screen must display properly. Database must exist storing users. Logging out
will set the driver to inactive. The driver will not display on active drivers list once
logged out. Log in page must be brought up correctly after button is pressed.
50. The driver shall have a Return button on the Direction page.
1. Description
A button labeled Return will be provided on the Direction page.
2. Criticality (5/5)
Return button tells the manager the driver is returning and will send the driver
to a directions page with his store address loaded
3. Technical Issues
Preconditions: Directions page must be working properly. Managers website
must function properly
Postconditions: Pressing the button sends the driver to a directions screen with
their store address. A timestamp and last address of the driver will be displayed to the
manager.
4. Risks
Driver may hit the button accidentally. Button must not be easily hit by
mistake. Do user testing to make sure the button is in an ideal location. Button may
not function correctly. Must run extensive tests.
5. Dependencies with other requirements
Screen must display properly. Database must exist storing users. Pressing the
button will display the drivers information, timestamp, and location to the manager.
New directions page must load with drivers store address, giving the driver
directions.
Wildcats
27
51. The driver shall be able to get directions to return to the store.
1. Description
The drivers store address is stored in the database. The driver will be able to
get directions from his location to that address.
2. Criticality (5/5)
Driver needs to get back to the store after a delivery.
3. Technical Issues
Preconditions: Driver must want to return to store. Store address must be
saved in the database. Phone must be able to pull that address. Address is sent to
Google Maps Directions. Directions are displayed properly.
4. Risks
Wrong store address may be stored. Manager needs to keep database updated
with correct information. Driver will be able to see where he is going.
5. Dependencies with other requirements
Database must store correct home address. Phone must pull this address for
the user and send to Google Maps Directions. Directions must be displayed properly.
52. The manager shall have a login page on the website.
1. Description
The first page available to the manager is a log in page
2. Criticality (5/5)
Without a log in page we can not authorize access to subsequent pages.
3. Technical Issues
Preconditions: Page must display properly. Text fields must be provided to
enter log in information. Database must have manager credentials stored.
Postconditions: Manager can access subsequent pages once logged in.
4. Risks
Input fields create security holes. Will need to whitelist or blacklist characters
to sanitize inputs.
5. Dependencies with other requirements
Subsequent pages must load properly. Database must have manager
credentials stored.
4. Interface Requirements
4.1 User Interfaces
Once application opens, the first screen the user is brought to will be the log in screen. From here, the
user or manager enters their username and password. Two input text fields will be provided with
labels for each. A log in button will be located below the text fields.
Wildcats
28
If a user enters valid credentials, they are taken to the address queue screen. Here, the user will have a
text field labeled Enter First Address. At the bottom of the screen, there will be an Add Another
Address button. If a user selects this button, a text field will appear below the first address text box.
If they select it again, a text field will appear below the previous text field. A maximum of six
addresses will be able to be entered, so there will be enough room to fit six text fields before the Add
Address button. Two buttons will be provided below Add Another Address. One button labeled
Go Optimized and another labeled Go As Is. Hitting one of these advances you to the map
screen. Below these, buttons will be a Log Out button.
On the map screen, the top will be labeled with the current address. Below this, taking up most of the
screen, a map is displayed. This map shows where the driver is and directions to the current address.
Below the map, will be a Navigate bottom to provide turn-by-turn directions. At the bottom of the
screen will be three buttons: Next Address, Return To Store, and Log Out.
If a manager enters valid credentials, they are taken to a manager web page. The left side of the page
will be devoted to a table. The table will list drivers name, time stamp, and location of drivers who
have pressed the Return To Store button. A list of active drivers will be displayed to the right of the
table. A banner will be at the top of the page with four hyperlinks, Home, Create Driver, Edit
Driver, and Log Out.
Create Driver page will have two text fields, one on top. Top text field will be labeled Username:
and the bottom text field labeled Password: . A Submit button will be provided below these
fields. A banner will be at the top of the page with four hyperlinks, Home, Create Driver, Edit
Driver, and Log Out.
Edit Driver page will have a list of all drivers in the database. Next to each will be an X button
next to each driver to remove them. Edit and Update buttons will be provided at the top of the
page. A banner will be at the top of the page with four hyperlinks, Home, Create Driver, Edit
Driver, and Log Out.
Hitting Navigate opens Google Maps turn-by-turn on default settings.
4.1.1 GUI
Wildcats
29
4.1.2 CLI
No command line present.
Wildcats
30
5. Performance Requirements
Response Time
.1 seconds: Add address, edit user, and remove user buttons.
< .5 seconds: Web page loads
< 1 second: Manager is authenticated through website
< 5 seconds: Users are authenticated on mobile device. Directions are displayed.
Map is displayed.
< 10 seconds: After navigate button is pressed, directions to address are displayed.
Driver returning data is sent to managers site after return button is pressed.
Workload
Deliverable will be capable of supporting 100 users in the current version, enough for a
whole store of employees. Only one user will have manager access. The website will be four
pages, three of which only viewable by the manager. The system will handle at least 3 pushes
per second.
Scalability
System is immensely scalable. After testing is conducted on first stores. More tables
and records can be added to the database. Database will need to be improved to increase
performance. System will be designed to handle entire franchises.
Platform
Deliverable will run on the Android and desktop computer platforms. Users will
access the app via a device running the Android operating system and through a web-browser
on a desktop computer. The web component of Deliverable will be built using the PHP
framework Laravel, and be run by an Apache server, using a MySQL database.
6.2 Reliability
Cell service for users can be in and out. System web interface and database should always be
up. Pushes can be resent if data loss or corruption occurs.
Wildcats
31
6.3 Maintainability
Manager will be creating, editing, and removing users. Database can expand. Users need to keep
mobile devices updated. Google Maps application must be up to date.
6.4 Reusability
Queue can be re-used for people who want to input addresses in a queue format. Log-in screen can be
re-used in many applications. Managers screen where users can be edited or removed can be
applicable. Pushing parameters from a mobile device to a website is the backbone of our code. We
can use this in any such interaction
7. Operational Scenarios
Scenario 1:
Initial assumption: The user has logged on, queue is empty. User enters three addresses into queue,
hits optimize Go button.
Normal: System optimizes addresses based on time. System places addresses into queue. First
address in queue is routed. Directions display.
What can go wrong: Addresses typed in wrong. Optimizer fails. GPS fails. Phone dies. Addresses
enter queue in wrong order. Addresses dont enter queue. Wrong address is routed. Address is not
routed. Directions dont display. Wrong directions display.
System state on completion: Directions to first location in queue are displayed.
Scenario 2:
Initial assumption: The user and manager have logged on. User presses Returning button because
he is on his way back.
Normal: The timestamp and the last address from the users queue are displayed under the users
name on the website to the manager. The last address is removed from the users queue. Users home
store address is entered. Directions to home store are displayed.
What can go wrong: Timestamp and address do not get pushed to the website. Driver GPS fails and
cant receive directions to store. Driver has wrong store entered as home store. System takes wrong
address from queue. Queue is already empty. Timestamp error. Website is down. Timestamp and
address show up under wrong user. More than home store address remain in queue.
System state on completion: Website is showing users last location and timestamp. The user has
directions back to the store.
Scenario 3:
Initial assumption: The user arrives at his destination in the queue. It is not his last address. User
clicks Next button.
Normal: Current address is removed from queue. Queue is updated, next address is pushed to front of
the queue. Address route loads and directions are displayed.
What can go wrong: Current address not removed. No more addresses in queue. Directions displayed
wrong. Next address not pushed to front of queue. Wrong address is pushed to the front of the queue.
Wrong address loads. GPS malfunction. Loss of cell reception.
Wildcats
32
System state on completion: Next address in users queue has been loaded and displayed. Queue is
updated, previous address has been removed.
Wildcats
33
9. Updated Schedule
Wildcats
34
Wildcats
35
10. Appendices
10.1 Definitions, Acronyms, Abbreviations
App = Application
GUI = Graphical User Interface
10.2 References
The Worldwide Leader in Pizza Delivery. (n.d.). Retrieved April 05, 2016, from
https://biz.dominos.com/web/public/about#start
Wildcats
36