-
Notifications
You must be signed in to change notification settings - Fork 1
Software Requirement Specification Junior Level
Prepared by Nicholas Otter, Robert Kleffner, Tao Zhang, and Jordan Leithart
Version 1.0
- 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
###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
###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:
- Users own an Android device
- Users know standard Android GUI operations
- Users are capable of performing click actions on their phone
###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.
###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.
###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.
| 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 |