Software Requirements Specification Document
Software Requirements Specification Document
Document
Date: 30.11.2014
Table of Contents
1 Introduction ........................................................................................... 1
1.1 Problem definition ............................................................................ 1
1.2 Purpose of document....................................................................... 1
1.3 Scope of project ............................................................................... 2
1.4 Definitions,acronym ,abbreviations .................................................. 2
1.5 References ...................................................................................... 3
1.6 Overview ......................................................................................... 3
2 Overall Description ................................................................................ 4
2.1 Product Perspective......................................................................... 4
2.1.1 System Interfaces ...................................................................... 4
2.1.2 User Interfaces ........................................................................... 4
2.1.3 Hardware Interfaces ................................................................... 9
2.1.4 Software Interfaces .................................................................... 9
2.1.5 Communication Interfaces........................................................ 10
2.2 Product Functions .......................................................................... 10
2.2.1 Basic Movement of Player ........................................................ 10
2.2.2 Basic Interaction of Character with Objects .............................. 10
2.2.3 Light Reflections and Movement Decisions .............................. 10
2.2.4 Exchanging Information............................................................ 10
2.3 User Characteristics ...................................................................... 10
2.4 Assumptions and Dependencies ................................................... 11
3 Specific Requirements ........................................................................ 11
3.1 External Interface........................................................................... 11
3.2 Functional Requirements ............................................................... 14
3.2.1 Play .......................................................................................... 14
3.2.2 MovePlayer .............................................................................. 16
3.2.3 InteractObject ........................................................................... 19
3.2.4 howtoPlay ................................................................................ 22
3.2.5 Exit ........................................................................................... 23
3.2.6 Options .................................................................................... 24
3.2.7 Emote ...................................................................................... 25
3.2.8 Pause....................................................................................... 26
3.3 Performance requirements ............................................................ 26
3.4 Database Requirements ................................................................ 27
3.5 Design Constraints ........................................................................ 28
3.6 Software System Attributes............................................................ 28
3.6.1 Reliability.................................................................................. 28
3.6.2 Availability ................................................................................ 28
3.6.3 Security .................................................................................... 28
3.6.4 Maintainability .......................................................................... 28
3.6.5 Portability ................................................................................. 28
4 Planning .............................................................................................. 29
4.1 Team Structure .............................................................................. 29
4.2 Estimated Schedule ....................................................................... 30
4.3 Process Model ............................................................................... 31
5 Conclusion .......................................................................................... 31
1 Introduction
This document is a software requirement specification for the Light My Way Game
Project which is an android application. After giving information about the definition of the
project at the beginning part of the document, we will give complete description for overview
and list the requirements which meet the needs of the users.
There are a lot of companies all over the world making mobile games. “In 2013, app
developers brought in $26 billion in revenue from app stores.In 2017, that number is expected to
hit $77 billion.”(Russell,2013).9 big game companies including Gameloft and Rovio made over
$100 million from sales in 2013. As a result, there are variety of games in market but there is not
much co-operative multiplayer games to entertain people. Furthermore it doesn't mean that an
existing game on a category will fulfill the market gap since game choices depend on people's
admiration.
● Instructors
● Devolopers
● Testers
Chapter: Introduction
1
1.3 Scope of project
Light My Way is a game application on android phones.The aim of the project is to
develop a game which entertain people by getting two people together and make them pass
levels with cooperation of each other. Levels will be 2-D dark environments decorated as inside
of an Egyptian pyramid. There will be some blocks with mounted light sources on them and
mirrors next to some of these blocks. Players are expected to escape these levels by interacting
with the objects near them and lightening each others path. They will be able to walk, move
blocks in levels and rotate mirrors in the room. In order to achieve collaboration between
players, they will also be able to communicate.
Term Definition
2
Emote To express emotion, especially in an
excessive or theatrical manner
1.5 References
IEEE STD 830-1998, IEEE Recommended Practice for Software Requirements Specifications
Smith, A. (2013, June 5). Smartphone Ownership 2013. Retrieved October 16, 2014.
Russell, K. (2013, December 11). These 9 Mobile Game Companies Got Over $100 Million
1.6 Overview
This software requirement document is prepared according to IEEE Std. 830-1998 and it
is divided into sections and practices. User classes are used, while organizing functional
Chapter: Introduction
This document starts with explanation of the project. It continues with the overview of the
project and describes the general factors that can affect the system requirements. On the
requirements specification chapter, system requirements will be explained in detail with the
3
technical terms. It is explained for the developers mainly. On this process, use case
diagrams,mock interfaces and er diagrams will be used.
2 Overall Description
This sections main focus is to show the main factors which affects the product and its
requirements in detail. This section also contains information about features and why it is
selected. In some sections there are some attributes which enable the product to be able to evolve
in the future.
Interfaces described below are will be visible when the user started up the game from
their phones.
Used in game menu, this icon will lead player to the ingame interface where two user
play.
Chapter: Overall Description
4
Description of Play Use Case:
2.1.2.2 MovePlayer
5
2.1.2.3 InteractObject
2.1.2.4 howToPlay
Used in Game menu, which is used to get help about game dynamics and purpose.
Chapter: Overall Description
6
Description of howToPlay Use Case:
2.1.2.5 Exit
2.1.2.6 Options
7
● The user clicks the Options icon.
● User determines the level of music and sound.
● User defines his/her username.
2.1.2.7 emote
Used in Game menu which is used to communicate with other player during the game.
2.1.2.8 Pause
8
Description of Pause Use Case:
Light My Way game will need the standard Android provided controls and device hardware
buttons for a reasonable game play.
[R.2.1] Light My Way should respond to the input of the phone’s hardware home button.
[R.2.2] Light My Way should respond to the input of the phone’s hardware back button.
Android devices should exist to play the game. Internet connection is also required to connect
two player. Therefore android devices must have wi-fi property or cellular data.
Since this game is developed as a mobile game, a mobile operating system is the most important
required software for this game to work. Asset managements including file operations such as
storing and retrieving assets are done by using operating system calls.
Unity3D is used for creating user interface and rendering in-game animations.
[R.2.3] Light my Way will run on the Android version 4 and above.
[R.2.4] Light my Way will use the Unity3D game engine for handling physics computations
throughout the game.
[R.2.5] Light my Way will use the Unity3D game engine for handling object collisions and
interactions.
[R.2.6] Light my Way will use the Unity3D game engine for handling animations of character
and objects.
[R.2.7] Light my Way will translate into the sleep after receiving corresponding signal from
Android OS.
Chapter: Overall Description
[R.2.8] Light my Way will translate out of the sleep after receiving corresponding signal from
Android OS.
9
2.1.5 Communication Interfaces
The game will be capable of exchanging player and object’s information with each other
using network protocols.
[R.2.9] Light My Way will use the available wifi to communicate with the game server.
[R.2.10] Light My Way will use the available cellular internet connection to communicate with
the game server.
Both players playing in separate devices will be able to move their characters in four
primary directions.
Unlike concrete objects, there will be interactable objects in the game. Characters will be
able to push and rotate these objects in the game.
Since characters are not allowed to move out of lighted paths, movements of characters
will be checked at every move. If movement is against the rules, then movement will be
interrupted and player is notified by an animation. Lighted paths is not static and can be extended
by using light reflections.
10
2.4 Assumptions and Dependencies
We will use Unity3D for graphics , after the testing phase, we will decide the minimum
requirements and oldest android version to be supported then release on market. The game is
dependent on the availability of Internet Connection. Any connection loss from a client will be
resulted in loss in game and other user will be warned.
3 Specific Requirements
3.1 External Interface
Since these requirements are stated in the Section 2 of this document in detail, these
requirements will not be covered again.
In this section the details of requirements which are already mentioned in features will be
provided.
11
Figure 10 – Light My Way Options Screen
12
Figure 12 – Light My Way Game Play Screen
13
Figure 14 – Light My Way emote usage
Play is the main function which will match two players. This function will lead users to ingame
screen.
14
Post condition Users start playing together on ingame screen.
[R.3.1] When the user selects the play icon the menu screen shall transition to
[R.3.3] When the matched user found , ingame screen shall prompt the matched user’s name.
[R.3.4] When a matched user found prompt disappears, game shall start in ingame screen.
[R.3.5] Ingame screen shall be in two dimensional environment Which all objects shall rest in
ground.
[R.3.6] Ingame screen shall allow characters to move in Up, Down, Right and Left directions.
15
3.2.2 MovePlayer
This section describes characters movement functions’ data flows and descriptions.
3.2.2.1 Up
Other
16
User joins the game using Play function.
Other
3.2.2.3 Left
Other
17
3.2.2.4 Right
Other
[R.3.11] When users touches down button character shall move down.
18
3.2.3 InteractObject
This section is the description and data flow of functions used to interact with ingame objects
such as torch , mirrors or blocks.
3.2.3.1 Rotate
Exception Paths -
Other -
19
3.2.3.2 InteractObjectMove
3. Users selects
moveUp,moveDown,moveLeft,moveRight.
Other -
20
3.2.3.3 FireUp
Exception Paths
Other
[R.3.16] Objects shall be chosen by touching one time on them in Ingame Screen.
[R.3.17] When object is selected it shall be brightened and will be distinct from other objects.
[R.3.19] When touched on a chosen mirror, mirror shall rotate once 90 degree on chosen Chapter: Specific Requirements
direction.
[R.3.20] Mirror shall change the direction of its light reflection when rotated.
[R.3.21] User can only fire the torch if character is near the torch.
21
[R.3.24] Object can be dropped to destination by touching to destination point after selecting the
object.
3.2.4 howtoPlay
Exception Paths -
Other -
[R.3.25] When user touches how to play button on menu screen, how to play screen shall be Chapter: Specific Requirements
displayed.
[R.3.26] By sliding the windows users shall be able to see screenshots of tutorial screens.
22
3.2.5 Exit
or
Other
[R.3.27] When user touches the exit icon, game shall be closed.
[R.3.28] Phones back buttons shall also perform the closing operation.
23
3.2.6 Options
Exception Paths
Other
[R.3.29] When option button is chosen from menu screen, Options Screen will be displayed.
[R.3.30] Game music shall be adjustable by touching horizontal slider in Options Screen.
Chapter: Specific Requirements
[R.3.31] Game sounds shall be adjustable by touching horizontal slider in Options Screen.
[R.3.32] User can change their nicknames from textbox in Options Screen.
24
3.2.7 Emote
Exception Paths
Other
[R.3.33] Users can choose emote button in ingame screen by touching on them.
[R.3.35] When user chooses one of the displayed emotes, chosen emote shall be displayed to
other user.
Chapter: Specific Requirements
25
3.2.8 Pause
Exception Paths
Other
[R.3.36] When user touches the pause button, game will be paused in Ingame Screen.
[R.3.38] Game shall be continued when any player touches the resume button in Pause Screen
26
3.4 Database Requirements
High level logical structure of database is illustrated as an ER Diagram in the figure below.
Levels relation contains levels added to the game with calculated difficulties of that level. Chapter: Specific Requirements
It has two relations with the Objects and Lights.
Objects relation contains all the information about an object in the designed level. Objects
can be reflective, moveable and rotatable as well as being static and un-interactable. All objects
must have coordinate values in order to place them in the corresponding level.
Lights relation contains placed light entities in the corresponding level. As in objects,
coordinates of lights must be defined.
27
3.5 Design Constraints
The only standard we complied with at this stage is the recommended practice for
software requirements specifications (IEEE std 830-1998).
[R.3.41] In case of any system failure, System shall display an error message in the main
screen to inform user about possible problem.
3.6.2 Availability
[R.3.42] System should be available 24 hours per day, 7 days per week.
[R.3.43] In case of an unexpected failure in the system such as server connection problem,
system inform users and does not allow them to continue.
3.6.3 Security
[R.3.44] Since Light My Way does not create profile for users, it does not need to access user
credentials. Therefore, security is not a concern in this application.
3.6.4 Maintainability
[R.3.47] Light My Way should run on Android OS. It is not a cross product application.
28
4 Planning
4.1 Team Structure
Ali Fatih Gündüz - Advisor
Chapter: Planning
29
4.2 Estimated Schedule
Chapter: Planning
30
4.3 Process Model
5 Conclusion
In this document, the project we develop which implements a co-operative multiplayer
game is explained in detail by using use-case diagrams, er diagram and figures. Firstly, the Light
My Way project that we try to develop is explained briefly. Then the gameplay is explained with
use cases. All the possible actions in the game is explained in detail. Secondly, non-functional
requirements are explained in separate section including performance requirements and database
requirements. Database schema and its associations are shown with an er diagram. Finally, we
included our team structure, our planned schedule and process model for this project.
Chapter: Conclusion
31