Online Chess Game
Online Chess Game
Online Chess Game
Version 1.0
Student Id:
BC100400197
Group Id:
F130284421
Supervisor Name:
4. Usage Scenarios
5. Adopted Methodology
SRS Document
Scope of Project:
Chess is a two-player game which is played on a chessboard. Chess comprises on 64 squares arranged by
eight rows and eight columns. It is very popular games played internationally by millions of people. This
document explains all features, functions, and constraints of this program. This Chess game is built to allow
remote users to play each other in chess. Its main focus is just to let people play; as users log into the system they
are paired with the first available player and can proceed. The program needs to be intuitive, reliable, and easy to
use. The scope of this project is to provide chess game that is intuitive and entertaining for players of all skill
levels. The game also provides some useful features, such as the ability to save a game and return to it later. In
general, it focuses on providing a simple, streamlined playing experience.
Functional Requirements:-
For defining the requirement in terms of system’s perspective I divide the players into three categories, which are
given below:
Guest
Registered user
Administrator
I describe functional requirement of all user as given below:
Guest:
System facilitates the user the Guest player to create new account.
Registered User:
System facilitates the registered user to sign in.
Registers user select competitor from the available list of competitor and send him/her request to play.
Register user should play the game in the fix time control (maximum 30 minute for each game).
User start game, make moves, capture pieces, save games rules for them are given as
Movement:-
Bishop: Bishops shall move diagonally any number of spaces unless impeded by another piece.
Rook: Rooks shall move vertically or horizontally any number of spaces unless impeded by another piece.
Queen: Queens shall move vertically, horizontally, or diagonally any number of spaces unless impeded by another
piece.
When making these moves the bishop, rook or queen may not move over any intervening pieces.
Pawn: Pawns shall move one space forward, optionally two spaces forward on their opening move. The pawn
may move forward to the unoccupied square immediately in front of it on the same file, or alternatively it may
advance two squares along the same file provided both squares are unoccupied, or the pawn may move to a square
occupied by an opponent’s piece, which is diagonally in front of it on an adjacent file, capturing that piece. A pawn
attacking a square crossed by an opponent’s pawn which has advanced two squares in one move from its original
square may capture this opponent’s pawn as though the latter had been moved only one square. This capture is
only legal on the move following this advance and is called an ‘en passant’ capture. When a pawn reaches the rank
furthest from its starting position it must be exchanged as part of the same move on the same square for a new
queen, rook, bishop or knight of the same color. The player’s choice is not restricted to pieces that have been
captured previously. This exchange of a pawn for another piece is called ‘promotion’ and the effect of the new
piece is immediate.
Knight: Knights shall move two spaces either vertically or horizontally followed by one space perpendicularly.
King: Kings shall move one space in any direction. The king can move to any adjoining square not attacked by
one or more of the opponent’s pieces.
Castling: When requirements are met for castling, kings may move two spaces towards a rook, with the rook
moving onto the space crossed over by the king.
Capturing:-
General Capture: If a piece other than a pawn, moving in its normal fashion, may move into a square occupied
by an opposing piece, the friendly piece may capture the opposing piece.
Pawn: Pawns shall capture by moving forward one space diagonally into an opposing piece.
En Passant: When requirements are met for en passant capture, a pawn may capture as above into a space
crossed, but no longer occupied by an opposing piece.
Promotion:-
Promotion: A pawn, having entered the rank opposite where it started, shall be promoted to a piece of its
controller's choosing.
Move Legality
Legality: A move shall be deemed illegal if it does not follow the above rules or would cause the moving player's
king to become in check.
Game Saving/Loading
A user shall be able to save his/her game.
He shall be able to load his game from a save file, even if he/she is on a different computer than the one
where the game was originally saved.
A save game shall contain the following information:
The positions of each user's pieces.
Whose turn it is.
The most recent move made.
Administrator
System allows the administrator to sign in.
System allows the administrator to allow/reject new player request.
System allows the administrator to manage records of each individual player.
System provides access to administrator to delete account of the registered user.
System facilitates the administrator to sign out.
Guest:
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
New account has been created in the Chess game and does all the authorized operations to which he / she
HAVE rights.
Registered User:
Alternate Scenarios:
3-a: The user closes the logon page.
1- Go to step 2
Post Conditions:
The Registered user has logged on to the Chess game and does all the authorized operations to which he /
she HAVE rights.
Modification history: November 27,2013
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The user selected a new game and does all the authorized operations to which he / she HAVE rights.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The competitor has been selected by the player.
Post Conditions:
The user has successfully sent request to competitor.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game has been started and board has been made.
Modification history: November 27,2013
2. The user select black or white colour of piece from the options.
3. This use case ends.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The color of piece has been selected.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The piece has been selected.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The piece has been moved and no longer be their in that place from where it is moved.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The piece has been check for checkmate.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The player made a next turn.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game ends.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game is saved
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The user will chat with his/her competitor.
Post Conditions:
The game exit.
Alternate Scenarios:
3-a: The user closes the logon page.
1- Go to step 2
Post Conditions:
The Registered user has logged out of the Chess game and does all the authorized operations to which he /
she HAVE rights.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The Administrator has logged on to the Chess game and does all the authorized operations to which he / she
HAVE rights.
Modification history: November 27,2013
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The player request accepted in the Chess and does all the authorized operations to which team HAVE rights.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The team requested rejected.
Alternate Scenarios:
3-a: The user closes the logon page.
1- Go to step 2
Post Conditions:
The record of the player has been managed.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The account has been deleted and no longer be there for use.
Post Conditions:
The Administrator has logged out from the Chess game and does all the authorized operations to which he
/ she HAVE rights after log out.
Methodologies:
A software development methodology or System development in software engineering is a framework that is
used to structure, plan and control the process of developing the information system. Software engineering is the
practice of using selected process techniques to improve the quality of a software development effort. This is
based on the assumption, subject to endless debate and supported by patient experience, that a methodical
approach to software development results in fewer defects and, therefore, ultimately provides shorter delivery
times and better value. The documented collection of policies, processes and procedures used by a development
team or organization to practice software engineering is called its software development methodology (SDM) or
system development life cycle (SDLC).
I. Waterfall methodology:
The Waterfall model suggest a systematic sequential development approach, in which development
is seen as flowing steadily downwards like a waterfall through the phases of requirements analysis, design,
implementation, testing or validation, integration, and maintenance. The water fall divide the project into
sequential phases with some overlap and splash reverse acceptable between phases. Emphasis is on planning, time
schedules, target dates, budgets and implementation of an entire system at one time. It is mostly use when project
is large and expensive having a clear objective and solution.
The modal of water fall methodology is given below:
II. Spiral Methodology:
This model was developed by Barry Boehm. The main idea of this model is to avert risk as there is always
an element of risk in development of software. Its frame type is combination of iterative and linear.
Spiral methodology is the combination of both design and prototyping-in-stages, in an effort to combine
advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model (or spiral
development), it is a systems development method (SDM) used in information technology (IT). These approaches
basically focus on risk assessment during the project for this.
Purpose it divide the project into smaller groups. The four things during the project
Determine the requirement.
Design the system.
Build in stages.
Test and evaluation.
The spiral methodology reflects the relationship of task with rapid prototyping it has concurrency in design and
builds activities. The modal for spiral methodology is given below:
Develop
and verify
Plan Next next-level
Phase product
III. Incremental methodology:
This methodology is simply reducing the risk of project by breaking down the project into smaller
segments. Actually this methodology is opposed to the waterfall model; a series of mini project is performed
where all phases of waterfall development are completed before the next iteration. It uses both approaches water
fall and iterative.
V. Extreme Programming:
It is software development methodology which is responsive to customer requirement and intended to
use to improve in software quality. This methodology was created by Kent Beck during his work on the Chrysler
Comprehensive Compensation System (C3) payroll project. In this approach user requirements are captured.
Duration and cost estimate of the story then carried out. Stories for next build are selected. Then next step is
division of each build into tasks. Testing which is most important part of any software development methodology
is carried out task wise and drawn up first before and development and continues testing is performed through life
development process. Extreme Programming emphasizes teamwork. Managers, customers, and developers are all
equal partners. Extreme Programming improves a software project in five essential ways; communication,
simplicity, feedback, respect, and courage The important elements of XP includes programming in pair, doing the
extensive code review, unit testing of code, flat management system, simplicity and clarity in codes, expected
changes in code as per customer requirement. XP important feature is that its design based on cycle with customer
attachment through meeting so the change in customer requirement during the project is reduced as compared to
other traditional methodologies in which all requirements are specified at the start of project. In that way change in
customer stage may have great impact on cost of project. Some controversial aspects of XP are requirements are
define incrementally and express as automated acceptance tests, required to work in pairs (Pair programming).
Criticism on XP are as follows lack of defining the deliverables, it require senior level developer, impossible to
estimate the real work effort at the start of project it can increase in scope creep due to lack of detail requirement
documentation.
The modal for XP is given below:
In the first step we define problems and objectives which are in this project. We define problems which are
arise in creating the project and also define objective of the project. The project is Online Game Chess. The
objective of this project is to share the board between two players.
In this step we analyze what are the system needs. We analyze what tools are required for preparation of this
project.
In this step we design Chess game system with the help of that information which we collect in earlier steps.
Step 4: Developing and documenting software
In this step we test the system before it can use. If there are some problems arise in the system then we solve
these problems before implementing.
In this last step we implement the whole project in our case Online Game Chess system with the help of this
information which we collect in earlier stages.