







Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Lab; Professor: Cai; Class: Software Engineering; Subject: Computer Science; University: Drexel University; Term: Winter 2009;
Typology: Lab Reports
1 / 13
This page cannot be seen from the preview
Don't miss anything!








Revision History Name Date Description Version Greta Evans 10 Feb 2009 Added non-functional requirements
Chris DiJoseph 10 Feb 2009 Modified Loading and Quitting Game use case (sec 5)
Isaac Gerhart-Hines 10 Feb 2009 Added Modify Board Use Case (sec 5)
Oleg Pistolet 10 Feb 2009 Revisions and Fulfillment
Greta Evans 27 Jan 2009 Initial Version 1.0.0.
The purpose of this document is to specify the software requirements of the Let’s Play Chess software system, which directly relates to the system’s functionality, use, design and properties. The Let’s Play Chess software system is an electronic simulation of the game of chess. It is meant to serve as a lightweight, portable chess-playing tool for users ranging from the novice player to seasoned pros.
This document is intended primarily for the architects, developers, testers, and managers of the Let’s Play Chess project. It is intended to describe the software requirements of the initial release of the software.
See http://www.cs.drexel.edu/~crd29/TBD/Schedule.html for the most up to date timeline.
This product is designed to fill the niche of a lightweight, cross-platform, unobtrusive chess simulator, while still retaining the most important functionality inherent in most recreational and/or professional chess software systems. Professional, high-level programs such as the Chessmaster® Series function well as robust, feature-laden, and highly powerful chess-playing systems but lack cross-platform support, are bulky and do not fit well to portable media, and require significant computing power to function properly. On the other hand, most web-based chess engines are portable and can be accessed anywhere, but lack the ability to mount a significant challenge to experienced players. The Let’s Play Chess software system strives to fill the middle ground between these two extremes and provide the end user with a lightweight, portable application that can be run on most JAVA-Enabled systems while providing features not normally found in other lightweight applications.
Selecting Load Game shall prompt the user to enter a proper path of a previously-saved game and load it into memory, thereby allowing him/her to continue playing the game from where it ended. 3.2.1.2.1. Format The format of the saved game file shall be XML. 3.2.1.3. Save Game The user shall have the option of saving a game currently in progress to be continued at a later date if he/she so chooses. 3.2.1.3.1. Format As previously stated, the format of the saved game shall be XML. 3.2.1.4. Quit Game The user shall have the option of quitting the application, should he/she decide upon this option.
The game play shall consist primarily of the player and his/her opponent, who engage in a battle of wit and cunning by alternating turns and moving board pieces under valid rules until either the time runs out (if in a timed game) or one player manages to either checkmate the other or force the other into a draw, whether intentional or not. The winning player shall then be congratulated adoringly (and the losing admonished appropriately) and promptly thrust into the main menu to do with as he/she pleases. For a list of rules associated with the game of chess please visit the following link: https://www.cs.drexel.edu/~yfcai/CS451/projects/ChessGame.pdf 3.3.1. Timed Game In a timed game, the player shall be forced to reconcile his/her need for strategy with the amount of time currently allotted to him/her. Should the player forget the time, it shall be reminded to him upon the change of a turn. Should the player, or opponent, idle away the precious time allotted, he/she shall forfeit the game. 3.3.2. AI Game While normal games shall pit player versus player in a death match of chess, the user can choose to play against the computer. This AI is one which shall choose moves
with a chess-intelligence equivalent comparable to a novice-level chess player, or appropriate pachyderm. 3.3.3. Move Highlighting If move highlighting option is selected, possible moves shall be shown for a piece selected by the player. 3.3.4. Rules Standard chess rules shall be observed at all times with respect to validity of moves, status of the game, and any and all other obscure and common ordinances. Enterprising attempting violators shall be punished accordingly, with an error message most stern in constitution, warning, and malice.
Use Cases
The user launches the program by double-clicking on the game; the user has the option of doing the following once the program starts: Playing a New Game Loading a Saved Game Quitting a Game
When the user selects this option, he is presented with a chess board that is a standard starting chess board. The players should decide who is playing as white and who is playing as black. No moves have been made, and the player who elects to be the “white” player will make the first move.
When the user selects this option, he is given a dialog that allows him to select which game he wants to load. Double clicking on the desired file will cause that particular game to load. All pieces will be in the same location they were when the game was saved, and the player whose move it was when the game was saved will still be the player making the next move.
A user may quit the game at any time. If a game has been played through to completion, the game will simply quit. If the players are in the middle of a game, they will be prompted to save the current game. If they choose to save the game, they will be able to select the file name for the saved game. If they choose not to save, the game will simply end and the program will close.
The user can either specify the piece he wants to move, at which point he/she will be shown all possible places the selected piece can be legally placed, or he/she can specify a move directly, in which case if the move is legal it will be accepted and the other player’s turn will commence.
A user wins the game by placing his opponent in “checkmate.” Checkmate a state that prevents a player from moving his/her king without causing it to be captured. The program
The Let’s Play Chess software system will be written in JAVA 1.6.0_07, with Eclipse as the development environment due to lack of worthwhile alternatives.
The Let’s Play Chess warfare system will be a standalone executable with the requirement that the JAVA runtimes are installed on the user’s system.