Software Requirements Specification

Similar documents
ChesServe Test Plan. ChesServe CS 451 Allan Caffee Charles Conroy Kyle Golrick Christopher Gore David Kerkeslager

YourTurnMyTurn.com: chess rules. Jan Willem Schoonhoven Copyright 2018 YourTurnMyTurn.com

Movement of the pieces

If a pawn is still on its original square, it can move two squares or one square ahead. Pawn Movement

Welcome to the Brain Games Chess Help File.

NSCL LUDI CHESS RULES

Essential Chess Basics (Updated Version) provided by Chessolutions.com

Chess Handbook: Course One

After learning the Rules, What should beginners learn next?

A Simple Pawn End Game

John Griffin Chess Club Rules and Etiquette

Algebraic Chess Notation

CHESS SOLUTION PREP GUIDE.

Boulder Chess. [0] Object of Game A. The Object of the Game is to fill the opposing Royal Chambers with Boulders. [1] The Board and the Pieces

LEARN TO PLAY CHESS CONTENTS 1 INTRODUCTION. Terry Marris December 2004

Perry High School. 2 nd Semester!

Chess, a mathematical definition

a b c d e f g h i j k l m n

The game of Paco Ŝako

GICAA State Chess Tournament

OCTAGON 5 IN 1 GAME SET

The Pieces Lesson. In your chess set there are six different types of piece.

The Basic Rules of Chess

How to Play Chinese Chess Xiangqi ( 象棋 )

CHEKMO-II. CHEKMO-II will run on any PDP-8 family computer with a minimum of 4k of memory, and an ASR33 Teletype or equivalent terminal.

K I NG M A STER (911 ) T R AVEL KING M A STER II (16 9 ) USER MANUA L

NEW CHESS NOTATION SLAVOLJUB STOJANOVIĆ - SLLAVCCO

Structured Programming Using Procedural Languages INSS Spring 2018

Chess Rules- The Ultimate Guide for Beginners

DELUXE 3 IN 1 GAME SET

NOVAG AGATE INSTRUCTION

Your first step towards nobility

An End Game in West Valley City, Utah (at the Harman Chess Club)

The Game. Getting Sarted

Its topic is Chess for four players. The board for the version I will be discussing first

12 Special Moves - Stalemate, Pawn Promotion, Castling, En Passant capture

Triple Challenge.txt

Cover and Interior design Olena S. Sullivan Interior format and copyediting Luise Lee

2.1 Introduction. Purpose. Scope

3. Bishops b. The main objective of this lesson is to teach the rules of movement for the bishops.

Chess for Kids and Parents

Microchess 2.0 gives you a unique and exciting way to use your Apple II to enjoy the intellectually stimulating game of chess. The complete program lo

Take the Leap. xchess Rules. xchess.org P r i n t t o P l a y

Google DeepMind s AlphaGo vs. world Go champion Lee Sedol

The Chess Set. The Chessboard

Unit. The double attack. Types of double attack. With which pieces? Notes and observations

Overview... 3 Starting the Software... 3 Adding Your Profile... 3 Updating your Profile... 4

2/6/2006 Team #7: Pez Project: Empty Clip Members: Alan Witkowski, Steve Huff, Thos Swallow, Travis Cooper Document: SRS

District Fourteen Chess Fest 2012 Information Sheet

Technical Information - NOVAG BERYL

ARTICLE 1. THE CHESSBOARD

1, 2,, 10. Example game. Pieces and Board: This game is played on a 1 by 10 board. The initial position is an empty board.

C SC 483 Chess and AI: Computation and Cognition. Lecture 2 August 27th

Reality Chess. Yellow. White

ELE 408 Final Project

A1 Problem Statement Unit Pricing

Welcome & Introduction

Infinite chess. Josh Brunner. May 18, 2018

Chapter 1: Positional Play

(12) Patent Application Publication (10) Pub. No.: US 2013/ A1. Bond et al. (43) Pub. Date: Oct. 24, 2013

Chess Puzzle Mate in N-Moves Solver with Branch and Bound Algorithm

Knight Light. LED Chess. Nick DeSantis Alex Haas Bryan Salicco. Senior Design Group 16 Spring 2013

THROUGH THE LOOKING GLASS CHESS

Introduction 5 Algebraic Notation 6 What s So Special About the Endgame? 8

Roi - King - König - Rey Re - Koning - Kung - Konge Rei - король. Dame - Queen - Dame - Dama Regina - Dame - Dam - Dronning Rainha - ферзь

Rule changes Effective June 1, 2005: 1. ALL registration will take place via the internet. All forms are available on the

Important USCF Rules - 5 th Edition USCF Rulebook

EUROPE II Chess Master M800. User Manual

Contents. Introduction 5 How to Study this Book 5

CHAMPIONSHIP CHESS GAME WORLD. Log On: When you log into the World of Chess, you will enter the Hall of Kings.

Chess for Math Curriculum

