Technology Business Development - Software Design Document | CS 451, Lab Reports of Software Engineering

Material Type: Lab; Professor: Cai; Class: Software Engineering; Subject: Computer Science; University: Drexel University; Term: Winter 2009;

Typology: Lab Reports

Pre 2010

Uploaded on 08/19/2009

koofers-user-mfx
koofers-user-mfx 🇺🇸

9 documents

1 / 13

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Technology Business Development (TBD)
Software Design Document
Let’s Play Chess®
Prepared by:
Greta Evans, Chris DiJoseph, Chris Dulsky,
Oleg Pistolet, Isaac Gerhart-Hines
Version 1.1
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Partial preview of the text

Download Technology Business Development - Software Design Document | CS 451 and more Lab Reports Software Engineering in PDF only on Docsity!

Technology Business Development (TBD)

Software Design Document

Let’s Play Chess®

Prepared by:

Greta Evans, Chris DiJoseph, Chris Dulsky,

Oleg Pistolet, Isaac Gerhart-Hines

Version 1.

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.

  1. Introduction

1.1. Purpose

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.

1.2. Scope

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.

1.3. Timeline

See http://www.cs.drexel.edu/~crd29/TBD/Schedule.html for the most up to date timeline.

  1. Overall Description

2.1. Product Perspective

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.

3.3. Gameplay

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

4.1. Starting Program

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

4.1.1. Playing a New 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.

4.1.2. Loading a Saved Game

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.

4.1.3. Quitting a Game

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.

4.2. Make a Move

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.

4.3. Winning the Game

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

  1. Specifications

5.1. Framework

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.

5.2. Format

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.