Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Specification
for
Chess
Prepared by:
Mayra Aguas , Alfred Blackman, George D'Andrea,
Paul Vu, and Gurvinder Singh.
Contents:
1 INTRODUCTION 1
1.1 Purpose 1
1.2 Scope
1
1.3 Definitions.... 1
1.4 Overview 2
2 OVERALL DESCRIPTION . 3
2.1 Product perspective
3
2.1.1 System interfaces
3
2.1.2 User interfaces
3
2.1.3 Hardware interfaces
3
2.1.4 Software interfaces
3
2.1.5 Communications interfaces 4
2.1.6 Memory constraints
4
2.1.7 Operations
4
2.2 Product functions
4
2.3 User characteristics
4
2.4 Constraints
4
2.5 Assumptions & dependencies 4
2.6 Requirements Apportioning 4
3 SPECIFIC REQUIREMENTS
. 5
3.2 User interface
. 5
4 USE CASES
. 12
4.2.1 Connect 12
4.2.2 Move
12
4.2.3 Redo
13
4.2.4 Resign
14
4.2.5 Save Log 15
1 INTRODUCTION
1.1 Purpose
This document specifies all the requirements for the Chess game software. These requirements relate
to the functionality, constraints, performance, attribute and the system interface.
The Chess program is a program used to play game. First goal is to allow two users or players to play
the game interactively from remote locations. And the second goal will be that the program should be
working and allow the users to play the game.
1.2 Scope
This document describes the software requirements for the Chess program. This document will be used
by the end-users, tester, and developers of the game.
1.3 Definitions
Bishop: one of two pieces of the same color that may be moved any number squares diagonally, as long
as no other piece blocks its way. One piece always remains on White squares and the other always on
Black.
Castling: to move the king two squares horizontally and bring the appropriate rook to the square the king
has passed over.
Check: To make a move that puts the opponents King under direct attack.
Checkmate: a situation in which an opponents king is in check and it cannot avoid being captured. This
then brings the game to a victorious result.
Chess Board: A board you need to play Chess. Have 64 black and white square.
Chess: A game played by 2 people on a chessboard with 16 pieces each.
En Passant: a method by which a pawn that is moved two squares can be captured by an opponent's
pawn commanding the square that was passed
King: The main piece of the game, checkmating this piece is the object of the game. It can move 1 space
in any direction.
Knight: This piece can move 1 space vertically and 2 spaces horizontally or 2 spaces vertically and 1
space horizontally. This piece looks like a horse. This piece can also jump over other pieces.
Pawn: One of eight men of one color and of the lowest value usually moved one square at a time
vertically and capturing diagonally.
Player or user: A user or a player will be the person that is playing the chess game.
Queen: This piece can move in any number of spaces in any direction as long as no other piece is in its
way.
Rook: one of two pieces of the same color that may be moved any number squares horizontally or
vertically, as long as no other piece blocks its way.
Stalemate: A situation in which a players king is not in check, but that player can make no move. This
then results is a stalemate, which is a draw.
1.4 Overview
The rest of this document describes the system requirements for the Chess program.
2 OVERALL DESCRIPTIONS
2.1 Product perspective
University students need an entertainment tool to enjoy and play with friends over the network. As
described in section 1.2, of this document, CHESS intend to fill this need by providing a software allows
entertainment with friends and over the network. Some software games allow playing games with people
that you may not know, and often times require a monthly fee for the service.
Network CHESS software interfaces with the user computer and expect that it is capable of use TCP
connections
2.1.7 Operations
CHESS not provide backup or recovery operations.
2.4 Constraints
CHESS may experience hardware limitations constrain for graphics and Java language requirements if
installed in a not compatible computer.
Highest priority. All items of this level must be implemented and verified
Priority 3
3 SPECIFIC REQUIREMENTS
0100 Users shall be able to connect via IP address. Priority 1
0110 Users shall be able to start a game once two users are connected. Priority 1
0120 Users shall be given the choice of who plays black and white. Priority 1
0130 Each user is to have their pieces start at the bottom of the board on their display. Priority 1
0140 The player playing white is first to move. Priority 1
0150 A player may forfeit at any time during gameplay. Priority 1
0160 A player must be given a confirm dialog before forfeiting. Priority 2
0170 Forfeiting shall end the game immediately. Priority 1
0180 The active player shall select a piece by clicking it. Priority 1
0190 When a piece is selected, all legal moves for that piece are highlighted. Priority 1
0200 When a piece is selected, the active player may select another piece by clicking it. Priority 1
0210 A selected piece must always belong to the active player. Priority 1
0220 The active player shall move the selected piece by clicking on any legal square. Priority 1
0230 The active player shall capture a piece by moving onto a legal square containing an opposing piece.
Priority 1
0240 Captured pieces shall be displayed in a captured pieces box. Priority 2
0250 The inactive player may request to undo the prior move. Priority 2
0260 There shall be no more than one undo request per turn. Priority 2
4 Use Cases
3.2.1 Connect
Preconditions: None
Main Flow: User opens program and specifies the IP address of the user to whom she wants to connect
(i). If the connection attempt is successful the players start a new game (ii). The players choose who will
play black and who will play white (iii). The board is drawn so that each player has her pieces at the
bottom of her display (iv). The game moves to the play game state with the white player as the active
player (v).
SubFlows:
I. User opens program and connects to an opponent's IP address.
II. Once there is a successful connection a new game is started.
III. The players argue over color.
IV. Each player sees the game board from the appropriate perspective.
V. The game moves into the play game state with the white player as the active player.
3.2.2 Move
3.2.3 Redo
Precondition: During play game state, and an undo hasn't been requested this turn.
Main Flow: The inactive player may request to undo their prior move(i). The active player is asked to
accept(ii). If accepted the last move is reversed and the inactive player becomes the active player(iii).
Sub Flows:
I. The inactive player requests a redo.
3.2.4 Resign
Preconditions: During the Play Game state
Main Flow: At any time during gameplay, a player selects the forfeit option (i). The player then confirms
their forfeit (ii). The game is immediately ended with the forfeiting player as loser (iii).
Sub Flows:
I. A player chooses to forfeit
II. The same player confirms their forfeit
III. That player loses and the game is over.
Alternative Flow: The player decides not to confirm the forfeit. Game player resumes as usual.
Group 4
Mayra Aguas
Alfred Blackman
George D'Andrea
Gurvinder Singh
Paul Vu
Group 1
Jason Economou
Timothy McJilton
Gabriel Schwartz
Andrew Sherman
Chaitra Chandapillai