Professional Documents
Culture Documents
CMSE473-SRS Not Finished
CMSE473-SRS Not Finished
Specification
for
Prepared by <author>
<organization>
<date created>
Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for <Project> Page ii
Table of Contents
1. Introduction.......................................................................................................................... 1
1.1 Purpose..................................................................................................................................1
1.2 Document Conventions..........................................................................................................1
1.3 Intended Audience and Reading Suggestions..........................................................................1
1.4 Product Scope........................................................................................................................1
1.5 References..............................................................................................................................2
2. Overall Description.............................................................................................................. 2
2.1 Product Perspective................................................................................................................2
2.2 Product Functions...................................................................................................................4
2.3 User Classes and Characteristics.............................................................................................4
2.4 Operating Environment..........................................................................................................5
2.5 Design and Implementation Constraints..................................................................................5
2.6 User Documentation...............................................................................................................6
2.7 Assumptions and Dependencies..............................................................................................6
3. External Interface Requirements........................................................................................ 6
3.1 User Interfaces........................................................................................................................6
3.2 Hardware Interfaces................................................................................................................7
3.3 Software Interfaces.................................................................................................................7
3.4 Communications Interfaces.....................................................................................................7
4. System Features................................................................................................................... 7
4.1 Registration, Login/Logout Stage...........................................................................................7
4.2 Deckbuilding..........................................................................................................................8
4.3 Gameplay...............................................................................................................................9
5. Other Nonfunctional Requirements.................................................................................. 10
5.1 Performance Requirements...................................................................................................10
5.2 Safety Requirements.............................................................................................................11
5.3 Security Requirements..........................................................................................................11
5.4 Software Quality Attributes..................................................................................................11
5.5 Business Rules.....................................................................................................................11
6. Other Requirements.............................................................................................................. 11
Revision History
Name Date Reason For Changes Version
Software Requirements Specification for <Project> Page 1
1. Introduction
1.1 Purpose
The purpose of this Software Requirements Specification (SRS) report is explaining the defined
functional and non-functional requirements of the Mobile Game Development software project.
The report explains what are the important functional and non-functional and other requirements of
the card game that will be produced, which leads to better understanding for how analysis part of
the project is managed. Additionally, the report have several system design diagrams which give
better understanding for design stage of the project.
This SRS report has table of contents, headings, subheadings and diagrams in order to make it
easier to follow. This report may have several hard-to understand features such as acronyms and
abbreviations which is highlighted in Appendix A: Glossary section.
The report is designed for software developers, documentation writers and testers. The SRS
report starts with overall descriptions, external interface requirements, functional and non-
functional requirements. Additionally, the report includes diagrams that represents the use cases,
activities, entity-relationships etc. to give a better understanding for how the system should be
implemented.
The report may include several acronyms and abbreviations that is specific for game
terminologies. To prevent any confusion, the report includes Appendix A: Glossary section which
explains the card game terminologies, acronyms and abbreviations.
In the SRS stage, our requirements are simply defined for account management, gameplay and
user interfaces for deck building and card analysis panel.
Software Requirements Specification for <Project> Page 2
1.5 References
<List any other documents or Web addresses to which this SRS refers. These may include user
interface style guides, contracts, standards, system requirements specifications, use case
documents, or a vision and scope document. Provide enough information so that the reader could
access a copy of each reference, including title, author, version number, date, and source or
location.>
2. Overall Description
Our project, mobile card game, included in “turn based collectible card game” game type. The
project have several successful examples which are named as Legends of Runeterra, Heartstone,
Gwent etc. Our project will be inspired from these successful project that is exist in the
marketplace, with innovative features and gameplay rules. The reason of using the similar
interfaces of existing projects is making the game familiar with the players that are playing these
existing card games.
Software Requirements Specification for <Project> Page 3
Figure 1 represents the simple diagram that displays system components. Our system components
for this project are:
Gameplay: The screen where the actual game is represented, which is the most important
component for our system to be completed.
Deck Building Panel: The component of the system that is used by players to select their
cards and make their deck before playing. Deck building panel is highly important for
quality of the system.
Login/Logout System: The component of the system where the players login/logout or
switch their accounts of the system.
Game Settings/Account Settings: The system component that is designed for gameplay
settings, such as voice level, animation quality, 0
Software Requirements Specification for <Project> Page 4
2.2.1 Register/Login/Logout
Users should be able to register to the game with valid e-mail address , unique username and
password. The system should give an error message if the username is already taken, if the e-mail is
invalid and if the password is too short.
2.2.2 Deckbuilding.
Users should be able to select their decks and see the cards inside of the deck. Additionally,
users should be able to add/remove cards from their deck based on their playstyles. Users should be
able to remove their existing deck or add a new one (There is a limit for number of decks).
2.2.3 Settings
Users should be able to manipulate their game settings or account settings. Game settings
include volume of game (music, action and environment) and graphic settings for optimizations.
Account settings include e-mail and profile picture changes.
This project have 2 user classes, which can be named as player and admin. The characteristic of
the users are listed as subheadings at below.
2.3.1 Players
Players are the main actors of the system. They have a validated user account to play the game.
They can use all the components of the system that is mentioned at 2.1 Product Perspective section.
System development will be highly dependent on players actions and their feedbacks in order to
improve the system.
2.3.2 Admins
Software Requirements Specification for <Project> Page 5
Similar to players, admins have a validated user account to play the game. In order to differ if
the user of the system is player or admin, they have a specific “Admin” name included in their user
name. Admins often use their accounts to interact with the players, testing the system, monitoring
the behaviours of players and marketing promotions (showing new features in livestreams).
Moreover, admins are able to enter the beta environment of the game in order to test different
new features that will be added to game to observe minor/major bugs in the game.
Our development and testing stage will use different operating environments in both hardware
and software. Our development stage will be started on computer with Windows 10 operating
system and continues with IOS mobile phones after the system will be integrated to support mobile
devices. Our testing stage will be mostly on mobile devices since the game will be mainly released
in mobile platform.
There are several constraints that effects the design and implementation of the system which are
listed at below.
Our main constraint is the limitation of memory management of mobile devices. Memory and
resource allocation of mobile devices are much lower than computer devices since they have
limited RAM, which ultimately leads to careful assets management that requires many tests and
time. Furhtermore, we need to decrease the runtime of system algorithms in order to prevent the
performance problems that highly effects the quality of system, such as sudden game crashes.
Mobile devices have limited storage sizes. We need to manage our system features carefully to
handle the storage size problems that system may possibly have.
Software Requirements Specification for <Project> Page 6
There are several policies app stores that should be concerned. Most of the app stores have strict
policy for appropriate contents and mature contents. Furthermore, data collection and privacy
policies should be considered and the system must inform users how the data collected and handled.
Additionally, app stores may have a policy for notification and approval. Big updates and
changes may require the approval of the app store, which may delay the update of the system.
2.5.4 Testing
Testing is the essential part for software development to measure the overall quality and ensure
the compatibility of the system. Card games naturally require too many number of tests to be
conducted especially for card functionalities, since there are many different cards that have
different set of functions and there should be no override of functions between cards.
Our plans for user documentation outside of PPM, SRS and Final report is documenting the
gameplay tutorials especially for alpha testers in order to speed up the process where the game
features are difficult to understand. The gameplay tutorials will specify the account creation,
gameplay, deckbuilding and system settings.
The project is highly depended on performance of mobile platforms. Mobile games, if the game
has many contents, require attention for graphic management and memory and storage management
as it as also mentioned in Design and Implementation Constrains part.
Software Requirements Specification for <Project> Page 7
4. System Features
System features of our system is documented one by one at below:
User shall be able to sign up for the system and create accounts with their personal
information. The registration stage is one of the primary sections of the application because
it's the initial step required to access the application. If the user doesn't have an account, they
will press the "Sign In" button and enter their personal information (a valid email address)
and chosen details into the system. These details will be stored in the system's database. If
they already have an account, they can press the "Log In" button and enter their existing
information to access the system.Users can exist their account by clicking logout button
When users create a new account within the system, they will need to choose a username
and password that comply with the system's rules (at least 8 characters long, including
uppercase and lowercase letters). After providing the necessary information, users will be
able to access their own profiles and start playing the game. User can exit game via clicking
exit button and can enter the game without signing again. Users can exit with clicking logout
button and will exit their account and have to enter account information for entering the
game
1. Users shall be able to sign into the game by entering their account user name, password.
2. Users shall be able to receive an “account successfully created” message after entering
validated information.
3. Users shall be able to get error message if their password is too short or if their username is
already taken.
4. Users shall be able to access their account the system confrim their password and user name.
5. Users shall able to logout from their account
6. Users shall be able to exit the game without signing out of their account
7. Users shall be able to get a warning message if they enter their username or password wrong.
Software Requirements Specification for <Project> Page 9
4.2 Deckbuilding
Creating the card deck is necessary for users to utilize the main mechanics of the game .
Building card deck is one of the key features of the system. When creating their profile, users will
start with the cards provided by the system and progressively add cards they earn as they advance in
the game. Within the predefined card deck limit set by the game, users will construct their own
deck by combining these cards.
4.3 Gameplay
Gameplay requirements are mostly focused on the overall gameplay features and actions that
players make. When the game starts, players should be able to do their decisions and make actions
based on different scenarios. Gameplay have the most important priorities since it is the main
feature that attracts the players to the game.
4.4 Settings
Settings are essential to optimize the game for users own desire, which is one of the most
important requirement for the system. Settings include account settings and game settings, which
contains sounds, graphics and user profile changes.
6. Other Requirements
<Define any other requirements not covered elsewhere in the SRS. This might include database
requirements, internationalization requirements, legal requirements, reuse objectives for the
project, and so on. Add any new sections that are pertinent to the project.>
Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or the entire
organization, and just include terms specific to a single project in each SRS.>
Software Requirements Specification for <Project> Page 13
Source: http://www.frontiernet.net/~kwiegers/process_assets/srs_template.doc