jueves, 19 de mayo de 2011

eventos, excepciones y errores

un  evento  que podría utilisarse en el catalogo es que cuando un producto se marque en existencia o agotado se genere una alerta para que si no estaba exhibido se ponga en los estantes o a su inversa se genere una orden de pedido automático al encargado de resurtir el producto.

EXCEPCION:
seria que  en el buscador se pudiera escribir tanto con mayuscula o minuscula, o que tenga auto completado la busqueda  o que tenga sierto criterio con la falta de ortografia y muestre una lista de sugerencias

ERRORES
 si llegase a ver un error en la busqueda de un juego o donde se encontraba almasenado dicho juego no se pudiera tener acceso  para evitar una pagina  sin propocito y solo un mensaje de error se mostrara un mensaje de el accesorio o juego no se encuentra disponible por el momento   y se mostrara articulos en promocion o lo mas nuevo que este estable y el usuario pueda acceder sin problema  como en la imajen de arriba que le muestra una serie de juego.

INTERFAZ




aqui se mostraria la interfaz del buscado aqui se introdusiria el nombre del juego, accesorio o consola que se busca 




aqui se muestra un resultado de una busqueda que incluira precio si se encuentra en el inventario de la tienda y una brebe descripcion ya sea de un juego,accesorio o consola




aqui es la interfaz ya de la selección de un juego especifico donde vendrá una informacion mas detallada como control parental  fecha de salida una introducción porcentaje de juego imágenes videos, material extra y valoracion por personas que compraron el producto.

PRUEBAS UNITARIAS

En programación, una prueba unitaria es una forma de probar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con las Pruebas de Integración, se podrá asegurar el correcto funcionamiento del sistema o subsistema en cuestión.
La idea es escribir casos de prueba para cada función no trivial o método en el módulo de forma que cada caso sea independiente del resto.
Para que una prueba unitaria sea buena se deben cumplir los siguientes requisitos:
  • Automatizable: no debería requerirse una intervención manual. Esto es especialmente útil para integración continua.
  • Completas: deben cubrir la mayor cantidad de código.
  • Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También es útil para integración continua.
  • Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra.
  • Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.
VENTAJAS

El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. Proporcionan un contrato escrito que el trozo de código debe satisfacer. Estas pruebas aisladas proporcionan cinco ventajas básicas:
  1. Fomentan el cambio: Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura (lo que se ha dado en llamar refactorización), puesto que permiten hacer pruebas sobre los cambios y así asegurarse de que los nuevos cambios no han introducido errores.
  2. Simplifica la integración: Puesto que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente. De esta manera se facilitan las pruebas de integración.
  3. Documenta el código: Las propias pruebas son documentación del código puesto que ahí se puede ver cómo utilizarlo.
  4. Separación de la interfaz y la implementación: Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos mock (mock object) para simular el comportamiento de objetos complejos.
  5. Los errores están más acotados y son más fáciles de localizar: dado que tenemos pruebas unitarias que pueden desenmascararlos.

jueves, 7 de abril de 2011

diagrama uml



DIAGRAMAS DE CLASE Y SECUENCIA DE UML

DIAGRAMA DE CLASE: Un diagrama de clase sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento.

Un diagrama de clases esta compuesto por los siguientes elementos:

Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación, Asociación y Uso.

En UML, una clase es representada por un rectángulo que posee tres divisiones

herencia y polimorfismo

- herencia:
La herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
aqui en mi proyecto usaria erencia en el buscador ya que reutilizaria  al mostrar los resultados de la busqueda ya que contienen los mismas celdas .


-Polimorfismo:
La palabra polimorfismo proviene del griego y significa que posee varias formas diferentes. Este es uno de los conceptos esenciales de una programación orientada a objetos. Así como la herencia está relacionada con las clases y su jerarquía, el polimorfismo se relaciona con los métodos

En programación orientada a objetos el polimorfismo se refiere a la capacidad para que varias clases derivadas de una antecesora utilicen un mismo método de forma diferente.

en mi proyecto utilizare polimorfismo en la pantalla principal del buscador donde el usuario podra seleccionar como dirigir la busqueda si por juego , consola o accesorio.

diseño con clases

1) clase catalogo: en esta clase que sera la principal donde el usuario se desplasara por el catalogo y que se va relacionando con las demas clases.

atributos: titulo,consola, genero clasificacion

metodos:aqui se podra buscar directamente poniendo el nombre del juego, consola y accesorio. y tambien podra hacerse una busqueda mas especialisada escogiendo una o mas categorias y para la consola requerida

2)clase videojuego: en esta clase se mostrara el resultado de los videojuegos relacionados  y sujeridos  al usuario .

atributos: videojuegos,nombre, imajen, clasificacion, consola, genero,precio.
metodos: aqui al escojer el juego se abrira toda la informacion referente a este juego de interes para el usuario

3)clase consola: en esta clase se mostrara el resultado de la consola relacionada y sujerencias.
atributos:consola.
metodo: desplegando una opcion para escojer el tipo de consola que requiere ya sea de casa o portatil

4)clase accesorio: esta clase mostrara el resultado  de los accesorios requeridos y sujeridos al usuario.
atributo: consola
metodo: escogiendo la consola para la que requiere el accesorio y asi se desplegaran todos los accesorios.

sistema de catalogo (proyecto)

El software que se desarrollara se trata de un sistema de catalogo de videojuegos  pensado para tiendas especializadas y  no especializadas en sus ventas así facilitar  el acceso  y la compra de estos.
Este catalogo tiene como objetivo agilizar  la búsqueda tanto de juegos consolas accesorios, mostrando si se encuentra disponible en el inventario de la tienda cuando no se quiere perder tiempo mirando todo el aparador  y buscando entre toda la mercancía exhibida  también proporcionara información  del videojuego  como nombre, imágenes del videojuego, consola para las que se encuentra disponible, clasificación parental genero, reseña,  puntaje obtenido y precio .
La manera de uso podría ser de la  colocación de un quiosco interactivo  para los consumidores y vendedores así no seria necesario demasiada la intervención de un vendedor el mismo usuario podría guiarse en su búsqueda.