miércoles, 2 de noviembre de 2011

Tercera Entrega: Interfaz Grafica, Eventos, Excepciones y Errores, Patrones de Diseño

Interfaz Grafica

Estas son las pantallas que mi Programa desplegaria, primero les explicare el de la Funcionalidad Principal que seria el RelojDigital.

VENTANA PRINCIPAL RELOJ_DIGITAL

Lo que esta ventana realizaria seria desplegar la Hora, con la opción de ver si es AM o PM, y también tendria los botones Alarma, Cronometro, Eventos los cuales al darle clic alguno de estos nos mandaria a su respectiva ventana, que las explicare a continuación.

VENTANA ALARMA

Esta es la ventana de Alarma la cual aqui su funcionalidad seria poner la hora a la que queramos que suene, o en el boton de Modificar, actualizarla o cambiarla si asi se desea, y pues respectivamente se guardaria, ademas de que vendrian los campos AM y PM para escoger si seria en la mañana o la tarde a la hora que sonaria.


VENTANA CRONOMETRO

En esta ventana la funcionalidad sera que al momento de darle clic al boton de Iniciar, empieze a correr el tiempo, despues lo podriamos detener con su respectivo boton, que eso nos daria la opción o de Reaundar en el tiempo que se quedo, o simplemente Reiniciarlo desde cero.


VENTANA EVENTOS

En esta mi ultima ventana se despliega al momento de darle clic en el boton de Evento que se encuentra en la ventana RelojDigital, aqui podremos anexar eventos a los cuales, se les podra poner el dia, mes, año y la hora en que se realizara, ademas de los botones que aparecen del lado derecho, podremos abrir uno ya guardado, crear uno nuevo, y guardar.

Diagramas de Secuencia

Casos Exitosos

En este primer caso es de poner la alarma el cual primeroo hace clic al boton correspondientee y despliega esa ventana despues pues va introducir la hora la cual la clase ventana va llamar al metodo de guardarAlarma de la clase alarma y regresa la a ventana Reloj.


En este segundo caso exitoso es para tomar el tiempo primero pues va al boton cronometro y regresa al usuario la nueva ventana, para despues pues iniciar el cronometro que lo llama a la clase ventana al momento de darle clic pero a este tiempo esta clase ventana llama al metodo empezar Cronometro de la clase cronometro la cual regresa que el cronometro esta en marcha después, se manda el metodo DtenerCronometro a la clase vetanaCronometro al momento de darle clic pero esta clase llama el mismo metodo pero en la clase Cronometro y devuelve que el cronometro a finalizado.

Caso Fallido


En este tercer caso es un caso fallido en el cual quiere programar eventos o mas bien abrir un evento, en lo cual primero se va al boton correspondiente a eventos, que regresa al usuario con la ventana nueva y el cual llama el metodo AbrirEvento al momento de darle clic y a su ves llama el mismo metodo pero para hacer la operación a la clase Eventos, la cual devuelve que No hay eventos disponibles por lo cual no se cumple con el proposito de abrir un evento.

Eventos, Excepciones y Errores





Patrones de Diseño

El patron que podria aplicar en mi proyecto seria el patron de Singleton, que este lo que hace es que solo te permite tener una unica instancia en la clase.

¿Comó la aplicare en mi proyecto?
La aplicare para que no me habra o cree multiples ventanas al momento de darle clic a uno de los botones de la ventana principal los que seria Alarma, Cronometro, Eventos, osea que si le doy clic por ejemplo en el de Alarma pero le vuelvo a dar clic en el boton de alarma y me vuelve abrir otra ventana sin haber cerrado la anterior, entonces quiero quitar eso y que solo pueda tener una ventana abierta, y hasta que la cierre la pueda abir la otra.

martes, 27 de septiembre de 2011

Puntos Extras

Ejercicio #3 Caso Biblioteca

Este fue un ejercicio que se realizo en el salon de clases, el cual fue en equipo, que yo lo conforme con mis compañeros, Jair y Horacio.
Esta primera imagen nos muestra como nos quedo los casos de uso de nuestro probelma.


En lo que fue la segunda parte fueron definir bien lo que son las clases, atributos y metodos y lo mostramos en la siguiente imagen:


Despues ya para terminar pues encontramos algo de herencia en este problema la cual fue la siguiente:

Herencia

* Usuario

o Alumno

· Licenciatura

· Maestría

· Doctorado

o Empleado

· Maestro

* Libro

o Libros de Ciencias Exactas

o Libros de Ciencias Sociales

o Libros de Ciencias Naturales

* Préstamo

