Académique Documents
Professionnel Documents
Culture Documents
Version 1.0
Student Id:
BC100400197
Group Id:
F130284421
Supervisor Name:
Sir Tanweer Arshad
Revision History
Date
(dd/mm/yyyy)
21/11/2013
Version
1.0
Description
Author
Table of Contents
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 systems 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:
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 opponents piece, which is diagonally in front of it on an adjacent file, capturing that piece. A pawn
attacking a square crossed by an opponents pawn which has advanced two squares in one move from its original
square may capture this opponents 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 players 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 opponents 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
Administrator
Usage Scenarios:
Guest:
Use Case Title
Use Case Id
Actor
Desecration :
Create Account
UC01
Guest
The Guest wants to create an account in Online Chess Game to become a Registered User.
Pre Conditions:
The Guest has properly turned on the system and connected to Chess Game.
Task Sequence
1. The use case starts when the user opens the Chess game and wants to
Exceptions
None.
3.
4.
5.
After filling all needed information the user press button submit.
6.
System response message is your account has been made. If user feed
incorrect / missing information system identifies and account page
reopen and the process repeated until account made successfully.
7.
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.
Modification history: November 27,2013
Registered User:
Use Case Title
Sign in
Use Case Id
UC02
Actor
Registered User, Administrator
Desecration :
The Registered user wants to log on to the Chess game
Pre Conditions:
The user has properly turned on the system and connected to the Chess game.
Task Sequence
1. The use case starts when the user comes and wants to log in to Chess
2.
3.
4.
Exceptions
1. The user enters
game
wrong ID or
The system asks the registered user to enter his /her ID and Password
to log in.
The user enter his/ her ID and password and click appropriate button
The system verifies the User ID and password and logs the user to
ID and password.
5.
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
Exceptions
none
3.
4.
5.
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.
Modification history: November 27, 2013
The user has properly turned on the system and log in to the Chess Game website.
Task Sequence
1. The use case started when user want to choose player for chess game.
2.
3.
Exceptions
None
5.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The competitor has been selected by the player.
Modification history: November 27, 2013
3.
The system responds that the request has been accepted by the
competitor.
4.
Post Conditions:
The user has successfully sent request to competitor.
Modification history: November 27,2013
Play game
UC06
Exceptions
None
Actor
Registered User
Desecration :
The Registered User wants to play Chess game.
Pre Conditions:
The user has properly turned on the system and log in to the Chess Game website.
Task Sequence
1. The use case starts when the user wants to play Chess game.
2.
3.
The system draw chess board so that each player has his/ her pieces at
the bottom of her display.
This use case ends.
4.
Exceptions
None
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.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The color of piece has been selected.
Modification history: November 27,2013
Select piece
UC08
Exceptions
None
Actor
Registered User
Desecration :
The Registered User wants to select a piece in Chess game
Pre Conditions:
The user has properly turned on the system and log in to Chess game.
Task Sequence
1. The use case starts when the user wants to select a piece.
2.
3.
Exceptions
None
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The piece has been selected.
Modification history: November 27,2013
The user clicks a piece to move it. The game displays the positions
it can move to.
The player selects the new destination by clicking. The piece is
moved.
This use case ends.
Exceptions
The piece is no longer
being there in the place
from where the piece is
moved.
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.
Modification history: November 27,2013
3.
4.
5.
6.
7.
Exceptions
None
The use case starts when the user wants to check for checkmate.
The system runs to check to determine if the player king is under check
from any enemy pieces. If so, the system shall examine whether there is
a check-mate and if not the system shall proceed to displaying the
results of the examination.
The system runs to check if the local player king can move to any
square that is not under check. The system shall then display the results
of the examination.
The system shall display a dialog box that the player has lost the game.
The system shall transmit a message to the opponent, stating the
outcome of the game.
The system shall allow the player to create a new game per the Start
Game use case.
This use case ends.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The piece has been check for checkmate.
Modification history: November 27,2013
If there is no checkmate the system allows the player can make a next
move.
This use case ends.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The player made a next turn.
Exceptions
None
Exceptions
None
The system checks if the player king is under check from any enemy
pieces. If so, the system shall examine whether there is a check-mate
and if so the system ends game and display the result.
This use case ends.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game ends.
Modification history: November 27,2013
4.
5.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game is saved
Exceptions
None
4.
The user write chat in the dialog box and press send button to send it to
Exceptions
None
competitor.
5.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The user will chat with his/her competitor.
Modification history: November 27,2013
4.
5.
Exceptions
None
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The game exit.
Modification history: November 27,2013
3.
4.
Exceptions
None
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.
Modification history: November 27,2013
Exceptions
2. The administrator
enters wrong ID or
2.
3.
4.
5.
appropriate button
administrator ID and
password.
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
Exceptions
None
3.
System responds by accepting the user request and shows the message
of accepting the user request.
4.
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.
Modification history: November 27,2013
Exceptions
None
3.
System responds by accepting the user request and shows the message
of rejection of the user request.
4.
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The team requested rejected.
Modification history: November 27,2013
Alternate Scenarios:
Exceptions
None
Exceptions
None
Alternate Scenarios:
3-a: The user closes the logon page.
Post Conditions:
The account has been deleted and no longer be there for use.
Modification history: November 27, 2013
Exceptions
None
2.
3.
4.
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 categorized this section into three parts which is as follows:
2.1. Existing Methodologies:
2.2 Adopted Methodology
2.3
Reason for choosing the Methodology
development projects
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:
Determine
objectives,
alternatives,
constraints
Plan Next
Phase
Identify and
resolve risks
Develop
and verify
next-level
product
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:
Architectural
spike
User stories
Release
Planning
Iteration
Spike
Acceptance
test
Small release
target dates, budgets and implementation of an entire system at one time. It has an orderly sequence steps in the
project. This approach provides more room for iteration due to spiral methodology. It enhances the high risk
avoidance. Functionality and implementation has equal priority. This modal is document driven modal due to
waterfall modal. It generates documentation which is complete and comprehensive documentation and hence it
makes maintenance task much easier. This modal can only be used for large scale software development but for
internal software this method can also be used.