Diseño
y Programación Orientados a Objetos
1er. Sem 2017
Tarea 4: Ascensor en C++ con Interfaz Gráfica en Qt
Lea detenidamente la tarea. Si algo no lo entiende, consulte en clases.
Si es preciso, se incorporarán aclaraciones al final. Objetivos de la tarea:
* Ejercitar la configuración de Qt Creator.
* Ejercitar envío de señales (signals) y manejo de ranuras (slots) en Qt. * Ejercitar la preparación y entrega de resultados de software
(readme, documentación, manejo de repositorio
-GIT).
* Familiarización con una metodología de desarrollo "iterativa" e
"incremental".
Descripción General
En esta tarea se proveerá una interfaz gráfica a su solución de la tarea 3
(ascensor de 4 pisos). Mantenga la salida por consola mostrada en tarea
3. A través de la interfaz gráfica un usuario podrá solicitar la cabina
del ascensor desde cualquier piso. La interfaz muestra el movimiento
paulatino del ascensor hasta llegar al piso solicitado y mostrará el
cambio de color de los sensores de piso cuando son activados por el
paso de la cabina, ver figura 1.
Figura 1: Modelo simplificado de un ascensor de cuatro pisos
Desarrollo en Etapas
Su grupo deberá entregar
una solución para cada una de las etapas aún cuando la última integre
las primeras. Esto tiene por finalidad, practicar la metodología de desarrollo iterativa e incremental.
Primera Etapa
Esta etapa sólo se implementa una interfaz
gráfica con vistas para la cabina y la botonera de cada piso. El
usuario podrá solicitar el ascensor desde cualquier piso. En su
recorrido, el ascensor desactivará el botón de los pisos que
corresponda hasta llegar al piso más lejano solicitado en la dirección
de su movimiento. En esta etapa los sensores no tienen vista, pero su
presencia lógica permite detectar el paso por cada piso.
Segunda Etapa (final)
En esta última etapa se completa la interfaz gráfica con la vista
para los sensores. Éstos deben cambiar de color cuando son activados
por el paso de la cabina. La interacción con el usuario será a
través de las botoneras de piso y como resultado se debe observar el
movimiento de la cabina y el cambio de color de los sensores de piso.
Resultados Esperados de su Grupo
Si
bien usted puede usar un IDE (Integrated Development Environment),
usted debe saber cómo compilar y correr su tarea desde la línea de
comandos.
Su tarea podrá ser ejecutada en aragorn.elo.utfsm.cl usando:
$ elevatorTest
Usted deberá entregar los siguientes archivos:
- readme
- makefile /* para compilar */ -
Archivo de
Documentación: para cada etapa indique las
dificultades
encontradas y cómo las resolvió.
- En directorios separados ponga los archivos de cada etapa.