o Préstamo a licenciatura

o Préstamo a maestría

o Préstamo a doctorado

o Préstamo a maestro




Segunda Entrega: Diagrama de clases, Retroalimentación y Documentación Tecnica

Diagrama de Clases



Este es mi diagrama de clases de mi proyecto en el cual como podran ver la clase Reloj se asocia con la clase Alarma y Cronometro, ademas de que puede ser de agregación a la clase Eventos esta misma se agrega con la clase Alarma, también como podemos observar existe algo de herencia que es en la clase Reloj que hereda como hijo la clase Cronometro y la clase Notas que hereda la clase Eventos.

Herencia
En mi proyecto si existira algo de herencia la cual sera:
Clase Padre Reloj
Clase hijo Cronometro
Esta herencia aplica ya que cronometro comparte cierto formato del reloj mas bien dicho es como un tipo de reloj, el cual a diferencia del reloj se iniciaria en cero.

Clase Padre Notas
Clase hija Eventos
esta herencia aplica ya que los eventos son como un tipo de nota pero la diferencia esta en que en los eventos se crean como si fuera una nota pero se les añade lo que es fecha y hora.

RetroAlimentación

Platique con mis compañeros de clase Jair y Horacio sobre nuestros proyectos. Horacio me comento que hara un juego el cual consiste en que habran bolitas de colores arriba en el tablero y el ira aventando de esas mismas bolas pero de las cuales se le den para aventarlas y al momento de juntar 3 o mas las destruira.
Hablando sobre mi protecto tenia una duda sobre si habria herencia en alguna de mis clases y Jair me menciono que no necesariamente tiene que existir, y me comento que la clase Cronometro concuerda mucho con la de reloj y pues podria existir ahi herencia, ademas cheque la cuestión de que en las clases hay algunos metodos que se repiten y mi cuestión era si se podria haer llamar ese metodo para los distinas clases pero me menciono que alomejor no seria conveniente porque seria el mismo metodo pero no tendria la misma funcionalidad.

Documentación Tecnica


la documentación tecnica nos servira para poner como comentarios sobre nuestras lineas de codigo en las cuales digamos para que nos sirve cada una de ellas pero ademas al momento de guardarla, se nos guardara un archivo con extensión html el cual nos mandara a una pagina donde estaran todos los comentarios y parametros que definimos en nuestro programa como documentación tecnica ordenados en lo cual puedamos apreciar con mas facilidad todos esos comentarios.
Para hacer nuestra documentación tecnica podriamos utilizar lo que es:
Javadoc o Doxygen.

Aqui les dejo una pagina en donde descargan un archivo PDF en el cual les explica bien como, y para que sirve la documentación tecnica con el Javadoc ademas de explicarle algunos de los comandos mas utilizados para el Javadoc.

Javadoc tutorial




sábado, 27 de agosto de 2011

Primera Entrega: Descripción del Proyecto, Clases y Casos de uso

Alarma Virtual
Descripción del Proyecto

Mi proyecto consiste en una alarma virtual en la cual consta de varias funcionalidades como lo son:

·

Cronometro: nos servirá para medir tiempos de algo que tengamos que realizar, comparar tiempos para poder llegar a una mejor eficiencia en tareas, actividades que realicemos, tomar tiempo de alguna actividad que tenga que estar hecha para cierta hora y poderla terminar a tiempo.

·

Reloj: este nos servirá para ver la hora en la que estamos, la cual estará sincronizada con la computadora.

·

Notas: aquí agregaremos notas que ocupemos como una tarea que hay que hacer, algo que no queremos que se nos olvide, además de agregar recordatorios que estos los sincronizaremos con la alarma que nos indiquen que ya se tienen que realizar.

·

Eventos: agregaremos aquí eventos a los cuales asistiremos, o nos invitaron, cumpleaños o además de crear eventos, nuestros para tener un control y en el momento de que se acerque el evento, o ya sea nos indicara la alarma sobre el evento, para tenerlo presente.

·

Alarma: es la funcionalidad que mas se va utilizar, ya que con ella nos servirá para hora de despertarse, llegar a tiempo alguna actividad, se sincronizara con el reloj que es para donde nos servira para despertarte, actividades, tareas, las notas y eventos por realizar, en los cuales cuando se llegue el evento sonara, o para alguna tarea que tengamos que hacer o este pendiente, y en las notas nos indicara de los recordatorios.

En conclusión con el proyecto el fin es tener un control de las actividades, tareas, eventos, minimizar tiempos, puntualidad entre algunas cosas mas.


Clases, Atributos y Metodos



Casos de uso