The Great Race (Group 11)

Software Requirements Specifications

COP 4331C Fall 2014

Software to be Produced
This project is an android game where the game master sets up the start and destination locations on the map. Two or more individuals/teams can play the game, each member of course has to carry around the smart phone with the GPS to see the map and where the destination is. The game must track the paths of the players, from the start of the game to the end, after which the paths the teams took can be erased. As in all racing games, the goal is to get from point A to point B, what makes this an interesting game/project, is that the teams can track each other since the game shows where everyone is located, and they use their phones to navigate to reach the final destination. The dots/pictures representing each player/team should have the team's name, picture... Whoever reaches the destination first, wins. This game is sort of like "adventure racing", long distance. The transportation (bikes, planes, automobiles...) options and what is allowed to use, is specified by the game master.

Reference Documents
Concept of Operations
Test Plan

Applicable Standards
None Apply.

Definitions, Acronyms, and Abbreviations Assumptions Stakeholders Event Table
Event Name External Stimuli External Response Internal data and state
Create Game The user initiates game with a button/screen press. Brings up details for game parameters and allows. The game session is sent to the server for others to join.
Start Game The user starts the game with a button/screen press. The map starts tracking player locations. The game collects data points of the player’s locations and store them in the server. The game loads the other player’s locations from the server and displays them on the map.
Leave Game The user leaves the game with a button/screen press or by reaching the finish line. The game stops tracking all player locations and gives the option to start /join a new game. The game stops tracking locations, mark game session as complete, and wait for user input.
Join Game The user joins a game with a button/screen press. The game allows the users to enter a game id and join a premade game. The game checks if the game id is valid. If it is it connects the player to the game. If it is not, the game displays an error message.
Start Application The user starts the application. The game home screen appears. The game loads data required from main functionality.

Use Case Diagram

Use Case Description Functional Requirements
No. 0001 (Validating Session ID)
Statement The application shall validate the game session ID the user attempts to join
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method If the session ID is valid, the application will join the game. If the session ID is invalid, the application will display an error message.
Revision History Created 9/15/2014

No. 0002 (Communication Failure)
Statement In the event of a communication failure the application shall attempt to re-establish a communication with server.
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method If no connection can be established an error message will be displayed and the user will be dropped from the game.
Revision History Created 9/15/2014

No. 0003 (Create Game)
Statement Upon creation of game the session should initialize on the server storing the game info.
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method Test to see if the session id and info exists if so send data to players/teams otherwise display message that session was not created.
Revision History Created 9/15/2014

No. 0004 (Join Game)
Statement User should be able to enter a session id to join an existing game.
Source From development team
Dependency Create game (0003)
Conflicts None
Supporting Material Validating Session ID (0001)
Evaluation Method If the user can’t join a game display a message that game could not be joined otherwise let player enter game session.
Revision History Created 9/15/2014

No. 0005 (Starting Game)
Statement The application shall start tracking GPS locations of players/teams and continue until an end game condition has been fulfilled or the game was prematurely terminated.
Source From development team
Dependency Create Game (0003)
Conflicts None
Supporting Material None
Evaluation Method The application will display a screen saying the game has started as well as start displaying data points on the map.
Revision History Created 9/15/2014

No. 0006 (Loading GPS Points)
Statement The application should start loading GPS points from the server and displaying them on the map.
Source From development team
Dependency Start Game (0005), Tracking Location of Player(0008)
Conflicts None
Supporting Material None
Evaluation Method The application should attempt to retrieve the data points from the server and display them to the map. If it can’t do so display an error that the points could not be retrieved from the server.
Revision History Created 9/15/2014

No. 0007 (Load Game Rules)
Statement The application should start loading the rules from the server and displaying them on the application.
Source From development team
Dependency Join Game (0004)
Conflicts None
Supporting Material None
Evaluation Method The application should attempt to retrieve the rules from the server and display them to the application. If it can’t do so display an error that the rules could not be retrieved from the server.
Revision History Created 9/15/2014