Official Problem Set 2017 ACM/ICPC. The 2017 ACM-ICPC Asia Kabul Regional Contest

COMPARISON OF FIDE AND USCF RULES

Chess Course Syllabi Table of Contents

State Arbiter Examination Organised by. Tamil Nadu State Chess Association. In co-ordination with

Robot Movement Parameterization using Chess as a Case Study within an Education Environment

THE COMPLETE RULES OF TIME-CUBE CHESS

Homework 9: Software Design Considerations

St. Louise School Chess Club Handbook

Here is Part Seven of your 11 part course "Openings and End Game Strategies."

Totally Puzzled Hard & Easy, Rich & Rare, Old & New Puzzles

Institute of Chess. Revision Guide to LEVEL 1. The contents were written and arranged by. GM Chris Ward FM Desmond Tan.

Karpov Chess School M804

Accessory to NOVAG'S Chess Computers. Chess details

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger. Project #3: Checkers

Royal Battles. A Tactical Game using playing cards and chess pieces. by Jeff Moore

Tactics Time. Interviews w/ Chess Gurus John Herron Interview Tim Brennan

2/22/2006 Team #7: Pez Project: Empty Clip Members: Alan Witkowski, Steve Huff, Thos Swallow, Travis Cooper Document: VVP

2. Review of Pawns p

Learn Chess the Right Way

2012 Alexey W. Root. Publisher: Mongoose Press 1005 Boylston Street, Suite 324 Newton Highlands, MA

All games have an opening. Most games have a middle game. Some games have an ending.

CYO of Long Island Chess Rules and Organizational Matters

All India Chess Federation Senior Arbiter Examination Organised by Mizoram Chess Association Study Material November 03, 2016 Mizoram Contents

PREFACE page 3. BASIC RULES OF PLAY page 3. Article 1: The nature and objectives of the game of chess page 3

Queen vs 3 minor pieces

THE ATTACK AGAINST THE KING WITH CASTLES ON THE SAME SIDE (I)

Laws of Chess: For competitions starting on or after 1 July 2014

USING BITBOARDS FOR MOVE GENERATION IN SHOGI

Automated reasoning about retrograde chess problems using Coq

Transcription:

War Room Systems Vito Salerno Jeff Segall Ian Yoder Josh Zenker March 19, 2009 Revision 1.1

Approval Sheet Chris DiJoseph Date Chris Dulsky Date Greta Evans Date Isaac Gerhart-Hines Date Oleg Pistolet Date i

Revision History Date Description Revision 5 Feb 2009 Initial Version 1.0 19 Mar 2009 Revised Use Case Diagram 1.1 ii

Contents 1 Introduction 1 1.1 Purpose................................................ 1 1.2 Scope................................................. 1 1.3 Definitions, Acronyms, and Abbreviations............................. 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 Communications Interfaces................................. 3 2.1.5 Memory Constraints..................................... 3 2.2 Product Functions.......................................... 3 2.3 User Characteristics......................................... 3 2.4 Apportioning of Requirements.................................... 4 3 Specific Requirements 5 3.1 Functional Requirements....................................... 5 3.1.1 Movement........................................... 5 3.1.2 Capturing........................................... 5 3.1.3 Promotion........................................... 5 3.1.4 Move Legality......................................... 5 3.1.5 Game Saving/Loading.................................... 5 3.1.6 Network............................................ 6 3.2 Non-functional Requirements.................................... 6 3.2.1 Network............................................ 6 3.3 Abnormal Conditions........................................ 6 3.3.1 Save Files........................................... 6 3.3.2 Network............................................ 6 4 User Interface 7 5 Use Cases 8 iii

1 Introduction 1.1 Purpose This document specifies all the software requirements for a chess game. It is intended to be read and reviewed by Technology Business Development, as well as Dr. Yuanfang Cai and Sunny Huynh. 1.2 Scope War Room Chess is a cross-platform application that allows two players to engage in a real-time game of chess. The primary goal is to provide a 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. 1.3 Definitions, Acronyms, and Abbreviations bishop A chess piece. castling A special move in the game of chess involving the king and either of the original rooks of the same color. Castling consists of moving the king two squares towards a rook, then moving the rook onto the square over which the king crossed.[1] Castling can only be done if the king has never moved, the rook involved has never moved, the king is not in check, and the king does not cross over or end on a square in which it would be in check. check A situation in chess when a king is threatened by another piece. checkmate A situation in chess when a king is threatened by another piece and cannot escape. Game Over. chess A strategy game played between two players. Win by capturing the opposing king. en passant A special capture made immediately after a player moves a pawn two squares forward from its starting position, and an opposing pawn could have captured it if it had only moved one square forward. king A chess piece. knight A chess piece. GUI Graphic User Interface. Java The Java programming language, developed by Sun Microsystems. Java runtime The necessary files needed to run Java programs in a virtual machine. network A connection between two computers. In this case used to play chess without being on the same computer. pawn A chess piece. rook A chess piece..sav File format used to save chess game information. SRS Software Requirements Specification. This document. socket An interface used to establish a network connection. stalemate A situation in chess wherein the game ends in a tie. There is no possible move. March 19, 2009 1

