Sunteți pe pagina 1din 14

ESTRUCTURA DE DATOS

AJEDREZ

Fecha 15-09-2016
Versión 1.0

Integrantes Luis Alfredo Bastidas Plazas cod 1521020698


del grupo Diego Gamba Lara cod 1510020481
Juan David Nieto Jaramillo Cod 1511023959
Hector David Cuitiva Quintero cod. 1521022130
Fabian Elias Acosta cod 1521020103

Ajedrez Página 1
Historia del Documento

Versió Fecha Explicación del cambio Autor


n
1.0 15/09/2016 Primer versión Luis Bastidas
Diego Gamboa
Juan Nieto
Héctor David
Fabián Acosta
2.0 Correcciones del profesor “

Ajedrez Página 2
TABLA DE CONTENIDO

1 Objetivos...........................................................................................................................................4
2 Resultados Esperados………………………………………………………………………………4

3 Descripción………………………………………………………………………………………….5

4 Aplicabilidad de los Temas del Modulo…………………………………………………………...5

5 Requerimientos Funcionales……………………………………………………………………….6

6 UML…………………………………………………………………………………………………7

7 Casos de Uso………………………………………………………………………………………...8

Ajedrez Página 3
OBJETIVOS

Como estudiantes de programación, el desarrollo de este tipo de proyectos nos permite


aprender a trabajar en equipo, a conocer más a fondo sobre el proceso que tiene el crear e
implementar este tipo de programas, el objetivo principal es evolucionar en nuestras
capacidades, poder entregar un producto final acorde con lo que se nos pide, aprender a
utilizar de forma fluida las herramientas, elaborar de forma correcta los UML, los casos
de uso, y la implementación final del programa desarrollado.

Este proyecto está encaminado en el desarrollo de un programa de ajedrez que le permita


al usuario interactuar con más competidores, con una interfaz gráfica amable y sencilla,
un desarrollo progresivo, tiempos de las partidas, explica movimientos básicos del juego
y le permite al usuario desarrollar y evolucionar en sus habilidades.

La duración del módulo es de 8 semanas, creemos que es un tiempo prudencial para el


desarrollo e implementación del programa, esperamos dar un producto final acorde con
requerimientos.

RESULTADOS ESPERADOS

Al finalizar este proyecto esperamos entregar un programa amigable al usuario, con una
interfaz gráfica sencilla que le permita a los competidores interactuar cómodamente, que
el desarrollo de cada partida sea el adecuado sin errores y sobresaltos, que cada
movimiento y jugada sea clara y entendible para los usuarios, que sea de fácil acceso,
poder manejar las herramientas de desarrollo de manera adecuada, poder realizar casos de
uso y aplicarlos a cualquier tipo de requerimientos.

Ajedrez Página 4
DESCRIPCION

El programa consiste en simular una partida de ajedrez, describir movimientos básicos,


cronometro entre jugadas, multijugador, movimiento de jugadas basadas en las reglas de
ajedrez, se desarrollara en netbeans, se crea un UML y casos de uso de los requerimientos
funcionales, se realizara interfaz gráfica dentro de netbeans ya que el programa nos da la
opción por medio del swing.

APLICABILIDAD DE LOS TEMAS DEL MODULO

El módulo de estructura de datos nos da herramientas y guías para encaminar nuestro


proyecto, nos hablan de eclipse como herramienta de desarrollo, nos dan bases de
programación orientada a objetos, nos involucran de lleno a java, por parte del grupo
decidimos trabajar netbeans ya que nos permite trabajar la interfaz gráfica de manera más
sencilla y practica, siendo eclipse y netbeans muy similares.

Ajedrez Página 5
REQUERIMIENTOS FUNCIONALES

RF1 Poder interpretar las jugadas realizadas.


RF2 Distinguir entre una jugada válida y una incorrecta.
RF3 Reconocer la finalización de un juego (Jaque Mate).
RF4 Distinguir el tablero.
RF5 Identificar cada pieza de ajedrez y su posición.
RF6 El usuario puede jugar contra otro usuario por internet
RF7 El usuario puede jugar contra la computadora

Ajedrez Página 6
DIAGRAMA UML

Ajedrez Página 7
CASOS DE USO

Para iniciar vamos a definir los actores de los casos presentados:

Actores:

Jugador 1 Jugador 2 Sistema

Aproximación general:

Luego tenemos en cuenta que cualquier jugador puede:

Registrar nombre
Mover fichas

Iniciar partida

Devolver jugada

Abandonar partida

Solicitar Tablas

Y el sistema en cualquier momento puede:

Resetear partida

Ajedrez Página 8
Validar jugada

Sortear salida

Definir tablas

Definir ganador

Definir coronar (peón)

Contabilizar tiempo Listar jugadas


Además, observemos que una
ficha puede ser:

<<extends>>
<<extends>>
Mover ficha

<<extends>> <<extends>>
Mover peón
<<extends>> Mover rey
<<extends>>

Mover caballo Mover alfil Mover reina

Mover torre

Un aspecto importante, las tablas (o el empate) pueden ser solicitadas y aceptadas por los
jugadores o confirmada por el sistema de acuerdo a las posibilidades de aparición en cada
jugada.

Pedir tablas Mover fichas

<<uses>> <<uses>>

Ajedrez Página 9
Definir tablas

Ahora bien, teniendo en cuenta los apartes anteriores presentamos el diseño completo del
caso de uso.

UN (1) JUGADOR

resetear
partida

Ajedrez Página
10
Registrar
nombre

Jugador 1 Sistema
Pedir Definir <<uses>>
<<uses>>
tablas tablas
Mostrar
Abandonar jugadas
Iniciar partida
partida Definir
ganador

Mover Mover
Mover
Mover alfil
caballo reina Mover
torre
rey

Mover Definir
<<extends>> <<extends>>
peón coronar
(peón)
<<extends>> <<extends>> Validar
jugada
Mover
ficha

DOS (02) JUGADORES

Ajedrez Página
11
Mostrar
jugadas
Resetear partida

Registrar Registrar
nombre nombre

Definir
tablas

Ajedrez Página
12
Pedir
<< uses >>
tablas Pedir tablas
<< uses >>
Jugador 2
Jugador 1
Abandonar
Abandonar Definir
partida
partida ganador
Iniciar Iniciar
partida partida

Validar Mover rey Mover alfil


jugada Mover caballo Mover torre

Mover reina

<<extends>>
Mover alfil Mover reina
Mover torre Mover caballo Mover rey <<extends>>
<<extends>> Mover peón

<<extends>> <<extends>>
Mover peón

<<extends>> Definir Mover


<<extends>>
corona ficha

(peón)

Mover
ficha

CASO DE USO

Ajedrez Página
13
Ajedrez Página
14

S-ar putea să vă placă și