You are on page 1of 12

Game Store Web-Application

Software Requirements Specification

4/3/2019

Ahmad Nawar Droubi


Team Leader

Aydın Davutoğlu
Developer

Prepared for
CSE6064 Software Engineering Course

Table of Contents
1. INTRODUCTION.....................................................................................................................1
1.1 PURPOSE.................................................................................................................................1
1.2 SCOPE.....................................................................................................................................1
1.3 DEFINITIONS, ACRONYMS, AND ABBREVIATIONS...................................................................1
1.4 REFERENCES...........................................................................................................................1
1.5 OVERVIEW..............................................................................................................................1
2. GENERAL DESCRIPTION.....................................................................................................2
2.1 PRODUCT PERSPECTIVE..........................................................................................................2
2.2 PRODUCT FUNCTIONS.............................................................................................................2
2.3 USER CHARACTERISTICS........................................................................................................2
2.4 GENERAL CONSTRAINTS........................................................................................................2
2.5 ASSUMPTIONS AND DEPENDENCIES.......................................................................................2
3. SPECIFIC REQUIREMENTS.................................................................................................2
3.1 EXTERNAL INTERFACE REQUIREMENTS.................................................................................3
3.1.1 User Interfaces...............................................................................................................3
Game Store Web­Application

3.1.2 Hardware Interfaces.......................................................................................................3


3.1.3 Software Interfaces.........................................................................................................3
3.1.4 Communications Interfaces............................................................................................3
3.2 FUNCTIONAL REQUIREMENTS................................................................................................3
3.2.1 <Functional Requirement or Feature #1>.....................................................................3
3.2.2 <Functional Requirement or Feature #2>.....................................................................3
3.3 USE CASES.............................................................................................................................3
3.3.1 Use Case #1....................................................................................................................3
3.3.2 Use Case #2....................................................................................................................3
3.4 CLASSES / OBJECTS................................................................................................................3
3.4.1 <Class / Object #1>.......................................................................................................3
3.4.2 <Class / Object #2>.......................................................................................................3
3.5 NON-FUNCTIONAL REQUIREMENTS.......................................................................................4
.......................................................................................................................................................

Software Requirements Specification Page ii
Game Store Web­Application

1. Introduction
This Software Requirement Specification (SRS) document contains all the needed information
needed for the requirements engineering part of the system. It starts with an overview for the
project and continues with specification part that includes: The elicited requirements categorized
into Functional and None-Functional Requirements; User Scenarios from the Requirements; the
Scenarios are further elaborated upon with Use Cases and a Use Case Diagram; finally from the
Use Cases an UML Object Modle (UML Class Diagram) was created.

1.1 Purpose
Updating the Customer on the current state of the project, and giving the design and devloping
team a framework to work within

1.3 Definitions, Acronyms, and Abbreviations


SRS: Software Requirements Specification.
UML: Unifid Modling Language.
GUI: Graphical User Interface
HTML: Hypertext Markup Language

1.5 Overview
The Document contains the following:
1­ Functional and None-Functional Requirements.
2­ User Scenarios.
3­ Use Cases and a Use Case Diagram.
4­ UML Object Modle.

2. General Description
There is a need for game store web-application that sells games for different platform, and the
web-application should sells the games by an activation code.

2.2 Product Functions


Selling video games as activation codes, allowing users to creats accounts, saving purchases
history, allowing admin(s) to add a new games or change the price of existing ones.

2.5 Assumptions and Dependencies


The software is assumed to opreate and render correctly on any browser except IE6 or any
pervious version of it.The system is assumed to use Microsoft SQL server 2016.

3. Specific Requirements
3.1 External Interfaces:
 GUI in a web page format
 HTML input fields
 SQL tables for saving data

Software Requirements Specification Page 1
Game Store Web­Application

3.2 Functional Requirements

3.2.1: Sell video Games as Digital Codes: The system should give the ability for users
(Customers) to buy video games as digital key sent by email.

3.2.2: The Ability for Admin to Change the Price of the Games: The admin should be able to
change the price of any one game.

3.2.3: Signup and Login Functionality for Customers: The system shall allow Customers to
create accounts and login to said accounts.

3.2.4: Login Functionality for Admins: The system shall give the admins of the web-application
the ability to login to their unique account on the system.

3.2.5: The System Must Show Information About Each Game: The system will show some basic
info about each game: The description for the game, and on what platform it’s available.

3.2.6: Customers Can Search for Specific Game: The system must give the Customers the ability
to search for specific games.

