Mini_Project
Mini_Project
net/publication/305244786
CITATIONS READS
0 13,294
5 authors, including:
Arjun R.
SEE PROFILE
All content following this page was uploaded by Arjun R. on 13 July 2016.
Done By
Jithin V - ETAMECS026
Guided By
Arjun R
Assistant Professor,CSE
Abstract
This project is aimed at developing a website for online gaming. The Online
Game Hub provides an easy interface that would let the users to the pool of gaming.
It provides the users more pleasure and gladdening his mind by playing these tradi-
tional games such as ludo,bingo,puzzle,dots,vanish and memory game.It also provides
users to interact with other players who are login to the website, even while gaming.
Multiplayer option is also provided in Bingo, so that users can play this game in
different computer systems. A registered user can directly enter to the website by
login using username and password. Basically the website consist of 6 games and a
chat box to interact with other users while gaming.
Acknowledgement
We are also thankful to all developers of various softwares that we came into use
during the course of our project. We would also like to thank the stackoverflow.com
team for answering our doubts in the limited amount of time. A big thanks to google
search engine for endless matching answers for our questions and also sharelatex.com
for their online latex editor. We also thank our friends who has supported and helped
us to complete this project successfully.
Contents
List of Figures vi
1 Introduction 1
1.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Current system . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Proposed system . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Scope of Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Technical Feasibility . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1.1 Hardware Feasibility . . . . . . . . . . . . . . . . . . 2
1.2.1.2 Software Feasibility . . . . . . . . . . . . . . . . . . . 2
1.2.2 Financial Feasibility . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2.1 Development Cost . . . . . . . . . . . . . . . . . . . 2
1.2.2.2 Installation Cost . . . . . . . . . . . . . . . . . . . . 2
1.2.2.3 Operational Cost . . . . . . . . . . . . . . . . . . . . 2
1.2.2.4 Maintenance Cost . . . . . . . . . . . . . . . . . . . 2
1.2.3 Operational Feasibility . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Process Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Agile Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1.1 The Basic Working Model . . . . . . . . . . . . . . . 4
1.3.1.2 Future Increments . . . . . . . . . . . . . . . . . . . 5
2 Requirement Analysis 6
2.1 Method of requirement elicitation . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Interview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 User Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Project Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Requirement validation . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Requirement Review . . . . . . . . . . . . . . . . . . . . . . . 7
3 Software Requirements 8
3.1 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Document Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Overall Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.2 Product Functionality . . . . . . . . . . . . . . . . . . . . . . 8
3.3.3 Users and Characteristics . . . . . . . . . . . . . . . . . . . . 9
3.3.4 Operating Environment . . . . . . . . . . . . . . . . . . . . . 9
3.3.5 Design and Implementation Constraints . . . . . . . . . . . . 9
3.3.6 User Documentation . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Specific Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.1 External Interface Requirements . . . . . . . . . . . . . . . . . 10
3.4.1.1 Hardware Interfaces . . . . . . . . . . . . . . . . . . 10
3.4.1.2 Software Interfaces . . . . . . . . . . . . . . . . . . . 10
3.4.2 Functional Requirements . . . . . . . . . . . . . . . . . . . . . 10
3.4.3 Behavioral Requirements . . . . . . . . . . . . . . . . . . . . . 10
3.4.3.1 Use Case View . . . . . . . . . . . . . . . . . . . . . 10
3.5 Non-functional Requirements . . . . . . . . . . . . . . . . . . . . . . 11
3.5.1 Performance Requirements . . . . . . . . . . . . . . . . . . . . 11
3.5.2 Design Constraints . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5.3 Software Quality Attributes . . . . . . . . . . . . . . . . . . . 12
3.5.3.1 Scalability . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.3.2 Reliability . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.3.3 Availability . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.3.4 Maintainability . . . . . . . . . . . . . . . . . . . . . 12
3.5.3.5 Adaptability . . . . . . . . . . . . . . . . . . . . . . 12
3.5.3.6 Testability . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Design 13
4.1 System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 User Perspective . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 Data Flow Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Detailed Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3.2 ER Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Coding 18
5.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Functional Template . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 Testing 23
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.2 Testing Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Types of testing done . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8 Conclusion 32
Appendices 34
A User Document 35
A.1 Login Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.2 Home Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.3 Puzzle Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.4 Vanish Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.5 Ludo Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.6 Bingo Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.7 Dots Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.8 Memory Gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
List of Figures
A.1 Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.2 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.3 Puzzle gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
A.4 Vanish gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.5 Ludo gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
A.6 Bingo gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.7 Dots gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
A.8 Memory gaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
List of Tables
List of Abbreviations
DB Database.
Chapter 1
Introduction
of the game. The document will be updated as the requirements grow and change
over the design and development process.
• A computer system
• Web Browser(Chrome)
WHY AGILE?
• People and interactions are emphasized rather than process and tools.
• Resource wastage
• Costly modifications
• Unclear requirements
Chapter 2
Requirement Analysis
• Interview
2.1.1 Interview
We had an discussion about the various online gaming websites regarding the
various features that has to be incorporated in to the Online Game Hub. In this
interview the following questions were asked.
• What are the necessary functionality required for the planned web application?
• What are the different views and privileges given to the different class of users?
• There are mainly 6 games are included with different tastes. They are Ludo,Bingo,Dots,Puzzle
and Vanish.
• Users will be able to register and login to get their account from which user
can play games.
• Multiplaying option for the game Bingo is provided for more fun.
• Chat box enables the users to interact with other users while gaming.
Chapter 3
Software Requirements
The software requirements specified in this chapter are applicable for the devel-
opment of the website, Online Game Hub.
3.1 Definitions
• Game Hub:-A game hub is most often one specially-designed web page at a
website which brings various games together from different perspective sources
in to a single system.Interfaces for users should be attractive in order to users
to stay with the website.
• Bingo is provided with multiplayer option. examination and notify the user
concerned.
• Users will be able to register and login to get their account from which user
can play games.
• Multiplaying option for the game Bingo is provided for more fun.
• Chat box enables the users to interact with other users while gaming.
• The main stream users of the proposed system are the users who play games
for depression removing.
• Another important users of this system are those who play such games just for
fun.
• Users should register with their username and password to create an account
• Load balance : The server should be able to handle reasonable number of users
without any issues.
3.5.3.1 Scalability
The system should have scalability property. That is this system can be modified
further without the hardcoding the PHP backend.
3.5.3.2 Reliability
The system should be reliable. It should perform the data management operation
efficiently.
3.5.3.3 Availability
System will be available around the clock except for the time required for back
up of data.
3.5.3.4 Maintainability
The system should be maintainable. Sometimes there may be bugs, it should be
easy to correct when it is reported.
3.5.3.5 Adaptability
The system should have the ability to adapt to the new release of web browsers
and new operating systems without any modification.
3.5.3.6 Testability
The Game Hub should be properly tested under various circumstances in order
to assure its reliability.
Chapter 4
Design
4.3.2 ER Diagram
A Sequence diagram is an interaction diagram that shows how processes operate
with one another and in what order. It is a construct of a message sequence chart. A
sequence diagram shows object interactions arranged in time sequence. It depicts the
objects and classes involved in the scenario and the sequence of messages exchanged
between the objects needed to carry out the functionality of the scenario. The
ER Diagram consists of mainly 3 entities :
Chapter 5
Coding
5.1 Purpose
This project is aimed at developing a website for online gaming. The Online
Game Hub provides an easy interface that would let the users to the pool of gaming.It
consist of 6 games such as Bingo,Ludo,Dots,Vanish,Dots and memory game , and
a chat box to interact with other users while gaming. Multiplayer option is also
provided in Bingo, so that users can play this game in different computer systems.
• Registration:
The register process recieves usename and password of a particular user.
Steps:
1. Get the details from the user
2. Validate the user input.
3. Connect to database
4. If no username exist then insert details to database.
5. else registration failed
6. Close database connection .
$sql= SELECT FROM $tbl name WHERE username=$myusername and
passwor $result=mysql query ( $sql );
$count=mysql num rows( $result );
if ( $count==0)
{
if ($mypassword==$myconfirm)
{
$sql1= INSERT INTO signup VALUES ( , $myusername ,
$pass ) ; ;
• Login:
This process contains a md5 based authentication for accessing the system.
The login uses a username and password combination for authentication.Then
user gets directed to the corresponding home page.
Steps:
1. Get the username and password from the user
2. Connect to database.
3. Retrieve username and password form database equal to the input item
4. If matches go to corresponding home page
5. else login failed
6. Close database connection .
$sql1= SELECT id FROM signup WHERE username=$myusername AND
$result1=mysql query ( $sql1 );
while ($row = mysql fetch array ( $result1 )) $id=$row [ id ] ;
$sql= SELECT FROM signup WHERE username=$myusername AND
password= $result=mysql query ( $sql ); $count=mysql num rows(
$result );
if ( $count==1)
{
$sql1= SELECT FROM login WHERE id=$id ; ;
$result1=mysql query ( $sql1 ); $count1=mysql num rows( $result1 );
if ( $count1==0)
{
$sql2= INSERT INTO login VALUES ( $id , $os ,
$browser , $ph [ 1 ] ) mysql query ( $sql2 );
}
$ SESSION[ user id ]= $id ;
header ( location : account .php?id=$id );
} else
{
header ( location : . . / . . / index . html );
}
• Send a Message:
A chat list of online friends are provided in the webpage.
Steps:
}
function rec message ( user )
{
var xmlhttp = new XMLHttpRequest ();
xmlhttp . onreadystatechange = function ()
{
if (xmlhttp . readyState == 4 && xmlhttp . status == 200)
{ xx = xmlhttp . responseText ;
if (xx>0)
{
var xmlhtp = new XMLHttpRequest ();
xmlhtp . onreadystatechange = function ()
{
if (xmlhtp . readyState == 4 && xmlhtp . status == 200)
{
yy = xmlhtp . responseText ; document . getElementById ( msg
receive ) . innerHTML=New $( #msg receive ). fadeIn (200);
}
} xmlhtp . open( GET , ../ php/sentmessage .php?sender=+xx+
xmlhtp . send ();
}
}
}
xmlhttp . open( GET , ../ php/ receive .php?user=+user , true
); xmlhttp . send ();
{
} / setTimeout ( function (){ rec message ( user )} ,5000);
} sentmessage . php
<?php mysqlconnect ( localhost , root , ) or die (
cannot connect ); mysql select db ( miniproject ) or die (
cannot select DB ); $i=$ REQUEST[ rec ] ;
$userid=$ REQUEST[ sender ] ; function decrypt ( $encrypted
string , $encryption key )
{
$iv size = mcrypt get iv size (MCRYPT BLOWFISH, MCRYP
$iv = mcrypt create iv ( $iv size , MCRYPTRAND); $decrypted string =
mcrypt decrypt (MCRYPT BLOWFISH, return $decrypted string ;
} define ( ENCRYPTION KEY , monkey );
$res= SELECT username from signup where id=$i ; ;
$us=mysql query ( $res );
while ($row = mysql fetch array ($us ))
$reciever=$row [ username ] ;
$resu = mysql query ( SELECT FROM message list WHERE ( s
while ($row = mysql fetch array ( $resu ))
{
if ($row [ sender ]== $i )
{
Chapter 6
Testing
6.1 Introduction
Testing is the process of evaluating a system or its component(s) with the intent
to find that whether it satisfies the specified requirements or not. Testing is executing
a system in order to identify any gaps, errors or missing requirements in contrary to
the actual desire or requirements.
5. Acceptance testing : User acceptance of the system is key factor for the success
of any system. The system under consideration is tested for user acceptance
by constantly keeping in touch with prospective system and user at the time
of developing and making changes whenever required.
While whitebox testing can be applied at the unit. Integration and system
levels of the software testing process, it is usually done at the unit level. It can test
paths within a unit, paths between units during integration, and between subsystems
during a system level test. Though this method of test design can uncover many er-
rors or problems, it might not detect unimplemented parts of the specification or
missing requirements.
The technique of testing without having any knowledge of the interior work-
ings of the application is Black Box testing. The tester is oblivious to the system
architecture and does not have access to the source code. Typically, when performing
a black box test, a tester will interact with the system’s user interface by providing
inputs and examining outputs without knowing how and where the inputs are worked
upon. After the completion of the implementation, we turned to Black Box testing.
We hosted a demo version of the web application for extensive testing. We seeked
the help of our classmates for the purpose of ensuring data-integrity and security.
• Extra lines of code can be removed which can bring in hidden defects.
• Due to the tester’s knowledge about the code, maximum coverage is attained
during test scenario writing.
6.4.1.2 Disadvantages
• Due to the fact that a skilled tester is needed to perform white box testing, the
costs are increased.
• Sometimes it is impossible to look into every nook and corner to find out hidden
errors that may create problems as many paths will go untested.
• It is difficult to maintain white box testing as the use of specialized tools like
code analyzers and debugging tools are required.
• Large numbers of moderately skilled testers can test the application with no
knowledge of implementation, programming language or operating systems.
6.4.2.2 Disadvantages
• Limited Coverage since only a selected number of test scenarios are actually
performed.
• Inefficient testing, due to the fact that the tester only has limited knowledge
about an application.
• Blind Coverage, since the tester cannot target specific code segments or error
prone areas.
Chapter 7
7.1 Introduction
Software quality assurance (SQA) consists of a means of monitoring the soft-
ware engineering processes and methods used to ensure quality. SQA en-compasses
the entire software development process, which includes processes such as require-
ments definition, software design, coding, source code control, code reviews, change
management, configuration management, testing, release management and product
integration. SQA is organized into goals, commitments, abilities, activities, measure-
ments, and verifications.
7.1.1 Purpose
The system is meant to give more easiness to the users that they can easily
addicted to the games. We provide multiplayer options for games.A chat box is
also provide to interact with other players while gaming. And the interface for the
users is quite entertaining and engaging.Menus are interactive and easy accessible
throughout the game.Once the game is in playing mode,everything a player needs
will be clearly visible on the screen and easily accessible.
7.1.2 Scope
Every member in our team is responsible for the actions planned in this document
such as documenting the results throughout the development of the project, reviewing
the project progress, and testing the project quality, controlled by this plan. The
following are the portions of the software lifecycle that are covered by the SQAP:
User requirements, Software requirements, Design, Implementation and Testing.
The Software Quality Assurance Plan covers the software items. In addition, the
SQAP is also covered by this quality assurance plan. The list of software items
to be covered in each of the above mentioned life cycle phases are given below:
the document and not mixed with other sections of the document to avoid repetition.
Chapter 8
Conclusion
• Javascript,Jquery, CSS
The future improvements can be made in certain areas of the project. There is
scope for extending the project to incorporate more features by including more games
with muktiplayer option,Advanced messaging system with notification,etc. The pro-
cess model selected is agile model. So that the new options can be implemented
to the same design in later point of time. The updation of the application is an
important feature of agile process model designs.
Bibliography
[3] www.w3schools.com/PHP/
[4] www.stackoverflow.com
[5] www.php.net
[6] www.jquery.com/
Appendices
Appendix A
User Document
This is the login page for the users.New users can register to the system and login
to his account.And Existing users can logging into the system.
Through this page users can play different games. This page is also provided with
a chat box, through which users can interact with other users.
This is the interface while Puzzle playing.User can interact with other friends
while playing.
This is the interface while Vanish playing.User can interact with other friends
while playing.
This is the interface while Ludo playing.User can interact with other friends while
playing.
This is the interface while Bingo playing.User can interact with other friends
while playing.
This is the interface while Dots playing.User can interact with other friends while
playing.
This is the interface while Memory game playing.User can interact with other
friends while playing.