Mostrando entradas con la etiqueta POO Puntos Extras. Mostrar todas las entradas
Mostrando entradas con la etiqueta POO Puntos Extras. Mostrar todas las entradas

miércoles, 23 de noviembre de 2011

Antipatrones de diseño


Un anti patrón de diseño es un “estándar”, si se puede decir así, de diseñar las cosas mal en un software determinado. El resultado será un código totalmente des-optimizado y con una posibilidad casi nula de adaptarlo a otro Proyecto.
Existen muy diversos y variados anti patrones de diseño, los dos que les hablaremos corresponden al diseño orientado a objetos.


God Object


Este anti patrón de diseño tiene se crea por la mala estrategia del Diseñador, en un lenguaje Orientado a Objetos se tiene la ventaja de dividir un problema en partes más pequeñas, lo que se hace con este patrón es todo lo contrario.
El programador termina creando un objeto que se encarga de crear otros objetos, controlar su comportamiento y determinar la manera de representarlos, tal como si fuera Dios Todo Poderoso.

Este objeto contiene todos los métodos, y atributos de los demás, y determina como utilizarlos, vendría siendo como un Main de la programación estructurada, pero en forma de Objeto.



Singletonitis


Este anti patrón de diseño se crea al utilizar demasiado el patrón de singleton, esto quiere decir al momento de programar en diseño orientado a objetos,  nosotros solo terminamos  empleando una instancia para así evitar crear más objetos,  sin embargo abusamos utilizándolo demasiado aun cuando esto no es necesario.

Referencias:
Elaborado junto a mi compañero Sergio Rdz

Eventos, Errores y Excepciones

Buscaminas
Eventos: 

Componente Generador
Tipo de Evento
Acción que dispara
Botón Grafico:
“Iniciar”
Presionar y soltar
Inicia la creación del tablero, de los indicadores de mina y de las minas en sí, todas estas escondidas en casillas
Botón Grafico:
“Casilla”
Presionar y soltar
Destapa la casilla seleccionada, esta revelara un indicador de mina, una casilla vacía o una mina.
Botón Grafico:
“Casilla - Bandera”
Presionar y soltar
(Clic secundario)
Cubre la casilla con una Bandera indicadora, esta sirve para que el jugador se auto prevenga de destapar dicha casilla.
Menú Opción
“Juego”
Presionar
Despliegas las opciones para poder reiniciar el juego, salir y modificar opciones
Menú Opción
“Ayuda”
Presionar
Muestra una pequeña introducción para aprender a jugar al buscaminas.
Botón Grafico Menú
“Salir”
Presionar
Termina el juego actual.
Botón Grafico menú
“Reiniciar”
Presionar
Termina el juago actual, y comienza uno nuevo con la configuración actual.

Errores y excepciones:



Modo en que se genera
Manejo
Eliminación de archivos de configuración.
Despliegue de un mensaje de error en el que se detalle el archivo faltante y se muestre una posible solución para el usuario.
Eliminación de archivos de puntuaciones.
Despliegue de mensaje de error de archivo de puntuaciones faltantes, y cargar una copia de respaldo de este mismo, con puntuaciones anteriores.
Imágenes Faltantes.
Mensaje en el que se indique al usuario que las Imágenes no fueron cargadas correctamente y se pida reiniciar el juego.
Error Inesperado.
Mensaje en el que se indique al usuario que ocurrió un error inesperado, y darle la opción de levantar un reporte especificando el tipo de error.

Elaborado con mi compañero Sergio Rdz

Herencia


Herencia – SIASE



Alumno es un tipo de Usuario
Maestro es un tipo de Usuario
Cuota Interna es un tipo de pago

Herencia Buscaminas



Jugador fácil es un tipo de Jugador
Jugador Experto es un tipo de Jugador
Tablero Fácil es un tipo de Tablero
Tablero Experto es un tipo de Tablero


Elaborado con mi compañero

Sergio Rdz

Biblioteca


Clases
Atributos
Métodos
Usuario
Nombre
Contraseña
Multas
Login
Logout
PedirLibro
Consultar
Libro
Estado
Consulta
Tiempo
MostraImagen




Herencia

  • Usuario Licenciatura es un tipo de usuario
  • Usuario Maestría es un tipo de usuario
  • Usuario Doctorado es un tipo de usuario
  • Usuario Maestro es un tipo de usuario

Elaborado con mi compañero

Sergio Rdz


martes, 27 de septiembre de 2011

Retroalimentación en Pares

