miércoles, 13 de julio de 2011

Sistema Distribuido para mi proyecto (Web Service)

Web Service: Es una parte de software que utiliza protocolos en conjunto y estándares para enviar y recibir datos entre las aplicaciones. Pueden ser aplicaciones hechas con diferentes lenguajes de programación y que se pueden ejecutar en cualquier plataforma, y pueden utilizar la web para enviar y recibir datos en la internet.
La manera en que utilizaría el WEB SERVICE es que puedo ver quien está disponible para jugar una partida en línea, y quien se encuentra jugando una partida en ese momento, también cada jugador debe mandar un mensaje cada 5 minutos para decir que está disponible en casos cuando su contrincante dejó la ventana y el juego abierto pero no responde después de los 5 minutos de tolerancia.
Me gustaría tener un servidor de mantener el estado de la junta, y las piezas de ajedrez cada cliente podrá comunicarse con un protocolo de ajedrez que se diseñan para hacer los movimientos el servidor podría enviar el nuevo estado del tablero de ajedrez y realizara las tareas diferentes, como: aceptar una medida, notificar al jugador contrario que ahora es su turno. Por ejemplo, el protocolo podría, por una decisión podría ser: "el peón-> 8,8" esto quiere decir que la nueva posición del peón debe estar en la esquina superior derecha del tablero, se envía por el protocolo TCP/IP entre el cliente y el servidor.

http://es.wikipedia.org/wiki/Servicio_web

Pruebas Unitarias

Prueba #
001
Nombre
Iniciar Juego
Descripción
Se desea ver cómo funciona el programa al iniciarlo
Objetivos
Verificar que el juego inicie correctamente.
Condiciones
Se debe tener el ejecutable (.exe) el juego no tiene instalador. Y es necesario tener un mouse o un Touchpad.
Resultado esperado
1.-Que tenga las casillas completas

2.-Las piezas se encuentren cada una en su lugar

3.-Cada pieza tenga el color blanco en el jugador 1 y negro en el jugador 2

4.-Los botones se encuentren de color rojo en el lado derecho y uno diga “Reiniciar Juego”, el de abajo debe decir  “Cerrar”

5.-E jugador 1 debe estar escrito en la parte inferior y el jugador 2 en la parte superior.
Resultado obtenido
El programa inicia correctamente. Prueba pasada.


Prueba #
002
Nombre
Reiniciar Juego
Descripción
Se desea ver cómo funciona el programa al reiniciarlo
Objetivos
Verificar que el juego se reinicie correctamente.
Condiciones
Es necesario tener un mouse o un Touchpad.
Resultado esperado
1.-Tenga las casillas completas

2.-Las piezas al reiniciar el juego regresen a su posición inicial de juego

3.-Cada pieza tenga el color blanco en el jugador 1 y negro en el jugador 2

4.-Los botones se encuentren de color rojo en el lado derecho y uno diga “Reiniciar Juego”, el de abajo debe decir  “Cerrar”

5.-El jugador 1 debe estar escrito en la parte inferior y el jugador 2 en la parte superior.
Resultado obtenido
El programa se reinició correctamente. Prueba pasada.

Prueba #
003
Nombre
Cerrar Juego
Descripción
Se desea ver cómo funciona el programa al cerrarlo
Objetivos
Verificar que el juego se cierre correctamente.
Condiciones
Es necesario tener un mouse o un Touchpad.
Resultado esperado
1.-El programa debe cerrar sin complicaciones

2.-Debe cerrar la ventana del juego y también el proceso del juego debe detenerse.
Resultado obtenido
El programa se cerró correctamente. Prueba pasada.



Prueba #
004
Nombre
Mover Pieza
Descripción
Se desea ver cómo funciona el programa al mover una de sus piezas
Objetivos
1.-Verificar que las piezas se muevan correctamente según su forma de moverse y su manera de capturar.
Condiciones
Es necesario tener un mouse o un Touchpad.
Resultado esperado
1.-Tenga las casillas completas

2.-Que las piezas al reiniciar el juego

3.-Al mover una pieza sólo debe marcar las posiciones que va a avanzar de acuerdo con su forma de moverse y la manera en que captura

4.- Al apuntar a otra  posición que sea inalcanzable para dicha pieza el programa no hará nada ni marcará la casilla como disponible.

5.-También marcará la casilla cuando sea posible capturar a otra pieza y no marcará nada si la posición está ocupada por una pieza del mismo color.
Resultado obtenido
La pieza se movió correctamente. Prueba pasada.


