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.
Top Related