Technology Business Development The customer. War Room Systems An excellent software development team. Subsidiary of FiveFourteen.net.s WRC War Room Chess. The game being developed. queen A chess piece. 1.4 Overview The rest of the document details the functional and non-functional requirements for War Room Chess. Its format follows IEEE Std 830-1998 as closely as possible. March 19, 2009 2

2 Overall Description 2.1 Product Perspective There is no shortage of computer-based chess games. War Room Chess is not significantly different from these other games. The game allows two players to play a game of chess over a network. It provides a simple GUI. It also allows players to save and load games. Players may undo the most recent move as well. 2.1.1 System Interfaces Client The WRC software has an interface that translates the user s actions with the mouse into data the server will be able to understand and relay to the other user s computer, in order to actually perform the move on both computers. 2.1.2 User Interfaces WRC provides a simple GUI that the user operates with a mouse. The client is stand-alone. It only requires the Java Runtime Environment (JRE) and, of course, a working Internet connection. Game data will be stored on a central server. 2.1.3 Hardware Interfaces WRC will run on any computer with the following: An Internet connection The Java Runtime Environment A keyboard and mouse 2.1.4 Communications Interfaces Communication between the client software and the network software is facilitated by common network protocols. 2.1.5 Memory Constraints The memory requirements for WRC are largely determined by the version of the Java Runtime Environment installed on the player s computer. They should not exceed 1 GB of RAM. 512 MB should be sufficient for responsive gameplay. 2.2 Product Functions 1. Allows two people to play a game of chess over a network 2. Allows a player to save their current game or load a previous one 3. Allows a player to undo their last move 2.3 User Characteristics The users of WRC need only be familiar with the game of chess in order to use our program. March 19, 2009 3

2.4 Apportioning of Requirements Priority Description 1 The highest priority level; all requirements of this level must be fully satisfied and verified in order for the software to be released. 2 Requirements of this level do not need to be implemented in order for the software to still be viable. March 19, 2009 4

3 Specific Requirements 3.1 Functional Requirements 3.1.1 Movement 0100 Pawn Pawns shall move one space forward, optionally two spaces forward on their opening move. Priority 1 0110 Rook Rooks shall move vertically or horizontally any number of spaces unless impeded by another piece. Priority 1 0120 Knight Knights shall move two spaces either vertically or horizontally followed by one space perpendicuarly. Priority 1 0130 Bishop Bishops shall move diagonally any number of spaces unless impeded by another piece. Priority 1 0140 Queen Queens shall move vertically, horizontally, or diagonally any number of spaces unless impeded by another piece. Priority 1 0150 King Kings shall move one space in any direction. Priority 1 0160 Castling When requirements are met for castling (see definition), kings may move two spaces towards a rook, with the rook moving onto the space crossed over by the king. Priority 1 3.1.2 Capturing 0200 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. Priority 1 0210 Pawn Pawns shall capture by moving forward one space diagonally into an opposing piece. Priority 1 0220 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. Priority 1 3.1.3 Promotion 0300 Promotion A pawn, having entered the rank opposite where it started, shall be promoted to a piece of its controller s choosing. Priority 1 3.1.4 Move Legality 0400 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. Priority 1 3.1.5 Game Saving/Loading 0500 A player shall be able to save his game to a.sav file. Priority 2 0510 He shall be able to load his game from a.sav file, even if he is on a different computer than the one where the game was originally saved. Priority 2 0520 The.sav format shall be plain text, unencrypted. Priority 2 0530 A.sav file shall contain the following information: March 19, 2009 5

0535 the positions of each player s pieces Priority 2 0540 whose turn it is Priority 2 0545 the most recent move made Priority 2 3.1.6 Network 0600 Connection 0610 Establishing Connection shall be between two computers, each with the War Room Chess program. Priority 1 0620 IP Addresses Connections shall be determined by IP(v4) addresses. Priority 1 0630 Game Start When two games have connected, they shall send a ready message to signal the start of the game. Priority 1 0700 Messages 0710 Protocol Messages shall be passed using algebraic chess notation. Priority 1 3.2 Non-functional Requirements 3.2.1 Network 1000 Bandwidth There shall be sufficient bandwidth to handle game messages. Priority 1 1010 The network shall be available. Priority 1 3.3 Abnormal Conditions 3.3.1 Save Files 2000 Malformed File A file that does not follow the.sav format will be rejected and an error message displayed. Priority 2 3.3.2 Network 2100 Mid-game Failure If the network connection fails in the middle of a game, WRC shall retry 3 times and then display an error message. Priority 2 March 19, 2009 6

4 User Interface February 11, 2009 7

5 Use Cases March 19, 2009 8