domingo, 30 de octubre de 2011

Ejercicio Heurísticas de diseño.

En este ejercicio vamos a ver unos ejemplos de como se rompe la heurística en el diseño de interfaces gráficas, así como proponer una interfaz mejor.


Ejemplo 1.
En este ejemplo, podemos tener dos errores, el primero me da la opción de poner mi edad, sin embargo esto puede ser poco viable, ya que puedo teclear letras en lugar de números, el segundo error yo puedo seleccionar las dos opciones, cuando en verdad solo debemos de seleccionar una, para evitar confusiones.






Ejemplo 2.
En este ejemplo el único error que veo es la combinación de colores de la ventana y del texto, ya que para el usuario va a ser un poco molesto estar leyendo con esa combinación, para lo cual considero que hay que cambiar esa combinación.


Ejemplo 3.
En este ejemplo, es un software de impresión, rompe con la heurística de metáfora, ya que utiliza botones que son propios de un reproductor de música, aparte de que el botón rewind no tiene porque estar.



Referencias:
http://homepage.mac.com/bradster/iarchitect/shame.htm

jueves, 27 de octubre de 2011

Herencia.

Los posibles casos de herencia en mi proyecto podrían ser que utilizó el mismo código para lo que es la creación de botones, así como la implementación de los ActionListeners.
Aparte no estoy utilizando la clase JFrame directamente para crear lo que es la ventana de la calculadora, sino que la estoy heredando

Retroalimentación en clase.

En clases pasadas, comentamos en parejas lo que elegimos cada uno como proyecto, en mi caso, le comente a mi compañero Mario que lo que yo tenía pensado hacer para proyecto tanto en la clase como en el taller era una calculadora cientifica, ya que no me gusta programar cosas que no le veo una aplicación al mundo real, pero para llegar a esto, primero quería hacer la calculadora básica para basarme de ese código y poder desarrollar la cientifica.
El por su parte, me dijo que tenía pensado hacer el famoso juego de Tetris, pero que aún no sabía muy bien como poder diseñarlo e implementarlo, a lo cual yo le comente que ya había escuchado por parte de mi compañera Anais, que ella iba a hacer el mismo proyecto tanto en el taller como en la clase, y que ella ya había comenzado a hacer el proyecto.
También me dijo, mas o menos lo que debía de llevar mi calculadora, como lo que son las ventanas, los botones, así como los ActionListeners para los botones.

Interfaz gráfica.

Esta es la interfaz gráfica de mi proyecto, tenemos dos bloques, el del lado izquierdo es el bloque que contiene los botones numéricos y los de operaciones, los del lado derecho son los botones que contienen las funciones trigonométricas mas conocidas (seno, coseno y tangente) así como los botones de raíz cuadrada, pi (3.1416) y el botón de borrar. En la parte de arriba se muestra el título de la ventana y el botón cerrar.
La interfaz gráfica la hice con las herramientas de Power Point.

Eventos, errores y excepciones.

Eventos.
Componente gráfico generador
Tipo de evento
Acción que se dispara
Botón numérico
Oprimir
Aparece el número en la pantalla.
Botón de operación
Oprimir
Una vez oprimido un botón numérico, se oprime un botón de operación (+, -, *, /, sin, cos) y luego otro numérico para llegar a un resultado.
Botón clear
Oprimir
Limpia la pantalla.
Botón cerrar
Oprimir
Cierra la ventana


Errores y excepciones.

Modo en que se genera
Manejo
Se le da una letra en lugar de un número
No permitir operaciones si se da un carácter invalido
División entre cero
Denegar la operación.

Patrones de diseño.

El patrón de diseño aplicable a mi proyecto es el Modelo Vista Controlador, es un patrón de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario y la lógica de negocio en tres componentes distintos:


Modelo: Hacer las operaciones mediante la introducción de números, tales como sumar, restar, multiplicar, dividir, usar las funciones trigonométricas, trigonométricas inversas, calcular el reciproco de un número, borrar los números.


Vista: Sería mi interfaz gráfica, es decir, la distribución que yo le voy a dar a los botones y el cuadro de texto donde van a aparecer los números.


Controlador: Aquí se responde a los eventos que el usuario provoca al interactuar con el software, en mi caso, que es lo que sucede cuando el usuario le da click a los botones numéricos, que sucede si le da click a los botones de operaciones, que es lo que sucede si le da click al botón de borrar.


Referencias:
http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
http://www.fdi.ucm.es/profesor/jpavon/poo/2.14.MVC.pdf

Diagramas de secuencia.

Diagrama de secuencia para el caso sumar:

Diagrama de secuencia para el caso restar:

Diagrama de secuencia para el caso dividir (fallido - división entre cero):

Referencias: