![Page 1: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/1.jpg)
1
Presentación de Trabajo Final
![Page 2: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/2.jpg)
2
Contenido
• Integrantes• Nombre del Proyecto y Descripción• Arquitectura de la Solución• Problemas y Principales Decisiones de Diseño• Demostración de la Aplicación• Experiencia y Aprendizaje
![Page 3: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/3.jpg)
3
¿Qué es Educat?
• Aplicación web para el apoyo educacional
• Plataforma comunicación alumnos-docentes
• Principio KISS• Keep It Short and Simple• Keep It Simple, Stupid
![Page 4: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/4.jpg)
4
¿A quiénes está dirigido Educat?
• Idea original: Preuniversitario social• Pero también …
• Colegios• Universidades• CFT• etc
![Page 5: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/5.jpg)
5
Objetivos generales
• Simpleza
• Utilidad
• Accesibilidad
• Gratuidad
![Page 6: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/6.jpg)
6
Objetivos específicos
• Gestión de usuarios y roles• Administración de cursos• Avisos o noticias• Plataforma de materiales• Seguimiento de notas• Seguimiento de asistencias
![Page 7: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/7.jpg)
7
IntegrantesIntegrante Role
Ignacio Astudillo Noticias , vistas
Thomas Born Material, Evaluaciones
Pamela Calvo Vistas, Asistencias
Samuel Gleisner Usuarios, Roles
Juan Pablo Vigneaux Cursos, Permisos
![Page 8: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/8.jpg)
8
Arquitectura : Modelo de datos
Usuarios
•Varios conjuntos de clases•En síntesis ….
Cursos Manejo de roles
![Page 9: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/9.jpg)
9
Arquitectura
![Page 10: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/10.jpg)
10
Arquitectura: Manejo de Roles
![Page 11: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/11.jpg)
11
Arquitectura: Manejo de Roles
DescripciónPermisoAttribute
![Page 12: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/12.jpg)
12
Arquitectura: Manejo de Roles
![Page 13: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/13.jpg)
13
![Page 14: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/14.jpg)
14
PROBLEMAS ENFRENTADOSAquellas piedras en el camino …
![Page 15: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/15.jpg)
15
Problema 1
Desconocimiento del framework ASP.NET MVC
![Page 16: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/16.jpg)
16
Desconocimiento del Framework
• ASP.NET MVC 2 != ASP.NET 2.0• Hay que pensar en MVC– No usar code-behind– Evitar usar controles del “toolbox”
• “Mañas” del framework– Reflection => Cuidar estándares
Solución: Leer HARTO y conversar– También ayudaron NerdDinner y MusicStore
![Page 17: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/17.jpg)
17
Problema 5
Manejo de roles
![Page 18: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/18.jpg)
18
Problema: Manejo de roles
• En la implementación de la parte de roles tuvimos varios problemas.
• Mapeo de enumeración a int.• Eficiencia.
![Page 19: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/19.jpg)
19
Problema 3
Problema: Mostrar “selectivamente” partes de una vista
![Page 20: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/20.jpg)
20
Problema: Mostrar “selectivamente” partes de una vista
• Una vista tiene elementos de visualización y elementos de creación, edición y eliminación.– No todos los usuarios tienen acceso a todas ellas.
• ¿Cómo ocultar una parte de la vista para “gente no deseada”?
![Page 21: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/21.jpg)
21
Problema: Mostrar “selectivamente” partes de una vista
Solución:• Control de permisos mediante “bools”.• Se decide “qué se muestra y qué se oculta”
según el usuario activo.
![Page 22: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/22.jpg)
22
Problema 4
“Eliminación progresiva”
![Page 23: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/23.jpg)
23
Problema: “Eliminación progresiva”• Varias entidades contienen a otras entidades…– Evaluaciones tienen Notas…– Directorios tienen Directorios y Archivos…
• ¿Cómo eliminar rápidamente a una entidad y sus dependientes?
Solución: Eliminación en cascada
![Page 24: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/24.jpg)
24
Problema 5
“Intercambio de datos con la vista”
![Page 25: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/25.jpg)
25
Problema: Intercambio de datos con la vista
• Se requiere comunicación entre controlador y vista, pero no sólo de un tipo, sino muchas entidades.– Curso, Usuario, Noticia, …
• ¿Cómo se puede enviar toda la información necesaria de manera sencilla, ordenada y encapsulada?
![Page 26: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/26.jpg)
26
Problema: Intercambio de datos con la vista
Solución:• Uso de patrón
ViewModel.• Un ViewModel por cada
instancia que necesitamos encapsular.
![Page 27: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/27.jpg)
27
Pero no todo son problemas …
DEMO
![Page 28: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/28.jpg)
28
Experiencia y Aprendizaje(3 elementos)
• Manejo del tiempo grupalmente a través de planilla SCRUM.
• Tendemos a subestimar los tiempos de implementación de cada funcionalidad.
• Aprendimos a utilizar el framework ASP.NET MVC 2.
No dejar las cosas para última hora, pues se presta para errores.
![Page 29: Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones](https://reader036.vdocumento.com/reader036/viewer/2022062410/5665b4eb1a28abb57c94c6e4/html5/thumbnails/29.jpg)
29
Evaluación (A llenar por el Profesor)
Notas por Entrega
# 1
# 2
# 3
Nota Propuesta por el Ayudante
Nota en la Presentación
Nota de Proyecto
La nota no es el promedio matemático de todas las entregas, tiene una componente de criterio del profesor y del alumno.