3.2.7: Customers Can Filter Games Depending on Platform or Price: The system must give the
Customers an ability to filter games depending on a defined filter like platform or price.

3.2.8: Handling Purchases Through a Third Party portal: The system should support an online
paying system, that should be handled through a third party component.

3.2.9: Selling Games for Different Platforms: The system should support the sale of games from
different platforms: Xbox, PS, and Steam.

3.2.10: Ability for Admins to Add Games: The system must give the admins the ability to add
games through the online portal.

3.2.11: The System Must Save Purchase History for All Customers: The System must save all
the purchases processed in its database for future reference.

3.3 User Scenario

3.3.1: Scenario name: Sign-up


Participating actor: Initiated by Aydin
Flow of events:
1. Aydin chooses to “Sign-up”
2. The website shows a list of required information
3. Aydin fills up all the required informations.
4. The website shows a massage that indicates the sign-up process is complicated

Software Requirements Specification Page 2
Game Store Web­Application

3.3.2: Scenario name: Buying Games


Participating actor: Initiated by Ahmed
Flow of events:
1. Ahmed chooses a game from “main-page”.
2. The website shows information about the game.
3. Ahmed chooses to buy the game.
4. The website redirect Ahmed to a 3rd party system to process the payment.
5. After the payment is finished. The website sends the activition code to Ahmeds email.

3.3.3: Scenario name: Add a new game


Participating actor: Initiated by Ahmed
Flow of events:
1. Ahmed logs in to the website as an admin.
2. Ahmed chooses the “Add game” page from the main page.
3. The website shows a list of information that is required to add a new game.
4. The website shows a massage that indicates the game has been added succesfully.

3.3.4: Scenario name: Login to the website


Participating actor: Initiated by Ahmed
Flow of events:
1. Ahmed chooses “Login”.
2. The website shows a list of required information in order to login to the website.
3. Ahmed writes all the required information and clicks on the “Login” button.
4. The website redirect Ahmed to the main page.

3.3.5: Scenario name: Admin Login


Participating actor: Initiated by Aydin
Flow of events:
1. Aydin chooses “Login”.
2. The website shows a list of required information in order to login as an Admin to the
website.
3. Aydin writes all the required information and clicks on the “Login” button.
4. The website redirect Aydin to the main page.

3.3.6: Scenario name: Change the game price


Participating actor: Initiated by Ahmed
Flow of events:
1. Ahmed login as an admin to the website.
2. Ahmed chooses a game from the website.
3. Ahmed enters the new price to the game.

Software Requirements Specification Page 3
Game Store Web­Application

3.3.7: Scenario name: Search by game names on the platform


Participating actor: Initiated by Aydin
Flow of events:
1. Aydin logs in to the website.
2. Aydin chooses to search for a specific game by the game name or/and the game platform.
3. The system shows a list of games that watch the entered information.

3.4 Use Cases

Use Case 1:
Scenario Name: SignUp
Participating Actors: Customers
Flow of Events:
1. The Customer chooses to signUp
2. The System show the customer a list of the required information fields: Customer
first and last name; phone number, email, and password.
3. The Customer fills the required informations:
1. He/She fills first and last names.
2. He/She enter a phone number.
3. He/She enter a valid email.
4. He/She enter a password.
4. The Customer finishes signing-up
5. If successful:
1. The System saves the user information, prints a “Sign-up was successful”.
6. Else:
1. The System prints an error message asking the customer to try again
Exit conditions:
1. If signup successful:
a. The Customer Have an account for use in the system
b. The System saves the custo
2. If unsuccessful:
a. The Customer faild to signup to the system.
Quality Requirements: The Customer Signes up for the system within 3-clickes.

Use Case 2:
Scenario Name: Buying Games
Participating Actors: Customers
Flow of Events:
1. The Customer chooses a game from the games list
2. The System show the Customer information about the game: Description,
Platform, and Price.
3. The Customer chooses to buy the game
4. The System redirect the user to a third party system to handle the payment process
Software Requirements Specification Page 4
Game Store Web­Application

5. If successful:
i. The System prints a success message, and sends the game activation code
to the Customer Email.
ii. The System saves the order in its order history
6. Else:
i. The System prints an error message asking the customer to try again
Entry conditions: The Customer is logged-in to his/her account
Exit conditions:
1. If Payment was successful:
a. The Selected Activation code is sent to the Customer email
b. The System saved the order in its order history
2. If unsuccessful:
a. The Customer faild to buy the selected game
Quality Requirements: The Customer Signes up for the system within 3-clickes.