No. 0008 (Tracking Location of Player)
Statement The application should send a GPS location to the server to save.
Source From development team
Dependency Start Game (0005)
Conflicts None
Supporting Material Loading GPS Points (0006)
Evaluation Method None
Revision History Created 9/15/2014

No. 0009 (End Game)
Statement Check to see if the player/team has reached the goal location or the game was prematurely ended. Stops sending GPS points to server.
Source From development team
Dependency None
Conflicts None
Supporting Material Load Game Rules (0007)
Evaluation Method The game should display a message based on how the game was ended.
Revision History Created 9/15/2014

No. 0010 (Quit Game)
Statement Allow user to leave the game session and stops sending GPS points to server.
Source From development team
Dependency Join game (0004)
Conflicts None
Supporting Material None
Evaluation Method The game should display a message that player is no longer in game.
Revision History Created 9/15/2014

Interface Requirements
No. 0011 (Google Maps)
Statement Applications should support Google Maps application
Source From development team
Dependency Within cell service (0015)
Conflicts None
Supporting Material Load Game Rules (0007)
Evaluation Method None
Revision History Created 9/15/2014

No. 0012 (Load Gps Point within 30 Seconds)
Statement GPS data points are saved in 30 second intervals
Source From development team
Dependency Start Game (0005), Within Cell Service (0015)
Conflicts None
Supporting Material Load GPS Points (0006)
Evaluation Method Record the amount of time it takes between GPS point beginning displayed on the application
Revision History Created 9/15/2014

Physical Requirements
No. 0013 (Android OS)
Statement Requires Android OS system to run
Source From development team
Dependency Smart Portable Device (0014)
Conflicts None
Supporting Material None
Evaluation Method Does it run on the Android OS
Revision History Created 9/15/2014

No. 0014 (Smart Portable Device)
Statement Requires Smart Portable Device
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method It is in your hand and is about the size of a normal phone
Revision History Created 9/15/2014

No. 0015 (Within Cell Service)
Statement Requires data connectivity
Source From development team
Dependency Smart Portable Device (0014)
Conflicts None
Supporting Material None
Evaluation Method Does cell phone have one or more bars
Revision History Created 9/15/2014

User Factors
No. 0016 (End Users)
Statement These are the end users that will be playing the game.
Source From development team
Dependency Smart Portable Device (0014)
Conflicts None
Supporting Material None
Evaluation Method None
Revision History Created 9/15/2014

No. 0017 (Naive)
Statement Skill level must be basic smart phone knowledge, naive
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method Assumed
Revision History Created 9/15/2014

Documentation Requirements
No. 0018 (Read English)
Statement Require player to be able to read English
Source From development team
Dependency None
Conflicts None
Supporting Material None
Evaluation Method Assumed
Revision History Created 9/15/2014

No. 0019 (User Manual)
Statement User manual will be integrated into the application
Source From development team
Dependency English (0018)
Conflicts None
Supporting Material None
Evaluation Method Able to access the user manual screen through the application
Revision History Created 9/15/2014

Data Requirement
No. 0020 (GPS Storage)
Statement GPS data points will be stored in the database on a data table
Source From development team
Dependency Send GPS location (0008)
Conflicts None
Supporting Material None
Evaluation Method Check database for GPS points in table
Revision History Created 9/15/2014

No. 0021 (Session Storage)
Statement Game session info will be stored in the database on a data table
Source From development team
Dependency Load Game Rules (0007)
Conflicts None
Supporting Material None
Evaluation Method Check database for session info accuracy
Revision History Created 9/15/2014

No. 0022 (Application Storage)
Statement Device must have enough storage to hold application.
Source From development team
Dependency Smart Portable Device (0014)
Conflicts None
Supporting Material None
Evaluation Method Check for storage space before installing
Revision History Created 9/15/2014