La retroalimentación sobre nuestros proyectos la hice con mi compañero Sergio, ambos estamos realizando un juego en java.

Su juego es el space invaders mientras que el mío es el de damas. Intercambiamos varias ideas y me recomendó buscar un buen algoritmo de movimiento definido. Además me aconsejo utilizar return para poder llamar datos de otra clase.

Considero que al estar haciendo el juego en el mismo lenguaje nos ayudará, así conforme vayamos avanzando en el proyecto podemos seguir intercambiando ideas.

Ejercicio Diagrama de clases



Elaborado con mi compañero Sergio Rdz

lunes, 29 de agosto de 2011

Metodologías de análisis y diseño de software

Metodología de desarrollo de software es utilizada en la ingeniería de software, se define como una serie de pasos que nos permite controlar, realizar la estructura y planificar un sistema.

 Algunas de metodologías:
  • Proceso Racional unificado (RUP): Es utilizada junto el UML en los sistemas orientados a objetos
  • Programación extrema (XP): Mantiene en su equipo al usuario final y además es de las más populares en la actualidad.
  • Microsoft Solution Framework: Se basa en los modelos de proceso y deja a un lado las elecciones tecnológicas
  • Proceso Unificado Ágil (AUP): Se basa en la metodología RUP y además que describe de manerasimple entender las aplicaciones de software.

Cada metodología tiene varios enfoques, podemos encontrar los siguientes:
  • Cascada: Ordena las etapas para el desarrrollo de software y espera a que termine cada capa.      
  • Espiral: Creado para fortalecer las debilidades del modelo cascada.
  • Incremental: Cada ciclo, representa el conjunto de actividades que hay que realizar y comienza desde el interior.

Para decidir que metodología elegir es necesario evaluar lo siguiente:
  • Determinar el alcance.
  • Determinar el tiempo.
  • Cual se acomoda, para poder aplicarla.


Espiral


Cascada


Referencias




Diagramas casos de uso y clases

Buscaminas


Siase



Angry Birds

Clase
Atributos
Métodos
Pájaro
sonido
color
forma
fuerza
lanzarse
destruir
Cerdo
posición
color
forma
resistencia
restar vida


Otras clases: obstáculo, resortera y escenario


Equipo: Julio Garcia, Horacio Ibarra, Jair Viezca y Jesus Antonio

domingo, 28 de agosto de 2011

Crisis del software

El termino crisis del software se utilizó por primera vez en 1968, en una conferencia que trataba sobre el desarrollo de software por OTAN (Organización del Tratado de Atlántico del Norte). Este problema ha ido avanzando con el transcurso de los años y en la actualidad no es un problema que se encuentre resuelto.

Al hablar sobre crisis de software, nos referimos a las siguientes características:
  •          Incumplir con los plazos de entrega.
  •          Difícil hacer presupuesto.
  •          Baja calidad del software.
  •          No cumplía con lo especificado.
  •          Dificultad de mantenimiento.

Uno de los grandes problemas  que hay  actualmente, es que no hay una manera precisa, para poder determinar los costos y el tiempo que dura cada proyecto.

Para tratar de evitar este problema, tendríamos que ponernos a tratar de tener una mejor planeación, cumplir con los objetivos de plazo, presupuestos y tratar de hacer software de calidad. Una de las metodologías que ha tratado de resolver este problema, es la orientada a objetos.

Se creó el Lenguaje Unificado de Modelos (UML) el cual combina elementos de las siguientes metodologías:
  •          Booch
  •          OSSE
  •          OMT


Lo ideal que se busca actualmente, es el poder realizar software de calidad a bajo costo.




Algunos ejemplos de casos fallidos

Se colapsó el aeropuerto de los Ángeles en el año 2007, en total más de 17000 personas se vieron afectadas, alrededor de 9 horas debido a un problema en el software, que causo que la tarjeta de red se bloqueara.



Otro ejemplo ocurrió recientemente en Abril de 2011, fue el ataque al sistema de seguridad de la compañía de Sony Computer Entertainment, una compañía de las más importantes a nivel mundial.  Un grupo de hackers atacaron el sistema de seguridad de la consola PS3, el PlayStation Network (PSN), consiguiendo así robar información de datos personales, como lo son las tarjetas de crédito.

El servicio de PSN apareció por primera vez en el 2006, se caracteriza por ser un servicio gratuito y cuenta actualmente con más de 77 millones de usuarios. El servicio duró aproximadamente un mes fuera de servicio  y fue un problema que dio la vuelta al mundo.


Referencias