Diseño
y Programación Orientados a Objetos
1er. Sem 2008
Tarea 3: Simulación de Estanques
Recomendación: Lea detenidamente la tarea, si algo no lo
entiende consulte en clases, si es preciso se incorporarán
aclaraciones al final.
Esta tarea tiene por objetivo
que continúe ejercitando las destrezas de las tarea previas y
cubra los
siguientes nuevos objetivos:
- A través de la ejercitación comprenda la
programación conducida por eventos.
- Ejercitar el desarrollo de interfaces gráficas en Java
- Ejercitar el desarrollo de Applets
- Ejercitar la creación de archivos jar (java archive) y
reproducción de sonidos.
Contexto de la tarea
A través de esta tarea usted desarrollará un
applet para simular el proceso de llenado y vaciado de dos estanques
donde se desea controlar el nivel de uno de ellos para mantenerlo en un
nivel fijo. Como punto de partida usted dispone de un sistema que hace
la mayor parte de la tarea, al cual usted deberá agregar algunas
nuevas características.
Descripción General
Se cuenta con dos estanques idénticos conectados en
cascada como se muestra en la figura adjunta.
El código para tal resultado
está disponible, éste incluye su versión
applet.
A partir del código entregado, u otra versión del mismo
según usted desee, usted deberá (en un nuevo ciclo de
desarrollo, siguiendo una metodología de desarrollo incremental
iterativo) incorporar tres nuevos requerimientos.
Primero se pide crear la clase gráfico de la cual usted
pondrá dos instancias en la interfaz de usuario. Un
gráfico mostrará el nivel de primer estanque y la
posición de la válvula en función del tiempo, y el
otro pondrá el nivel del estanque, la válvula y nivel de
referencia del segundo estanque en
función del tiempo.
Segundo, se pide que organice mejor los "JSpinners" de la
interfaz de modo que se pueda ver mejor aquellos relacionados con cada
estanque y aquellos asociados al controlador.
Finalmente, usted deberá detectar la condición de vaciado
del primer estanque. Cuando se produzca, aparecerá en forma
intermitente una trompeta en la interfaz y se emitirá un sonido
repetidamente (en sincronía con la aparición de la
trompeta). Use dos segundos tres segundo entre apariciones.
Cumpliendo con lo pedido previamente, usted es libre de agregar otras
mejoras para mejor apreciar el fenómeno.
Su entrega deberá incluir lo de costumbre: documentación
completa de sus nuevas clases y de todas las modificaciones o
agregados hechos al código. La documentación de las
clases ya entregadas es voluntaria. No olvide preparar un makefile para
compilar el código, correr el programa como aplicación y
crear el archivo .jar. Su programa debe funcionar como
aplicación y como applet.