Prueba #
005
Nombre
Hacer Jaque y Jaque mate
Descripción
El programa mostrará cuando es un jaque  y cuando es un jaque mate.
Objetivos
Hacer un jaque y un jaque mate.
Condiciones
Que el Rey se encuentre en jaque
Resultado esperado
1.-El programa no permitirá que el jugador que tenga a su Rey en jaque haga otra jugada hasta que el Rey sea movido a una posición que no se encuentre en jaque

2.-En caso que no sea posible el programa terminara dictando al Jugador que hizo el jaque como ganador.
Resultado obtenido
El jaque y el jaque mate se registraron correctamente.

Retroalimentación

Comenté en el Blog de Gabriela, En "Diagramas de Secuencia"

Comenté en el Blog de Isleem, En "Pruebas Unitarias"

lunes, 11 de julio de 2011

HADOOP (Sistemas Distribuidos) **Puntos Extras**


Arquitectura.

Jobtracker (rastreador de trabajo): Nodo maestro.
Tasktracker (rastreador de tareas).
Namenode (nodo de nombres).
Datanode (nodo de datos).
Compute node (nodo de cómputo): Consiste en un nodo de datos y un rastreador de tareas.

El Hadoop Distributed File System (HDFS) es un sistema de Arhivos distribuido, ecalable y portatilescrito en Java para el framework Hadoop. Contiene un único nodo de datos; un clúster de datos forma el clúster HDFS. Los nodos se pueden hablar para mover copias, reequilibrar datos y conservar la replicación de los mismos.

Para reducir tráfico, se necesitan saber qué servidores están más cerca a los archivos, con esto se proporcionan puentes específicos del sistema.

Tambien se utiliza el motor MapReduce que consiste en un Job Tracker a dicho motor las aplicaciones le envían trabajos MapReduce. Job Tracker impulsa fuera a los nodos Task Tracker disponibles en el cluster tratando de mantenerse cerca en el trabajo. Si no se puede mantener el trabajo en el mismo nodo el trabajo se le dan la prioridad a los nodos en el mismo rack. El rastreador de Trabajo dá el trabajo para el seguidor que se encuentre más cerca a los datos con una ranura que esté disponible.

Referencias
http://es.wikipedia.org/wiki/Hadoop
http://mistock.lcompras.biz/tallersoftware/1120-trabajo-4-hadoop

Antipatrones de Diseño **Puntos Extras**

Magic pushbutton:

Ocurre cuando se desarrollan las interfaces gráficas, y el programador primero hace la interfaz gráfica y luego en llamadas a lalógica de negocio hay huecos. Los problemas son que cada botón  del codigo asociado crece sin parar, se hacen dificiles de manejar las interfaces de usuario.


Action at a distance:

Interactúan componentes muy distantes del sistema sin previo aviso.

Headless Chicken:

Se refiere al responsable que vive en una situacion de pánico y de desesperación.

Mr. Nice Guy:

Gestor que pretende convertirse en amigo de todos.


Eventos, Excepciones y Errores.

Eventos
Es un suceso en el sistema. Reacción que genera un objeto.


Grafico
Tipo de Evento
Acción
Piezas
Mover las piezas de posición
Las piezas se mueven de posición de acuerdo a sus parámetros y atributos
 Piezas del ajedre
Capturar piezas del otro color
Captura la pieza y se sitúa en la posición de la pieza del otro color
Botón Reiniciar Juego
Reinicio de Juego
El programa vuelve a iniciar y las piezas vuelven a su lugar inicial
Botón Cerrar
Cerrar Programa
La ventana y el programa se cierran



Excepciones
Objeto que se genera cuando ocurre un acontecimiento circunstancial que impide que el programa funcione como normalmente lo haría.



Modo que se genera
Manejo

Mover las piezas fuera del tablero
La pieza aparecerá de color más tenue y el puntero tendrá una imagen de prohibido y no se hará el movimiento.

Mover las piezas de forma ilegal dentro del tablero
La pieza aparecerá de color más tenue y el puntero tendrá una imagen de prohibido y no se hará el movimiento. Las piezas no se moverán de posición sino de acuerdo a sus parámetros y atributos.

Errores
Por lo general son recuperables y algo comúnmente que se haría es cerrar el programa con cierta dignidad.


Modo que se genera
Manejo
Aparece un mensaje diciendo: "El programa inesperadamente dejó de responder"
Iniciar administrador de tareas y dar Clic en Finalizar Tarea