User Tools

Site Tools


proyecto:entrega_final

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proyecto:entrega_final [2026/09/25 15:13] – Mover enlace a conexión externa del Hito 2 al Hito 3 semoraleproyecto:entrega_final [2026/11/13 13:42] (current) – [Qué se entrega] cramos
Line 1: Line 1:
 ====== Entrega Final ====== ====== Entrega Final ======
  
-La entrega final depende del tipo de proyecto seleccionado. En la preparación de estas entregas, para aplicaciones web, ver los requisitos [[proyecto:armar_la_aplicacion_inicial|aquí]] y, para conectar la aplicación a su base de datos, [[proyecto:conexion_externa|habilitar una conexión externa]]. Para análisis estadístico, ver [[proyecto:analisis_estadistico|acá]]. Para el contenido de las entregas, y los criterios de evaluación, [[proyecto:entregar_presentacione|ver acá]].+Este es el último hito del proyecto y corresponde al 40% de la nota. Lo que se busca es que, a partir de la base de datos cargada en el Hito 2, cada grupo corrija lo que quedó pendiente, defina sus consultas, las optimice y termine la aplicación web o el estudio de datos que eligió. Se recomienda leer estas instrucciones completas antes de empezar.
  
-Sobre la base de datos ya cargada en el Hito 2, en este hito se deben definir: +===== Fechas ===== 
-  * Las consultas a utilizar: + 
-    * Para el caso de la aplicación web: definir 3 consultas de mediana complejidad que sean útiles para la aplicación. Cada consulta debe recibir parámetros desde la interfaz web (e.g., búsqueda por país). +  * Entrega por U-Cursos: lunes 23 de noviembre, 10:00. El plazo es el mismo para todos los grupos de ambas secciones, incluso para los que presenten el miércoles. 
-    * Para el caso del análisis de datos: definir 6 o más consultas de alta complejidad e interés con respecto a la problemática definida (uso de consultas anidadas, outer joins, funciones de ventana, etc.) +  * Presentaciones: en el horario de clases, la Sección 1 el lunes 23 de noviembre y la Sección 2 el lunes 23 y el miércoles 25 de noviembre. La distribución de los grupos se publicará en U-Cursos. 
-  * Optimizaciones: los índices o vistas materializadas usados para garantizar respuestas rápidas por parte del sistema de bases de datos a las consultas definidas anteriormente (ver [[proyecto:optimizacion|Optimización]]).+ 
 +Notar que el viernes 20 de noviembre está el Laboratorio Personal 3, por lo que conviene tener eso en cuenta al momento de organizarse. A modo de guía, el avance esperado es el siguiente: 
 + 
 +  * Viernes 13 de noviembre: comentarios del Hito 2 incorporados y consultas escritas y probadas en ''psql''. 
 +  * Miércoles 18 de noviembre: índices y vistas creados, y la aplicación o el estudio funcionando. 
 +  * Lunes 23 de noviembre, 10:00: diapositivas listas y entrega subida. 
 + 
 +===== Qué hay que hacer ===== 
 + 
 +==== 1. Corregir los hitos anteriores ==== 
 + 
 +Lo primero a realizar es incorporar los comentarios recibidos en los hitos anteriores. Si alguna corrección cambia el esquema, esta también se debe aplicar en las tablas y los datos del servidor, y si en el Hito 2 quedaron datos sin cargar, este es el momento de cargarlos. 
 + 
 +==== 2. Definir las consultas ==== 
 + 
 +  * Aplicación web: al menos 3 consultas de mediana complejidad que sean útiles para la aplicación, de las cuales al menos dos deben recibir parámetros desde la interfaz web (por ejemplo, una búsqueda por país). 
 +  * Estudio de datos: 6 o más consultas de alta complejidad e interés con respecto a la problemática definida (consultas anidadas, outer joins, funciones de ventana, etc.). 
 + 
 +Entre todas las consultas tiene que aparecer una mezcla de operadores de SQL, esto es, no hace falta que cada consulta los use todos, pero sí que en conjunto se vea variedad. Si la complejidad está dentro de una vista, eso también cuenta. 
 + 
 +==== 3. Optimizar ==== 
 + 
 +Luego, se deben usar índices adecuados y al menos una vista (virtual o materializada) a modo de que las consultas respondan rápido. Ver [[proyecto:optimizacion|Optimización]]. 
 + 
 +Para cada consulta se pide comparar su ejecución sin y con optimización usando ''EXPLAIN ANALYZE'' y reportar los tiempos obtenidos. Si un índice no mejora el tiempo, también se puede contar, explicando por qué se cree que pasó (por ejemplo, porque la tabla es pequeña y Postgres prefiere recorrerla completa). 
 + 
 +==== 4. Terminar la aplicación o el estudio ==== 
 + 
 +=== Aplicación web === 
 + 
 +Seguir [[proyecto:armar_la_aplicacion_inicial|Armar la Aplicación]], donde se documentan PHP, Django y Java Servlets. También se puede usar otra tecnología, aunque en ese caso quizás no podamos darles soporte. La aplicación debe quedar corriendo en su máquina, en ''http://grupoXX.cc3201.dcc.uchile.cl/'', hasta que se publiquen las notas. Si durante el desarrollo se quiere correr en un computador propio, primero hay que [[proyecto:conexion_externa|habilitar una conexión externa]]. 
 + 
 +Notar que la seguridad es parte de la evaluación, por lo que se deben usar sentencias precompiladas y, si no se usa Django, una cuenta de Postgres para la aplicación con el acceso mínimo requerido. Los detalles están en la sección Seguridad de [[proyecto:armar_la_aplicacion_inicial|Armar la Aplicación]]. 
 + 
 +=== Estudio de datos === 
 + 
 +Seguir [[proyecto:analisis_estadistico|Análisis Estadístico]]. El informe final debe presentar la pregunta del estudio y su hipótesis, los resultados de las consultas con sus visualizaciones, las conclusiones y las limitaciones que imponen la cantidad o la fuente de los datos. Este sigue el mismo [[proyecto:inicio|formato de los informes]] de los hitos anteriores. 
 + 
 +===== Qué se entrega ===== 
 + 
 +Una persona por grupo sube a U-Cursos: 
 + 
 +  * El PDF de las diapositivas. 
 +  * Un archivo ''.sql'' con las consultas, los índices y las vistas. Para la sección 2 puede ser tambien un .txt 
 +  * Si es una aplicación web, la URL de la aplicación en el comentario de la entrega. 
 +  * Si es un estudio de datos, el informe en PDF. 
 + 
 +===== Presentación ===== 
 + 
 +La presentación tiene una duración máxima de 8 minutos, seguida de preguntas del equipo docente. Todas las personas del grupo deben estar presentes y hablar, ya que las preguntas pueden ir dirigidas a cualquier integrante. Además, la presentación es de carácter formal. 
 + 
 +En la siguiente tabla se muestra qué debería ir en cada diapositiva. Lo de los hitos anteriores se presenta de forma breve, esto porque ya se vio en las presentaciones pasadas, por lo que lo importante de este hito son las consultas, la optimización y el resultado final. 
 + 
 +^ # ^ Diapositiva ^ Qué incluir ^ 
 +| 1 | Portada | Logo del DCC, título del proyecto, número del grupo, nombres completos de las personas que integran el grupo, nombres del equipo docente y fecha de la presentación. | 
 +| 2 | Tema y datos | De qué trata el proyecto, fuente de los datos, formato y tamaño. | 
 +| 3 | Modelo | El diagrama E/R y el esquema relacional finales, marcando lo que cambió desde el Hito 2. | 
 +| 4 | Correcciones | Cada comentario del Hito 2 y cómo se resolvió, junto con la cantidad de filas de cada tabla si cambió. | 
 +| 5 | Consultas | El SQL de cada consulta sin usar vistas, a modo de apreciar su complejidad, y qué pregunta responde. En una aplicación web, indicar cuáles son los parámetros. | 
 +| 6 | Optimización | Qué índices y vistas se crearon y por qué, junto con una tabla con el tiempo de cada consulta sin y con optimización. | 
 +| 7a | Aplicación web | Qué software se eligió, qué medidas de seguridad se usaron y una demostración en vivo. Llevar capturas de pantalla por si falla la conexión. | 
 +| 7b | Estudio de datos | La pregunta y la hipótesis, las visualizaciones principales, las conclusiones y las limitaciones de los datos. | 
 +| 8 | Cierre | Qué fue difícil, qué fue fácil y qué se aprendió. | 
 + 
 +===== Evaluación ===== 
 + 
 +El equipo docente evaluará cada proyecto según las siguientes categorías: 
 + 
 +  * Datos crudos (escala, complejidad, factor de interés, etc.) 
 +  * Diseño relacional (buen diseño, complejidad, restricciones, etc.) 
 +  * Optimizaciones (índices, vistas, etc.) 
 +  * Consultas (complejidad, utilidad) 
 +  * En caso de elegir una aplicación: 
 +    * Seguridad (sentencias precompiladas) 
 +    * Interfaz (funcionalidad, apariencia, etc.) 
 +  * En caso de elegir un estudio de datos: 
 +    * Informe (claridad, conclusiones, etc.) 
 +    * Visualizaciones (utilidad, aspecto visual, etc.) 
 +  * Presentación (tiempo, calidad, participación grupal, etc.) 
 + 
 +Las categorías tienen una ponderación equivalente (1/7 cada una), pero habrá bonos por trabajo sobresaliente en alguna categoría y sanciones por no cumplir con el objetivo del proyecto en alguna categoría (por ejemplo, si hay una sola consulta simple, si no hay ninguna interfaz o si hay atrasos no justificados). Esas sanciones afectan la nota final más que tener un puntaje mínimo en la categoría respectiva.
  
proyecto/entrega_final.1790349239.txt.gz · Last modified: by semorale