Presentación de Trabajo Final 1. Contenido Integrantes Nombre del Proyecto y Descripción...

Preview:

Citation preview

1

Presentación de Trabajo Final

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

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

4

¿A quiénes está dirigido Educat?

• Idea original: Preuniversitario social• Pero también …

• Colegios• Universidades• CFT• etc

5

Objetivos generales

• Simpleza

• Utilidad

• Accesibilidad

• Gratuidad

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

7

IntegrantesIntegrante Role

Ignacio Astudillo Noticias , vistas

Thomas Born Material, Evaluaciones

Pamela Calvo Vistas, Asistencias

Samuel Gleisner Usuarios, Roles

Juan Pablo Vigneaux Cursos, Permisos

8

Arquitectura : Modelo de datos

Usuarios

•Varios conjuntos de clases•En síntesis ….

Cursos Manejo de roles

9

Arquitectura

10

Arquitectura: Manejo de Roles

11

Arquitectura: Manejo de Roles

DescripciónPermisoAttribute

12

Arquitectura: Manejo de Roles

13

14

PROBLEMAS ENFRENTADOSAquellas piedras en el camino …

15

Problema 1

Desconocimiento del framework ASP.NET MVC

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

17

Problema 5

Manejo de roles

18

Problema: Manejo de roles

• En la implementación de la parte de roles tuvimos varios problemas.

• Mapeo de enumeración a int.• Eficiencia.

19

Problema 3

Problema: Mostrar “selectivamente” partes de una vista

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”?

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.

22

Problema 4

“Eliminación progresiva”

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

24

Problema 5

“Intercambio de datos con la vista”

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?

26

Problema: Intercambio de datos con la vista

Solución:• Uso de patrón

ViewModel.• Un ViewModel por cada

instancia que necesitamos encapsular.

27

Pero no todo son problemas …

DEMO

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.

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.

Recommended