"Un proyecto muy interesante, Luis. Tenía la impresión que diseñar video juegos con el paradigma orientado a objetos, y creo que sí es verdad.
A primera vista se me hizo muy claro cómo hacer la división de clases, los atributos y algunos métodos.
Estuvo muy bien que hicieras una clase Escudo, pues es una entidad aparte a las demás.
Como recomendación, creo que podrías cambiar los atributos de cañón laser, pues realmente las características de tamaño y color no cambian a través de todo el juego. Creo que es una cuestión que se manejaría en una clase que se encargue de la interfaz gráfica del juego, y para eso, creo que sería bueno dedicar una clase exclusiva. Además, sería bueno agregar los atributos de Score y Life a CañónLáser, pues son características que posee en cada partida.
Por último, sería una perfecta oportunidad aprovechar la herencia para tu proyecto, porque según veo, la clase PĺatilloVolador es muy similar a la de Alien, y se podría decir que ese platillo volador es un tipo especializado de alien, pues tiene ciertas características y comportamiento diferente; tal como aparecer rápidamente en la pantalla para irse, y que da puntos al azar cuando lo destruyes.
Además de eso, creo que hiciste bien la descomposición de clases, métodos y atributos. o:" Jesus Antonio Soto
jueves, 8 de septiembre de 2011
Retroalimentación por pares
domingo, 4 de septiembre de 2011
Interfaces en Java
¿Qué es Interfaz?
La Interfaz es un grupo de métodos de cuerpos que están relacionados con cuerpos vacíos, pueden ser abstractos y propiedades. En esta se especifica que es lo que se tiene que hacer pero no te dice como se hará, las clases que se implementen en las interfaces serán las que describirán los comportamientos de los métodos.
¿Cómo se usa?
Para el trabajo de las interfaces Java proporciona dos palabras: interface e implements.
Para que una interface sea declarada se coloca lo siguiente:
public interface NombreInterfaz { .... }
Para que sea implementada en una clase se coloca lo siguiente:
En las clases se pueden implementar varias interfaces, dichas interfaces se colocan separadas por comas. public class NombreClase implements NombreInterfaz { .... }
Referencias:
Interfaz (Java)
Java Tutorials
Lectura: preguntas guía
- ¿Cuáles son los síntomas de un mal diseño?
- ¿En qué consiste cada uno?
- Rigidez: Es la tendencia del software que hace difícil el cambio, inclusive en las cosas más sencillas. Cada cambio produce una cascada de cambios en módulos dependientes. Lo que un cambio de un módulo parece de 2 días en realidad son varias semanas.
- Fragilidad: Esta es la tendencia que tiene el software a romperse por muchos sitios cada vez que algo es cambiado. Muchas de las roturas que ocurren se realizan en los sitios que no están relacionados con el área que se está cambiando.
- Inmovilidad: Esta es la resistencia que tiene el software a ser reutilizado en otros proyectos o parte de o parte de otros. Pasa muchas veces que un programador descubre que necesita un módulo que es muy parecido a otro que fue desarrollado por otro programador.
- Viscosidad: Es la dificultad de mantener la filosofía del diseño original. Cuando se hace un cambio, los programadores encuentran más de una manera para realizar dicho cambio. Algunas de las formas preservan la filosofía del diseño y otras no.
- ¿Qué causa el deterioro del diseño?
Los requisitos han ido cambiando de manera que el diseño inicial no estaba previsto. A menudo, los cambios necesitan hacerse rápidamente y tiene que ser hechos por programadores que no estén familiarizados con el diseño original. Aunque los cambios realizados funcionen, estos violan el diseño original.
- ¿Qué se puede hacer?
Se debe realizar un diseño el cual soporte modificaciones sin que este pierda su consistencia. Como desarrolladores se tiene que saber que los requisitos van a cambiar.
Referencia:
sábado, 3 de septiembre de 2011
Casos de uso iTunes
Diagrama Casos de uso
Tabla Casos de uso
Caso | Autor | Descripción | Relación con otro caso |
Organizar música | Usuario | El usuario es el encargado de la Organización de las canciones. | Manejar canciones (Agregar, Quitar, Modificar datos). Filtrar canciones. Hacer carpetas. Cerrar lista rep. |
Comprar música | Usuario | El usuario compra las canciones que desea adquirir. | Agregar créditos. Buscar música. Comprar canción. |
Reproducir música | Usuario | El usuario reproduce las canciones deseadas. | Tocar canción. Compra medio rep. |
Configuración | Usuario | El usuario configura el programa como lo desea. |
Suscribirse a:
Entradas (Atom)