Diseño y Programación Orientados a Objetos
1er. Sem 2011
Tarea 3: Applet para Simulador Gráfico de Masas, Resortes y Elásticos como Objetos de Software

Recomendación: Lea detenidamente la tarea. Si algo no lo entiende, consulte en clases. Si es preciso, se incorporarán aclaraciones al final.
Sumado a los objetivos de la tares 2, esta tarea tiene por objetivos:
* Generar documentación con Javadoc.
* Crear gráficos en Java.
* Creación de archivos .jar
* Ejercitar el paso de parámetros desde un archivo html a un applet.
* Aplicar elementos de Ingeniería de software.

Descripción General
  Básicamente ahora usted podrá correr las simulaciones a través de Internet usando un Applet. Además deberá crear las clases necesarias para incluir tres gráficos para alguna bola del experimento: el primer gráfico mostrará la coordenada X en función del tiempo, otro con la coordenada Y en función del tiempo, y el tercer gráfico mostrará la trayectoria del objeto en un gráfico Y versus X.

Trabajo a desarrollar
Desde un punto de vista de la simulación, esta tarea tiene la misma descripción que la tarea 2.
El tiempo de refresco inicial (refresh time) y el paso de simulación (delta time), deben ser definidos en el html. Ante su ausencia, el applet usará los mismos valores de la tarea 2. Para ello los nombres de los parámetros serán: RefreshTime y DeltaTime.
Si usted lo desea puede definir otros parámetros, pero su applet debe funcionar bien si se especifican los parámetros ya mencionados, sólo uno de ellos o ninguno de ellos. Más abajo se agrega otro parámetro.
El Applet debe dividir el área de despliegue en dos con JSplitPane. A la izquierda debe verse la simulación y a la derecha los tres gráficos ordenados verticalmente. Los gráficos deben tener título, y nombre para cada eje. El gráfico superior es del tipo y v/s t, el que le sigue x v/s t y el tercero y v/s x. Los gráficos deben mostrar la posición en el tiempo y trayectoria de una masa. Para seleccionarla, incorpore el ítem de menú "Select" directamente en la barra de menú luego del menú Simulator MyWorld. Al posicionarse sobre Select, debe aparecer un "tool tip" "Select ball to be plotted). Los gráficos de tiempo deben mostrar sólo el últimos N segundos de la simulación, donde N es un parámetro especificados en el HTML (default = 30 segundos). El nombre de este parámetro en el html es "PlotWindowTime"
Cada vez que se selecciona otra bola, el gráfico parte nuevamente borrando toda historia pasada.
Use Javadoc para documentar los cambios hechos al código.
Prepare sus archivos de modo de incluir una clase PhysicsLab que permita ejecutar su solución como aplicación y la clase PhysicsLabApplet que lo haga como applet. Para el caso de PhysicsLab use los parámetros por omisión (no serán especificados por ningún html). Su grupo puede optar a 10 puntos de extras si en lugar de usar aquellos por omisión, usted estudia la clase Properties, y define los mismos nombre de parámetros indicados antes en un archivo PhysicsLab.ini.

Resultados Esperados de su Grupo
Entregue todo lo indicado en Normas de Entrega de Tareas.
Incluya un archivo PhysicsLab.html que permita correr su applet.
Debe preparar un archivo PhysicsLab.jar que incluya todo lo requerido para la ejecución de su applet.
La aplicación debe correr usando:
$make run
o bien usando:
$ java -jar PhysicsLab.jar
Su documentación automática con javadoc debe ser generable con:
$ make doc
(OJO no incluya las páginas html generadas por javadoc, éstas serán generadas por este comando cuando el ayudante las revise)
En su archivo de documentación (pdf o html) incorpore un casos de uso de la aplicación, su correspondiente diagrama UML y ponga dos tarjetas CRC.

Ayudas
Será provista según surjan consultas de parte de ustedes.