Skip to content

Software Requirement Specification Junior Level

Jordan Leithart edited this page Feb 28, 2014 · 18 revisions

Prepared by Nicholas Otter, Robert Kleffner, Tao Zhang, and Jordan Leithart

Version 1.0

TABLE OF CONTENTS

  • Introduction
    • Purpose
    • Documentation Conventions
    • Intended Audience
    • Product Scope
    • References
  • Overall Description
    • Product Perspective
    • Product Functions
    • User Classes and Characteristics
    • Operating Environment
    • Design and Implementation Constraints
    • Assumptions and Dependencies
  • External Interface Requirements
    • Hardware Interfaces
    • Software Interfaces
    • Communication Interfaces
    • Library Interfaces
  • System Features
  • Other Nonfunctional Requirements
    • Software Quality Attributes
    • Performance Requirements
  • Change Log

Introduction

###Purpose

This Software Requirement Specification provides a complete description of all the functions and specifications of the KickShot for Android.

###Documentation Conventions

For the purposes of this document, the Android application will be designated as KickShot for Android while the board game will be designated as KickShot.

###Intended Audience

This document is intended for individuals who wish to implement or review the requirements for KickShot for Android.

###Product Scope

The Android App known as KickShot for Android will be designed to run on an Android Smartphone or Tablet (Android version 2.2 or higher) and enable the user to play an entire game of KickShot Junior

###References

Overall Description

###Product Perspective

KickShot Junior is the first level of difficulty implemented in the Android Application KickShot for Android.

###Product Functions

The Junior Level of KickShot for Android will allow the user to play against a computer in a game of KickShot Junior.

The User must be able to perform the following actions:

  • Roll the dice
  • Advance the ball based on dice roll
  • Intercept: (or be intercepted by) the computer when defending and doubles are rolled
  • Shoot: A shot is taken when the ball advances to the goal line.
  • Block: the player (or computer) blocks when doubles are rolled and a shot has been taken
  • Score: A team scores when the opponent fails to block
  • Game Over: The game is over when one team scores 10 goals
  • View the Rules for KickShot Junior

The Warm Up level of KickShot for Android will allow the user to play against a computer in a game of KickShot WarmUp.

The user and computer must be able to perform the following actions:

  • Play a card
    • Intercept: Play the intercept card which allows a dice roll to attempt an interception
    • Shoot: Play the shot card which allows a dice roll to attempt a shot
    • Block: Play the block card which allows the user to block a shot
    • Pass: Play the pass card which allows a dice roll to advance the ball
    • Dribble: Play the dribble card which allows a dice roll to advance the ball
  • Game Over: The game is over when one team scores 10 goals
  • View the Rules for KickShot WarmUp

###User Classes and Characteristics

The primary use case for KickShot for Android Junior is children ages 5+. The goal of KickShot is to allow players to learn a basic version of soccer and enjoy doing so.

###Operating Environment

KickShot for Android will operate on the Android Platform, and will support versions from Android Gingerbread to Android Jelly Bean.

###Design and Implementation Constraints

By requirement, KickShot for Android has not been limited to a specific range of Android Versions for development, but Design Decisions have limited development to Android Versions that are readily available as actual hardware devices to the development team. Therefore, until other Android devices are found for testing, development will be limited to Android Jelly Bean.

Google Play Game Services makes testing difficult on Android Emulators

###Assumptions and Dependencies

Assumptions made with this application and it's use include:

  1. Users own an Android device
  2. Users know standard Android GUI operations
  3. Users are capable of performing click actions on their phone

External Interface Requirements

###Hardware Interfaces

The single hardware requirement is an Android smartphone capable of handling click events.

###Software Interfaces

Android platform with standard Android Development Kit and libraries. Google Play Game Services libraries

###Communication Interfaces

KickShot for Android will be distributed with the Google Play Store which includes automatic update services.

System Features

###Splash Page

High Priority. The user must be able to open KickShot for Android then click Play Junior Edition which will then load the LevelOneActivity and start a Junior level game.

We will be utilizing the VTD department to help with this.

###Level One Activity

High Priority. The user must be able to play a game of KickShot Junior Edition. The rules must follow those documented in the KickShot rule book for Junior (or Level One) and WarmUp (Level 2).

###Rules Page Activity

High Priority. The user should be able to access the game rules from both the Splash Page (MainActivity) and Level One Activity. The rules should be the same as (or as close as possible to) the KickShot rule book

###Leader Boards

Moderate Priority. The user will be able to achieve high scores based on how quickly they won a game, or by win margin. The leader boards should be named in such a way that more leader boards can be added for the Warm-Up edition of KickShot.

###Achievements

Moderate Priority. The user will be able to achieve tokens based on game milestones such as:

  • First Goal
  • First Win

The achievements should be named in such a way that more achievements can be added for the Warm-Up edition of KickShot.

Other Nonfunctional Requirements

###Software Quality Attributes

Software will be tested as stated in the Software Test Plan

Availability: Available on android platforms greater than 4.0, While potentially supported by older versions of android.

Usability: The application should handle all users easily while having similar expected results.

###Performance Requirements

Navigation and selection should be handled without impacting other Android functions, such as phone, text, and email messaging.

Change Log

Git History

Date Person Change
2013-09-20 Nick Otter Adding Document Outline
2013-09-21 Nick Otter Adding Initial Content
2013-09-23 Nick Otter Adding Change Log
2013-09-23 Nick Otter Updating: Design and Implementation Constraints, Assumptions and Dependencies
2013-09-23 Nick Otter adding references to other project documents
2013-09-23 Jordan Leithart Quality Assurance
2013-09-24 Nick Otter Adding content to non-functional requirements
2013-09-24 Nick Otter Initial content for System Features
2013-12-10 Jordan Leithart Sprucing up for turn in
2014-02-27 Jordan Leithart Second Semester additions

Clone this wiki locally