29
Presentación de Trabajo Final 1

Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción Arquitectura de la Solución Problemas y Principales Decisiones

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.