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.


Ayudas
* Revise las instrucciones para la realización de tareas.
* No dude en consultar al profesor o ayudantes sobre dudas de esta tarea.