Use Case 3:
Scenario Name: CustomerLogin
Participating Actors: Customers
Flow of Events:
1. The Customer chooses to Login
2. The System show the customer a list of the required information fields: Email, and
Password.
3. The Customer fills the required informations:
i. He/She fills their email.
ii. He/She enter a the password associated with the account.
4. The Customer finishes logging-in
5. If successful:
i. The system register that the specified user has signed in
ii. The system redirect the user to the home page.
6. Else:
i. The System prints an error message asking the customer to try again
Entry Conditions: The user has already registerd an account to the system.
Exit Conditions:
3. If login successful:
a. The Customer is logged-in to the system.
4. If unsuccessful:
a. The Log-in process faild.
Quality Requirements: The Customer logs in to the system within 3-clickes.

Use Case 4:
Scenario Name: AdminLogin
Participating Actors: Admins
Flow of Events:
1. The Admin chooses to Login
Software Requirements Specification Page 5
Game Store Web­Application

2. The System show the Admin a list of the required information fields: Email, and
Password.
3. The Customer fills the required informations:
i. He/She fills their admin email.
ii. He/She enter a the password associated with the admin account.
4. The Admin finishes logging-in
5. If successful:
i. The system register that the specified admin has signed in
ii. The system redirect the admin to the home page.
6. Else:
i. The System prints an error message asking the admin to try again
Entry Conditions: The admin is already registed to the system
Exit Conditions:
5. If login successful:
a. The Admin is logged-in to the system.
6. If unsuccessful:
a. The Log-in process faild.
Quality Requirements: The admin logs in to the system within 3-clickes.

Use Case 5:
Scenario Name: ChangeGamePrice
Participating Actors: Admins
Flow of Events:
1. The Admin chooses a game from the game list
2. The System show the Admin information about the game: Description, Platform, and
Price.
3. The Admin chooses to ChangeGamePrice.
4. The Admin enters the new game price
5. The Admin finishes changing game price
6. If successful:
a. The System prints a success message
b. The System updates the game price
7. Else:
a. The System prints an error message asking the admin to try again
Entry conditions: The Admin is logged-in to his/her account
Exit Conditions: The game price was changed
Use Case 6:
Scenario Name: AddGame
Participating Actors: Admin
Flow of Events:
1. The Admin chooses AddGame.
2. The System prints to the admin list of the required information: Game Name,
Description, Price, Platform.
3. The Admin enters the required information.

Software Requirements Specification Page 6
Game Store Web­Application

4. The Admin finishes adding the game.


5. If successful:
a. The System prints a success message
b. The System addes the game to the game list.
6. Else:
a. The System prints an error message asking the admin to try again.
Entry conditions: The Admin is logged-in to his/her account
Exit Conditions: A new game was added to the game list

Use Case 7:
Scenario Name: searchGame
Participating Actors: Customer
Flow of Events:
1. The Customer chooses search for a specific game.
2. The Customer enters the game name, or chooses the game platform
3. The Systems prints a list of the game that matches the search query
4. If no game matches the search query, the system prints an error telling the user that no
game matches the search query
Exit Conditions: List of specific games was printed.
Quality Requirements: The searching or filtering of the game took less than 5 seconds.

3.5 UML Use Case Diagram

Software Requirements Specification Page 7
Game Store Web­Application

Software Requirements Specification Page 8
Game Store Web­Application

3.6 Classes / Objects

Software Requirements Specification Page 9
Game Store Web­Application

3.5 Non-Functional Requirements


NF1: The System Must Be Operational 24/7: The system is expected to operate 24/7 with no
failures.

NF2: The System Must Recover from Any System Breaking Error Within 6 Hours: The system
must recover and become operational within 6 hours of the system breaking because of an error.

NF3: The System Must Use an Encryption Algorithm for Saving Customers Passwords: The
System must use MD5 encryption algorithm for keeping Customers passwords safe.

NF4: The Customer Must be Able to Sign-up to the system within 3-clickes: The system must
give the user the ability to navigate to the sign-up page from any page within 3-clicks

NF5: The Customer Must be Able to Login to the system within 3-clickes: The system must give
the user the ability to navigate to the Log-in page from any page within 3-clicks

NF4: The Customer Must be Able to Buy any game within 3-clickes: The system must give the
user the ability to buy any available game from any page within 3-clicks.

Software Requirements Specification Page 10

You might also like