lunes, 9 de agosto de 2010

Taller_ingesoftware_definitivo200901

POLITECNICO COLOMBIANO JAIME ISAZA CADAVID



TALLER DE INGENIERIA DE SOFTWARE
Asignatura: Análisis y Diseño
Profesor: BERNARDO MOLINA ZULUAGA, bmolina@escolme.edu.co
 


ENUNCIADO
 

Suponga que creará un sistema informático que jugará ajedrez con un usuario. Diseñe LOS MODELOS UML que permitan implementar una solución elabore el diagrama de clases, el de casos de uso, el de secuencias y colaboración necesario para responder al menos a los siguientes requerimientos:

La partida de ajedrez se juega entre dos adversarios que mueven alternativamente sus propias piezas sobre un tablero cuadrado, llamado "tablero de ajedrez". El jugador con las piezas blancas comienza la partida. Se dice que un jugador "está en juego" cuando se ha realizado la jugada de su adversario.

El objetivo de cada jugador es situar al rey de su adversario "bajo ataque", de tal forma que el adversario no disponga de ninguna jugada (movimiento de pieza) legal que evite la "captura" del rey en la siguiente jugada. Del jugador que alcanza este objetivo se dice que ha dado "mate" al rey de su adversario y que ha ganado la partida. El adversario, cuyo rey ha recibido el mate, pierde la partida.

Si la posición es tal que ninguno de los jugadores puede dar mate, la partida es tablas.

Reconocer que tipo de pieza es cada una (Rey, reina, alfil, caballo, torre y peón)

Reconocer la forma de moverse de cada pieza:

No está permitido mover una pieza a una casilla ocupada por una pieza del mismo color. Si una pieza se mueve a una casilla ocupada por una pieza de su adversario, ésta es capturada y retirada del tablero como parte del mismo movimiento.

El alfil a cualquier casilla a lo largo de una de las diagonales sobre las que se encuentra.

La torre a cualquier casilla a lo largo de la fila o columna en las que se encuentra.

La dama a cualquier casilla a lo largo de la fila, columna o diagonal en las que se encuentra.

El caballo a una de las casillas más próximas a la que se encuentra, sin ser de la misma fila, columna o diagonal.

El peón puede hacia adelante a la casilla inmediatamente delante suyo en la misma columna, siempre que dicha casilla esté desocupada, o en su primer movimiento puede avanzar dos casillas a lo largo de la misma columna, siempre que ambas casillas estén desocupadas, o el peón puede ser movido a una casilla ocupada por una pieza del adversario que esté en diagonal delante suyo, sobre una columna adyacente, capturando dicha pieza.

Cuando un peón alcanza la fila más alejada desde su posición inicial debe ser cambiado, como parte del mismo movimiento, por una dama, torre, alfil o caballo del mismo color.

Hay dos formas diferentes de mover el rey: Desplazándolo a cualquier casilla adyacente no atacada por una o más piezas del adversario. O el "Enrocando". Movimiento del rey y de una de las torres del mismo color y que esté en la misma fila: el rey es trasladado dos casillas desde su casilla original hacia la torre y luego dicha torre es trasladada a la casilla que acaba de cruzar el rey.

Reconocer el tablero (número de casillas, identificadas las filas por letras y pro números las columnas)

Reconocer si una pieza es blanca o negra y en que casilla se encuentra.

ACTIVIDADES

Fase Análisis del problema (Lectura analítica del enunciado)

  1. Identificar Actores.
  2. Identificar Casos de Usos.
  3. Elaborar Diagrama de Caso de Uso.
  4. Elaborar Especificación textual del Caso de Uso.


Fase Análisis de textual del problema (Lectura gramatical del enunciado)

  1. Identificar Objetos y Clases Candidatas.
  2. Identificar Características y atributos candidatos.
  3. Identificar operaciones y métodos candidatos.
  4. Identificar, jerarquías y relaciones de clases.
  5. Elaborar Listado de Clases Candidatas.
  6. Elaborar Diagrama de clases candidatas.


Fase Análisis Funcional de Escenarios de utilizacion

  1. Análisis de la especificación textual de cada escenario de utilizacion.
  2. Identificar Objetos que participan en el escenario de utilizacion.
  3. Identificar relaciones estimulo - acccion - efecto (Evento/Metodo/Cambio de estado)
  4. Establecer mensajes entre objetos y secuencias de interaccion.
  5. Elaborar el Diagrama de Secuencias.
  6. Elaborar el Diagrama de Clases.


Fase Diseño Funcional refinamiento del comportamiento de objetos en relación a estimulo - acción - efecto (Evento/Método/Cambio de estado)

  1. Ordenación de interacciones estimulo/acción.
  2. Diseño de Interfaces internas
  3. Diseño de Interfaces externas
  1. Elaborar Diagrama de Colaboración.
  2. Identificar relaciones estimulo - acción - efecto (Evento/Método/Cambio de estado).
  3. Elaborar Diagrama de Estados.
  4. Identificar Heurística de actividades de los objetos.
  5. Elaborar Diagrama de actividades.
  6. Actualizar Diagrama de estructura estática de clases.
  7. Actualizar Diagrama de Objetos.
  8. Diseño de componentes.


Fase Implementación (Calificación de arquitectura de clases)

  1. Implementación de clases padres
  2. Implementación de atributos, heurística de clases
  3. Compilacion de framework base de la solución (arquitectura de clases).


Fase Implementación (Codificacion de Interfaces internas/externas)

  1. Implementación de Interfaces internas.
  2. Implementación de Interfaces externas.
  3. Integracion de framework base de la solución (arquitectura de clases).
  4. Pruebas


RECURSOS
 

Sitio DE INTERÉS

  • Para modelar uml en linea: http://yuml.me/
  • Herramientas Case para modelar UML
  •  

No hay comentarios: