Post on 14-Feb-2017
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
CARRERA DE SISTEMAS
TRABAJO DE TITULACIÓN PREVIO A LA OBTENCIÓN DEL TITULO DE
INGENIERA EN SISTEMAS E INFORMÁTICA
TEMA:
APLICACIÓN WEB PARA LA GESTIÓN DE EVALUACIÓN ACADÉMICA EN LA
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES.
AUTOR:
MÓNICA NÁTALY HERNÁNDEZ MANZANO
TUTOR:
ING. FREDDY BAÑO N., M.Sc.
AMBATO - ECUADOR
2015
CERTIFICACIÓN DEL TUTOR
En calidad de tutor del presente trabajo de investigación, certifico que el proyecto
cuyo título es “APLICACIÓN WEB PARA LA GESTIÓN DE EVALUACIÓN
ACADÉMICA EN LA UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS
ANDES.”, elaborado por la SRTA. MÓNICA NÁTALY HERNÁNDEZ MANZANO,
cumple con los requisitos metodológicos y científicos que la Universidad Regional
Autónoma de Los Andes UNIANDES exige, por lo tanto autorizo su presentación
para los trámites pertinentes.
Ambato, Abril 2015
DECLARACIÓN DE LA AUTORÍA DE TESIS
Ante las autoridades de la Universidad Regional Autónoma de los Andes declaro
que el contenido del presente trabajo de investigación cuyo título es
“APLICACIÓN WEB PARA LA GESTIÓN DE EVALUACIÓN ACADÉMICA EN
LA UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES”, presentado
como requisito previo a la obtención del título de INGENIERA EN SISTEMAS E
INFORMÁTICA es original, de mi autoría y total responsabilidad.
Atentamente,
060358951-6.
DEDICATORIA
El presente trabajo va dedicado a mi Dios por
darme la fuerza para creer en mi misma y no
dejarme vencer en los peores momentos en que
me encontraba, a mi madre Susana Manzano una
mujer muy fuerte y mi inspiración de vida que a
través de su trabajo, cuidados y paciencia pude
sentir su apoyo incondicional para alcanzar el
objetivo, mismo que se traduce en la obtención de
mi ansiado título.
Mónica Nátaly Hernández Manzano.
.
AGRADECIMIENTO
Agradezco a todas las personas que de una u otra
forma mantuvieron interés en ayudarme para culminar
este proyecto, a mi familia, amigos, profesores y
tutores
Mónica Nátaly Hernández Manzano
INDICE GENERAL
Contenido
CERTIFICACIÓN DEL TUTOR
DECLARACIÓN DE LA AUTORÍA DE TESIS
INDICE GENERAL
INDICE DE GRÁFICOS
INDICE DE TABLAS
RESUMEN EJECUTIVO
EXECUTIVE SUMMARY
INTRODUCCIÓN .................................................................................................... 1
Antecedentes de la investigación. ................................................................. 1
Planteamiento del problema .......................................................................... 2
Formulación del problema ............................................................................. 4
Delimitación del problema ............................................................................. 4
Objetivos ....................................................................................................... 4
Idea a Defender ............................................................................................. 5
Justificación del Tema ................................................................................... 5
Breve Explicación de la metodología investigativa ........................................ 6
Resumen de la Estructura de la Tesis ........................................................... 7
Novedad, Aporte Teórico y significancia practica .......................................... 7
CAPÍTULO I. ........................................................................................................... 9
1. MARCO TEÓRICO .......................................................................................... 9
1.1. Aplicaciones Web .......................................................................................... 9
1.1.1. Servicios Web ............................................................................................ 9
1.1.2. Características de una Aplicación Web.................................................... 10
1.1.2.1. El cliente ............................................................................................... 10
1.1.2.2. En el servidor ........................................................................................ 11
1.1.3. Proceso de Creación y Publicación de Páginas Web .............................. 12
1.1.3.1. Definición de la página: ........................................................................ 12
1.1.3.2. Publicación del documento: .................................................................. 12
1.1.3.3. Acceso a las páginas web: ................................................................... 12
1.2. Metodología de Desarrollo de Software ...................................................... 13
1.2.1. Evolución ................................................................................................. 14
1.2.2. Metodologías Tradicionales y Ágiles ........................................................ 15
1.2.2.1. Metodologías tradicionales ................................................................... 16
1.2.2.2. Metodologías ágiles .............................................................................. 16
1.2.3. Metodología RUP ..................................................................................... 17
1.2.3.1. Ciclo de Vida ......................................................................................... 18
1.2.4. Lenguaje Unificado de Modelo ................................................................. 21
1.2.4.1. Concepto. ............................................................................................. 21
1.2.4.2. El origen del UML: Unified Modeling Language .................................... 21
1.2.4.3. Diagramas del UML .............................................................................. 22
1.3. Herramientas de Desarrollo Web ................................................................ 24
1.3.1. Sitios web Asp.net ................................................................................... 25
1.3.2. Lenguaje C# ............................................................................................. 25
1.3.2.1. Características de C# ........................................................................... 26
1.3.2.2. Seguridad ............................................................................................. 29
1.3.3. Entity Framework ..................................................................................... 31
1.3.3.1. Concepto. ............................................................................................. 31
1.3.3.2. Entity Data Model ................................................................................. 31
1.3.4. SQL Server 2008 R2 ................................................................................ 33
1.3.4.1. Definición .............................................................................................. 33
1.3.4.2. Arquitectura de SQL Server .................................................................. 34
1.4. Evaluaciones Académicas .......................................................................... 35
1.4.1. Concepto .................................................................................................. 35
1.4.2. E-Learning ............................................................................................... 36
1.4.2.1. Valoración de la práctica educativa virtual ............................................ 36
1.4.3. e-Evaluación ............................................................................................ 37
1.4.4. Tipos de e-Evaluación.............................................................................. 38
1.4.4.1. Evaluación automática .......................................................................... 38
1.4.4.2. Evaluación Enciclopédica ..................................................................... 39
1.4.4.3. Evaluación Colaborativa ....................................................................... 40
1.4.5. Reactivos de respuesta estructurada ....................................................... 40
1.4.5.1. Preguntas de opción múltiple. ............................................................... 40
1.4.5.2. Preguntas de respuesta alterna (verdadero o falso). ............................ 41
1.4.5.3. Relación de conceptos ......................................................................... 41
1.4.5.4. Jerarquización u ordenamiento. ............................................................ 41
1.4.5.5. Completar ............................................................................................. 41
1.4.5.6. Gráficas ................................................................................................ 42
1.5. Conclusiones Parciales del Capitulo ........................................................... 42
CAPITULO II ......................................................................................................... 43
2. MARCO METODOLÓGICO ........................................................................... 43
2.1. Caracterización del sector ........................................................................... 43
2.2. Descripción del Procedimiento Metodológico .............................................. 45
2.2.1. Modalidad de Investigación ...................................................................... 45
2.2.2. Tipo de Investigación ............................................................................... 45
2.2.3. Métodos ................................................................................................... 46
2.2.4. Técnicas e Instrumentos .......................................................................... 46
2.2.4.1. Técnicas ............................................................................................... 46
2.2.4.2. Instrumentos ......................................................................................... 47
2.2.5. Población y Muestra................................................................................. 47
2.2.6. Tabulación de Resultados ........................................................................ 48
2.3. Propuesta del Investigador .......................................................................... 57
2.4. Conclusiones parciales del capítulo. ........................................................... 58
CAPITULO III ........................................................................................................ 59
3. MARCO PROPOSITIVO ................................................................................ 59
3.1. Tema ........................................................................................................... 59
3.2. Objetivos ..................................................................................................... 59
3.2.1. Objetivo General ...................................................................................... 59
3.2.2. Objetivos Específicos ............................................................................... 59
3.3. Desarrollo de la Propuesta .......................................................................... 59
3.3.1. Selección de la Metodología de Desarrollo de Software. ......................... 59
3.3.2. Selección del Proceso de Desarrollo de Software. .................................. 60
3.3.3. Modelado de Negocio. ............................................................................. 61
3.3.3.1. Especificación del Proceso de Negocio. ............................................... 61
3.3.3.2. Modelo de Negocio ............................................................................... 61
3.3.4. Especificación de requerimientos de software basado en el estándar
IEEE830 ................................................................................................................ 66
3.3.4.1. Propósito.- ............................................................................................ 66
3.3.4.2. Ámbito................................................................................................... 66
3.3.4.3. Definiciones, Acrónimos y Abreviaturas ............................................... 68
3.3.4.4. Descripción General. ............................................................................ 69
3.3.4.5. Especificación de Requerimientos. ....................................................... 72
3.3.5. ANALISIS ................................................................................................. 80
3.3.5.1. Diagramas de Casos de uso ................................................................. 80
3.3.5.2. Diagrama de Clases. ............................................................................ 91
3.3.6. Diseño. ..................................................................................................... 92
3.3.6.1. Modelo Lógico. ..................................................................................... 92
3.3.6.2. Modelo Físico ....................................................................................... 94
3.3.6.3. Diccionario de datos ............................................................................. 94
3.3.6.4. Script Base de datos ............................................................................. 94
3.3.6.5. Diagramas de secuencia ...................................................................... 95
3.3.6.6. Diseño De La Interfaz De Usuario ...................................................... 102
3.3.6.7. Codificación ........................................................................................ 103
3.3.7. Implementación ...................................................................................... 104
3.3.7.1. Diagrama de Despliegue .................................................................... 104
3.3.7.2. Diagramas de Componentes: ............................................................. 105
3.3.7.3. Requisitos ........................................................................................... 105
3.3.8. Pruebas .................................................................................................. 107
3.3.8.1. Pruebas de Caja Blanca ..................................................................... 107
3.3.8.2. Pruebas de Caja Negra ...................................................................... 107
3.3.8.3. Pruebas de Usabilidad ........................................................................ 107
3.3.8.4. Pruebas De Validación ....................................................................... 108
CONCLUSIONES ............................................................................................... 108
RECOMENDACIONES ....................................................................................... 109
BIBLIOGRAFIA
INDICE DE GRÁFICOS
Gráfico 1. Etapa Ciclo de Vida con la metodología RUP ...................................... 60
Gráfico 2. Elaboración de Exámenes .................................................................... 62
Gráfico 3.Tomar Exámenes de Ingreso ................................................................ 62
Gráfico 4.Tomar Exámenes a Estudiantes ............................................................ 63
Gráfico 5.Modelo del Dominio ............................................................................... 63
Gráfico 6.Elaborar Exámenes ............................................................................... 64
Gráfico 7.Asignar Aspirantes a Examen de Ingreso .............................................. 64
Gráfico 8.Tomar Examen de Ingreso .................................................................... 65
Gráfico 9.Reportar Calificaciones .......................................................................... 65
Gráfico 10.Asignar Examen a Estudiante ............................................................. 65
Gráfico 11.Tomar Examen Asignado a Estudiantes .............................................. 66
Gráfico 12.Modelo De Interfaz .............................................................................. 77
Gráfico 13.Paquetes para la aplicación APPTEST ............................................... 80
Gráfico 14. Caso de Uso Gestión de Roles y Usuarios ......................................... 80
Gráfico 15.Caso de uso Gestión de Estudiantes................................................... 82
Gráfico 16.Caso de Uso Gestión de Matriculas .................................................... 84
Gráfico 17.Caso de Uso Gestión de Carreras, Niveles, áreas y periodos ............. 85
Gráfico 18.Caso de Uso Gestionar Test. .............................................................. 86
Gráfico 19.Caso de Uso Asignaciones al Test ...................................................... 88
Gráfico 20. Caso de Uso Tomar Test .................................................................... 89
Gráfico 21.Diagrama de clases ............................................................................. 92
Gráfico 22. Modelo Lógico ................................................................................... 93
Gráfico 23.Modelo Físico ...................................................................................... 94
Gráfico 24.Diagrama de Secuencia Inicio de Sesión. ........................................... 95
Gráfico 25.Diagrama de Secuencia Crear Rol. ..................................................... 95
Gráfico 26.Diagrama de Secuencia Registrar Estudiantes. .................................. 96
Gráfico 27. Diagrama de Secuencia Registrar Matricula. ..................................... 97
Gráfico 28. Diagrama de Secuencia Registrar Carreras. ...................................... 98
Gráfico 29. Diagrama de Secuencia Registrar Test. ............................................. 99
Gráfico 30.Diagrama de Secuencia Registrar Asignaciones. .............................. 100
Gráfico 31. Diagrama de Secuencia Inicio de Sesión Estudiante. ...................... 101
Gráfico 32. Diagrama de Secuencia Escoger examen habilitado. ...................... 101
Gráfico 33. Diagrama de Secuencia Tomar examen. ......................................... 102
Gráfico 34.Diseño Inicio de sesión Administración ............................................. 102
Gráfico 35.Diseño Menú principal ....................................................................... 103
Gráfico 36.Diagrama de Despliegue ................................................................... 104
Gráfico 37.Diagramas de Componentes ............................................................. 105
INDICE DE TABLAS
Tabla 1. Población de estudio Directores de carrera ............................................ 47
Tabla 2. Población de estudio estudiantes e inscritos. .......................................... 47
Tabla 3. Características de los Usuarios. .............................................................. 70
Tabla 4. Reportes de Casos de Uso. .................................................................... 72
Tabla 5.Requerimientos Técnicos ......................................................................... 79
Tabla 6.Detalle del caso de uso Inicio de Sesión. ................................................. 81
Tabla 7. Detalle del caso de uso Crear Rol. .......................................................... 82
Tabla 8. Detalle del caso de uso Registrar Estudiantes. ....................................... 83
Tabla 9. Detalle del caso de uso Registrar Matricula ............................................ 84
Tabla 10. Detalle del caso de uso Registrar Carreras ........................................... 86
Tabla 11. Detalle del caso de uso Registrar Test .................................................. 87
Tabla 12. Detalle del caso de uso Registrar Asignaciones ................................... 89
Tabla 13. Detalle del caso de uso Inicio de Sesión Estudiante. ............................ 90
Tabla 14. Detalle del caso de uso Escoger examen habilitado ............................. 90
Tabla 15. Detalle del caso de uso Tomar examen ................................................ 91
INDICE DE FIGURAS
Figura 1. Proceso actual para tomar exámenes.................................................... 49
Figura 2.Proceso tedioso y largo ........................................................................... 49
Figura 3. Errores al calificar exámenes. ................................................................ 50
Figura 4. Tiempo y Recursos ................................................................................ 51
Figura 5.Proceso más sencillo y ágil ..................................................................... 51
Figura 6.Aplicaciones que faciliten tomar exámenes. ........................................... 52
Figura 7.Que haría la aplicación ........................................................................... 53
Figura 8.Estado de la matricula ............................................................................. 53
Figura 9.Rendir el examen de ingreso .................................................................. 54
Figura 10.Proceso actual ..................................................................................... 54
Figura 11.Obtención de nota. ................................................................................ 55
Figura 12.Rendir el examen en una computadora ................................................ 56
Figura 13.Ensayas Evaluaciones. ......................................................................... 56
Figura 14.Rendir exámenes en casa .................................................................... 57
RESUMEN EJECUTIVO
El presente trabajo de tesis “APLICACIÓN WEB PARA LA GESTIÓN DE
EVALUACIÓN ACADÉMICA EN LA UNIVERSIDAD REGIONAL AUTÓNOMA DE
LOS ANDES.” realizado en la Universidad Regional Autónoma de los Andes
Uniandes, Institución de educación superior cuyo objetivo es formar profesionales
de tercer y cuarto nivel, tiene como propósito desarrollar e implementar en base a
fundamentos de la Ingeniería de Software, una plataforma informática que ayude
a directores de carrera a gestionar el proceso de evaluaciones académicas y a
los estudiantes a mejorar su proceso de aprendizaje y evaluación.
La investigación parte del análisis del problema el cual es “mejorar la gestión de
evaluación académica en la Universidad Regional Autónoma de los Andes
UNIANDES”, por lo cual la propuesta se ha elaborado en base a la línea de
investigación de desarrollo de software y programación de sistemas, aplicando
una metodología de investigación cualitativa y cuantitativa para la recolección de
datos, la utilización de Rational Unified Process RUP para el diseño de la
aplicación el cual se basa en las mejores prácticas que se han intentado y se han
probado además de utilizar un proceso iterativo e incremental, que incluye flujos
de trabajo y puntos de control, apoyándose en las 4 fases de desarrollo que
propone esta metodología con un lenguaje gráfico para visualizar, especificar,
construir y documentar un sistema como es el Lenguaje unificado de modelado
UML.
Se realizó una investigación de campo que permitió verificar la existencia del
problema y determinar las alternativas de solución más viables.
EXECUTIVE SUMMARY
This thesis "WEB APPLICATION FOR THE MANAGEMENT OF ACADEMIC
EVALUATION IN REGIONAL AUTONOMOUS UNIVERSITY OF THE ANDES."
Held in the Regional Autonomous University of the Andes Uniandes, institution of
higher education which aims to train professionals in third and fourth level, aims to
develop and implement based on foundations of software engineering, a software
platform that helps race directors to manage the process of academic assessment
and students to improve their learning and evaluation.
Research on the analysis of the problem which is "better management of
academic assessment at the Autonomous University of UNIANDES Regional
Andes", whereby the proposal has been prepared based on the research of
software development and programming systems, using a methodology of
qualitative and quantitative data collection for research using Rational Unified
Process RUP for application design which is based on best practices that have
been tried and have also tried to use a process Iterative and incremental, including
workflows and checkpoints, relying on the 4 phases of development proposed by
this methodology with a graphical language for visualizing, specifying,
constructing, and documenting a system such as the Unified Modeling Language
UML.
Field research allowed to verify the existence of the problem and determine the
most viable alternative solution was performed.
1
INTRODUCCIÓN
Antecedentes de la investigación.
En un principio la web era sencillamente una colección de páginas estáticas,
documentos, etc., para su consulta o descarga. El paso inmediatamente posterior
en su evolución fue la inclusión de un método para elaborar páginas dinámicas que
permitieran que lo mostrado tuviese carácter dinámico (es decir, generado a partir
de los datos de la petición). Este método fue conocido como CGI ("Common
Gateway Interface") y definía un mecanismo mediante el que se podía pasar
información entre el servidor y ciertos programas externos.
Aunque los inicios de Internet se remontan a los años sesenta, no ha sido hasta los
años noventa cuando, gracias a la Web, se ha extendido su uso por todo el mundo.
En pocos años la Web ha evolucionado enormemente: se ha pasado de páginas
sencillas, con pocas imágenes y contenidos estáticos a páginas complejas con
contenidos dinámicos que provienen de bases de datos, lo que permite la creación
de "aplicaciones web".
En los primeros días de la Web, las páginas fueron entregadas al cliente como un
documento estático, pero la secuencia de páginas que podrían proporcionar una
experiencia interactiva, como la entrada del usuario se devuelve a través de la
web de forma elementos incrustados en el marcado de la página.
Las aplicaciones web han sufrido una evolución análoga a la que ya padecieron las
aplicaciones de escritorio que utilizan los recursos propios de cada sistema
operativo para construir su interfaz de usuario. Inicialmente, estas aplicaciones se
ejecutaban en una única máquina, que era además la máquina donde se
almacenaban los datos que manipulaban.
Posteriormente, se hicieron populares las arquitecturas cliente/servidor, en las que
la interfaz de usuario de las aplicaciones de gestión se ejecuta en la máquina del
cliente pero los datos se suelen almacenar en un sistema gestor de bases de
2
datos. La aplicación cliente se conecta al sistema gestor de bases de datos de
forma similar a como el navegador web accede al servidor HTTP en una aplicación
web.
Finalmente, para determinadas aplicaciones de gestión se han impuesto las
arquitecturas multicapa y el uso de middleware (por ejemplo, CORBA). En estas
aplicaciones, la máquina cliente sólo ejecuta la interfaz de usuario y la lógica de la
aplicación se ejecuta en un servidor de aplicaciones independiente tanto de la
interfaz de usuario como de la base de datos donde se almacenan los datos.
En 1995 Netscape introdujo una secuencia de comandos del lado del
cliente lenguaje llamado JavaScript permite a los programadores agregar
algunos elementos dinámicos a la interfaz de usuario que se ejecutaba en el lado
del cliente. Así que en lugar de enviar los datos al servidor con el fin de generar
una página web completa, los scripts incrustados de la página descargada puede
realizar diversas tareas como la validación de entrada o mostrar / ocultar partes de
la página.
En 2011, el HTML5 se terminó, el mismo proporciona capacidades de gráficos y
multimedia sin la necesidad en el lado del cliente de plugins, HTML5 también se
enriquece el contenido semántico de los documentos. (zamora, 2012)
Por su lado La tecnología ASP (Active Server Pages) surge en diciembre de 1996
con el lanzamiento del service pack 3 de Windows NT 4.0 como parte del IIS
3.0.Este fue el primer acercamiento de Microsoft hacia la tecnología scripting en
internet. La gran ventaja que tenía ASP era que uno podía diseñar su página y
programar la lógica que haría que su página desplegara datos. ASP es una
tecnología propietaria de Microsoft.
Planteamiento del problema
El gobierno nacional actual, apuesta especialmente al talento humano ecuatoriano
y a su educación al más alto nivel, pues ha desarrollado positivamente estrategias
que definitivamente aportan a la misma, a través de la tecnología por ejemplo, ha
podido llegar a la mente del ecuatoriano, haciéndole comprender que esta
3
herramienta es fundamental para el progreso y/o aporte al cambio de la matriz
productiva de nuestro país.
Una de las deficiencias que muestra el sistema en lo que respecta a la obtención
de resultados, es precisamente la obtención rápida de estos, el profesor tiene que
esperar, por ejemplo, a que los estudiantes terminen el examen en su totalidad
para poder calificarlos, ocasionando pérdida de tiempo tanto para él como para los
evaluados. Para el docente porque si califica un examen de 20 preguntas, para 15
estudiantes, deberá hacerlo entonces para un total de 300 preguntas, si por cada
pregunta se toma el tiempo de 30 segundos en total seria 9000 segundos que
equivale a 2 horas con 30 minutos que tendría que disponer el profesor de tiempo,
claro, de no tener pendiente otra actividad laboral o personal.
Esto produce una pérdida de tiempo perfectamente aprovechable para él, adicional
genera en los estudiantes dudas como también pérdida de tiempo, dado que en el
proceso de calificación los mismos tienen que esperar, si culmina el profesor en el
momento y no pospone para otro día la calificación claro está, dudas porque otro
de los puntos en contra con este sistema es el cálculo final de la nota, muy
frecuentemente el porcentaje de error en calificaciones es alto, sobre todo en los
últimos exámenes a calificar, ya que la sumatoria se vuelve incorrecta, preguntas
sin calificar entre otros, perjudicando al estudiante y como docente obteniendo
desconfianza de ellos.
El uso excesivo de papel y tinta para poder imprimir los exámenes, a más del
tiempo de espera hasta obtener todas las copias, con el consiguiente riesgo de que
las evaluaciones puedan filtrarse cuando la persona responsable de las copias
tiene un comportamiento poco ético.
Una vez obtenido los resultados es muy poco probable y requiere de un gran
esfuerzo que el docente pueda verificar las áreas de mayor deficiencia, para
reforzarlas en el proceso académico.
El excesivo número de estudiantes genera una gran cantidad de información
impresa que con el paso del tiempo se convierte en un verdadero reto mantenerla
4
ordenada y organizada, adicional mente cuando se requiere reutilizar reactivos
previamente elaborados al realizarlos de forma manual se necesita un encomiable
esfuerzo individual.
Formulación del problema
¿Cómo mejorar la gestión de evaluación académica en la Universidad Regional
Autónoma de los Andes UNIANDES?
Delimitación del problema
Objeto de Investigación y Campo de Acción
Objeto
Procesos informáticos
Campo
Desarrollo de aplicaciones informáticas
Identificación de la Línea de Investigación
Desarrollo de Software y Programación de Sistemas.
Objetivos
General
Implementar una aplicación web para la gestión de evaluación académica de
la Universidad Regional Autónoma de los Andes UNIANDES.
Específicos
Fundamentar científicamente las aplicaciones web, sus tecnologías
de funcionamiento y herramientas de desarrollo.
Diagnosticar la situación actual de la gestión de evaluación
académica en la UNIANDES.
Desarrollar una Aplicación web que permita administrar los
exámenes de admisión, nivelación y evaluación académica
5
Validar la propuesta.
Idea a Defender
Con la implantación de esta una plataforma web para la gestión de evaluación
académica en la Universidad Uniandes, se agilitara en un alto porcentaje el cálculo
de resultados, en los exámenes de admisión y nivelación, los cuales se obtendrán
en tiempo real, de manera eficiente y eficaz, así el estudiante podrá conocer de
forma inmediata la nota que ha obtenido.
Los exámenes estarán accesibles permanentemente ayudando al docente y
estudiante en la nivelación académica garantizando que la evaluación se pueda
tomar en cualquier lugar y en cualquier dispositivo que disponga de internet, a más
de ello el docente podrá obtener reportes por áreas de conocimiento.
Justificación del Tema
Cumpliendo con procesos de innovación pedagógica la Universidad podrá dar un
paso muy importante para garantizar de forma transparente y segura la educación
que ofrece, ya que estará más actualizada de acuerdo al Modelo Nacional de
Apoyo y Seguimiento a la Gestión Educativa (MNASGE); mismo que pretende
llevar a través del acompañamiento y la asistencia técnica debida por un lado, y
por otro, del monitoreo y evaluaciones a las instituciones, a la educación al más
alto nivel.
Debido a que las evaluaciones o exámenes en la UNIANDES para la admisión,
nivelación y evaluación académica llevan procesos que a más de ser antiguos e
imprecisos generan una pérdida de tiempo adicional, no cumplen con los objetivos
que el modelo educativo actual pretende alcanzar en las instituciones, se busca
precisamente que estos sean más eficientes y eficaces, a través de la aplicación
web.
6
Los procesos para la obtención de las calificaciones ya no serán ambiguos ni
inseguros como hasta hoy han venido siendo en esta institución ya que los errores
que se cometen de forma manual son repercusivos desde todo punto de vista.
Cometer faltas como son la pérdida u olvido de exámenes, impresiones borrosas o
preguntas incompletas mal desarrolladas y distribuidas, calificaciones al apuro,
resultados manipulados o errados, etc., a la larga son errores que afectan directa o
indirectamente a estudiantes, docentes, personal administrativo y a la Universidad
como tal, en lo que respecta al nivel educativo que ofrece.
Todo eso se podrá evitar y controlar eficientemente, porque el director de carrera
por ejemplo tendrá que dedicarse simplemente a desarrollar bien su banco de
preguntas, en su computador, y subirlas a la aplicación Web que de manera eficaz
dará resultados más confiables y seguros para todos.
Así con la implementación de esta aplicación se agilitara el cálculo de los
resultados en los exámenes de admisión, nivelación y evaluación académica, los
cuales se obtendrán en un tiempo real, así el estudiante podrá conocer de forma
inmediata la nota que ha obtenido de manera eficiente y eficaz.
Además los exámenes estarán accesibles permanentemente ayudando al docente
y estudiante en la nivelación académica garantizando que la evaluación se pueda
tomar en cualquier lugar con cualquier dispositivo que disponga de internet, a más
de ello el docente podrá obtener reportes por áreas de conocimiento.
Breve Explicación de la metodología investigativa
La modalidad de investigación a adoptar en el presente proyecto es la Cuali-
Cuantitativo Comparado, debido a que se estudiara la calidad de las actividades,
relaciones, asuntos, medios, materiales o instrumento que se utilizan para la
gestión de exámenes y a partir de esto aplicar los conocimientos informáticos en el
desarrollo de una aplicación web que servirá para automatizar los procesos
existentes
7
Resumen de la Estructura de la Tesis
El documento se encuentra estructurado en 4 partes, en la primera parte se
analizara el problema, se indicara la línea de investigación, se justificara la
propuesta y se detallara los objetos.
La segunda parte está conformada por el capítulo I el cual trata la fundamentación
teórica donde se expone los conceptos principales de las distintas posiciones
teóricas sobre el objeto de investigación.
La tercera parte conforma el capítulo II donde se presenta la propuesta del autor
según los resultados alcanzados y aportados por la metodología de la
investigación.
Y la cuarta y última parte está conformada por el análisis de todos los resultados
alcanzados en la investigación, y se puede materializar con la validación o
implementación de los resultados alcanzados terminando con conclusiones
Generales, Recomendaciones y Bibliografía.
Novedad, Aporte Teórico y significancia practica
Aporte teórico
El aporte teórico del presente proyecto se centra en la fundamentación de
conceptos de aplicaciones web, su historia, arquitectura y tecnologías. Se
describe también la metodología RUP (Rational Unified Process) para
desarrollo de la aplicación, se establece los fundamentos de programación
por capas, además del lenguaje C# y Entity Framework, de igual manera se
fundamentara las evaluaciones académicas y el desarrollo cognitivo.
Significación práctica
La aplicación web simplificara la toma de exámenes para ingreso a la
universidad devolviendo notas exactas y en tiempo real, así los aspirantes a
ingresar a las diferentes carreras que oferta la universidad conocerán de
manera inmediata si han aprobado o no. Así como también ayudara en el
8
proceso de evaluación académica reflejando datos sobre los estudiantes que
se encuentren con déficit de conocimiento y el área que necesitan reforzar.
Novedad
Como novedad se podrá definir el uso de un ORM (Mapeo Objeto
Relacional) para el desarrollo de aplicaciones, mismo que facilitara el acceso
a datos de manera transparente y totalmente independiente al sistema de
gestión de base de datos, validando y aplicando los conceptos de
programación orientada a objetos y de abstracción.
La utilización de herramientas ORM es una novedad en el ámbito del
desarrollo de aplicaciones ya que esto permite ahorrar muchas líneas de
código y mejora el mantenimiento de las aplicaciones.
9
CAPÍTULO I.
1. MARCO TEÓRICO
1.1. Aplicaciones Web
Una aplicación web (web-based application) es un tipo especial de aplicación
cliente/servidor, donde tanto el cliente (el navegador, explorador o visualizador)
como el servidor (el servidor web) y el protocolo mediante el que se comunican
(HTTP) están estandarizados y no han de ser creados por el programador de
aplicaciones. (Mora S. L., 2002)
1.1.1. Servicios Web
Las aplicaciones web han sufrido una evolución análoga a la que ya padecieron las
aplicaciones de escritorio que utilizan los recursos propios de cada sistema
operativo para construir su interfaz de usuario. Inicialmente, estas aplicaciones se
ejecutaban en una única máquina, que era además la máquina donde se
almacenaban los datos que manipulaban. Posteriormente, se hicieron populares las
arquitecturas cliente/servidor, en las que la interfaz de usuario de las aplicaciones
de gestión se ejecuta en la máquina del cliente pero los datos se suelen almacenar
en un sistema gestor de bases de datos.
La aplicación cliente se conecta al sistema gestor de bases de datos de forma
similar a como el navegador web accede al servidor HTTP en una aplicación web
como las descritas en el apartado anterior. Finalmente, para determinadas
aplicaciones de gestión se han impuesto las arquitecturas multicapa y el uso de
middleware (por ejemplo, CORBA).
En estas aplicaciones, la máquina cliente sólo ejecuta la interfaz de usuario y la
lógica de la aplicación se ejecuta en un servidor de aplicaciones independiente
tanto de la interfaz de usuario como de la base de datos donde se almacenan los
datos. (Fernando Berzal, Juan Carlos Cubero & Francisco J. Cortijo, 2004)
10
1.1.2. Características de una Aplicación Web
La característica común que comparten todas las aplicaciones web es el hecho de
centralizar el software para facilitar las tareas de mantenimiento y actualización de
grandes sistemas. Es decir, se evita tener copias de nuestras aplicaciones en todos
los puestos de trabajo, lo que puede llegar a convertir en una pesadilla a la hora de
distribuir actualizaciones y garantizar que todos los puestos de trabajo funcionen
correctamente.
Cada vez que un usuario desea acceder a la aplicación web, éste se conecta a un
servidor donde se aloja la aplicación. De esta forma, la actualización de una
aplicación es prácticamente trivial. Simplemente se reemplaza la versión antigua
por la versión nueva en el servidor. A partir de ese momento, todo el mundo utiliza
la versión más reciente de la aplicación sin tener que realizar más esfuerzo que el
de adaptarse a los cambios que se hayan podido producir en su interfaz.
A grandes rasgos, podemos diferenciar dos grandes grupos de aplicaciones web
en función de si la lógica de la aplicación se ejecuta en el cliente o en el servidor.
(Fernando Berzal, Juan Carlos Cubero & Francisco J. Cortijo, 2004)
1.1.2.1. El cliente
En principio, todo el software asociado a una aplicación web se puede desarrollar
de forma que el trabajo lo realice el servidor y el navegador instalado en la máquina
cliente se limite a mostrar páginas HTML generadas en el servidor. De esta forma,
al usuario de la aplicación web le basta con tener instalado cualquier navegador
web.
Las limitaciones del formato HTML para construir interfaces de usuario (algo para lo
que nunca fue diseñado) ha propiciado la aparición de numerosas tecnologías que
permiten ejecutar código en la máquina del cliente, generalmente dentro del propio
navegador web. Con estas tecnologías se consigue mejorar la escalabilidad de las
aplicaciones, ya que se realiza menos trabajo en el servidor y éste puede atender a
más clientes. Por otro lado, se mejora tanto la productividad como la satisfacción
11
del usuario final, al emplear interfaces de usuario más depuradas y fáciles de
manejar.
Finalmente, estas tecnologías permiten conseguir aplicaciones muy atractivas
desde el punto de vista estético. (Fernando Berzal, Juan Carlos Cubero & Francisco J.
Cortijo, 2004)
1.1.2.2. En el servidor
Las tecnologías en el cliente, fundamentalmente, mejorar la interfaz de usuario de
nuestras aplicaciones web en el navegador del cliente, al menos en cierta medida.
Independientemente de que utilicemos o no dichas tecnologías, la funcionalidad de
las aplicaciones web usualmente la tendremos que implementar en el lado del
servidor.
Las aplicaciones que se ejecutan en el servidor pueden recibir información del
cliente de distintas formas. Por ejemplo, los datos recogidos por un formulario
HTML pueden enviarse a los servidores codificados en la propia URL (el
identificador unívoco que aparece en la barra de direcciones del navegador) o
enviarse en la cabecera del mensaje HTTP que se envía automáticamente cuando
el usuario pulsa un botón del formulario. Además, las aplicaciones web pueden
almacenar pequeñas cadenas de texto en el navegador web del cliente para
realizar tareas como el mantenimiento de sesiones del usuario (las famosas
cookies).
Generalmente, las herramientas que utilicemos nos simplificara el acceso a los
datos facilitados desde el cliente. Una vez que se adquieren estos datos, la
aplicación web ha de procesarlos de acuerdo a sus requisitos funcionales, los
cuales pueden involucrar el acceso a bases de datos, el uso de ficheros, el envío
de mensajes a otras máquinas utilizando algún tipo de middleware o, incluso, el
acceso a otros servidores web, posiblemente utilizando los protocolos asociados a
los servicios web.
12
Finalmente, como resultado de la ejecución de la aplicación web, se ha de generar
dinámicamente una respuesta para enviársela al cliente. Dicha respuesta suele ser
un documento en formato HTML, si bien también podemos crear aplicaciones web
que generen imágenes y documentos en cualquier otro formato en función de las
necesidades del usuario. (Fernando Berzal, Juan Carlos Cubero & Francisco J. Cortijo, 2004)
1.1.3. Proceso de Creación y Publicación de Páginas Web
El proceso de creación y publicación de una página web debe pasar por una serie
de fases:
1.1.3.1. Definición de la página:
Toda página web tiene detrás un código fuente que la define. Cuando se accede a
una página web, aunque en el monitor se puedan visualizar documentos con
imágenes y texto de diferentes tamaños, colores y formatos, debe tenerse presente
que detrás de eso hay un documento de texto sin ningún tipo de formato y que
incorpora una serie de instrucciones o comandos que son los que realmente
generan la página que se visualiza.
1.1.3.2. Publicación del documento:
Una vez creado el documento HTML que define la página web, el siguiente paso es
evidentemente publicarla para que esté disponible para el resto de usuarios de
Internet. La publicación implica la transferencia del documento a un equipo servidor
que disponga de un programa de servidor web. Puede optarse por utilizar algún
servidor de alojamiento gratuito de páginas o utilizar los espacios que los
proveedores de acceso a Internet suelen ofrecer a sus clientes.
1.1.3.3. Acceso a las páginas web:
En el momento en que una página es publicada en el servidor, cualquier usuario de
Internet podría acceder a ella. Para ello es preciso, por un lado que el usuario
utilice un programa adecuado (el navegador, explorador o cliente web), y que el
13
código que define la página sea transferido por la red utilizando el protocolo http
(hypertext transfer protocol).
El navegador web es el que se encarga de interpretar los comandos HTML que se
reciben y producir a partir de ellos la página web. Existen diferentes navegadores
web que se pueden utilizar, por ejemplo Chrome, Mozilla.(Cobo Ángel, Gómez Patricia,
Pérez Daniel, 2007)
Una aplicación basada en Web se refiere a cualquier programa que se accede a
través de una conexión de red mediante HTTP, en lugar de ser ejecutado dentro de
cualquier disco. Una aplicación web a menudo se ejecuta dentro de un navegador
Web.
Las aplicaciones web tienen varias ventajas sobre las aplicaciones de escritorio.
Pueden correr dentro de los navegadores web, los desarrolladores no necesitan
desarrollar aplicaciones web para múltiples plataformas. Por ejemplo, una sola
aplicación que se ejecuta en Chrome funcionará en Windows y OS X. Los
desarrolladores no necesitan distribuir actualizaciones de software a los usuarios
porque la aplicación web se actualiza en el servidor, todos los usuarios tienen
acceso a la versión actualizada.
1.2. Metodología de Desarrollo de Software
Una metodología es un conjunto integrado de técnicas y métodos que permite
abordar de forma homogénea y abierta cada una de las actividades del ciclo de
vida de un proyecto de desarrollo. Es un proceso de software detallado y completo.
Las metodologías se basan en una combinación de los modelos de proceso
genéricos (cascada, incremental…). Definen artefactos, roles y actividades, junto
con prácticas y técnicas recomendadas. (Pressman, 2002)
Si esto se aplica a la ingeniería del software, podemos destacar que una
metodología:
Optimiza el proceso y el producto software.
14
Métodos que guían en la planificación y en el desarrollo del software.
Define qué hacer, cómo y cuándo durante todo el desarrollo y mantenimiento
de un proyecto.
Una metodología define una estrategia global para enfrentarse con el proyecto.
Entre los elementos que forman parte de una metodología se pueden destacar:
Fases: tareas a realizar en cada fase.
Productos: E/S de cada fase, documentos.
Procedimientos y herramientas: apoyo a la realización de cada tarea.
Criterios de evaluación: del proceso y del producto. Saber si se han logrado
los objetivos. (INTECO, 2009)
1.2.1. Evolución
El desarrollo de los sistemas tradicionales de ciclo de vida se originó en la década
de 1960 para desarrollar a gran escala funcional de sistemas de negocio en una
época de grandes conglomerados empresariales. La idea principal era continuar el
desarrollo de los sistemas de información en una muy deliberada, estructurada y
metódica, reiterando cada una de las etapas del ciclo de vida.
Los sistemas de información en tomo a las actividades resueltas pesadas para el
procesamiento de datos y rutinas de cálculo. Metodologías de Desarrollo de
Software tiene como objetivo presentar un conjunto de técnicas tradicionales y
modernas de modelamiento de sistemas que permitan desarrollar software de
calidad, incluyendo heurísticas de construcción y criterios de comparación de
modelos de sistemas.
Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño
Orientado a Objetos (UML), sus diagramas, especificación y criterios de aplicación
de las mismas.
Metodologías de desarrollo de software
1970s
15
Programación estructurada sol desde 1969
Programación estructurada Jackson desde 1975
1980s
Structured Systems Analysis and Design Methodology (SSADM) desde 1980
Structurcd Analysis and Dcsign Tcchnique (SADT) desde 1980
Ingeniería de la información (IE/JEM) desde 1981
1990s
Rapid application development (RAD) desde 1991.
Programación orientada a objetos (00P) a lo largo de la década de los 90s
Virtual finito state machinc (VFSM) desde 1990s
Dynamic Systems Development Method desarrollado en UK desde 1995.
Scrum (desarrollo), en la última parte de los 90s
Rational Unified Process (RUP) desde 1999.
Nuevo milenio
Extreme Programming(XP) desde 1999
Enterprise Unified Process (EUP) extensiones RUP desde 2002
Constructionist design mcthodology (CDM) desde 2004 por Kristinn R.
Thórisson
Agite Unified Process (AUP) desde 2005 por Scott Ambler (Pressman, 2002)
1.2.2. Metodologías Tradicionales y Ágiles
Desarrollar un buen software depende de un gran número de actividades y etapas,
donde el impacto de elegir la metodología para un equipo en un determinado
proyecto es trascendental para el éxito del producto.
Según la filosofía de desarrollo se pueden clasificar las metodologías en dos
grupos. Las metodologías tradicionales, que se basan en una fuerte planificación
durante todo el desarrollo, y las metodologías ágiles, en las que el desarrollo de
software es incremental, cooperativo, sencillo y adaptado.
16
1.2.2.1. Metodologías tradicionales
Las metodologías tradicionales son denominadas, a veces, de forma peyorativa,
como metodologías pesadas.
Centran su atención en llevar una documentación exhaustiva de todo el proyecto y
en cumplir con un plan de proyecto, definido todo esto, en la fase inicial del
desarrollo del proyecto.
1.2.2.2. Metodologías ágiles
Este enfoque nace como respuesta a los problemas que puedan ocasionar las
metodologías tradicionales y se basa en dos aspectos fundamentales, retrasar las
decisiones y la planificación adaptativa. Basan su fundamento en la adaptabilidad
de los procesos de desarrollo.
Estas metodologías ponen de relevancia que la capacidad de respuesta a un
cambio es más importante que el seguimiento estricto de un plan. (Pressman, 2002)
En todos los ámbitos de actividad en los que queremos crear algo, se debe seguir
un procedimiento más o menos flexible. Por ejemplo, cuando se cocina una receta,
por lo general se sigue un procedimiento. Algunos realizaran un despliegue
completo antes de iniciar diversas fases de ejecución, mientras que otros iniciarán
la receta primero con los ingredientes.
Este pequeño escenario ilustra lo que las metodologías de desarrollo son, las
cuales se utilizan para estructurar, planificar y mejorar la calidad de un esfuerzo de
desarrollo de software, el uso de una metodología proporciona tiempos de entrega
más cortos y de aplicaciones de mejor valor. La documentación de políticas,
procesos y procedimientos utilizados por un equipo u organización de desarrollo
anticipa a la necesidad de flexibilidad y se aplica un nivel de pragmatismo en la
entrega del producto terminado.
17
1.2.3. Metodología RUP
El proceso unificado Rational (RUP) es un marco de trabajo de proceso de
desarrollo de software iterativo creado por Rational Software Corporation, una
división de IBM desde 2003. RUP no es un proceso preceptivo concreto individual,
sino un marco de trabajo de proceso adaptable, con la idea de ser adaptado por las
organizaciones de desarrollo y los equipos de proyecto de software que
seleccionarán los elementos del proceso que sean apropiados para sus
necesidades.
RUP fue originalmente desarrollado por Rational Software, y ahora disponible
desde IBM. El producto incluye una base de conocimiento con artefactos de
ejemplo y descripciones detalladas para muchos tipos diferentes de actividades.
(INTECO, 2009)
El Proceso Unificado de Rational (RUP) es un ejemplo de un modelo de proceso
moderno que proviene del trabajo en el UML y el asociado Proceso Unificado de
Desarrollo de Software.
El RUP reconoce que los modelos de procesos genéricos presentan un sola
enfoque del proceso. En contraste, el RUP se describe normalmente desde tres
perspectivas:
Una perspectiva dinámica que muestra las fases del modelo sobre el tiempo.
Una perspectiva estática que muestra las actividades del proceso que se
representan.
Una perspectiva práctica que sugiere buenas prácticas a utilizar durante el
proceso.
El RUP es un modelo en fases que identifica cuatro fases diferentes en el
proceso del software. Sin embargo, a diferencia del modelo en cascada donde las
fases se equiparan con las actividades del proceso, las fases en el RUP están
18
mucho más relacionadas con asuntos de negocio más que técnicos (Sommerville,
2005).
Los creadores y desarrolladores del proceso se centraron en el diagnóstico de las
características de diferentes proyectos de software fallidos. De esta forma
intentaron reconocer las causas raíz de tales fallos. También se fijaron en los
procesos de ingeniería del software existentes y sus soluciones para estos
síntomas. (INTECO, 2009)
1.2.3.1. Ciclo de Vida
RUP determina que el ciclo de vida del proyecto consiste en cuatro fases. Estas
fases permiten que el proceso sea presentado a alto nivel de una forma similar a
como sería presentado un proyecto basado en un estilo en cascada, aunque en
esencia la clave del proceso recae en las iteraciones de desarrollo dentro de todas
las fases.
Las cuatro fases en las que divide el ciclo de vida del proyecto son:
Fase de Inicio. El objetivo de la fase de inicio es el de establecer un caso de
negocio para el sistema. Se deben identificar todas las entidades externas
(personas y sistemas) que interactuarán con el sistema y definir estas
interacciones. Esta información se utiliza entonces para evaluar la aportación que
el sistema hace al negocio. Si esta aportación es de poca importancia, se puede
cancelar el proyecto después de esta fase.
Fase de elaboración: Los objetivos de la fase de elaboración son desarrollar una
comprensión del dominio del problema, establecer un marco de trabajo
arquitectónico para el sistema, desarrollar el plan del proyecto e identificar los
riesgos clave del proyecto. Al terminar esta fase, se debe tener un modelo de los
requerimientos del sistema (se especifican los casos de uso UML), una descripción
arquitectónica y un plan de desarrollo del software.
19
Fase de Construcción: La fase de construcción fundamentalmente comprende el
diseño del sistema, la programación y las pruebas. Durante esta fase se
desarrollan e integran las partes del sistema. Al terminar esta fase, debe tener un
sistema software operativo y la documentación correspondiente lista para
entregarla a los usuarios.
Fase de Transición. La fase final del RUP se ocupa de mover el sistema desde la
comunidad de desarrollo a la comunidad del usuario y hacerlo trabajar en un
entorno real. Esto se deja de lado en la mayor parte de los modelos de procesos
del software pero es, en realidad, una actividad de alto costo y a veces
problemática. Al terminar esta fase, se debe tener un sistema software
documentado que funciona correctamente en su entorno operativo. (Sommerville,
2005)
RUP proporciona un prototipo al final de cada iteración.
Dentro de cada iteración, las tareas se categorizan en nueve disciplinas:
Seis disciplinas de ingeniería
Modelaje de negocio
Requisitos
Análisis y diseño
Implementación
Pruebas
Despliegue
Tres disciplinas de soporte
Gestión de la configuración y del cambio
Gestión de proyectos
Entorno
20
La perspectiva práctica en el RUP describe buenas prácticas de la ingeniería del
software que son aconsejables en el desarrollo de sistemas. Se recomiendan seis
buenas prácticas fundamentales:
Desarrolle el software de forma iterativa. Planifique incrementos del sistema
basado en las prioridades del usuario y desarrollo y entregue las
características del sistema de más alta prioridad al inicio del proceso de
desarrollo.
Gestione los requerimientos. Documente explícitamente los requerimientos
del cliente y manténgase al tanto de los cambios de estos requerimientos.
Analice el impacto de los cambios en el sistema antes de aceptarlos.
Utilice arquitecturas basadas en componentes. Estructure la arquitectura del
sistema en componentes.
Modele el software visualmente. Utilice modelos gráficos UML para
presentar vistas estáticas y dinámicas del software.
Verifique la calidad del software. Asegure que el software cumple los
estándares de calidad organizacionales.
Controle los cambios del software. Gestione los cambios del software
usando un sistema de gestión de cambios y procedimientos y herramientas
de gestión de configuraciones. (Sommerville, 2005)
RUP (Rational Unified Process) es una metodología de desarrollo de software
iterativo y adaptativo que es promovida por la Compañía de Rational Software que
ahora es propiedad de IBM.
La metodología RUP se basa en un conjunto de habilidades, escalas de tiempo
donde su objetivo es producir software de alta calidad que cumpla con el plan de
presupuesto del proyecto y el proyecto en sí. Este proceso se divide en cuatro
fases distintas donde se involucra el modelado de negocios, análisis y diseño,
implementación, prueba y despliegue.
21
1.2.4. Lenguaje Unificado de Modelo
1.2.4.1. Concepto.
UML es un lenguaje de modelado, y no un método. La mayor parte de los métodos
consiste, al menos en principio, en un lenguaje y en un proceso para modelar. Los
lenguajes de modelado son, estructuralmente, similares a los de programación.
Así como un lenguaje de programación nos da errores de compilación por no
respetar su sintaxis, lo mismo pasará en el modelado si no respetamos las formas
establecidas. La mayoría de los lenguajes de modelado no se ejecutan, pero es
posible la generación de código a partir de modelos.
El lenguaje de modelado es la notación (principalmente gráfica) de que se valen los
métodos para expresar los diseños. El proceso es la orientación que nos dan sobre
los pasos a seguir para hacer el diseño. (Laurent Debrauwer, Fien van der Heyde, 2005)
1.2.4.2. El origen del UML: Unified Modeling Language
El UML está basado en la orientación a objetos, sistema que vio la luz mucho antes
que el UML en el campo de los lenguajes de programación. Simula, el primer
lenguaje orientado a objetos nació en los años 1960 y conoció numerosos
sucesores: Smalltalk, C++, Java o, más recientemente, C#.
En los años 1980 y principios de 1990, las notaciones gráficas se multiplican y, muy
a menudo, cada uno utiliza su propia notación. En 1994, James Rumbaugh y Grady
Booch deciden unirse para unificar sus notaciones, procedentes de sus respectivos
métodos: OMT para James Rumbaugh y método Booch para Grady Booch. En
1995, Y Jacobson decide unirse al equipo de los "tres amigos". El equipo trabaja
entonces dentro de Rational Software.
La versión 1.0 de UML se publica en 1997. El trabajo de evolución de la notación
empieza a hacerse demasiado voluminoso para sólo tres personas y los tres
amigos solicitan la ayuda del Object Management Group (OMG), un consorcio de
22
más de 800 sociedades y universidades que trabajan en el campo de las
tecnologías del objeto. La OMG adopta la notación UML en noviembre de 1997 en
su versión 1.1 y crea una Task Force encargada de la evolución del UML.
La versión 2.0 constituye la primera evolución importante desde la aparición del
UML en 1997. A ella, se han añadido numerosos diagramas y los diagramas
existentes se han enriquecido con nuevas construcciones. (Laurent Debrauwer, Fien van
der Heyde, 2005)
1.2.4.3. Diagramas del UML
El UML está compuesto por diversos elementos gráficos que se combinan para
conformar diagramas. Debido a que el UML es un lenguaje, cuenta con reglas para
combinar tales elementos. En lugar de indicarle a usted cuáles son los elementos y
las reglas.
La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a
las cuales se les conoce como modelo. El modelo UML de un sistema es similar a
un modelo a escala de un edificio junto con la interpretación del artista del edificio.
Es importante destacar que un modelo UML describe lo que supuestamente hará
un sistema, pero no dice cómo implementar dicho sistema.
Diagramas de clase
Con el nombre de Diagramas de Estructura Estática se engloba tanto al Modelo
Conceptual de la fase de Análisis como al Diagrama de Clases de la fase de
Diseño.
Ambos son distintos conceptualmente, mientras el primero modela elementos del
dominio el segundo presenta los elementos de la solución software.
Sin embargo, ambos comparten la misma notación para los elementos que los
forman (clases y objetos) y las relaciones que existen entre los mismos
(asociaciones).
23
Diagrama de Casos de Uso
Un Diagrama de Casos de Uso muestra la relación entre los actores y los casos de
uso del sistema. Representa la funcionalidad que ofrece el sistema en lo que se
refiere a su interacción externa.
Diagrama de Secuencia
Un diagrama de Secuencia muestra una interacción ordenada según la secuencia
temporal de eventos. En particular, muestra los objetos participantes en la
interacción y los mensajes que intercambian ordenados según su secuencia en el
tiempo.
Diagrama de Colaboración
Un Diagrama de Colaboración muestra una interacción organizada basándose en
los objetos que toman parte en la interacción y los enlaces entre los mismos (en
cuanto a la interacción se refiere).
A diferencia de los Diagramas de Secuencia, los Diagramas de Colaboración
muestran las relaciones entre los roles de los objetos. La secuencia de los
mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente
mediante números de secuencia.
Diagrama de Estados
Un Diagrama de Estados muestra la secuencia de estados por los que pasa un
caso de uso o un objeto a lo largo de su vida, indicando qué eventos hacen que se
pase de un estado a otro y cuáles son las respuestas y acciones que genera.
Diagramas de Componentes
Un diagrama de componentes muestra la organización y las dependencias entre un
conjunto de componentes.
24
Paquetes
La forma que tiene UML de agrupar elementos en subsistemas es a través del uso
de Paquetes, pudiéndose anidar los paquetes formando jerarquías de paquetes.
De hecho un sistema que no tenga necesidad de ser descompuesto en
subsistemas se puede considerar como con un único paquete que lo abarca todo.
(Xavier Ferré Grau, María Isabel Sánchez Segura, 2014)
El Lenguaje de Modelado Unificado es un lenguaje abierto utilizado para
especificar, visualizar, construir y documentar los “planos” de un software orientado
a objetos en su fase de desarrollo organizando el código del programa de forma
más eficiente, los programadores suelen crear "objetos" que son conjuntos de
datos estructurados dentro de los programas. UML se encarga de “graficar” estos
objetos, UML representa una compilación de las "mejores prácticas de ingeniería",
que han demostrado su eficacia en el modelado de sistemas grandes y complejos.
1.3. Herramientas de Desarrollo Web
El desarrollo de aplicaciones para el entorno Internet ha cambiado mucho desde su
aparición hace algunos años. El mundo de la informática avanza rápidamente, y las
necesidades básicas de un sitio Web han cambiado. Al principio, el desarrollo de
páginas Web se limitaba prácticamente al uso del lenguaje de marcado HTML
(lenguaje de marcado de hipertexto), un HTML sencillo basado en la especificación
3.2, sin capas ni estilos, con lo que se obtenían páginas estáticas cuya labor
únicamente era suministrar información personal del autor o de la empresa (de
forma textual o a través de imágenes), pero, sin proporcionar ninguna interacción
con el usuario.
Actualmente, un sitio Web suele soportar la recogida de datos a través de
formularios, inclusiones de archivos (subir ficheros al servidor, como imágenes o
documentos), envío de correos electrónicos, acceso a bases de datos, re-
direccionamiento de acuerdo al perfil del usuario, etc. En definitiva, hoy día, las
25
aplicaciones Web se diseñan con el propósito de suministrar al usuario una serie
de servicios más complejos.
1.3.1. Sitios web Asp.net
ASP.NET es un modelo de desarrollo web unificado creado por Microsoft para el
desarrollo de sitios y aplicaciones web dinámicas con un mínimo de código, forma
parte de .NET Framework que contiene las librerías necesarias para la codificación.
Se pueden usar distintos lenguajes de programación para realizar aplicaciones web
en ASP.NET, pero nos vamos a enfocar en el lenguaje Ci# (C Sharp) el más
utilizado para este tipo de desarrollos.
ASP.NET la solución inicial de Microsoft a la programación Web. Sus siglas se
corresponden con Active Server Pages (Páginas Activas de Servidor), y
funcionaban bajo las versiones del servidor Web de Microsoft, IIS (Internet
Information Server, Servidor de Información de Internet) en sus versiones 3, 4 y 5.
Este sistema se basaba en la ejecución de una serie de lenguajes de script
(principalmente, VBScript y Jscript) embebidos en páginas HTML. La extensión de
estas páginas es .asp (son las comúnmente llamadas páginas ASP, y que aún hoy
siguen utilizándose en la programación de multitud de sitios Web).
Su proceso de desarrollo es relativamente rápido, está integrado con el modelo
COM (Modelo de Objetos Componentes) de Windows y se encuentra muy
extendido (ha sido uno de los más utilizados en los últimos tiempos). Sin embargo,
su modelo de desarrollo es más bien funcional, y no totalmente orientado a
objetos.(Walther, 2002)
1.3.2. Lenguaje C#
C# es el nuevo lenguaje de propósito general diseñado por Microsoft para su
plataforma .NET. Sus principales creadores son Scott Wiltamuth y Anders
Hejlsberg, éste último también conocido por haber sido el diseñador del lenguaje
Turbo Pascal y la herramienta RAD Delphi.
26
La sintaxis y estructuración de C# es muy similar a la C++, ya que la intención de
Microsoft con C# es facilitar la migración de códigos escritos en estos lenguajes a
C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo,
su sencillez y el alto nivel de productividad son equiparables a los de Visual Basic.
Un lenguaje que hubiese sido ideal utilizar para estos menesteres es Java, pero
debido a problemas con la empresa creadora del mismo “Sun”, Microsoft ha tenido
que desarrollar un nuevo lenguaje que añadiese a las ya probadas virtudes de Java
las modificaciones que Microsoft tenía pensado añadirle para mejorarlo aún más y
hacerlo un lenguaje orientado al desarrollo de componentes.
1.3.2.1. Características de C#
Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son
innecesarios en .NET. Por ejemplo:
El código escrito en C# es auto contenido, lo que significa que no necesita
de ficheros adicionales al propio fuente tales como ficheros de cabecera o
ficheros IDL
El tamaño de los tipos de datos básicos es fijo e independiente del
compilador, sistema operativo o máquina para quienes se compile (no como
en C++), lo que facilita la portabilidad del código.
No se incluyen elementos poco útiles de lenguajes como C++ tales como
macros, herencia múltiple o la necesidad de un operador diferente del punto
(.) acceder a miembros de espacios de nombres (::)
Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de
los años ha ido demostrándose son muy útiles para el desarrollo de
aplicaciones y que en otros lenguajes como Java o C++ hay que simular,
como un tipo básico decimal que permita realizar operaciones de alta
precisión con reales de 128 bits (muy útil en el mundo financiero), la
inclusión de una instrucción foreach que permita recorrer colecciones con
facilidad y es ampliable a tipos definidos por el usuario, la inclusión de un
tipo básico string para representar cadenas o la distinción de un tipo bool
específico para representar valores lógicos.
27
Orientación a objetos:
Como todo lenguaje de programación de propósito general actual, C# es un
lenguaje orientado a objetos, aunque eso es más bien una característica del CTS
que de C#. Una diferencia de este enfoque orientado a objetos respecto al de otros
lenguajes como C++ es que el de C# es más puro en tanto que no admiten ni
funciones ni variables globales sino que todo el código y datos han de definirse
dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de
nombres y facilita la legibilidad del código.
En lo referente a la encapsulación es importante señalar que aparte de los típicos
modificadores public, private y protected, C# añade un cuarto modificador llamado
internal, que puede combinarse con protected e indica que al elemento a cuya
definición precede sólo puede accederse desde su mismo ensamblado.
Respecto a la herencia se diferencia de C++ y al igual que Java C# sólo admite
herencia simple de clases ya que la múltiple provoca más quebraderos de cabeza
que facilidades y en la mayoría de los casos su utilidad puede ser simulada con
facilidad mediante herencia múltiple de interfaces. De todos modos, esto vuelve a
ser más bien una característica propia del CTS que de C#.
Orientación a componentes:
La propia sintaxis de C# incluye elementos propios del diseño de componentes que
otros lenguajes tienen que simular mediante construcciones más o menos
complejas. Es decir, la sintaxis de C# permite definir cómodamente propiedades
(similares a campos de acceso controlado), eventos (asociación controlada de
funciones de respuesta a notificaciones) o atributos (información sobre un tipo o
sus miembros)
Versionable:
C# incluye una política de versionado que permite crear nuevas versiones de tipos
sin temor a que la introducción de nuevos miembros provoquen errores difíciles de
28
detectar en tipos hijos previamente desarrollados y ya extendidos con miembros de
igual nombre a los recién introducidos.
Si una clase introduce un nuevo método cuyas redefiniciones deban seguir la regla
de llamar a la versión de su padre en algún punto de su código, difícilmente
seguirían esta regla miembros de su misma signatura definidos en clases hijas
previamente a la definición del mismo en la clase padre; o si introduce un nuevo
campo con el mismo nombre que algún método de una clase hija, la clase hija
dejará de funcionar. Para evitar que esto ocurra, en C# se toman dos medidas:
Se obliga a que toda redefinición deba incluir el modificador override, con lo que la
versión de la clase hija nunca sería considerada como una redefinición de la
versión de miembro en la clase padre ya que no incluiría override. Para evitar que
por accidente un programador incluya este modificador, sólo se permite incluirlo en
miembros que tengan la misma signatura que miembros marcados como
redefinibles mediante el modificador virtual. Así además se evita el error tan
frecuente en Java de creerse haber redefinido un miembro, pues si el miembro con
override no existe en la clase padre se producirá un error de compilación.
Si no se considera redefinición, entonces se considera que lo que se desea es
ocultar el método de la clase padre, de modo que para la clase hija sea como si
nunca hubiese existido. El compilador avisará de esta decisión a través de un
mensaje de aviso que puede suprimirse incluyendo el modificador new en la
definición del miembro en la clase hija para así indicarle explícitamente la intención
de ocultación.
Eficiente:
En principio, en C# todo el código incluye numerosas restricciones para asegurar
su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java,
en C# es posible saltarse dichas restricciones manipulando objetos a través de
punteros. Para ello basta marcar regiones de código como inseguras (modificador
unsafe) y podrán usarse en ellas punteros de forma similar a cómo se hace en
29
C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y
velocidad procesamiento muy grandes.
Compatible:
Para facilitar la migración de programadores, C# no sólo mantiene una sintaxis muy
similar a C, C++ o Java que permite incluir directamente en código escrito en C#
fragmentos de código escrito en estos lenguajes, sino que el CLR también ofrece, a
través de los llamados Platform Invocation Services (PInvoke), la posibilidad de
acceder a código nativo escrito como funciones sueltas no orientadas a objetos
tales como las DLLs de la API Win32.
1.3.2.2. Seguridad
C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos
siempre se realicen correctamente, lo que permite evita que se produzcan errores
difíciles de detectar por acceso a memoria no perteneciente a ningún objeto y es
especialmente necesario en un entorno gestionado por un recolector de basura.
Para ello se toman medidas del tipo:
Sólo se admiten conversiones entre tipos compatibles. Esto es, entre un tipo y
antecesores suyos, entre tipos para los que explícitamente se haya definido un
operador de conversión, y entre un tipo y un tipo hijo suyo del que un objeto del
primero almacenase una referencia del segundo (downcasting) Obviamente, lo
último sólo puede comprobarlo en tiempo de ejecución el CLR y no el compilador,
por lo que en realidad el CLR y el compilador colaboran para asegurar la corrección
de las conversiones.
No se pueden usar variables no inicializadas. El compilador da a los campos un
valor por defecto consistente en ponerlos a cero y controla mediante análisis del
flujo de control de la fuente que no se lea ninguna variable local sin que se le haya
asignado previamente algún valor.
30
Se comprueba que todo acceso a los elementos de una tabla se realice con índices
que se encuentren dentro del rango de la misma.
Se puede controlar la producción de desbordamientos en operaciones aritméticas,
informándose de ello con una excepción cuando ocurra. Sin embargo, para
conseguirse un mayor rendimiento en la aritmética estas comprobaciones no se
hacen por defecto al operar con variables sino sólo con constantes (se pueden
detectar en tiempo de compilación).
Instrucciones seguras: Para evitar errores muy comunes, en C# se han impuesto
una serie de restricciones en el uso de las instrucciones de control más comunes.
Por ejemplo, la guarda de toda condición ha de ser una expresión condicional y no
aritmética, con lo que se evitan errores por confusión del operador de igualdad (==)
con el de asignación (=); y todo caso de un switch ha de terminar en un break o
goto que indique cuál es la siguiente acción a realizar, lo que evita la ejecución
accidental de casos y facilita su reordenación. (González Seco, 2004)
C # es un lenguaje de programación orientada a objetos (POO) para la creación de
aplicaciones de escritorio y el desarrollo Web. C# se especifica como un lenguaje
Common Language Infrastructure (CLI). C# es un lenguaje derivado de C y C++,
pero que fue creado a partir de cero.
Microsoft comenzó con lo que funcionó en C y C ++ y se incluyen nuevas
características que harían idiomas más fáciles de usar. Muchas de estas
características son muy similares a lo que se puede encontrar en Java. En última
instancia, Microsoft tenía una serie de objetivos en la construcción de este
lenguaje. Estos objetivos se pueden resumir en las reivindicaciones Microsoft hace
sobre C#.
C# es simple, ya que se basa en C y C++. Las declaraciones, expresiones,
operadores y otras funciones se toman directamente de C y C++, pero las mejoras
hacen que el lenguaje más sencillo.
31
1.3.3. Entity Framework
1.3.3.1. Concepto.
ADO.NET Entity Framework es un marco de trabajo para la plataforma .NET que
nos permite superponer varias capas de abstracción sobre un almacén relacional
con el fin de hacer posible una programación más conceptual (basada en los
conceptos del dominio con el que se trabaja) y de reducir a una mínima expresión
el desajuste de impedancias causado por las diferencias entre los modelos de
programación relacional y orientado a objetos.
Por una parte, es de destacar que EF es una parte integral de ADO.NET a partir de
.NET Framework 3.5 SP1, lanzamiento de la primera versión, y que en Visual
Studio 2010 ya dispone de la versión 4.1. EF incluye un nuevo proveedor de
ADO.NET, llamado Entity Client, que habilita el acceso a los modelos conceptuales.
Por otra parte, como todo marco de trabajo, EF incluye dos componentes
fundamentales:
Recursos para el entorno de desarrollo y en particular un asistente para el
diseño visual de modelos de entidades dentro de Visual Studio así como la
generación de código a partir de los mismos.
Biblioteca. Los tipos que componen ADO.NET EF se implementan físicamente en
el ensamblado System.Data.Entity. La organización lógica de eso tipos es tal que
todo esto refuerza la idea de la pertenencia de EF a la familia de ADO.NET
1.3.3.2. Entity Data Model
El primero de los elementos fundamentales en la arquitectura de ADO.NET Entity
Framework es el Modelo de Entidades, normalmente conocido como EDM. Este
„diseñador‟ nos permite definir los conjuntos de entidades y relaciones entre las
mismas de nuestros modelos conceptuales, así como especificar de qué manera
32
estos tipos se mapearán a la estructura de la fuente de almacenamiento relacional
subyacente.
Para apoyar a EDM, disponemos de una serie de herramientas integradas dentro
del entorno que nos ayudarán a crear nuestros modelos conceptuales.
Diseñador de modelos EDM (Entity Data Model Designer)
El diseñador de modelos es una herramienta visual integrada dentro de Visual
Studio 2010 que permite crear y editar modelos conceptuales. Este diseñador está
formado por los siguientes componentes:
Una superficie de diseño para crear y editar los modelos de una forma
rápida similar al trabajo con los diagramas de clases de Visual Studio.
Una ventana de “Detalles de mapeo‟, que nos permitirá ver y editar los
mapeos entre los elementos del modelo conceptual y del esquema de la
base de datos con la que estemos trabajando.
Una ventana de “Navegación por el modelo‟, en la cual podremos ver
árboles de información sobre el modelo conceptual y el modelo físico.
Nuevos elementos dentro de la ventana de herramientas, que nos
permitirán, por ejemplo, crear las entidades, las asociaciones o relaciones de
herencia.
El diseñador de modelos opera sobre ficheros de tipo edmx. Estos ficheros se
forman mediante la combinación de tres secciones de metadatos en formato XML
(que en ocasiones pueden presentarse también como ficheros independientes),
llamadas respectivamente SSDL, CSDL y MSL.
SSDL (Storage Schema Definition Language) describe la estructura física de
la base de datos subyacente, incluyendo la definición de las tablas,
columnas, vistas, procedimientos almacenados y relaciones entre los
distintos objetos de la misma.
33
CSDK (Conceptual Schema Definition Language) describe las entidades que
deseamos tener en nuestro modelo conceptual, así como las propiedades de
navegación o asociaciones entre las distintas entidades.
Para terminar, el archivo edmx contiene la sección MSL (Mapping Schema
Language), también conocida como sección C-S, mediante la cual se
especifican cómo se asocian o relacionan las entidades del modelo
conceptual (definido en la sección CSDK) con las tablas, vistas, columnas,
etc. (Zorrilla Castro, 2011)
Do.Net Entity Framework es un framework de mapeo objeto / relacional (ORM) que
permite a los desarrolladores trabajar con bases de datos relacionales. Entity
Framework realiza consultas utilizando LINQ el cual ayuda a recuperar y manipular
datos como objetos de tipo fuerte usando C# o VB.Net. ADO.NET Entity
Framework ayuda al desarrollo de aplicaciones para empresas que usen bases de
datos SQL, así como otras bases de datos como Oracle, DB2, MySQL.
1.3.4. SQL Server 2008 R2
1.3.4.1. Definición
SQL Server es un sistema administrador para bases de datos relacionales basadas
en la arquitectura cliente/servidor. Transact-SQL es el lenguaje que emplea para
mandar peticiones entre el cliente y el servidor. Es un lenguaje exclusivo de SQL
Server, pero basado en el lenguaje SQL estándar, utilizado por casi todos los tipos
de bases de datos relacionales que existen. SQL Server otorga a los
administradores una herramienta potencialmente robusta, provista de las
herramientas suficientes que le permiten mantener un óptimo nivel de seguridad en
la utilización de los recursos del sistema y de la base de datos, que en este camino
van cogidos de la mano.
La finalidad de SQL Server es analizar y administrar datos, dar mayor
escalabilidad, disponibilidad y seguridad a las aplicaciones de análisis y los datos
empresariales y potenciar las aplicaciones dando una mayor prestabilidad.
34
1.3.4.2. Arquitectura de SQL Server
Cada archivo se divide en páginas de 8 Kb numeradas de 0 hasta x, donde x viene
definido por el tamaño del fichero. Acceder a una página: ID de BD, ID de fichero y
número de página. Fichero mdf: punto de comienzo de la Base de datos, en
sysfiles apunta los ficheros que constituyen la Base de Datos y además almacena
las tablas del sistema.
Entorno de desarrollo
El entorno de desarrollo incluye el equipo en el que se desarrollan las aplicaciones.
Este equipo debe tener instalado Microsoft Visual Studio, incluido .NET Compact
Framework, para crear aplicaciones para SQL Server. Puede crear aplicaciones
administradas utilizando Microsoft Visual Basic o C#, o bien puede utilizar Microsoft
Visual C++ for Devices, denominado anteriormente Microsoft eMbedded Visual C++
4.0, para crear aplicaciones nativas.
Entorno de cliente y servidor
En la arquitectura de SQL Server, el entorno de cliente se compone de uno o varios
dispositivos compatibles en los que se implementan la aplicación y SQL Server.
Cuando los dispositivos carecen de conectividad de red, puede utilizar Microsoft
ActiveSync para conectar SQL
Entorno de servidor.
El entorno de servidor está formado por uno o varios equipos en los que se
ejecutan los Servicios de Microsoft Internet Information Server (IIS) y una instancia
de Microsoft SQL Server o datos propagados para un origen de datos heterogéneo.
Puede ejecutar IIS y SQL Server en el mismo equipo o configurarlos en varios
equipos. IIS es necesario para conectarse e intercambiar datos entre servidores y
clientes. (Pérez, 2011)
35
SQL Server es un producto de Microsoft que se utiliza para gestionar y almacenar
información. Técnicamente, SQL Server es un "sistema de gestión de base de
datos relacional" (RDMS). Aparte, este término significa dos cosas. En primer lugar,
que los datos almacenados dentro de SQL Server se encuentra en una "base de
datos relacional", y segundo, que SQL Server es todo un "sistema de gestión", no
sólo una base de datos. Sql Server utiliza el lenguaje SQL que significa Structured
Query Language. Este lenguaje sirve para gestionar y administrar el servidor de
base de datos realizado tareas tales como actualizar datos en una base de datos o
recuperar datos de una base de datos.
1.4. Evaluaciones Académicas
1.4.1. Concepto
La evaluación se puede entender de diversas maneras, dependiendo de las
necesidades, propósitos u objetivos de la institución educativa, tales como: el
control y la medición, el enjuiciamiento de la validez del objetivo, la rendición de
cuentas, por citar algunos propósitos. Desde esta perspectiva se puede determinar
en qué situaciones educativas es pertinente realizar una valoración, una medición o
la combinación de ambas concepciones.
Algunas definiciones presentan una orientación meramente cuantitativa de control y
medición del producto, se pueden concebir como “una fase de control que tiene
como objeto no sólo la revisión de lo realizado sino también el análisis sobre las
causas y razones para determinados resultados y la elaboración de un nuevo plan
en la medida que proporciona antecedentes para el diagnóstico”. (Mora, 2004)
En esencia la evaluación está relacionada con la realización de valoraciones sobre
lo que los estudiantes saben, dominan o expresan, así como con la concepción
sobre el proceso de aprendizaje que los docentes poseen. (RODRÍGUEZ GÓMEZ
GREGORIO, IBARRA SÁIZ Ma. SOLEDAD , 2011)
En educación, la evaluación se refiere a la gran variedad de métodos que los
educadores utilizan para evaluar, medir y documentar la preparación académica y
36
el progreso en el aprendizaje, la adquisición de habilidades de los estudiantes
desde el preescolar hasta la universidad y la vida adulta.
1.4.2. E-Learning
En los comienzos, cuando aún el término e-learning no se había inventado, el
mérito de la formación a través de Internet era lograr sustituir el papel por la
ventana del navegador. Un modo bastante sencillo de transmitir la información a
distancia sin necesidad de grandes costes de edición e impresión.
A medida que hacía aparición, sobre el año 2000, el concepto de e-learning,
muchos eran ya los que opinaban que la formación por Internet debía ser algo más
que reemplazar un formato por otro y empezó a generalizarse la opinión de que el
e-learning debía aportar valor a lo que hasta el momento se había hecho. (Javier
Martínez, Carlos Marcelo, 2006)
Sin duda, el desarrollo de la Web, ha provocado diversos cambios en nuestra
sociedad, que han afectado a la forma de interacción y comunicación a través de la
Red. En el ámbito educativo, el uso de la Red para promover aprendizajes se
materializa en sistemas web educativos que utilizan principalmente Internet como
medio de comunicación para llevar a cabo el "e-learning". E-learning es una
modalidad educativa que está ganando cada vez más adeptos debido a la
multiplicidad de posibilidades para el aprendizaje. Entre sus ventajas se encuentra
la facilidad para gestionar recursos educativos especialmente si éstos son OAs
reutilizables. (MORALES MORGADO, 2010)
1.4.2.1. Valoración de la práctica educativa virtual
En una rápida valoración, quizá un poco interesada pero no falaz puesto que
entendemos que existen otras problemáticas más globales, algunos de los puntos
débiles y que puntos fuertes de la enseñanza superior en línea desde el punto de
vista de los alumnos serían los que exponen a continuación. Así, uno de los puntos
fuertes es la flexibilidad horaria y espacial que asume el tópico de 24x7x365 (24
horas al día, por siete días de la semana, por 365 días del año) de atención al
37
alumno. Esta flexibilidad horaria queda en principio asegurada cuando la
comunicación es asincrónica.
También se considera una ventaja la información que se aporta al alumno en línea
sobre la totalidad de la secuencia didáctica que seguirá en un periodo de tiempo
concreto y necesariamente programado. El alumno tiene que contar con una
perspectiva de todo el proceso formativo de un modo claro que va más allá de la
clase a la que asiste en un momento determinado como puede pasar en muchos
casos en la enseñanza presencial. Por tanto tiene un plan de trabajo, unas guías
de estudio y unos calendarios que le orientan en esta secuencia temporal de
aprendizaje.
Otro de los puntos fuertes es sin duda, el mismo marco en el que se enclava el
proceso de enseñanza y aprendizaje: el ciberespacio, su acceso a él y todo lo que
supone a nivel comunicativo e informativo. (Barberá, 2006)
Aprendizaje, formación o programa de educación por medios electrónicos. E-
learning implica el uso de una computadora o dispositivo electrónico (por ejemplo,
un teléfono móvil, Tablet, etc.) de alguna manera a la formación, la educación o el
aprendizaje de material
El e-learning puede implicar una mayor variedad de equipos de entrenamiento o
educación en línea, por lo que el nombre implica, "en línea" implica el uso de
Internet o de una intranet. CD-ROM y DVD pueden ser utilizados para proporcionar
materiales de aprendizaje. (CastaÑeda Figueiras, 2006)
1.4.3. e-Evaluación
La e-Evaluación como cualquier proceso electrónico de evaluación en el que las
TICs son utilizadas para la presentación de las actividades, las tareas de
evaluación y el registro de las respuestas. La preocupación por la utilización y
desarrollo de la evaluación en la universidad en este nuevo contexto de aprendizaje
mixto marcado por la inexorable necesidad de utilizar las TIC en el proceso
educativo en una sociedad cambiante que exige profesionales capaces de
38
autorregular su propio aprendizaje es el punto de partida de la e-Evaluación
orientada al e-Aprendizaje.
El primer elemento característico de la e-Evaluación orientada al “e-Aprendizaje” se
corresponde con sus finalidades o marco teleológico. De forma sintética podemos
afirmar que son tres las finalidades interrelacionadas que se pretenden desde la e-
EOA:
Valorar el rendimiento: La evaluación en la universidad debe convertirse en una
actividad sistemática destinada a juzgar el trabajo que realizan los estudiantes
durante su proceso de aprendizaje y los resultados obtenidos de su desempeño
para mejorar su desarrollo competencial
Mantener estándares: Cualquier proceso de evaluación tiene dos componentes
esenciales: a) la identificación de los criterios y estándares sobre la base de los
cuales se valorará la calidad del trabajo, el producto o la ejecución objeto de
evaluación; y b) el juicio de valor sobre la medida en que los criterios y estándares
se alcanzan. La evaluación de los aprendizajes en la universidad está basada en la
comparación entre las competencias de los estudiantes y las demandas no sólo
académicas e institucionales, sino también de la futura profesión.
Promover el aprendizaje estratégico: El objetivo de la e-EOA es promover un
tipo de aprendizaje, caracterizado por centrarse en estrategias transferibles que
fomenten el aprendizaje autónomo a lo largo de la vida, la toma de decisiones y la
autoconciencia de las necesidades formativas y la autorregulación del propio
proceso de aprendizaje, lo que podemos conceptualizar como un aprendizaje
estratégico. (RODRÍGUEZ GÓMEZ GREGORIO, IBARRA SÁIZ Ma. SOLEDAD , 2011)
1.4.4. Tipos de e-Evaluación
1.4.4.1. Evaluación automática
La evaluación automática, en el sentido que la tecnología contiene bancos de datos
que se relacionan entre ellos y se pueden ofrecer a los alumnos respuestas y
39
correcciones inmediatas. Las pruebas electrónicas tipo test que incluyen
respuestas correctas ejemplifican este tipo de aportación.
Las ventajas de la evaluación automática son tan evidentes como sus limitaciones
y ambas realidades se manifiestan en las innumerables aplicaciones de este tipo
de evaluación en la red (por ejemplo, MSOR Report, 2003).
La mayor ganancia de esta aportación se refleja en la inmediatez de la
visualización de la respuesta correcta hecho que es muy importante para los
alumnos, pero también para el profesor porque su acción retro-alimentativa
descansa en ella.
La respuesta automática se puede igualar a esa presencia docente en la cual el
profesor válida el contenido de lo que el alumno ha contestado. Y al ser un hecho
automático que conecta de manera inmediata la pregunta con la validez de la
respuesta se trata de una aportación pedagógicamente muy valiosa.
1.4.4.2. Evaluación Enciclopédica
Evaluación de tipo más enciclopédico, en referencia al cúmulo de contenidos que
se manejan de una fuente más compleja o de diferentes fuentes. En este caso la
ejemplificación más clara se refiere a la elaboración de trabajos monográficos de
ensayo sobre una temática
Las ventajas de las prácticas evaluativas que utilizan este enfoque tienen diferente
cariz si se trata de alumnos o de profesores. Por la parte de los alumnos es notorio
que consiguen una considerable ganancia mediante un acceso rápido y
relativamente cómodo a gran cantidad de información diversa de distintas fuentes
en el marco de Internet.
Además esta información está digitalizada por lo que la elaboración de los
documentos evaluativos se puede construir de un modo más sencillo aunque desde
luego esta misma realidad supone otros riesgos.
40
1.4.4.3. Evaluación Colaborativa
Se observa que existe un gran número de trabajos y propuestas que se refieren al
aprendizaje colaborativo desde los inicios de las prácticas educativas formales en
contextos virtuales (CSCL, BSCW, etc.). A pesar de esta presencia la evaluación
colaborativa a penas se ha tratado siendo un campo por explorar (Achtemeier,
Morris y Finnegan).
Como decimos la colaboración educativa virtual se identifica en todas las
plataformas de e-learning: foros, debates, hilos de conversación, etc. Lo que
también sucede es que estos recursos o bien no entran dentro de la actividad
docente principal o bien no se sabe muy bien cómo extraer indicadores para la
evaluación del aprendizaje. No existe discusión sobre las ventajas pedagógicas
que se desprenden de una acción colaborativa en un contexto virtual
adecuadamente guiada en términos sociales y cognitivos al mismo tiempo. Una
ventaja metodológica es que la tecnología nos aporta la posibilidad de no sólo
evaluar el producto colaborativo sino también el proceso.
1.4.5. Reactivos de respuesta estructurada
Son las preguntas en dónde el alumno no tiene que redactar una respuesta. Son
rápidas de contestar, son concretas y permiten una codificación más acertada.
Algunos de estos reactivos son:
1.4.5.1. Preguntas de opción múltiple.
Este tipo de preguntas debe estar formado por una pregunta o enunciado, una
respuesta correcta y de 3 a 5 distractores. Es decir, cada pregunta debe tener entre
3 y 6 opciones de respuesta. Esto con el fin de disminuir el factor “suerte” o
“adivinanza” y promover el verdadero conocimiento.
Si se requiere, incluir una instrucción antes del enunciado o pregunta. Omitir las
formas negativas o absolutas (no, siempre, nunca, completamente). Tanto los
distractores como la respuesta correcta deben pertenecer al mismo campo de
41
conocimiento semántico, grupo o familia. Asimismo, los distractores deberán tener
sentido entre ellos, ser coherentes con la pregunta de manera que tengan lógica
como respuesta y no dejen obvia a la respuesta correcta.
1.4.5.2. Preguntas de respuesta alterna (verdadero o falso).
En este tipo de reactivos, no se debe dejar la respuesta sólo como verdadero o
falso. Lo ideal es pedir al alumno que argumente su respuesta, ya sea en todos los
casos o, al menos, cuando la respuesta sea falsa. De esta manera, se evita que el
alumno “adivine” la respuesta.
1.4.5.3. Relación de conceptos
Buscan una respuesta concreta pero el planteamiento es diferente, se refieren a:
relacionar columnas, relacionar imágenes, ubicación en mapas, completar frases,
sopa de letras, crucigramas, etc. Sirven para evaluar conocimientos de términos,
definiciones, fechas, etc. Y también es un medio para evaluar la habilidad de
relacionar conceptos. Las asociaciones que se establecen deben referirse a un
mismo tema o contenido, evitando confundir al alumno en sus respuestas.
1.4.5.4. Jerarquización u ordenamiento.
En este tipo de reactivos, se busca ordenar de forma lógica una serie de conceptos
o elementos bajo ciertas instrucciones. Están conformados por un enunciado y de
preferencia de 4 a 6 elementos enlistados.
1.4.5.5. Completar
En estos reactivos se presenta una idea o concepto en el cual se ha omitido una
parte que la complementa. Tienden a comprobar la habilidad para recordar
información y para medir la comprensión de ciertos conceptos. La frase o
enunciado a completar deberá ser claro y específico para que la respuesta
correspondiente sea coherente con lo que se pregunte y no se preste a que
escriban una respuesta sin sentido o sin relación al tema a evaluar.
42
1.4.5.6. Gráficas
En el caso de gráficas, se sugiere que en las instrucciones se defina claramente
que debe haber una interpretación y explicación de las mismas, no basta sólo
completarlas. (CastaÑeda Figueiras, 2006)
1.5. Conclusiones Parciales del Capitulo
E-Learning cada vez está ganando más seguidores debido a que ayuda a la
reducción de tiempo en aprendizaje además de la eficacia en mejorar los
conocimientos del estudiante, ya que al administrar recursos educativos de
gran tamaño y que se encuentren disponibles en cualquier momento
asegura que este pueda aprender constantemente.
A sí mismo la e-evaluación toma cada vez más importancia ya que ayuda el
docente a llevar un seguimiento exhaustivo del proceso de formación
del estudiante, las evaluaciones al ser accesibles inmediatamente y en
cualquier lugar el profesor puede constantemente verificar el nivel de
conocimientos de sus estudiantes.
Una metodología que brinda confiabilidad, integridad y estabilidad asegura la
eficacia de un producto software, la metodología RUP además de brindar
estas características ayuda al desarrollador a crear proyectos con riqueza
semántica y la construcción de prototipos que en este proyecto son
fundamentales.
Las aplicaciones web por inmediatez de acceso no necesitan ser instaladas,
configuras o descargadas, estas se pueden acceder desde cualquier parte
del mundo y trabajar sin importar cuál sea la configuración o hardware en
donde se está usando, asimismo las aplicaciones para la web siempre
estarán actualizadas con el último lanzamiento siendo además
multiplataforma.
43
CAPITULO II
2. MARCO METODOLÓGICO
2.1. Caracterización del sector
La Universidad Regional Autónoma de Los Andes -UNIANDES- es un Centro de
Educación Superior, entidad de derecho privado y laico, con personería jurídica y
autonomía administrativa y financiera, que ofrece una formación integral a sus
estudiantes, sin distinción de sexo, raza, religión o política; por lo tanto, el ingreso
de los alumnos depende de sus capacidades intelectuales.
La presencia de UNIANDES se fundamenta en la experiencia de más de 20 años
en la educación privada ecuatoriana de entidades educacionales de los distintos
niveles fundados por profesionales de la educación con una trayectoria de 40 años
en el quehacer educativo y de manera especial en el nivel universitario.
La Universidad Regional Autónoma de Los Andes “UNIANDES” fue creada en
cumplimiento al Art. 7 de la Ley de Universidades y Escuelas Politécnicas del
Ecuador. Se basa en el informe No. 01235 del 10 de octubre de 1996 emitido por el
Consejo Nacional de Universidades y Escuelas Politécnicas CONUEP; en la Ley de
creación de la Universidad expedida por el Congreso Nacional el 9 de enero de
1997 y su publicación en el Registro Oficial No. 07 del 20 de febrero de 1997,
constituyéndose así en Ley de la República. Además por el Estatuto Universitario
aprobado por el CONUEP, según resolución No. 02 del 15 de octubre de 1997 y
sus Reformas, según Of. No. CONESUP.STA del 28 de mayo del 2001; y, por el
Proyecto Sistema de Teleducación autorizado por el CONUEP según resolución
No. 00853 del 23 de septiembre de 1998.
La Universidad Regional Autónoma de Los Andes “UNIANDES” tiene su matriz en
la ciudad de Ambato, sus extensiones funcionan en las ciudades de: Tulcán, Ibarra,
Santo Domingo, Quevedo, Babahoyo, Riobamba y el Puyo.
44
Misión
Somos una Universidad particular, que tiene como propósito formar profesionales
de tercer y cuarto nivel, de investigación, responsables, competitivos, con
conciencia ética y solidaria capaces de contribuir al desarrollo nacional y
democrático, mediante una educación humanista, cultural y científica dirigida a
bachilleres y profesionales nacionales y extranjeros.
Visión
Ser una institución reconocida a nivel nacional e internacional por su calidad,
manteniendo entre sus fortalezas un cuerpo docente de alto nivel académico y un
proceso de formación profesional centrada en el estudiante, acorde con los
avances científicos, tecnológicos, de investigación en vínculo permanente con los
sectores sociales y productivos.
Objetivos
a. Elaborar propuestas académicas flexibles, direccionadas hacia diseños
curriculares por competencias, fundamentadas en el estudio científico de
necesidades sociales y el seguimiento de graduados.
b. Fortalecer la trayectoria histórica y sostenible de la investigación científica y
los proyectos de desarrollos sociales y tecnológicos, mediante una
participación compartida docente-estudiante y la construcción de un
liderazgo comprometido y potenciador de los valores individuales de la
comunidad educativa y de su cultura organizacional, mediante la
correspondencia entre las instigaciones realizadas los requerimientos de la
UNIANDES, el enlomo y la región.
c. Vincular a la Universidad Regional Autónoma de Los Andes con la
colectividad, mediante manifestaciones culturales, servicios sociales y
proyectos que beneficien a todos sus actores.
d. Formar, capacitar, especializar y actualizar a la comunidad universitaria y a
su entorno.
45
Carreras que oferta la universidad.
Facultad de Medicina
Medicina
Odontología
Enfermería
Facultad de Jurisprudencia
Derecho
Faculta de Empresas
Administración de empresas
Empresas Turísticas y Hoteleras
Chefs
Facultad de sistemas mercantiles
Sistemas
Contabilidad superior y auditoria
Facultad de educación y comunicación
Ciencias de la educación
2.2. Descripción del Procedimiento Metodológico
2.2.1. Modalidad de Investigación
La investigación se realizara mediante la modalidad Cuali-Cuantitativo, debido a
que se estudiara la calidad de las actividades, relaciones, asuntos, medios,
materiales o instrumento que se utilizan para la gestión de exámenes y a partir de
esto aplicar los conocimientos informáticos en el desarrollo de una aplicación web
que servirá para automatizar los procesos existentes.
2.2.2. Tipo de Investigación
Los tipos de investigación con los que se utilizaran serán la aplicada, campo y
descriptiva ya que estos nos ayudara a conocer en qué situación se encuentra
actualmente los procesos para tomar exámenes en la universidad además de ser
fundamental y permanente para la ejecución del proyecto como en la elaboración
del informe final. Permitirá conocer la estructura y elementos de varios objetos de
46
estudio en el proyecto, también permitirá emitir juicios de valor y comparaciones
sobre la base de datos y porcentaje que se obtenga en la investigación de campo.
Servirá básicamente para estructurar y crear un tono nuevo, el mismo que será
plasmado en la ingeniería del proyecto; donde se podrá estructurar teóricamente
información científica existente en el medio.
2.2.3. Métodos
Los métodos a utilizar será el método deductivo e inductivo, donde el método
deductivo podremos evidenciarlo en el análisis de los actuales procesos internos
para la toma de exámenes con ello obtener la información necesaria para realizar
un diagnóstico acerca de las deficiencias que se pueden encontrar en este proceso
actualmente utilizado.
En la aplicación del método inductivo podremos obtener de forma general el
proceso que lleva la institución para el ingreso de los estudiantes, como también la
evaluación estudiantil.
2.2.4. Técnicas e Instrumentos
2.2.4.1. Técnicas
Observación Directa.- La técnica con más relevancia en este proyecto
será la observación ya que ayudara a enfocar correctamente los procesos
que se realizaran durante el proyecto además de que ayudara a levantar los
requerimientos para el desarrollo de la aplicación.
Entrevistas.- Con las entrevistas podremos recopilar información mediante
una conversación profesional con los directores de carrera, con la que
además de adquirirse información acerca como se lleva el proceso mediante
la perspectiva de los futuros usuarios, tiene la importancia en los resultados
a lograr.
Cuestionario.- Mediante un cuestionario que previamente deberá se
elaborado, se obtendrá la opinión o valoración de los estudiantes
47
seleccionado en una muestra sobre la creación de esta aplicación.
2.2.4.2. Instrumentos
Guía de entrevista.- útil en el análisis del proyecto para identificar sobre
procesos de análisis de problemas.
Fichas de observación.- complemento del diario de campo, de la entrevista
y ayudara con el primer acercamiento de recolección de datos.
2.2.5. Población y Muestra
Población de estudio Directores de carrera
Jerarquía Unidad de Análisis Numero
Directores de Carrera Carreras: Medicina, Odontología, Enfermería, Derecho, Administración de empresas, Empresas Turísticas y Hoteleras, Chefs, Sistemas, Contabilidad superior y auditoria, Ciencias de la educación
10
Total 10
Tabla 1. Población de estudio Directores de carrera Fuente: Elaborado por el investigador
Tamaño de la Muestra
No se saca una muestra por ser la población pequeña y se trabajará con la
totalidad.
Universo: 10 personas.
Encuesta
Jerarquía Unidad de Análisis Numero
Inscritos Aspirantes a formar parte de la universidad como estudiantes.
742 (periodo octubre-marzo 2015)
Estudiantes Estudiantes matriculados en los dos últimos niveles de estudio.
329 (periodo octubre-marzo 2015)
Total 1071 Tabla 2. Población de estudio estudiantes e inscritos.
Fuente: Elaborado por el investigador
48
Tamaño de la Muestra
Se determinó el tamaño de la muestra utilizando la siguiente fórmula que tiene en
cuenta el tamaño de la población, el nivel de confianza expresado en un coeficiente
de confianza redondeado y el margen de error.
DATOS:
Población (N): 1071 estudiantes.
El número 4: coeficiente de confiabilidad para el 94% de nivel de confianza.
p y q: son las probabilidades de éxito y fracaso que tiene cada integrante de la
población.
E: es el error seleccionado de 5.
Formula:
𝒏 =𝟒(𝟏𝟎𝟕𝟏)(𝟓𝟎)(𝟓𝟎)
𝟓𝟐(𝟏𝟎𝟕𝟏 − 𝟏) + 𝟒(𝟓𝟎)(𝟓𝟎)
𝒏 = 𝟐𝟕𝟏
El tamaño de la muestra de estudiantes es de 271
2.2.6. Tabulación de Resultados
Haciendo uso de las técnicas y herramientas se obtuvo lo siguiente:
Encuesta
Se realizó la encuesta a todos los directores de carrera de la Universidad
Uniandes.
Encuesta a Directores de carrera de la Uniandes
PREGUNTA 1.
¿Cuál es el proceso actual qué lleva usted para tomar exámenes en su carrera?
Respuesta Frecuencia Porcentaje
elaborar las preguntas y respuestas e imprimir
8 80%
Imprimir los exámenes que 2 20%
49
tengo ya realizados
TOTAL 10 100%
Figura 1. Proceso actual para tomar exámenes Fuente: Elaborado por el investigador
Análisis e interpretación
Los directores la mayoría reimprimen los exámenes ya elaborados para evaluar a
los estudiantes, mientras que un porcentaje vuelve a realizar el examen desde
cero.
PREGUNTA 2.
¿Este proceso le parece tedioso y largo?
Respuesta Frecuencia Porcentaje
SI 7 70%
NO 3 30%
TOTAL 10 100%
Figura 2.Proceso tedioso y largo Fuente: Elaborado por el investigador
20%
80%
Elavorar
Imprimir
70%
30%SI
No
50
Análisis e interpretación
De los directores encuestados más de la mitad piensa que el proceso es largo
tornándose tedioso, cansado y que lleva a equivocaciones mientras que otros están
acostumbrado a este proceso.
PREGUNTA 3.
¿Ha tenido errores al calificar los exámenes?
Respuesta Frecuencia Porcentaje
Siempre 2 20%
Casi siempre 2 20%
Algunas veces 4 40%
Rara Vez 11 10%
Ninguna 1 10%
TOTAL 10 100%
Figura 3. Errores al calificar exámenes. Fuente: Elaborado por el investigador
Análisis e interpretación
La mayoría de directores de carrera han tenido errores al calificar los exámenes
mientras que una minoría manifiesta que no
PREGUNTA 4.
El imprimir exámenes para tomar a los estudiantes ¿le toma mucho tiempo y recursos?
Respuesta Frecuencia Porcentaje
SI 8 80%
NO 2 20%
TOTAL 10 100%
Siempre20%
Casi siempre20%
Algunas veces40%
Rara Vez10%
ninguna10%
Siempre
Casi siempre
Algunas veces
Rara Vez
ninguna
51
Figura 4. Tiempo y Recursos
Fuente: Elaborado por el investigador
Análisis e interpretación
de los encuestados pocos piensa que al imprimir los exámenes tiene más control al
momento de tomar los exámenes por eso no le molesta el tiempo que toma ni los
recursos mientras que la mayoría piensa que si pierde tiempo y consume papel que
después no se puede reciclar.
PREGUNTA 5.
¿Le gustaría que este proceso fuera más sencillo y ágil?
Respuesta Frecuencia Porcentaje
SI 8 80%
NO 2 20%
TOTAL 10 100%
Figura 5.Proceso más sencillo y ágil Fuente: Elaborado por el investigador
80%
20%
SI
NO
80%
20%
SI
NO
52
Análisis e interpretación
La mayoría de directores desearía que este proceso fuera más ágil sobre todo para
ahorrar tiempo mientras que unos pocos piensa que por ser un proceso importante
requiere el tiempo que se toma.
PREGUNTA 6.
¿Estaría dispuesta/o a trabajar con aplicaciones que le faciliten estas tareas?
Respuesta Frecuencia Porcentaje
SI 7 70%
NO 3 30%
TOTAL 10 100%
Figura 6.Aplicaciones que faciliten tomar exámenes. Fuente: Elaborado por el investigador.
Análisis e interpretación
La mayoría de encuestados solicita una herramienta para que ayude al proceso
tanto de inscripciones como en evaluación, mientras que el resto no le gusta
manejar computadoras siendo estas personas de mayor edad.
PREGUNTA 7.
¿Qué le gustaría que realice la aplicación entorno a la toma de exámenes?
Respuesta Frecuencia Porcentaje
Reutilizar los exámenes 4 40%
Tomar los exámenes desde la casa del estudiante
4 40%
Obtener la nota al instante 2 20%
TOTAL 10 100%
70%
30%SI
NO
53
Figura 7.Que haría la aplicación
Fuente: Elaborado por el investigador
Análisis e interpretación
Los directores algunos requieren que se pueda reutilizar los exámenes, la mayoría
que se pueda evaluar a los estudiantes desde la casa de estos y el restante que se
pueda obtener la nota al instante.
Encuesta: Se realizó la encuesta a todos los inscritos y estudiantes de las
diferentes carreras de la Universidad Uniandes.
Encuesta Estudiantes e Inscritos a las diferentes carreras de la Uniandes.
PREGUNTA 1.
¿Usted se encuentra actualmente?
Respuesta Frecuencia Porcentaje
Matriculado 198 73%
Inscrito 73 27%
TOTAL 271 100%
Figura 8.Estado de la matricula Fuente: Elaborado por el investigador
16%
42%
42%
Reutilizar losexámenes
Tomar losexámenesdesde la casadel estudiante
198
73
MATRICULADOS INSCRITOS
Matriculados Inscritos
54
Análisis e interpretación
De los encuestados la mayoría son estudiantes matriculados, mientras que el resto
son estudiantes inscritos.
PREGUNTA 2.
¿Cómo le gustaría rendir el examen de ingreso?
Respuesta Frecuencia Porcentaje
En papel 30 11%
En computadora 241 89%
TOTAL 271 100%
Figura 9.Rendir el examen de ingreso Fuente: Elaborado por el investigador
Análisis e interpretación
De los estudiantes encuestados la mayoría prefiere dar los exámenes en
computado mientras que el resto en papel.
PREGUNTA 3.
¿Cómo considera el proceso actual que lleva la universidad para evaluar sus conocimientos?
Respuesta Frecuencia Porcentaje
Anticuado y fácil para la copia 48 17%
Normal 176 65%
Difícil y tedioso 50 18%
TOTAL 271 100%
Figura 10.Proceso actual Fuente: Elaborado por el investigador
11%
89%
En papel
En computadora
Anticuado y fácil para la copia Normal Difícil y tedioso
55
Análisis e interpretación
De todos los estudiantes una minoría cree la metodología actual para tomar
exámenes es anticuado y facilita la copia, la mayoría piensa que es un proceso
normal, y el resto que es difícil y tedioso.
PREGUNTA 4.
¿La nota usted la obtiene?
Respuesta Frecuencia Porcentaje
Después de varios días 213 79%
Después de varias horas 58 21%
Al Instante 0 0%
TOTAL 271 100%
Figura 11.Obtención de nota. Fuente: Elaborado por el investigador
Análisis e interpretación
De todos los estudiantes ninguno ha recibido la nota inmediatamente, una minoría
ha recibido la nota después de varias horas mientras que el restante después de
varios días.
PREGUNTA 5.
¿Le gustaría rendir los exámenes desde una computadora y conocer su resultado automáticamente?
Respuesta Frecuencia Porcentaje
SI 253 93%
NO 18 7%
TOTAL 271 100%
Después de varios días Después de varias horas Al Instante
56
Figura 12.Rendir el examen en una computadora Fuente: Elaborado por el investigador
Análisis e interpretación
De todos los estudiantes encuestados la mayoría le gustaría rendir los exámenes
desde una computadora y conocer el resultado automáticamente, mientras que el
resto no opina igual.
PREGUNTA 6.
¿Le gustaría ensayar para las evaluaciones que va a realizar el CEAACES?
Respuesta Frecuencia Porcentaje
SI 271 100%
NO 0 0%
TOTAL 271 100%
Figura 13.Ensayas Evaluaciones. Fuente: Elaborado por el investigador
Análisis e interpretación
A todos los estudiantes encuestados les gustaría ensayar para las evaluaciones
que va a realizar el Ceaaces.
93%
7%
SI
NO
100%
0%
SI NO
57
PREGUNTA 7.
¿Le gustaría mejorar sus conocimientos mediante evaluaciones que puedan ser rendidas desde su casa?
Respuesta Frecuencia Porcentaje
SI 228 85%
NO 43 15%
TOTAL 271 100%
Figura 14.Rendir exámenes en casa
Fuente: Elaborado por el investigador
Análisis e interpretación
De los estudiante matriculados encuestados a muy pocos no le gustaría mejorar
sus conocimientos rindiendo exámenes desde su casa, mientras la mayoría piensa
que si.
2.3. Propuesta del Investigador
Después de tabular los resultados de la investigación de campo, se propone el
desarrollo de una Aplicación web para la gestión de evaluación académica en la
Universidad Regional Autónoma De Los Andes, el cual supondrá una mejora al
proceso actual que lleva la universidad, ya que los estudiantes se sienten más
cómodos rindiendo los exámenes desde la computadora lo cual conlleva a que este
se sienta más seguro al rendir la pruebas y tiene el beneficio de obtener los
resultados en el mismo instante en el que termina el examen.
85%
15%
SI
NO
58
La propuesta propone la creación de una plataforma que ayude a los directores de
carrera a optimizar el tiempo que se toman en realizar los exámenes de ingreso y
evaluación.
2.4. Conclusiones parciales del capítulo.
El tiempo que los directores de carrera ocupan tanto para la impresión y
creación de los exámenes puede ser utilizado para otras actividades que
desempeñan en la dirección de carrera, con lo cual no solo beneficiaría a
esta sino también a la universidad.
Los estudiantes requieren de una plataforma que les ayude a mejorar su
nivel académico en base a la verificación de su aprendizaje.
Al momento de calificar los directores de carrera tienen un alto grado de
error, además que es un proceso lento y tedioso agregando que Los
estudiantes requiere conocer la nota inmediatamente.
La implementación de una Aplicación web para la gestión de evaluación
académica ayudara a los directores de carrera a mejorar el proceso de
evaluación a los estudiantes que desean ingresar a la universidad y
mejorar los conocimientos de los estudiantes matriculados próximos a
rendir los exámenes del Ceaaces.
59
CAPITULO III
3. MARCO PROPOSITIVO
3.1. Tema
Aplicación web para la gestión de evaluación académica en la Universidad
Regional Autónoma De Los Andes.
3.2. Objetivos
3.2.1. Objetivo General
Desarrollar una aplicación web para la gestión de evaluación académica de la
Universidad Regional Autónoma de los Andes UNIANDES.
3.2.2. Objetivos Específicos
Levantar información de los requerimientos del usuario hacia el desarrollo de
la aplicación web de gestión de evaluación académica.
Definir el estándar de desarrollo y calidad para la aplicación web de gestión
de evaluación académica.
Determinar la arquitectura a utiliza para cumplir correctamente con los
requerimientos de la aplicación web para la gestión de evaluación
académica
Realizar el análisis y diseño de la aplicación web propuesta.
Implementar la aplicación web para la gestión de evaluación académica.
Ejecutar pruebas a la aplicación para asegurar que el comportamiento
requerido sea el correcto y que todo lo solicitado este presente.
3.3. Desarrollo de la Propuesta
3.3.1. Selección de la Metodología de Desarrollo de Software.
La aplicación será desarrollada con la metodología RUP (Proceso Unificado de
Rational) la cual utiliza una implementación del desarrollo en espiral como ciclo de
vida y el lenguaje modelado común: UML. Esta metodología incorpora muchas de
60
las conocidas como “buenas prácticas”, las cuales se deberán tener presentes en
el desarrollo de la aplicación para garantizar el éxito del proyecto.
Gráfico 1. Etapa Ciclo de Vida con la metodología RUP Fuente: Wikipedia
3.3.2. Selección del Proceso de Desarrollo de Software.
Para el desarrollo de esta aplicación se ha seleccionado la arquitectura por capas
específicamente de tres capas, ya que en este patrón de arquitectura su principal
objetivo es la separación de la lógica de negocios de la lógica de diseño.
El desarrollo se puede llevar a cabo en varios niveles y, en caso de que exista
algún cambio, solo se ataca al nivel requerido sin tener que revisar entre código
mezclado, facilitando el mantenimiento de esta así como también su desarrollo.
Como entorno de desarrollo se ha escogido a Visual Studio 2013, lenguaje C# y
Entity Framework con Framework .net 4.0 el cual es una tecnología desarrollada
por Microsoft, que con ayuda de ADO.NET genera un conjunto de objetos que se
encuentran concisamente ligados a una Base de Datos, siendo conveniente para el
desarrollo de este proyecto ya que trabaja en un nivel más alto de abstracción.
61
3.3.3. Modelado de Negocio.
3.3.3.1. Especificación del Proceso de Negocio.
La Universidad Uniandes es un Centro de Educación Superior, que tiene como
propósito formar profesionales de tercer y cuarto nivel, tiene su matriz en la ciudad
de Ambato
Sus extensiones funcionan en las ciudades de:
Tulcán, Ibarra, Santo Domingo, Quevedo, Babahoyo, Riobamba, Puyo.
Elementos Internos
Directores de Carrera: Persona que se encarga de agilizar la gestión de los
diferentes aspectos de la carrera. Su función principal es presidir la Carrera y ser
responsable de su funcionamiento
Asistentes de Carrera: La asistente de carrera debe asistir al Director en la de
terminación de las políticas del área y en la ejecución de los planes, programas y
demás acciones operativas que de aquellas se deriven.
Estudiantes: Persona que cursa estudios en la Universidad.
Elementos Externos
Aspirantes: Personas que pretenden formar parte de la Institución Universitaria
para lo cual deben rendir un examen de ingreso.
3.3.3.2. Modelo de Negocio
A continuación se presenta el modelo de negocio que presenta la Universidad
Uniandes conformado por los siguientes modelos definidos en RUP:
62
Modelo de casos de uso del Negocio
Gráfico 2. Elaboración de Exámenes
Fuente: Creación Propia en base a los Requerimientos
Gráfico 3.Tomar Exámenes de Ingreso
Fuente: Creación Propia en base a los Requerimientos
63
Gráfico 4.Tomar Exámenes a Estudiantes Fuente: Creación Propia en base a los Requerimientos
Modelo del Dominio
Gráfico 5.Modelo del Dominio Fuente: Creación Propia en base a los Requerimientos
64
Modelo del Objeto del Negocio
Elaborar Exámenes
Gráfico 6.Elaborar Exámenes Fuente: Creación Propia en base a los Requerimientos
Asignar Aspirantes a Examen de Ingreso
Gráfico 7.Asignar Aspirantes a Examen de Ingreso
Fuente: Creación Propia en base a los Requerimientos
65
Tomar Examen de Ingreso
Gráfico 8.Tomar Examen de Ingreso Fuente: Creación Propia en base a los Requerimientos
Reportar Calificaciones
Gráfico 9.Reportar Calificaciones Fuente: Creación Propia en base a los Requerimientos
Asignar Examen a Estudiante
Gráfico 10.Asignar Examen a Estudiante Fuente: Creación Propia en base a los Requerimientos
66
Tomar Examen Asignado a Estudiantes
Gráfico 11.Tomar Examen Asignado a Estudiantes
Fuente: Creación Propia en base a los Requerimientos
3.3.4. Especificación de requerimientos de software basado en el estándar
IEEE830
3.3.4.1. Propósito.-
Este documento ha sido redactado con el fin de marcar las pautas generales y las
especificaciones que deberá seguir la aplicación a desarrollar, con el objetivo final
de suplir las necesidades que el cliente ha planteado.
Este documento va dirigido a futuros desarrolladores encargados de la codificación
de la aplicación para ser analizado y aprobado como también al redactor del mismo
con el objetivo de realizar las funciones de desarrollo a partir de las pautas
marcadas en él y en los documentos realizados posteriormente.
3.3.4.2. Ámbito.
Nombre del sistema.
La presente aplicación llevara por nombre: Apptest
67
Funciones:
La aplicación a desarrollar se encargar de gestionar las evaluaciones académicas
en la UNIANDES. La cual estará restringida a las funciones mencionadas a
continuación:
Administración de la aplicación.
La aplicación contara con un área dedicada para la administración en la contendrá
la siguiente funciones.
Para ingresar al área de administración el usuario deberá ingresar el nombre
de usuario y la contraseña.
Existirá dos tipos de roles en esta área: usuario administrador y usuario de
carrera.
El usuario Administrador se le permitirá administrar carreras, niveles,
periodos y matriculas.
La aplicación tendrá un área para la creación de exámenes tipo test de
preguntas cerradas con opción simple y múltiple
La aplicación tendrá un área para la creación de exámenes tipo test de
preguntas cerradas con opción simple con retroalimentación.
Se permitirá la administración de los test
Se podrá asignar a los estudiantes en uno o varios test.
Se permitirá la Administrar las asignaciones.
Se llevara un seguimiento de los estudiantes que se encuentran con un
examen en curso
Deberá emitir listado de los estudiantes con las calificaciones obtenidas.
Deberá emitir los resultados de los estudiantes obtenidos por área.
Deberá emitir el test con las respuestas seleccionadas por los estudiantes.
Deberá emitir un reporte individual de calificaciones obtenidas por el
estudiante en determinado test.
68
Área de acceso a los test
Los estudiantes y aspirantes asignados a los test podrán ingresar al área de
los test mediante un usuario y contraseña
Los aspirantes podrán tomar exámenes para el ingreso a la universidad
Uniandes.
Los estudiantes podrán tomar exámenes para ser evaluados
académicamente.
Los estudiantes podrán acceder a exámenes de repaso y repetirlos cuantas
veces sea necesario,
Los estudiantes podrán acceder a exámenes de repaso con
retroalimentación.
Limitaciones.-
La aplicación no podrá tomar exámenes con preguntas abiertas.
No se encargara de gestionar los aspirantes que puedan rendir o no
exámenes de ingreso.
Beneficios.-
El beneficio principal que brindara esta aplicación será el acceso rápido a los test
además de la obtención inmediata de las calificaciones que obtuvieron los
estudiantes al dar los exámenes como la reutilización de estos.
3.3.4.3. Definiciones, Acrónimos y Abreviaturas
Definiciones.-
Estudiante.- Persona que cursa estudios en un centro docente.
Aspirante.- Persona que aspira a conseguir un puesto,
Test.- Examen escrito o encuesta en que las preguntas se contestan muy
brevemente señalando la solución que se elige de entre varias opciones que
se presentan.
Examen.- Prueba oral o escrita que se realiza para demostrar la suficiencia
en una materia determinada o la aptitud para cierta actividad o cargo.
69
Evaluación.- Valoración de conocimientos, actitud y rendimiento de una
persona o de un servicio
Calificación.- Grado de una escala establecida, expresado mediante una
denominación o una puntuación, que se asigna a una persona para valorar
el nivel de suficiencia o insuficiencia de los conocimientos o formación
mostrados en un examen, un ejercicio o una prueba.
Retroalimentación.- proceso en virtud el cual al realizar una acción, con el
fin de alcanzar un determinado objetivo, se realimenta las acciones previas
de modo que las acciones sucesivas tendrán presente el resultado de
aquellas acciones pasadas.
Acrónimo.
apptest. Aplicación para la gestión de test
Referencias.
La información recabada fue obtenida por los estudiantes y docenes de la
Universidad Uniandes, mismo que se beneficiará de este sistema.
IEEE Recommended Practice for Software Requirements Specification.
ANSI/IEEE Std. 830-1998
3.3.4.4. Descripción General.
Perspectiva del Producto.
La aplicación parte de un sistema independiente, por lo tanto no tiene relación con
algún otro sistema, sin embargo interactuara con la base de datos principal de la
Universidad la cual contiene información de los estudiantes inscritos y
matriculados.
Técnicamente el producto pretende ser escalable de tal manera que permita ser
parte del sistema de gestión estudiantil propio de la Universidad Uniandes así como
también permitir tomar exámenes a estudiantes de otras instituciones.
70
Funciones del Sistema.
En términos generales, la aplicación deberá proporcionar soporte a las siguientes
funciones:
Gestión de roles y usuarios.
Gestión de Estudiantes
Gestión de Matriculas
Gestión de Carreras, Niveles, áreas y periodos
Gestión de Asignaciones al test
Gestión de Test
Tomar exámenes
Gestión de Reportes
Características de los Usuarios.
A continuación se detalla los usuarios que van a utilizar la aplicación
Usuario Descripción Requerimiento
Administrador: Responsable de la admiración y
control de la aplicación en la
universidad.
Tener un conocimiento
medio de computación
Administrador
de Carrera:
Responsable de la admiración y
control de la aplicación de la
carrera.
Tener un conocimiento
medio de computación
Estudiante y
Aspirante:
Usuario básico al cual rendirá los
exámenes en la plataforma.
Conocimiento básico en
computación
Tabla 3. Características de los Usuarios. Fuente: Creación Propia en base a los Requerimientos
Es de destacar la necesidad de una participación activa de los usuarios de la futura
aplicación en las actividades de desarrollo del mismo, con el objeto de conseguir la
máxima adecuación de la aplicación a sus necesidades y facilitar el conocimiento
paulatino, permitiendo una rápida implementación.
71
Restricciones.
Sera desarrollado en Visual Studio 2013, lenguaje c#, .Net Framework 4.0, Entity
Framework 5, Cristal Report 13.0 Para Visual Studio y como servidor de base de
datos SQL server 2008 R2 por lo tanto el servidor de aplicaciones debe tener
preinstalado IIS (Internet Information Services) desde la versión 7 en adelante para
Asp.net 4.0 y Crystal Report runtime para la versión 13 de Crystal Report para que
la aplicación funcione a un 100%
La aplicación está basada en las políticas actuales que lleva la universidad por
tanto un cambio en esta supondrá un impacto sobre la aplicación. Así mismo al
estar conectado con la base de datos central un cambio en esta implicara que la
aplicación sufra inconvenientes.
Suposiciones.
Dentro de las suposiciones y dependencias podemos mencionar.
Se conjetura que los requisitos planteados en el presente documento son
permanentes por lo cual una vez aprobado por la Universidad Uniandes y los
involucrados en el proyecto no serán revocables.
Se ha asumido que los involucrados en el uso de la aplicación son personas
que conocen el funcionamiento de este tipo de herramientas, por lo tanto a la
hora de entregar el mismo se dictara una sola capacitación.
Otra suposición que se ha hecho para la elaboración de este proyecto es
que se utilizaran navegadores conocidos para acceder a la aplicación (Por
ejemplo, Google Chrome, Firefox, IE)
Dependencias.
La aplicación web se comunica con la base de datos central de la Universidad
desde la intranet dependiendo de esta, mas no necesita comunicarse con otros
sistemas externos a la institución, por lo que no hay dependencias respecto de
otros sistemas y recursos.
72
3.3.4.5. Especificación de Requerimientos.
Reportes de Casos de Uso
En el reporte de casos de uso, se definen la mayoría de los requerimientos
funcionales del sistema.
Módulo Casos de Uso
Gestión de roles y usuarios. Crear, Buscar, Modificar, eliminar Rol
Crear, Buscar, Modificar, Eliminar
usuario
Gestión de Estudiantes Buscar, Crear, Modificar, Dar de baja
Estudiante
Gestión de Matriculas Listar, Crear, Modificar, Eliminar
Matricula
Gestión de Carreras, Niveles,
áreas y periodos
Listar, Crear, Modificar, Eliminar
Carreras, Niveles, áreas y periodos
Gestión de Test Listar, Crear, Modificar, Dar de baja
Test
Gestión de Asignaciones al test Buscar, Crear, Modificar, Eliminar
Asignaciones
Tomar Exámenes Tomar exámenes a los estudiantes y
aspirantes
Gestión de Reportes Reporte de notas generales,
exámenes completos, notas por área,
individual de nota obtenida
Tabla 4. Reportes de Casos de Uso. Fuente: Creación Propia en base a los Requerimientos
Requerimientos Funcionales.
Funcionalidad N° 1: Gestión de roles y usuarios.
Descripción: La aplicación podrá administrar la información de roles y usuarios.
Requerimientos.
R1: Para acceder a la aplicación deberá ser por medio de un usuario y contraseña.
R2: La aplicación deberá crear roles que asigne permisos a los usuarios.
73
R3: La aplicación deberá permitir la modificación de roles
R4: La aplicación deberá permitir la eliminación de roles.
R5: la aplicación permitirá Crear un nuevo usuario definiendo el nombre de usuario,
la contraseña, el email, el nombre completo y el rol.
R6: El sistema permitirá Modificar la información del usuario.
R7: la aplicación permitirá Buscar y Listar a todos los usuarios registrados en la
aplicación mediante el nombre de usuario, una vez ejecutado este requerimiento,
el sistema deberá permitir un enlace con los requerimientos R6 y R8.
R8: El sistema permitirá Eliminar los usuarios registrados.
Funcionalidad N° 2: Gestión de Estudiantes.
Descripción: la aplicación deberá permitir la administración de la información de
los estudiantes de la Universidad Uniandes
Requerimientos.
R9: la aplicación deberá registrar a los nuevos estudiantes, se especificara cedula,
nombres, apellidos, email, usuario y contraseña.
R10: la aplicación permitirá editar los datos de los estudiantes.
R11: la aplicación permitirá realizar búsqueda de los estudiantes registrados en la
aplicación mediante cedula, una vez ejecutado este requerimiento, el sistema
deberá permitir un enlace con los requerimientos R10 y R16.
R12: la aplicación deberá permitir dar de baja a los estudiantes en el caso de que
no tengan matriculas registradas sin embargo si las tuviesen, la aplicación deberá
desactivar al estudiante para mantener la integridad referencial.
Funcionalidad N° 3: Gestión de Matriculas.
Descripción: la aplicación deberá permitir la administración de las matrículas de
los estudiantes de la Universidad Uniandes.
Requerimientos.
R13: la aplicación deberá registrar las matrículas de los estudiantes, se
especificara numero matricula, cedula, fecha de matriculación, paralelo, activo,
centro al que pertenece, nivel, periodo, observaciones.
74
R14: la aplicación deberá permitir la edición de los datos de matrícula.
R15: la aplicación deberá permitir eliminar a las matriculas incorrectas.
R16: La aplicación deberá permitir listar las matrículas por estudiante, una vez
ejecutado este requerimiento, la aplicación deberá permitir un enlace a los
requerimientos R14 y R15.
Funcionalidad N° 3: Gestión de Carreras, Niveles, áreas y periodos.
Descripción: la aplicación deberá permitir la administración de Carreras, Niveles,
áreas y periodos.
R17: la aplicación deberá permitir crear un nuevo registro de nivel, se especificara:
Carrera a la que pertenece, nombre del nivel, observaciones y si se encuentra
activo.
R18: la aplicación deberá permitir la edición de los datos del nivel.
R19: La aplicación deberá permitir eliminar niveles.
R20: la aplicación deberá permitir listar los niveles, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R18 y
R19.
R21: la aplicación deberá permitir crear un nuevo registro de periodo, se
especificara fecha de inicio, fecha final, descripción del periodo si se encuentra
activo, especificar si es para postgrado o para pregrado
R22: la aplicación deberá permitir la edición de los datos del periodo.
R23: la aplicación deberá permitir eliminar periodos.
R24: la aplicación deberá permitir listar los periodos, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R22 y
R23.
R25: la aplicación deberá permitir crear un nuevo registro de áreas, se especificara
nombre de área, el estado y a qué carrera pertenece
R26: la aplicación deberá permitir la edición de las áreas del test.
R27: La aplicación deberá permitir eliminar áreas.
R28: la aplicación deberá permitir listar las áreas, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R26 y
R27.
75
R29: la aplicación deberá permitir crear un nuevo registro de carrera, se
especificara nombre de carrera, estado y tipo.
R30: la aplicación deberá permitir la edición de los datos de la carrera.
R31: la aplicación deberá permitir eliminar carreras.
R32: la aplicación deberá permitir listar las carreras, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R30 y
R31.
Funcionalidad N° 6: Gestión de Test
Descripción: la aplicación deberá permitir la administración de test o exámenes.
R33: la aplicación deberá permitir crear un nuevo test o examen, se especificara
nombre del test, área a la que pertenece, estado del test, tiempo de duración.
Fecha de inicio, fecha fin, tipo de test, si el estudiante puede repetir el examen y
una descripción de este, preguntas y respuestas que contiene el test.
R34: la aplicación deberá permitir la edición de los datos del test.
R35: la aplicación deberá permitir dar de baja a los test.
R36: la aplicación deberá permitir listar los test, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R34y
R35.
Funcionalidad N° 7: Gestión de Asignaciones al test
Descripción: la aplicación deberá permitir administrar las asignaciones de test o
exámenes a los estudiantes y aspirantes.
R37: la aplicación deberá permitir asignar test a los estudiantes, se especificara
número de matrícula del estudiante, test que se desea asignar, estado de la
asignación, observación, fecha inicio, fecha fin, si el estudiante puede o no repetir
el examen.
R38: la aplicación deberá permitir la edición de los datos de la asignación.
R39: la aplicación deberá permitir eliminar asignaciones, solo en el caso de que el
estudiante aun no haya rendido el examen.
76
R40: la aplicación deberá permitir listar las asignaciones, una vez ejecutado este
requerimiento, la aplicación deberá permitir un enlace a los requerimientos R38 y
R39.
Funcionalidad N° 8: Tomar Exámenes
Descripción: la aplicación deberá permitir tomar los exámenes asignados a los
estudiantes.
R41: la aplicación deberá guardar el progreso del test del cual el estudiante está
rindiendo, se especificara: número de asignación al test, tiempo faltante para
finalizar el
Test, si el examen está en curso o ha finalizado, fecha del inicio del examen, fecha
en la cual el estudiante finalizo el examen, número de pregunta donde el estudiante
se encuentra y el número de veces que el estudiante ha repetido el examen.
R42: la aplicación deberá permitir editar la información del test en el momento que
el estudiante está rindiendo el examen.
Funcionalidad N° 9: Gestión de Reportes
Descripción: el sistema deberá ser capaz de
R43: el sistema debe emitir reportes de notas generales por test, examen completo
con las respuestas escogidas por el estudiante, calificación global por área y la
nota individual con los datos del estudiante.
Requerimientos de interfaces
Área administrador.
Para acceder a la aplicación se realizara una autenticación con nombres de usuario
y contraseña. La interfaz principal deberá listar todas las funciones que se
describieron en el tema anterior.
Cada funcionalidad será mostrada en un menú principal, con un nombre que
describa su uso en la aplicación, para facilidad de los usuarios. Estas llevaran al
usuario a la administración de cada funcionalidad.
77
Área Estudiante.
La interfaz deberá mostrar los datos básicos del estudiante y los test habilitados por
área, los estudiantes ingresaran a esta parte de la aplicación mediante un usuario y
una contraseña.
Todas las interfaces serán desarrolladas basándose diseño que se muestra en la
Figura.
Gráfico 12.Modelo De Interfaz Fuente: Creación Propia en base a los Requerimientos
En el grafico se puede identificar las áreas estáticas y dinámicas donde las áreas
estáticas permanecerán para todas las páginas, mientras que el área dinámica
estará destinada para cada la edición de cada una de las funciones de la
aplicación.
Requerimientos no Funcionales
La operatividad de la aplicación se detalla en los siguientes requerimientos no
funcionales.
Desempeño
La aplicación garantizara la confiabilidad, seguridad y el desempeño constante a
todos los usuarios que accedan a esta, la información almacenada podrá ser
78
consultada y actualizada permanentemente y simultáneamente, sin que afecte el
tiempo de respuesta. La aplicación ha sido desarrollada para que varios usuarios
interactúen al mismo tiempo, sin que se produzca algún fallo.
Disponibilidad
Ya que la aplicación se encuentra alojada en servidores que se encuentran
conectados a internet, esta estará disponible las 24 horas del día, 7 días a la
semana.
Escalabilidad
La aplicación ha sido construida para permitir el incremento de nuevas
funcionalidades y requerimientos, afectando en el mínimo posible al código
existente.
Facilidad para las Pruebas
La codificación de la aplicación será desarrollada para facilitar la identificación de la
localización de los errores durante la etapa de pruebas,
Flexibilidad
El sistema será diseñado y construido con los mayores niveles de flexibilidad en
cuanto a la parametrización de los tipos de dato, de tal manera que la
administración de esta será realizada por un administrador funcional.
Mantenimiento
La aplicación se desarrollará con estrictos estándares de codificación que
facilitarán su mantenimiento, así como también será debidamente documentado
tanto el código fuente como en los manuales de administración y de usuario.
La aplicación contara con un área de administración de usuarios, de módulos y de
parámetros.
Seguridad
El acceso a la aplicación estará restringido por el uso de claves asignadas a cada
uno de los usuarios. Sólo podrán ingresar a la aplicación las personas que estén
79
registradas, estos usuarios serán clasificados en roles con acceso a las opciones
de menú definidas para cada rol.
Validación de Información
La aplicación validara automáticamente la información contenida en los formularios
de registro tales como obligatoriedad de campo, longitud de caracteres permitidos
por campo y manejo de tipo de datos.
Requerimientos Técnicos
Los requerimientos técnicos necesarios para la aplicación son:
SOFTWARE VERSIÓN DESCRIPCION
Windows Server 2008 R2 Sistema operativo que permite la
administración eficaz de recursos
SQL Server 2008 R2 Motor de base de datos
Microsoft .Net
Framework
4.0 Componentes necesarios para la
ejecución en la arquitectura de
máquina y el sistema operativo de
destino
IIS (Internet
Information
Server)
7.0 Servidor web y un conjunto de
servicios para el sistema operativo
Microsoft Windows
Crystal Report
runtime
13.0 Componentes necesarios para la
ejecución de los reportes
diseñados en Crystal Report.
Tabla 5.Requerimientos Técnicos Fuente: Creación Propia en base a los Requerimientos
Requerimientos de Proceso
El desarrollo de la aplicación será definido por los procesos que emplea la
metodología RUP, este se divide en cuatro fases, las cuales realizan varias
iteraciones en las que se hace mayor hincapié en las distintas actividades.
Los requerimientos de proceso para esta tesis se centraran en la descripción de la
metodología RUP explicados en el capítulo I
80
3.3.5. ANALISIS
3.3.5.1. Diagramas de Casos de uso
Se ha definido los siguientes paquetes para el desarrollo de la aplicación APPTEST
Gráfico 13.Paquetes para la aplicación APPTEST
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Roles y Usuarios.
Gráfico 14. Caso de Uso Gestión de Roles y Usuarios Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
81
Detalle del caso de uso.
Inicio de Sesión.
Nombre: Iniciar Sesión
Actor: Usuarios
Función: Permitir al usuario ingresar al sistema
Descripción: El usuario ingresa el nombre de usuario y contraseña para ingresar a la aplicación con su respectivo rol
Precondiciones: Sesión no iniciada El usuario existe y la cuenta es valida
Postcondiciones: El usuario está conectado al sistema y tiene acceso a sus funcionalidades según su rol.
FLUJO NORMAL
Evento Respuesta del sistema
1. El usuario mediante un navegador web ingresa a la aplicación
2. El sistema despliega la página de inicio de sesión
3. El usuario digita el nombre de usuario y contraseña y valida la identificación
4. El sistema verifica si el nombre de usuario y contraseña son correctos
5. Abre la página principal con las características de administración según su rol.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 3: ingresar al sistema
Si la contraseña no es la establecida, el sistema deberá mostrar un mensaje de error. Se indicará que se vuelva a intentar el acceso hasta un máximo de tres veces, tras lo cual el sistema se bloqueará por seguridad.
Tabla 6.Detalle del caso de uso Inicio de Sesión. Fuente: Creación Propia en base a los Requerimientos
Crear Rol.
Nombre: Crear Rol
Actor: Administrador
Función: Ingresar en el sistema un nuevo Rol.
Descripción: Se registrar en la base de datos un nuevo rol para los usuarios de la aplicación.
Precondiciones: Sesión Iniciada como usuario administrador
Postcondiciones: Rol almacenado en la base de datos. Listar roles almacenados
FLUJO NORMAL
Evento Respuesta del sistema
1. El administrador ingresa al área de gestión de roles y usuarios.
2. Aplicación despliega el área de roles y usuarios.
3. El administrador Solicita a la aplicación la creación de un nuevo rol.
4. Aplicación despliega el formulario para la creación de un nuevo Rol.
5. El administrador ingresa nombre del rol y selecciona las
6. Captura y valida los datos para el nuevo rol.
82
opciones que manejara en el sistema.
7. El administrador ejecuta la función registrar.
8. la aplicación registra los datos y da un mensaje de información que los datos se han ingresado correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 6 Mensaje de error: “El rol no es válido ya se encuentra registrado con ese nombre”
Alterno 8 Mensaje de error “debe escoger que operaciones realizar el usuario con este rol”
Tabla 7. Detalle del caso de uso Crear Rol. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles de caso de usos completos para el Paquete Gestión de Roles y
Usuarios se encuentran detallado en el Anexo I Detalle del caso de uso.
Paquete Gestión de Estudiantes.
Gráfico 15.Caso de uso Gestión de Estudiantes Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Detalle del caso de uso
Registrar Estudiantes.
Nombre: Registrar Estudiantes
Actor: Usuario
Función: Registrar Estudiantes
Descripción: Registrar en la base de datos a los estudiantes de la Uniandes
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes
Postcondiciones: Estudiantes almacenados en la base de datos
Listar estudiantes almacenados
FLUJO NORMAL
Evento Respuesta del sistema
1. El usuario ingresa al área
de gestión de estudiantes
2. Aplicación despliega el área estudiantes.
83
3. El usuario solicita a la
aplicación el registro de
nuevos estudiantes.
4. Aplicación despliega el formulario para el registro de
estudiantes.
5. El usuario selecciona
estudiantes registrados en el
sistema de matrículas de la
universidad filtrados por
periodo, carrera, nivel, paralelo
6. Aplicación despliega listado de estudiantes matriculados en el
sistema principal de la universidad
7. El usuario selecciona
estudiantes que desea
registrar en la base de datos
de la aplicación y ejecuta la
función registrar
8. Aplicación valida los datos, registra los datos: cedula, nombres,
apellido, email, la cedula como nombre de usuario y contraseña de
los nuevos estudiantes y da un mensaje de información que los
datos se han ingresado correctamente.
FLUJO ALTERNATIVO 1
Evento Respuesta del sistema
Alterno 5 Usuario selecciona subir estudiantes por listado
Alterno 6 Aplicación solicita el listado de estudiantes en formato .xlsx
Alterno 7 Usuario selecciona el archivo a subir y ejecuta la función registrar.
Alterno 8 Aplicación captura y valida los datos de los estudiantes y registra
los datos: cedula, nombres, apellido, email, la cedula como
nombre de usuario y contraseña de los nuevos estudiantes y da un
mensaje de información que los datos se han ingresado
correctamente.
FLUJO ALTERNATIVO 2
Evento Respuesta del sistema
Alterno 5 Usuario selecciona registrar un único estudiante
Alterno 6 Aplicación solicita el ingreso de cedula, nombres, apellidos e
email.
Alterno 7 Usuario registra los datos solicitados y ejecuta la función registrar
estudiante
Alterno 8 Aplicación captura y valida los datos de los estudiantes y registra
da un mensaje de información que los datos se han ingresado
correctamente.
Tabla 8. Detalle del caso de uso Registrar Estudiantes.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles del caso de usos completos para el Paquete Gestión de
Estudiantes se encuentran detallado en el Anexo I Detalle del caso de uso.
84
Paquete Gestión de Matriculas.
Gráfico 16.Caso de Uso Gestión de Matriculas Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Detalle del caso de uso
Registrar Matricula.
Nombre: Registrar Matricula
Actor: Usuario
Función: Registrar Matricula
Descripción: Registrar en la base de datos a la matricula que corresponde a cada estudiante de la Uniandes
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes y Matriculas Estudiantes registrados. Niveles registrados. Periodos registrados.
Postcondiciones: Matriculas almacenadas en la base de datos Listar estudiantes matriculados
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario registra a los estudiantes
2. Aplicación despliega formulario para registro de matrículas.
3. Usuario selecciona centro, carrera, periodo, nivel.
4. Aplicación valida datos.
5. Usuario ejecuta la función registrar.
6. Aplicación registra los datos y da un mensaje de información que los datos se han ingresado correctamente
FLUJO ALTERNATIVO 1
Evento Respuesta del sistema
Alterno 6 Aplicación inválida las matriculas repetidas.
Tabla 9. Detalle del caso de uso Registrar Matricula Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
85
Los detalles del caso de usos completos para el Paquete Gestión de
Matriculas se encuentran detallado en el Anexo I Detalle del caso de uso.
Paquete Gestión de Carreras, Niveles, áreas y periodos
Gráfico 17.Caso de Uso Gestión de Carreras, Niveles, áreas y periodos Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar Carreras.
Nombre: Registrar Carreras.
Actor: Administrador
Función: Ingresar en la base de datos una nueva carrera.
Descripción: Se registrara en la base de datos una nueva carrera para la aplicación
Precondiciones: Sesión Iniciada como usuario administrador.
Postcondiciones: Carrera almacenada en la base de datos. Listar carreras almacenadas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y periodos.
86
3. Administrador solicita a la aplicación la creación de un nuevo Carrera.
4. Aplicación despliega el formulario para la creación de una nueva carrera.
5. Administrador ingresa código de carrera, nombre de carrera, estado y tipo.
6. Captura y valida los datos.
7. El administrador ejecuta la función registrar.
8. La aplicación registra los datos y da un mensaje de información que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 8 Mensaje de error “Ingrese el código para la carrera”. Mensaje de error “Ingrese el nombre de la carrera”. Mensaje de error “ingrese si es postgrado o pregrado la carrera”.
Tabla 10. Detalle del caso de uso Registrar Carreras Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles del caso de usos completos para el Paquete Gestión de Carreras,
Niveles, áreas y periodos se encuentran detallado en el Anexo I Detalle del
caso de uso.
Paquete Gestionar Test.
Gráfico 18.Caso de Uso Gestionar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar Test.
Nombre: Registrar Test.
Actor: Usuario
Función: Ingresar en la base de datos un nuevo test.
Descripción: Se registrara en la base de datos un nuevo test o examen
Precondiciones: Sesión Iniciada como usuario con permisos para administrar test.
Carrera registrada en la base de datos.
Área registrada en la base de datos.
87
Archivo con formato pre-establecido creado en Excel con extensión .xlsx
Postcondiciones: Test almacenado en la base de datos.
Listar test almacenados.
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario ingresa al área de
test.
2. Aplicación despliega el área de test.
3. usuario solicita a la
aplicación subir un nuevo
test.
4. Aplicación pregunta cual tipo de test desea crear el usuario.
5. Usuario selecciona el tipo
de test y ejecuta la opción
continuar
6. Aplicación despliega el formulario para subir un nuevo test.
7. usuario selecciona el
archivo con extensión .xlsx
y ejecuta la función subir
test
8. aplicación sube los datos contenidos en el archivo Excel,
captura y valida los datos.
9. El usuario ejecuta la
función continuar.
10. La aplicación despliega el formulario para crear un nuevo test.
11. usuario ingresa datos del
test como nombre del test,
área a la que pertenece,
estado, tiempo de duración
del test, fecha inicio, fecha
fin, si el estudiante puede
repetir el test y descripción.
12. Aplicación captura y valida los datos.
13. Usuario ejecuta la función
registrar test.
14. la aplicación registra los datos y da un mensaje de información
que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 8 Mensaje de error “el test contiene errores por favor revise antes de
continuar”.
Alterno 14 Mensaje de error “ingrese el nombre del test”.
Mensaje de error “ingrese la fecha de inicio y la fecha fin”.
Mensaje de error “seleccione el área del test”.
Tabla 11. Detalle del caso de uso Registrar Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles del caso de usos completos para el Paquete Gestionar Test se
encuentran detallado en el Anexo I Detalle del caso de uso.
88
Paquete Gestionar Asignaciones al Test
Gráfico 19.Caso de Uso Asignaciones al Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar Asignaciones.
Nombre: Registrar asignaciones.
Actor: Usuario
Función: Ingresar en la base de datos asignaciones al test.
Descripción: Se registrara en la base de datos asignaciones de test a los estudiantes.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar asignaciones de test. Estudiantes matriculados.
Postcondiciones: Asignaciones almacenadas en la base de datos. Listar asignaciones almacenadas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario ingresa al área de asignaciones de test.
2. Aplicación despliega el área de asignaciones de test.
3. Usuario solicita a la aplicación asignar test a estudiantes.
4. Aplicación despliega formulario para escoger estudiantes.
5. Usuario busca estudiantes por centro, carrera, nivel y ejecuta la función buscar
6. Aplicación lista a los estudiantes que coincidan con los datos a buscar.
7. Usuario selecciona los estudiantes que desea asignar el test y ejecuta la función continuar.
8. Aplicación despliega el formulario para nuevo registro de asignación de test.
9. Usuario ingresa datos de la asignación al test como test, fecha inicio, fecha fin, si el estudiante puede repetir el test y observación.
10. Aplicación captura y valida los datos.
89
11. Usuario ejecuta la función asignar test.
12. La aplicación registra los datos y da un mensaje de información que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 8 Mensaje de error “por lo menos seleccione un estudiante para asignar al test”.
Alterno 12 Mensaje de error “ingrese la fecha de inicio y la fecha fin”. Mensaje de error “seleccione el test”.
Tabla 12. Detalle del caso de uso Registrar Asignaciones
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles del caso de usos completos para el Paquete Gestionar
Asignaciones al Test se encuentran detallado en el Anexo I Detalle del caso
de uso.
Paquete Tomar Test
Gráfico 20. Caso de Uso Tomar Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Inicio de Sesión.
Nombre: Iniciar Sesión
Actor: estudiante
Función: Permitir al estudiante ingresar a los test
Descripción: El estudiante ingresa el nombre de usuario y contraseña para ingresar a la aplicación.
Precondiciones: Sesión no iniciada El estudiante se encuentra registrado y activo
Postcondiciones: Estudiante ingreso a la plataforma para acceder a los test habilitados.
FLUJO NORMAL
Evento Respuesta del sistema
1. El estudiante mediante un navegador web ingresa a la plataforma
2. la aplicación despliega la página de inicio de sesión
3. el estudiante digita su nombre de usuario y contraseña y valida la identificación
4. la aplicación verifica si el nombre de usuario y contraseña son correctos
90
5. abre la página principal de la plataforma con los datos principales del estudiante.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 3: ingresar al sistema
Si la contraseña no es la establecida, la aplicación deberá mostrar un mensaje de error y se indicará que se vuelva a intentar el acceso.
Tabla 13. Detalle del caso de uso Inicio de Sesión Estudiante.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Escoger examen habilitado
Nombre: Escoger examen habilitado
Actor: Estudiante
Función: Estudiante selecciona examen a tomar.
Descripción: Aplicación lista test habilitados para el estudiante y este escoge uno.
Precondiciones: Sesión Iniciada como estudiante. Test habilitados
Postcondiciones: Test seleccionado.
FLUJO NORMAL
Evento Respuesta del sistema
1. Estudiante ingresa a la plataforma
2. Aplicación devuelve los test habilitados
3. Usuario selecciona test habilitado.
4. La aplicación devuelve datos del test.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 4. Mensaje “No se han registrados asignaciones”.
Tabla 14. Detalle del caso de uso Escoger examen habilitado
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Tomar examen
Nombre: Tomar examen.
Actor: estudiante
Función: Permitir al estudiante tomar examen habilitado.
Descripción: Tomar examen al estudiante
Precondiciones: Sesión Iniciada como estudiante. Haber accedido al test.
Postcondiciones: Test rendido por el estudiante.
FLUJO NORMAL
Evento Respuesta del sistema
1. Estudiantes escoge el test a tomar
2. Aplicación despliega los datos del test escogidos.
91
3. Estudiante ejecuta la función continuar
4. Aplicación despliega el examen o test
5. Usuario responde las preguntas
6. Aplicación almacena las respuestas escogidas, el código del test que está rindiendo, número de asignación, tiempo faltante, el estado del test, fecha que inicio, el número de pregunta en el que el estudiante se encuentra.
7. Estudiante ejecuta la función finalizar al terminar de responder todas las preguntas.
8. Aplicación calcula la nota obtenida por el estudiante, ingresa está en la base de datos así como también la fecha de finalización.
9. Aplicación despliega un mensaje predeterminado por el usuario administrador.
FLUJO ALTERNATIVO 1
Evento Respuesta del sistema
Alterno 2 Aplicación le indica al estudiante que el examen se encuentra en curso por lo tanto tiene la opción de continuar.
Alterno 4 Aplicación carga los datos del test que se encuentra en curso posiciona en la última respuesta seleccionada e indica el tiempo que le falta.
FLUJO ALTERNATIVO 2
Alterno 2 En caso de que el estudiante no tenga habilitado la opción de repetir el examen y este ya haya rendido previamente, la aplicación devolverá un mensaje de alerta indicando que ya ha tomado el examen y no puede volver a rendir.
FLUJO ALTERNO 3
Alterno 7 El tiempo del test ha concluido y el estudiando no ha ejecutado la función finalizar, por lo tanto la aplicación finaliza el test.
FLUJO ALTERNO 4
Alterno 9 La aplicación devuelve la nota obtenida por el estudiante y le muestra las respuestas que ha respondido incorrectamente.
Tabla 15. Detalle del caso de uso Tomar examen
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los detalles del caso de usos completos para el Paquete gestión de reportes
se encuentran detallado en el Anexo I Detalle del caso de uso.
3.3.5.2. Diagrama de Clases.
Diseño: Diagrama de Clases
Para el desarrollo de la aplicación web para la gestión de evaluación académica en
la Universidad Regional Autónoma De Los Andes se define el siguiente diagrama
de clases.
92
Gráfico 21.Diagrama de clases
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
3.3.6. Diseño.
3.3.6.1. Modelo Lógico.
A partir del Diagrama de Clases se crea el modelo lógico que se muestra en el
grafico 21.
93
Gráfico 22. Modelo Lógico Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
94
3.3.6.2. Modelo Físico
Gráfico 23.Modelo Físico Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
3.3.6.3. Diccionario de datos
El diccionario de datos se detalla en el Anexo II Diccionario de datos del presente
trabajo
3.3.6.4. Script Base de datos
El script de la base de datos se detalla en el Anexo III Script Base de datos del
presente trabajo
95
3.3.6.5. Diagramas de secuencia
Paquete Gestión de Roles y Usuarios.
Inicio de Sesión.
Gráfico 24.Diagrama de Secuencia Inicio de Sesión.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Crear Rol.
Gráfico 25.Diagrama de Secuencia Crear Rol. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
96
Los diagramas de secuencia completos para el Paquete Gestión de Roles y
Usuarios se encuentran detallado en el ANEXO IV Diagramas de Secuencia.
Paquete Gestión de Estudiantes
Registrar Estudiantes.
Gráfico 26.Diagrama de Secuencia Registrar Estudiantes.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el Paquete Gestión de
Estudiantes se encuentran detallado en el ANEXO IV Diagramas de
Secuencia.
97
Paquete Gestión de Matriculas.
Registrar Matricula.
Gráfico 27. Diagrama de Secuencia Registrar Matricula. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el Paquete Gestión de
Matriculas se encuentran detallado en el ANEXO IV Diagramas de
Secuencia.
98
Paquete Gestión de Carreras, Niveles, áreas y periodos
Registrar Carreras.
Gráfico 28. Diagrama de Secuencia Registrar Carreras.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el Paquete Gestión de
Carreras, Niveles, áreas y periodos se encuentran detallado en el ANEXO IV
Diagramas de Secuencia.
99
Paquete Gestionar Test.
Registrar Test.
Gráfico 29. Diagrama de Secuencia Registrar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el Paquete Gestionar Test se
encuentran detallado en el ANEXO IV Diagramas de Secuencia.
100
Paquete Gestionar Asignaciones al Test
Registrar Asignaciones.
Gráfico 30.Diagrama de Secuencia Registrar Asignaciones.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el paquete Gestionar
Asignaciones al Test se encuentran detallado en el ANEXO IV Diagramas de
Secuencia.
101
Paquete Tomar Test
Inicio de Sesión Estudiante.
Gráfico 31. Diagrama de Secuencia Inicio de Sesión Estudiante.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Escoger examen habilitado
Gráfico 32. Diagrama de Secuencia Escoger examen habilitado. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
102
Tomar examen
Gráfico 33. Diagrama de Secuencia Tomar examen.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Los diagramas de secuencia completos para el paquete Gestión de Reportes
se encuentran detallado en el ANEXO IV Diagramas de Secuencia.
3.3.6.6. Diseño De La Interfaz De Usuario
Inicio de Sesión
Gráfico 34.Diseño Inicio de sesión Administración Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
103
Menú Principal
Gráfico 35.Diseño Menú principal Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
El diseño de la interfaz completa se detalla en el ANEXO V Diseño de La
Interfaz de Usuario del presente trabajo
3.3.6.7. Codificación
Inicio de Sesión
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) return; Session.Clear(); Session.Abandon(); } protected void Button1_Click(object sender, EventArgs e) { ErrorMessage.Visible = true; string idcentro, idcarrera; try { Rol_Usuarios ru = new Rol_Usuarios(); ru.Usuario = login_username.Value; ru.contraseña = login_password.Value; usuariosBL ubl = new usuariosBL(); if (ubl.VerifyUser(ru))
104
{ Session["usuario"] = login_username.Value; Rol_roles rr = new Rol_roles(); rr = ubl.RolUsuario(login_username.Value); Session["idcentro"] = rr.idcentro; Session["idcarrera"] = rr.idcarrera; Response.Redirect("~/frm_home.aspx", true); } else { ErrorMessage.Text = "Usuario o Claves Incorrectas"; } } catch { ErrorMessage.Text = "Error de Conexion"; } }
La Codificación completa se detalla en el ANEXO VI Codificación del
presente trabajo
3.3.7. Implementación
3.3.7.1. Diagrama de Despliegue
El siguiente diagrama muestra la vista del hardware de la aplicación, donde
presenta la conexión con los diferentes nodos además de mostrar cómo será
implementada la aplicación.
Gráfico 36.Diagrama de Despliegue Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
105
3.3.7.2. Diagramas de Componentes:
Los Diagramas de Componentes muestra la disposición de las partes integrantes
de la aplicación.
Gráfico 37.Diagramas de Componentes Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
3.3.7.3. Requisitos
Requisitos de Hardware
Para el correcto funcionamiento de la aplicación apptest los requisitos
recomendados para los servidores son:
Servidor de aplicaciones
Disponer de 5 Gb de espacio libre en el Disco Duro
Disponer mínimo de 2 Gb de memoria RAM
Procesador Core I5.
Servidor de base de datos
Disponer de 5 Gb de espacio libre en el Disco Duro
Disponer mínimo de 4 Gb de memoria RAM
Procesador Core I7.
106
Equipos cliente:
Dispones Mínimo de 1Gb de memoria RAM
Requisitos de software
Los servidores deberán reunir los siguientes requisitos de software:
Internet Information 7.5
.Net Framework 4.0
Entity Framework 5,
Runtime de Cristal Report 13.0
SQL server 2008 R2.
Los equipos cliente deberán reunir el siguiente requisito de software:
Navegador Web Mozilla Firefox v 30.0 o superior, Internet Explorer v 10.0 o
superior, Google Chrome v 35.0 o superior.
Plan de Instalación
Para la instalación inicial del sistema en el equipo servidor se seguirán los
siguientes pasos:
En el servidor de aplicaciones.
1. Tener instalado el sistema operativo Windows server.
2. Instalar el servidor de aplicaciones IIS 7.5
3. Instalar .Net Framework 4.0 y Entity Framework.
4. Instalar el Runtime de Cristal Report 13.0
5. Publicar la aplicación.
En el servidor de base de datos.
1. Tener instalado el sistema operativo Windows Server.
2. Instalar SQL server 2008 R2.
3. Realizar la restauración de la base de datos.
107
3.3.8. Pruebas
En la etapa de pruebas del software se realiza la comprobación del
funcionamiento de la aplicación, en la cual involucra la generación de casos de
pruebas, la ejecución de la aplicación contra estos casos de prueba permitirá la
observación del comportamiento del sistema con lo cual se determinara su
rendimiento y fiabilidad, las cuales aseguraran que el software cumple con lo
estipulado en la especificación de requerimientos.
Los usuarios de la aplicación serán los encargados de seguir los procedimientos y
utilizar los datos de entradas definidas para cada caso de prueba, especificaran
una observación para cada caso describiendo los resultados obtenidos.
3.3.8.1. Pruebas de Caja Blanca
En esta prueba se ejecutaran varias verificaciones al código de la aplicación
apptest, en las cuales se analizara que los caminos que genera la aplicación sean
los esperados, se probara que en cada uno de los controles, bucles como en las
condiciones, validaciones se estén efectuando correctamente, siguiendo el
procedimiento en cada uno de los comandos del SQL server, con su respectivo
resultado en la base de datos.
3.3.8.2. Pruebas de Caja Negra
El objetivo de esta prueba es encontrar funciones incorrectas o ausentes, errores
de interfaz, errores en estructuras de datos o en accesos a las Bases de Datos y
errores de rendimiento.Siendo así se procederá a realizar el seguimiento paso a
paso de Las funciones del software y que estas sean operativas, La entrada se
acepta de forma correcta, Se produce una salida correcta y si la integridad de la
información externa se mantiene
3.3.8.3. Pruebas de Usabilidad
Estas pruebas serán ejecutadas por el administrador general y los usuarios del
área administrativa, quienes serán los encargados del manejo de la aplicación.
Este tipo de prueba es fundamental, ya que le permitirá saber si la información
108
está bien estructurada y si generará una experiencia positiva al usuario en cada
visita. Al realizar esta prueba se evaluara la navegabilidad, arquitectura de la
información, entradas y datos, formularios, credibilidad y confianza de la
aplicación.
3.3.8.4. Pruebas De Validación
La aplicación será probada en un entorno que permite validar la funcionalidad del
mismo, en las cuales se realizara La validación del software mediante una serie
de pruebas que demuestren que se cumple los requisitos aplicando un plan de
prueba, logrando satisfacer las metas planteadas al inicio del proyecto en un
mayoritario porcentaje.
El certificado de la Institución que valida el funcionamiento de la aplicación
con los requerimientos acopiados en su fase correspondiente se encuentra
en el ANEXO VI Certificado de Validación de la Institución
CONCLUSIONES
Como resultado del desarrollo del presente proyecto se han obtenido las
siguientes conclusiones:
El surgimiento de la educación virtual (e-learning) ha llevado a la
comunidad universitaria a optar por nuevos mecanismos de enseñanza y
evaluación, que apunten a una educación más individualizada y
personalizado en función de características tanto pedagógicas como
tecnológicas, que a la par de las encuestas y entrevistas realizadas a los
directores de carrera y estudiantes que solicitaban la implementación de
una aplicación como estas, la universidad precisaba de una nueva
alternativa para evaluación académica.
Con la implementación de la aplicación Apptest se buscó el mejoramiento
del proceso de evaluación que llevaba anteriormente la universidad
109
Uniandes a nivel nacional, no solo para la obtención ágil de resultados de
los estudiantes, sino también para la mejora de la calidad educativa de
esta.
El desarrollo eficaz de esta aplicación se debió a la utilización de una
metodología orientada a objetos, el cual permitió establecer parámetros
funcionales para la aplicación y facilitar su construcción debido a que esta
metodología se basa en fases y estándares.
La aplicación ha permitido automatizar el proceso de ingreso de los nuevos
estudiantes a la universidad, facilitando a los directores de carrera en la
obtención de notas y la emisión de estos ya que se obtiene
inmediatamente.
RECOMENDACIONES
Se recomienda el uso de otras aplicaciones e-learning que complementen
al propuesto en este proyecto, ya que esto proporcionara apoyo a las
diferentes modalidades de formación además de ayudar al estudiante al
obtener mayor razonamiento crítico y menor miedo al error.
La implementación de la aplicación siempre se deberá realizar respetando
los parámetros establecidos en el presente proyecto, ya que esto
asegurara el correcto funcionamiento de la aplicación.
El uso del área administraba de la aplicación debe ser manejada por una
persona que tenga conocimientos medios en informática y haya utilizado
aplicaciones similares apoyándose en el manual de la aplicación
entregado.
La metodología empleada permitirá ampliar la aplicación, por lo tanto es
prescindible que para el desarrollo de nuevas funcionalidad se emplee el
mismo proceso.
110
Para los futuros usuarios se recomienda una capacitación continua y
permanente además de un mantenimiento a la base de datos.
BIBLIOGRAFIA
• Barberá, E. (2006). RED. Revista de Educación a Distancia. RED.
Revista de Educación a Distancia, 13.
• Berzal, F., Cortijo, F., & Cubero, J. (2004). Desarrollo Profesional de
Aplicaciones Web con Asp.net.
• Castañeda Figueiras, S. (2006). Evaluación Del Aprendizaje en El Nivel
Universitario. Elaboración. México: UNAM.
• Cobo Ángel, Gómez Patricia, Pérez Daniel. (2007). PHP y MySQL:
tecnologías para el desarrollo de aplicaciones web. Ediciones Díaz de
Santos.
• Fernando Berzal, Juan Carlos Cubero & Francisco J. Cortijo. (2004).
Desarrollo Profesional de Aplicaciones Web con ASP.NET.
• González Seco, J. A. (s.f.). El lenguaje de programación C#.
• INTECO. (2009). Ingeniería Del Software: Metodologías Y Ciclos De
Vida. Madrid: Laboratorio Nacional de Calidad del Software de INTECO.
• Javier Martínez, Carlos Marcelo. (2006). PRÁCTICAS DE E-
LEARNING. Barcelona: OCTAEDRO.
• Laurent Debrauwer, Fien van der Heyde. (2005). UML 2: Iniciación,
Ejemplos Y Ejercicios Corregidos. Ediciones ENI.
• Luján Mora, S. (2004). Programación de Aplicaciones Web. San
Vicente: Club Universario.
• Mora, A. I. (2004). La Evaluación Educativa: Concepto, Períodos y
Modelos.
• Mora, S. L. (2002). Programación de aplicaciones web: historia,
principios básicos y clientes web. Club Universitario.
• MORALES MORGADO, E. M. (2010). Gestión del conocimiento en
sistemas de e-learning, basado en objetos de aprendizaje. Madrid.
• Pérez, M. (2011). SQL Server 2008 R2: motor de base de datos y
administración. RC Libros.
• Pressman, R. S. (2002). Ingeniería del software: un enfoque práctico.
Madrid: McGRAW-HIL.
• Rodríguez Gómez Gregorio, Ibarra Saiz Ma. Soledad. (2011). e-
Evaluación Orientada Al e-Aprendizaje En la Educación Superior.
Madrid: Universitaria.
• Sommerville, I. (2005). Ingeniería del software. Pearson.
• Walther, S. (2002). ASP.NET Kick Start. Sams Publishing.
• Xavier Ferré Grau, María Isabel Sánchez Segura. (2014). Desarrollo
Orientado a Objetos con UML. Facultad de Informática – UPM.
• Zamora, M. (12 de Octubre de 2012). Desarrollo profesional de
aplicaciones web.
• Zorrilla Castro, U. (2011). ADO.NET Entity Framework 4.1 Aplicaciones
y servicios centrados en datos. Krasis Consulting.
ANEXOS
Anexos I Detalle del caso de uso.
Paquete Gestión de Roles y Usuarios.
Buscar Rol
Nombre: Buscar Rol
Actor: Administrador
Función: Listar los roles ingresados y buscar uno de ellos.
Descripción: Listar los roles ingresados en la base de datos, buscar rol mediante nombre del rol.
Precondiciones: Sesión Iniciada como usuario administrador Exista el rol a ser buscado.
Postcondiciones: Realizar la búsqueda del rol en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de roles y usuarios.
2. Aplicación despliega el área de roles y usuarios.
3. Aplicación despliega las roles ingresados
4. Administrador ingresa el nombre del rol ejecuta la función buscar.
5. La aplicación devuelve los datos del rol que se solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 3. Mensaje “No se ha ingresado roles”.
Alterno 5. Al no existir datos del rol buscado la aplicación devolverá el mensaje de error “Rol no encontrado”.
Tabla. Detalle del caso de uso Buscar Rol Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Rol
Nombre: Modificar Rol
Actor: Administrador
Función: Editar o Actualizar datos del rol
Descripción: Editar los datos del rol ingresados en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador
Buscar datos del rol a modificar.
Postcondiciones: Datos del Rol modificados.
Listar roles almacenados
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos del rol a modificar.
2. Aplicación devuelve los datos del rol.
3. Administrador Solicita a la aplicación la modificación del rol.
4. Aplicación despliega el formulario para la edición del Rol con los datos de este precargados.
5. Administrador modifica datos del rol permitidos
6. Captura y valida los datos para el nuevo rol.
7. El administrador ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6 Mensaje de error: “El rol no es válido ya se encuentra registrado
con ese nombre”.
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “debe escoger que operaciones realizar el
usuario con este rol”.
Tabla. Detalle del caso de uso Modificar Rol. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Rol
Nombre: Eliminar Rol
Actor: Administrador
Función: Eliminación del rol.
Descripción: Eliminar el rol seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador
Buscar rol a eliminar.
Postcondiciones: Rol eliminado de la base de datos.
Listar roles almacenados.
FLUJO NORMAL
Evento Respuesta del sistema
1. administrador busca rol a eliminar.
2. Aplicación devuelve los datos del rol.
3. administrador Solicita a la aplicación la eliminación del rol.
4. Aplicación verifica sí el rol no tiene usuarios asociados a este.
5. Aplicación eliminar el rol y muestra un mensaje de información “Rol eliminado correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6. Mensaje de error “El rol tiene usuarios asociados a este”.
Tabla. Detalle del caso de uso Eliminar Rol Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Crear Usuario.
Nombre: Crear Usuario
Actor: Administrador
Función: Ingresar en el sistema un nuevo Usuario.
Descripción: Se registrar en la base de datos un nuevo usuario para la aplicación en el área
de administración.
Precondiciones: Sesión Iniciada como usuario administrador.
Rol existente.
Postcondiciones: Usuario almacenado en la base de datos.
Listar usuarios almacenados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de roles y usuarios.
2. Aplicación despliega el área de roles y usuarios.
3. Administrador Solicita a la
aplicación la creación de un
nuevo Usuario.
4. Aplicación despliega el formulario para la creación de un nuevo
usuario.
5. Administrador ingresa
nombre usuario, contraseña,
repetir contraseña, estado y
selecciona el rol.
6. Captura y valida los datos y añade la fecha actual como fecha
de registro para el nuevo usuario.
7. El administrador ejecuta la
función registrar.
8. la aplicación registra los datos y da un mensaje de información
que los datos se han ingresado correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6 Mensaje de error: “El nombre de usuario no es válido ya se
encuentra registrado con ese nombre”
Mensaje de error: “La contraseña debe cumplir parámetros de
seguridad”
Mensaje de error: “Las contraseñas debe ser iguales”
Alterno 8 Mensaje de error “Ingrese datos de nombre de usuario”
Mensaje de error “Ingrese datos de contraseña”
Mensaje de error “seleccione un rol”
Tabla.Detalle del caso de uso Crear Usuario. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Usuario
Nombre: Buscar Rol
Actor: Administrador
Función: Listar los usuarios ingresados y buscar uno de ellos.
Descripción: Listar los usuarios ingresados en la base de datos, buscar usuario mediante
nombre del usuario.
Precondiciones: Sesión Iniciada como usuario administrador.
Exista el usuario a ser buscado.
Postcondiciones: Realizar la búsqueda del usuario en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de roles y usuarios.
2. Aplicación despliega el área de roles y usuarios.
3. Aplicación despliega los usuarios ingresados.
4. Administrador ingresa el nombre del usuario y ejecuta la función buscar.
5. La aplicación devuelve los datos del usuario que solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 3. Mensaje “No se ha ingresado usuarios”.
Alterno 5. Al no existir datos del usuario buscado la aplicación devolverá el
mensaje de error “Usuario no encontrado”.
Tabla.Detalle del caso de uso Buscar Usuario. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Usuario
Nombre: Modificar Usuario
Actor: Administrador
Función: Editar o Actualizar datos del usuario
Descripción: Editar los datos del usuario ingresado en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar datos del usuario a modificar.
Postcondiciones: Datos del usuario modificados.
Listar Usuarios registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos del usuario a modificar.
2. Aplicación devuelve los datos del usuario.
3. Administrador Solicita a la aplicación la modificación de los datos del usuario.
4. Aplicación despliega el formulario para la edición del usuario con los datos de este precargados.
5. Administrador modifica los datos del usuario permitidos
6. Captura y valida los datos para el nuevo rol.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6 Mensaje de error: “La contraseña debe cumplir parámetros de
seguridad”
Mensaje de error: “Las contraseñas debe ser iguales”
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “Ingrese datos de contraseña”
Mensaje de error “seleccione un rol”
Tabla. Detalle del caso de uso Modificar Usuario. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Usuario
Nombre: Eliminar Usuario
Actor: Administrador
Función: Eliminación del usuario.
Descripción: Eliminar usuario seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar usuario a eliminar.
Postcondiciones: Usuario eliminado de la base de datos.
Listar Usuarios registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca nombre de usuario a eliminar.
2. Aplicación devuelve los datos del usuario.
3. Administrador Solicita a la aplicación la eliminación del usuario.
4. Aplicación elimina el usuario y muestra un mensaje de información “Usuario eliminado correctamente”.
5. Aplicación modifica la fecha de baja del usuario.
Tabla. Detalle del caso de uso Eliminar Usuario. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Estudiantes.
Buscar Estudiante
Nombre: Buscar Estudiante
Actor: Usuario
Función: Listar los estudiantes ingresados y buscar uno de ellos.
Descripción: Listar los estudiantes ingresados en la base de datos y buscar estudiante
mediante cedula.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes
Exista el estudiante a ser buscado.
Postcondiciones: Realizar la búsqueda del estudiante en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario ingresa al área de gestión de estudiantes
2. Aplicación despliega el área estudiantes.
3. Usuario filtra la búsqueda por centro, carrera, periodo, nivel.
4. Aplicación despliega listado de los estudiantes registrados con los datos que coincidan con el filtro.
5. usuario ingresa la cedula del estudiante y ejecuta la función buscar.
6. La aplicación devuelve los datos del estudiante que se solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado estudiantes”.
Alterno 6. Al no existir datos del estudiante buscado la aplicación devolverá
el mensaje de error “estudiante no encontrado”.
Tabla16. Detalle del caso de uso Buscar Estudiante. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Estudiante
Nombre: Modificar Estudiante
Actor: usuario
Función: Editar o Actualizar datos del estudiante
Descripción: Editar los datos del estudiante ingresado en la base de datos.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes
Buscar datos del estudiante a modificar.
Postcondiciones: Datos del estudiante modificados.
Listar estudiantes almacenados
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca datos del estudiante a modificar.
2. Aplicación devuelve los datos del estudiante.
3. Usuario solicita a la aplicación la modificación del estudiante.
4. Aplicación despliega el formulario para la edición del estudiante con los datos de este precargados.
5. Usuario modifica datos del estudiante permitidos
6. Captura los datos del estudiante.
7. Usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El usuario decide cancelar la actualización y se desechan los
datos digitados.
Mensaje de error “Debe ingresar nombre del estudiante”.
Mensaje de error “Debe ingresar apellidos del estudiante”.
Tabla. Detalle del caso de uso Modificar Estudiante. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Estudiante
Nombre: Eliminar Estudiante
Actor: Usuario.
Función: Eliminación del Estudiante.
Descripción: Eliminar el estudiante seleccionado de la base de datos.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes
Buscar estudiante a eliminar.
Postcondiciones: Estudiante eliminado de la base de datos.
Listar estudiantes almacenados
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario busca estudiante a eliminar.
2. Aplicación devuelve los datos del estudiante.
3. usuario Solicita a la aplicación la eliminación del estudiante.
4. Aplicación verifica sí el estudiante no tiene matriculas.
5. Aplicación eliminar el estudiante y muestra un mensaje de información “Estudiante eliminado correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6. Mensaje de error “El estudiante tiene matricula no se puede
eliminar”.
Tabla. Detalle del caso de uso Eliminar Estudiante Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Matriculas.
Buscar Matricula
Nombre: Buscar Matricula
Actor: Usuario
Función: Listar las matrículas de los estudiantes.
Descripción: Listar las matrículas de los estudiantes ingresados en la base de datos.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes y matrículas.
Buscar estudiante que se desea ver las matrículas.
Postcondiciones: Listado de matrículas del estudiante.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca a estudiante 2. Aplicación devuelve datos del estudiante
3. Usuario ejecuta la función revisar matriculas
4. La aplicación devuelve las matriculas del estudiante
5. Usuario busca la matricula 6. Aplicación devuelve los datos de la matricula a buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6. Al no existir datos de la matricula buscada la aplicación devolverá
el mensaje de error “matricula no encontrada”.
Tabla. Detalle del caso de uso Buscar Matricula Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Matricula
Nombre: Modificar Matricula
Actor: usuario
Función: Editar o Actualizar datos de la matricula
Descripción: Editar los datos de la matrícula del estudiante ingresado en la base de datos.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes y Matriculas
Buscar datos de la matricula a modificar.
Postcondiciones: Datos de la matricula modificados.
Listar estudiantes matriculados.
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario busca datos de la matricula a modificar.
2. Aplicación devuelve los datos de la matrícula.
3. Usuario solicita a la aplicación la modificación de la matrícula.
4. Aplicación despliega el formulario para la edición de la matrícula con los datos de este precargados.
5. Usuario modifica datos de la matricula permitidos
6. Captura y valida los datos de la matrícula.
7. Usuario ejecuta la
función modificar.
8. La aplicación modifica la matricula con los nuevos datos y da un
mensaje de información que los datos han sido modificados
correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El usuario decide cancelar la actualización y se desechan los
datos digitados.
Aplicación inválida las matriculas repetidas.
Tabla. Detalle del caso de uso Modificar Matricula Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Matricula
Nombre: Eliminar Matricula
Actor: Usuario.
Función: Eliminación de la matrícula asociada al estudiante.
Descripción: Eliminar la matrícula del estudiante seleccionado de la base de datos.
Precondiciones: Sesión Iniciada con permisos para gestionar Estudiantes y Matriculas
Buscar datos de la matricula a modificar.
Postcondiciones: Matricula eliminada de la base de datos.
Listar estudiantes matriculados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca matricula a eliminar.
2. Aplicación devuelve los datos de la matrícula.
3. Usuario solicita a la aplicación la eliminación de la matrícula.
4. Aplicación verifica sí la matricula no tiene asociado asignaciones a test.
5. Aplicación eliminar la matricula del estudiante y muestra un mensaje de información “Matricula eliminada correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 6. Mensaje de error “La matrícula no se puede eliminar porque tiene
test asignados”.
Tabla. Detalle del caso de uso Eliminar Matricula Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Carreras, Niveles, áreas y periodos
Buscar Carrera
Nombre: Buscar Carrera
Actor: Administrador
Función: Listar las carreras y buscar una de ellas.
Descripción: Listar las carreras ingresadas en la base de datos, buscar una de ellas
mediante nombre de la carrera.
Precondiciones: Sesión Iniciada como usuario administrador.
Exista la carrera a ser buscada.
Postcondiciones: Realizar la búsqueda de la carrera en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y periodos.
3. Usuario selecciona carreras
4. Aplicación despliega las carreras registradas.
5. Administrador ingresa el nombre de la carrera y ejecuta la función buscar.
6. La aplicación devuelve los datos de la carrera que solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado carreras”.
Alterno 6. Al no existir datos de la carrera a buscar la aplicación devolverá el
mensaje de error “Carrera no encontrada”.
Tabla. Detalle del caso de uso Buscar Carrera Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Carrera
Nombre: Modificar Carrera
Actor: Administrador
Función: Editar o Actualizar datos de la carrera.
Descripción: Editar los datos de la carrera ingresada en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar datos de la carrera a modificar.
Postcondiciones: Datos de la carrera modificadas.
Listar carreras registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos de la carrera a modificar.
2. Aplicación devuelve los datos de la carrera.
3. Administrador solicita a la aplicación la modificación de los datos de la carrera.
4. Aplicación despliega el formulario para la edición de la carrera con los datos de este precargados.
5. Administrador modifica los datos de la carrera permitidos
6. Captura y valida los datos.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “Ingrese el código para la carrera”.
Mensaje de error “Ingrese el nombre de la carrera”.
Mensaje de error “ingrese si es postgrado o pregrado la carrera”.
Tabla. Detalle del caso de uso Modificar Carrera Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Carrera
Nombre: Eliminar Carrera
Actor: Administrador
Función: Eliminación de la carrera.
Descripción: Eliminar carrera seleccionada de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar carrera a eliminar.
Postcondiciones: Carrera eliminada de la base de datos.
Listar Carreras registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca carrera a eliminar.
2. Aplicación devuelve los datos de la carrera.
3. Administrador solicita a la aplicación la eliminación de la carrera.
6. Aplicación verifica sí la carrera no tiene asociado niveles.
7. Aplicación eliminara la carrera y muestra un mensaje de información “Carrera eliminada correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje de error “La carrera no se puede eliminar porque tiene
niveles asignados”.
Tabla. Detalle del caso de uso Eliminar Carrera Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Carrera
Nombre: Registrar Niveles.
Actor: Administrador
Función: Ingresar en la base de datos un nuevo nivel.
Descripción: Se registrara en la base de datos una nuevo nivel para la aplicación
Precondiciones: Sesión Iniciada como usuario administrador.
Carrera Registrada
Postcondiciones: Nivel almacenado en la base de datos.
Listar niveles almacenados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y
periodos.
3. Administrador solicita a la
aplicación la creación de un
nuevo Nivel.
4. Aplicación despliega el formulario para la creación de un nuevo
nivel.
5. Administrador ingresa
Carrera, Nombre del nivel,
estado, observación
6. Captura y valida los datos.
7. El administrador ejecuta la
función registrar.
8. la aplicación registra los datos y da un mensaje de información
que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 Mensaje de error “Ingrese el nombre de la carrera”
Tabla. Detalle del caso de uso Eliminar Carrera Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Nivel
Nombre: Buscar Nivel
Actor: Administrador
Función: Listar los niveles y buscar una de ellas.
Descripción: Listar los niveles ingresadas en la base de datos, buscar uno de ellos
mediante nombre del nivel.
Precondiciones: Sesión Iniciada como usuario administrador.
Exista el nivel a ser buscado.
Postcondiciones: Realizar la búsqueda del nivel en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y periodos.
3. Usuario selecciona niveles
4. Aplicación despliega los niveles registrados.
5. Administrador ingresa el nombre del nivel y ejecuta la función buscar.
6. La aplicación devuelve los datos del nivel que solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado niveles”.
Alterno 6. Al no existir datos del nivel a buscar la aplicación devolverá el
mensaje de error “Nivel no encontrado”.
Tabla. Detalle del caso de uso Buscar Nivel Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Nivel
Nombre: Modificar Nivel
Actor: Administrador
Función: Editar o Actualizar datos del nivel.
Descripción: Editar los datos del nivel ingresado en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar datos del nivel a modificar.
Postcondiciones: Datos del nivel modificados.
Listar niveles registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos del nivel a modificar.
2. Aplicación devuelve los datos del nivel.
3. Administrador solicita a la aplicación la modificación de los datos del nivel.
4. Aplicación despliega el formulario para la edición del nivel con los datos de este precargados.
5. Administrador modifica los datos del nivel permitidos
6. Captura y valida los datos.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “Ingrese el nombre del nivel”
Tabla. Detalle del caso de uso Modificar Nivel Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Nivel
Nombre: Eliminar Nivel
Actor: Administrador
Función: Eliminación del nivel.
Descripción: Eliminar nivel seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar nivel a eliminar.
Postcondiciones: Nivel eliminado de la base de datos.
Listar niveles registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca nivel a eliminar.
2. Aplicación devuelve los datos del nivel.
3. Administrador solicita a la aplicación la eliminación del nivel.
4. Aplicación verifica si el nivel no tiene estudiantes matriculados.
5. Aplicación elimina el nivel y muestra un mensaje de información “nivel eliminado correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje de error “el nivel no se puede eliminar porque tiene
matriculas asignadas”.
Tabla. Detalle del caso de uso Eliminar Nivel Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar Periodos.
Nombre: Registrar Periodos.
Actor: Administrador
Función: Ingresar en la base de datos un nuevo periodo.
Descripción: Se registrara en la base de datos una nuevo periodo para la aplicación
Precondiciones: Sesión Iniciada como usuario administrador.
Postcondiciones: Periodo almacenado en la base de datos.
Listar Periodo almacenados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y
periodos.
3. Administrador solicita a la
aplicación la creación de un
nuevo periodo.
4. Aplicación despliega el formulario para la creación de un nuevo
periodo.
5. Administrador ingresa fecha
inicio, fecha final, detalle del
periodo, estado, tipo.
6. Captura y valida los datos.
7. El administrador ejecuta la
función registrar.
8. la aplicación registra los datos y da un mensaje de información
que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 Mensaje de error “Ingrese la fecha inicial”
Mensaje de error “Ingrese la fecha final”
Mensaje de error “Ingrese el detalle del periodo”
Mensaje de error “Ingrese el tipo de periodo”
Tabla. Detalle del caso de uso Registrar Periodos. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Periodo
Nombre: Buscar Periodo
Actor: Administrador
Función: Listar los periodos y buscar una de ellos.
Descripción: Listar los periodos ingresadas en la base de datos, buscar uno de ellos
mediante detalle del periodo.
Precondiciones: Sesión Iniciada como usuario administrador.
Exista el periodo a ser buscado.
Postcondiciones: Realizar la búsqueda del periodo en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y periodos.
3. Usuario selecciona periodos
4. Aplicación despliega los periodos registrados.
5. administrador ingresa el detalle del periodo y ejecuta la función buscar.
6. La aplicación devuelve los datos del periodo que solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado periodos”.
Alterno 6. Al no existir datos del periodo a buscar la aplicación devolverá el
mensaje de error “Periodo no encontrado”.
Tabla. Detalle del caso de uso Buscar Periodo Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Periodos
Nombre: Modificar Periodo
Actor: Administrador
Función: Editar o Actualizar datos del periodo.
Descripción: Editar los datos del periodo ingresado en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar datos del periodo a modificar.
Postcondiciones: Datos del periodo modificados.
Listar periodos registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos del periodo a modificar.
2. Aplicación devuelve los datos del periodo.
3. Administrador solicita a la aplicación la modificación de los datos del periodo.
4. Aplicación despliega el formulario para la edición del periodo con los datos de este precargados.
5. Administrador modifica los datos del periodo permitidos
6. Captura y valida los datos.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “Ingrese la fecha inicial”
Mensaje de error “Ingrese la fecha final”
Mensaje de error “Ingrese el detalle del periodo”
Mensaje de error “Ingrese el tipo de periodo”
Tabla Detalle del caso de uso Modificar Periodos Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Periodo
Nombre: Eliminar Periodo
Actor: Administrador
Función: Eliminación del periodo.
Descripción: Eliminar el periodo seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar periodo a eliminar.
Postcondiciones: Periodo eliminado de la base de datos.
Listar periodos registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca periodo a eliminar.
2. Aplicación devuelve los datos del periodo.
3. Administrador solicita a la aplicación la eliminación del periodo.
4. Aplicación verifica si el periodo no tiene estudiantes matriculados.
5. Aplicación elimina el periodo y muestra un mensaje de información “periodo eliminado correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje de error “el periodo no se puede eliminar porque tiene
matriculas asignadas”.
Tabla. Detalle del caso de uso Eliminar Periodo Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar áreas.
Nombre: Registrar Áreas.
Actor: Administrador
Función: Ingresar en la base de datos una nueva área para el test.
Descripción: Se registrara en la base de datos una nueva área para la aplicación
Precondiciones: Sesión Iniciada como usuario administrador.
Carrera registrada en la base de datos.
Postcondiciones: Área almacenada en la base de datos.
Listar áreas almacenadas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y
periodos.
3. administrador solicita a la
aplicación la creación de un
nuevo Área.
4. Aplicación despliega el formulario para la creación de una nueva
área.
5. administrador ingresa
nombre del Área, estado,
carrera
6. Captura y valida los datos.
7. El administrador ejecuta la
función registrar.
8. la aplicación registra los datos y da un mensaje de información
que los datos se han sido ingresado correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 Mensaje de error “Ingrese el nombre del área”.
Mensaje de error “ingrese a que carrera pertenece el área”.
Tabla. Detalle del caso de uso Registrar áreas. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Área
Nombre: Buscar Área
Actor: Administrador
Función: Listar las áreas y buscar una de ellas.
Descripción: Listar las áreas ingresadas en la base de datos, buscar una de ellas mediante
nombre del área.
Precondiciones: Sesión Iniciada como usuario administrador.
Exista el área a ser buscada.
Postcondiciones: Realizar la búsqueda del área en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. administrador ingresa al área de gestión de Carreras, Niveles, áreas y periodos
2. Aplicación despliega el área de Carreras, Niveles, áreas y periodos.
3. Usuario selecciona áreas 4. Aplicación despliega las áreas registradas.
5. administrador ingresa el nombre del área y ejecuta la función buscar.
6. La aplicación devuelve los datos del área que se solicitó buscar.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado áreas”.
Alterno 6. Al no existir datos del área a buscar la aplicación devolverá el
mensaje de error “Área no encontrada”.
Tabla. Detalle del caso de uso Buscar Área Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Área
Nombre: Modificar Área
Actor: Administrador
Función: Editar o Actualizar datos del área.
Descripción: Editar los datos del área ingresada en la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar datos del área a modificar.
Postcondiciones: Datos del área modificadas.
Listar áreas registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca datos del área a modificar.
2. Aplicación devuelve los datos del área.
3. Administrador solicita a la aplicación la modificación de los datos del área.
4. Aplicación despliega el formulario para la edición del área con los datos de este precargados.
5. Administrador modifica los datos del área permitidos
6. Captura y valida los datos.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se desechan
los datos digitados.
Mensaje de error “Ingrese el nombre del área”.
Mensaje de error “ingrese a que carrera pertenece el área”.
Tabla. Detalle del caso de uso Modificar Área Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Área
Nombre: Eliminar Área
Actor: Administrador
Función: Eliminación del área.
Descripción: Eliminar área seleccionada de la base de datos.
Precondiciones: Sesión Iniciada como usuario administrador.
Buscar área a eliminar.
Postcondiciones: Área eliminada de la base de datos.
Listar Áreas registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Administrador busca área a eliminar.
2. Aplicación devuelve los datos del área.
3. Administrador solicita a la aplicación la eliminación del área.
8. Aplicación verifica sí el área no tiene asociado test.
9. Aplicación eliminara el área y muestra un mensaje de información “Área eliminada correctamente”.
FLUJO ALTERNATIVO
Numero de Evento Respuesta del sistema
Alterno 4. Mensaje de error “El área no se puede eliminar porque tiene test
asignados”.
Tabla. Detalle del caso de uso Eliminar Área Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestionar Test.
Buscar Test
Nombre: Buscar test
Actor: usuario
Función: Listar los test y buscar uno de ellos.
Descripción: Listar los test ingresados en la base de datos y buscar uno de ellos
mediante nombre del test.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar test.
Exista el test a ser buscado.
Postcondiciones: Realizar la búsqueda del test en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario ingresa al área de test. 2. Aplicación despliega el área de test.
3. Aplicación despliega los test registrados.
4. administrador ingresa el nombre del test y ejecuta la función buscar.
5. La aplicación devuelve los datos del test que se solicitó buscar.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 4. Mensaje “No se ha ingresado test”.
Alterno 6. Al no existir datos del test a buscar la aplicación devolverá
el mensaje de error “Test no encontrado”.
Tabla 17. Detalle del caso de uso Buscar Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Test.
Nombre: Modificar Área
Actor: usuario
Función: Editar o Actualizar datos del test.
Descripción: Editar los datos del test ingresado en la base de datos.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar test.
Buscar datos del test a modificar.
Postcondiciones: Datos del test modificados.
Listar test registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1 usuario busca datos del test a modificar.
2. Aplicación devuelve los datos del test.
3. usuario solicita a la aplicación la modificación de los datos del test.
4. Aplicación despliega el formulario para la edición del test con los datos de este precargados.
5. usuario modifica los datos del test permitidos
6. aplicación captura y valida los datos.
7. El usuario ejecuta la función
modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se
desechan los datos digitados.
Mensaje de error “ingrese el nombre del test”.
Mensaje de error “ingrese la fecha de inicio y la fecha fin”.
Mensaje de error “seleccione el área del test”.
Tabla 18. Detalle del caso de uso Modificar Test. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Test
Nombre: Eliminar test
Actor: usuario
Función: Eliminación del test.
Descripción: Eliminar el test seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar test.
Buscar test a eliminar.
Postcondiciones: Test eliminado de la base de datos.
Listar test registrados.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca test a eliminar. 2. Aplicación devuelve los datos del test.
3. Usuario solicita a la aplicación la eliminación del test.
4. Aplicación verifica sí el test no tiene asociado asignaciones.
5. Aplicación eliminar el test y muestra un mensaje de información “test eliminado correctamente”.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 4. Mensaje de error “El test no se puede eliminar porque tiene
test asignados”.
Tabla 19. Detalle del caso de uso Eliminar Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestionar Asignaciones al Test
Buscar asignaciones al Test
Nombre: Buscar asignación al test
Actor: Usuario
Función: Listar la asignación al test y buscar uno de ellos.
Descripción: Listar las asignaciones registradas en la base de datos y buscar uno de
ellos mediante nombre del estudiante.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar
asignaciones al test.
Buscar estudiante que se desea revisar asignaciones.
Exista la asignación a ser buscado.
Postcondiciones: Realizar la búsqueda de la asignación en la lista.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca a estudiante 2. Aplicación devuelve datos del estudiante
3. Usuario ejecuta la función revisar asignaciones
4. La aplicación devuelve las asignaciones al test del estudiante.
5. Usuario busca la asignación 6. Aplicación devuelve los datos de la asignación a buscar.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 4. Mensaje “No se han registrados asignaciones al test”.
Alterno 6. Al no existir datos de asignaciones a buscar la aplicación
devolverá el mensaje de error “asignación no encontrada”.
Tabla 20. Detalle del caso de uso Buscar asignaciones al Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Asignaciones al test.
Nombre: Modificar asignaciones al test
Actor: Usuario
Función: Editar o Actualizar datos de la asignación.
Descripción: Editar los datos de la asignación registrados en la base de datos.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar
asignaciones al test.
Buscar datos de la asignación a modificar.
Postcondiciones: Datos de la asignación modificados.
Listar asignaciones registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca datos de la asignación a modificar.
2. Aplicación devuelve los datos del test.
3. Usuario solicita a la aplicación la modificación de los datos de la asignación.
4. Aplicación despliega el formulario para la edición de la asignación con los datos de este precargados.
5. Usuario modifica los datos de la asignación permitidos
6. Aplicación captura y valida los datos.
7. El usuario ejecuta la
función modificar.
8. La aplicación modifica los nuevos datos y da un mensaje de
información que los datos han sido modificados correctamente.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 8 El administrador decide cancelar la actualización y se
desechan los datos digitados.
Mensaje de error “ingrese la fecha de inicio y la fecha fin”.
Mensaje de error “seleccione el test”.
Tabla 21. Detalle del caso de uso Modificar Asignaciones al test. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar asignaciones al Test
Nombre: Eliminar asignación al test
Actor: Usuario
Función: Eliminación de la asignación.
Descripción: Eliminar la asignación al test seleccionado de la base de datos.
Precondiciones: Sesión Iniciada como usuario con permisos para administrar
asignaciones al test.
Buscar asignación a eliminar.
Postcondiciones: Asignación eliminada de la base de datos.
Listar asignaciones registradas.
FLUJO NORMAL
Evento Respuesta del sistema
1. Usuario busca asignación a eliminar.
2. Aplicación devuelve los datos de la asignación.
3. Usuario solicita a la aplicación la eliminación de la asignación.
4. Aplicación verifica sí el estudiante aún no ha rendido el examen asignado.
5. Aplicación eliminar la asignación y muestra un mensaje de información “asignación eliminada correctamente”.
FLUJO ALTERNATIVO
Evento Respuesta del sistema
Alterno 4. Mensaje de error “la asignación no se puede eliminar
porque el estudiante ya ha rendido el test”.
Tabla 22. Detalle del caso de uso Eliminar asignaciones al Test Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete gestión de reportes
Gráfico 38. Caso de Uso gestión de reportes Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Gestión de reportes
Nombre: Gestión de reportes
Actor: Usuario
Función: Devolver reportes al usuario.
Descripción: Emitir reporte seleccionado por el usuario.
Precondiciones: Sesión Iniciada como usuario con permisos para gestionar reportes.
Postcondiciones: Reporte en pantalla.
FLUJO NORMAL
Evento Respuesta del sistema
1. usuario ingresa al área de gestión de reportes.
2. Aplicación despliega el área de reportes.
2 Usuario selecciona el tipo de reporte que desea visualizar
3 La aplicación despliega el formulario para visualiza reportes.
4 Usuario selecciona el centro, carrera y ejecuta la función buscar.
5 Aplicación devuelve la lista de reportes aplicando los filtros.
6 Usuario selecciona el reporte que desea ver y ejecuta la función visualizar.
7. aplicación emite el reporte.
Tabla 23. Detalle del caso de uso Gestión de reportes Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
ANEXO II DICCIONARIO DE DATOS Column Table
Name Column Name Column
Datatype Column
Null Option
Column Is PK
Column Is FK
Matriculas numero_matricula INTEGER NULL Yes No
fecha VARCHAR(20) No
paralelo
activo INTEGER
idcentro VARCHAR(20)
TipoMatricula
observaciones
codigo_nivel Yes
cedula
codigo_periodo
Test_estudiantes idTestEstudiante INTEGER Yes No
idTest NOT NULL No
activo NULL
observaciones VARCHAR(20)
fechaInicio DATE
fechaFin
repetir INTEGER
grupo VARCHAR(20)
numero_matricula INTEGER NOT NULL Yes
estudiantes cedula VARCHAR(20) Yes No
Apellidos No
Nombres
email NULL
usuario NOT NULL
contraseña
Test_Abiertos idTestAbierto INTEGER NULL Yes
idtest NOT NULL No
tiempoFaltante VARCHAR(20) NULL
estado
fechaInicio
fechaFin
indexPage INTEGER
puntaje
intento
idTestEstudiante NOT NULL Yes
Carreras IdCarrera VARCHAR(20) Yes No
NombreCarrera NULL No
Estado INTEGER
tipo
Idarea VARCHAR(20) NOT NULL Yes Yes
Rol_RolAcceso idRolAcceso INTEGER No
IdModulo NULL No
acceso
Periodos codigo_periodo VARCHAR(20) NOT NULL Yes
fecha_inicio DATE NULL No
fecha_final
detalle VARCHAR(20)
activo INTEGER
tipo
Rol_Usuarios Usuario VARCHAR(20) NOT NULL Yes
contraseña NULL No
activo INTEGER
fechaInicio DATE
fechafin
respuestas_test idrespuesta INTEGER Yes
respuesta VARCHAR(20) NOT NULL No
correcta INTEGER
orden
estado
DirImagen VARCHAR(20) NULL
idtest INTEGER
idPregunta NOT NULL Yes
preguntas_test NULL Yes No
orden NOT NULL No
pregunta VARCHAR(20)
estado INTEGER
dirImagen VARCHAR(20) NULL
contexto
area
fundamento
idTest INTEGER NOT NULL Yes
test NULL Yes No
nombre VARCHAR(20) No
activo INTEGER
tiempo DATE
fecha_inicio VARCHAR(20)
fecha_fin
repetir INTEGER
descripcion VARCHAR(20)
idtipo INTEGER Yes
IdArea VARCHAR(20)
Areas Idarea NOT NULL Yes No
NombreArea NULL No
Activo INTEGER
tipo_test idTipo NOT NULL Yes
nombre VARCHAR(20) NULL No
desripcion
detalle_resultadoTest idpregunta INTEGER NOT NULL Yes
idtest
valor NULL No
idTestAbierto NOT NULL Yes Yes
idrespuesta No
Niveles codigo_nivel VARCHAR(20) Yes No
nivel NULL No
seccion
modalidad
observacion
activo INTEGER
Matriculas numero_matricula Yes
fecha VARCHAR(20) No
paralelo
activo INTEGER
idcentro VARCHAR(20)
TipoMatricula
observaciones
codigo_nivel Yes
cedula
codigo_periodo
Test_estudiantes idTestEstudiante INTEGER Yes No
idTest NOT NULL No
activo NULL
observaciones VARCHAR(20)
fechaInicio DATE
fechaFin
repetir INTEGER
grupo VARCHAR(20)
numero_matricula INTEGER NOT NULL Yes
estudiantes cedula VARCHAR(20) Yes No
Apellidos No
Nombres
email NULL
usuario NOT NULL
contraseña
Test_Abiertos idTestAbierto INTEGER NULL Yes
idtest NOT NULL No
tiempoFaltante VARCHAR(20) NULL
estado
fechaInicio
fechaFin
indexPage INTEGER
puntaje
intento
idTestEstudiante NOT NULL Yes
Carreras IdCarrera VARCHAR(20) Yes No
NombreCarrera NULL No
Estado INTEGER
tipo
Idarea VARCHAR(20) NOT NULL Yes Yes
Rol_RolAcceso idRolAcceso INTEGER No
IdModulo NULL No
acceso
idRol VARCHAR(20) Yes
Periodos codigo_periodo NOT NULL Yes No
fecha_inicio DATE NULL No
fecha_final
detalle VARCHAR(20)
activo INTEGER
tipo
Rol_Usuarios Usuario VARCHAR(20) NOT NULL Yes
contraseña NULL No
activo INTEGER
fechaInicio DATE
fechafin
idRol VARCHAR(20) Yes
Rol_roles NOT NULL Yes No
nombre NULL No
respuestas_test idrespuesta INTEGER Yes
respuesta VARCHAR(20) NOT NULL No
correcta INTEGER
orden
estado
DirImagen VARCHAR(20) NULL
idtest INTEGER
idPregunta NOT NULL Yes
preguntas_test NULL Yes No
orden NOT NULL No
pregunta VARCHAR(20)
estado INTEGER
dirImagen VARCHAR(20) NULL
contexto
area
fundamento
idTest INTEGER NOT NULL Yes
test NULL Yes No
nombre VARCHAR(20) No
activo INTEGER
tiempo DATE
fecha_inicio VARCHAR(20)
fecha_fin
repetir INTEGER
descripcion VARCHAR(20)
idtipo INTEGER Yes
IdArea VARCHAR(20)
Areas Idarea NOT NULL Yes No
NombreArea NULL No
Activo INTEGER
tipo_test idTipo NOT NULL Yes
nombre VARCHAR(20) NULL No
desripcion
detalle_resultadoTest idpregunta INTEGER NOT NULL Yes
idtest
valor NULL No
idTestAbierto NOT NULL Yes Yes
idrespuesta No
Niveles codigo_nivel VARCHAR(20) Yes No
nivel NULL No
seccion
modalidad
observacion
activo INTEGER
ANEXO III Script Base de datos USE [apptest] GO /****** Object: Table [dbo].[tipo_test] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON
GO CREATE TABLE [dbo].[tipo_test]( [idTipo] [int] NOT NULL, [nombre] [varchar](50) NULL, [desripcion] [varchar](150) NULL, CONSTRAINT [PK_tipo_test] PRIMARY KEY CLUSTERED ( [idTipo] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[respuestas_testvir] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[respuestas_testvir]( [respuesta] [nvarchar](max) NULL, [correcta] [bit] NULL, [orden] [int] NULL, [idPregunta] [int] NULL, [nomimagen] [nvarchar](300) NULL, [idrespuesta] [int] IDENTITY(1,1) NOT NULL, CONSTRAINT [PK_respuestas_testvir] PRIMARY KEY CLUSTERED ( [idrespuesta] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[preguntas_testvir] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[preguntas_testvir]( [idPregunta] [int] NOT NULL, [orden] [int] NULL, [pregunta] [nvarchar](max) NULL, [nomimagen] [nvarchar](300) NULL, [contexto] [nvarchar](max) NULL, [area] [nvarchar](255) NULL, [fundamento] [nvarchar](max) NULL, CONSTRAINT [PK_preguntas_testvir] PRIMARY KEY CLUSTERED ( [idPregunta] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO /****** Object: Table [dbo].[Rol_Modulos] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_Modulos]( [idModulo] [int] NOT NULL, [modulo] [varchar](50) NULL, [idpadre] [int] NULL, CONSTRAINT [PK_Rol_Modulos] PRIMARY KEY CLUSTERED ( [idModulo] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
/****** Object: Table [dbo].[Hoja] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Hoja]( [CEDULA] [nvarchar](255) NULL, [NOMBRES] [nvarchar](255) NULL, [FIRMA] [nvarchar](255) NULL, [email] [nvarchar](255) NULL, [usuario] [nvarchar](255) NULL, [contraseña] [nvarchar](255) NULL ) ON [PRIMARY] GO /****** Object: Table [dbo].[estudiantes] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[estudiantes]( [cedula] [varchar](13) NOT NULL, [Apellidos] [varchar](300) NOT NULL, [Nombres] [varchar](300) NOT NULL, [email] [varchar](100) NULL, [usuario] [varchar](30) NOT NULL, [contraseña] [varchar](30) NOT NULL, CONSTRAINT [PK_estudiantes] PRIMARY KEY CLUSTERED ( [cedula] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Periodos] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Periodos]( [codigo_periodo] [varchar](7) NOT NULL, [fecha_inicio] [datetime] NULL, [fecha_final] [datetime] NULL, [detalle] [varchar](60) NULL, [activo] [bit] NULL, [tipo] [tinyint] NULL, CONSTRAINT [PK_Periodos_1] PRIMARY KEY CLUSTERED ( [codigo_periodo] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[centros] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[centros]( [idcentro] [varchar](3) NOT NULL, [centro] [varchar](50) NULL, CONSTRAINT [PK_centros] PRIMARY KEY CLUSTERED ( [idcentro] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[cedulas] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[cedulas]( [cedula] [varchar](14) NULL, [puntaje] [int] NULL, [apellidos] [varchar](50) NULL, [nombres] [varchar](50) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Carreras] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Carreras]( [IdCarrera] [char](3) NOT NULL, [NombreCarrera] [varchar](100) NULL, [Estado] [bit] NULL, [tipo] [int] NULL, CONSTRAINT [PK_Carreras] PRIMARY KEY CLUSTERED ( [IdCarrera] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Carrera_centro] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Carrera_centro]( [idCarreraCentro] [varchar](6) NOT NULL, [idCarrera] [char](3) NULL, [idCentro] [varchar](3) NULL, CONSTRAINT [PK_Carrera_centro] PRIMARY KEY CLUSTERED ( [idCarreraCentro] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Rol_acciones] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_acciones]( [idAccion] [int] NOT NULL, [accion] [varchar](100) NULL,
[idModulo] [int] NULL, [descripcion] [varchar](100) NULL, [tabla] [varchar](100) NULL, CONSTRAINT [PK_Rol_acciones] PRIMARY KEY CLUSTERED ( [idAccion] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Rol_roles] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_roles]( [idRol] [varchar](12) NOT NULL, [nombre] [varchar](70) NULL, [idcentro] [varchar](3) NULL, [idcarrera] [char](3) NULL, CONSTRAINT [PK_Rol_roles] PRIMARY KEY CLUSTERED ( [idRol] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Rol_Usuarios] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_Usuarios]( [Usuario] [char](13) NOT NULL, [contraseña] [nchar](50) NULL, [idRol] [varchar](12) NULL, [email] [varchar](max) NULL, [activo] [bit] NULL, [fechaInicio] [datetime] NULL, [fechafin] [datetime] NULL, CONSTRAINT [PK_Usuarios] PRIMARY KEY CLUSTERED ( [Usuario] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Rol_RolAcceso] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_RolAcceso]( [idRolAcceso] [int] NOT NULL, [IdModulo] [int] NULL, [acceso] [bit] NULL, [idRol] [varchar](12) NULL, CONSTRAINT [PK_Rol_RolAcceso] PRIMARY KEY CLUSTERED ( [idRolAcceso] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Areas] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Areas]( [Idarea] [varchar](18) NOT NULL, [NombreArea] [varchar](200) NULL, [Activo] [bit] NULL, [IdcarreraCentro] [varchar](6) NULL, CONSTRAINT [PK_Asignatura] PRIMARY KEY CLUSTERED ( [Idarea] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Niveles] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Niveles]( [codigo_nivel] [varchar](11) NOT NULL, [IdcarreraCentro] [varchar](6) NULL, [nivel] [varchar](20) NULL, [seccion] [varchar](20) NULL, [modalidad] [varchar](20) NULL, [observacion] [varchar](60) NULL, [activo] [bit] NULL, CONSTRAINT [PK_Niveles] PRIMARY KEY CLUSTERED ( [codigo_nivel] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Matriculas] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Matriculas]( [numero_matricula] [bigint] IDENTITY(1,1) NOT NULL, [cedula] [varchar](13) NULL, [fecha] [varchar](20) NULL, [paralelo] [varchar](2) NULL, [activo] [bit] NULL, [idcentro] [varchar](3) NULL, [TipoMatricula] [varchar](50) NULL, [codigo_nivel] [varchar](11) NULL, [codigo_periodo] [varchar](7) NULL, [observaciones] [varchar](300) NULL, CONSTRAINT [PK_Matriculas] PRIMARY KEY CLUSTERED ( [numero_matricula] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[test] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[test]( [idTest] [int] IDENTITY(1,1) NOT NULL, [nombre] [varchar](max) NULL, [IdArea] [varchar](18) NULL, [activo] [bit] NULL, [tiempo] [time](7) NULL, [idtipo] [int] NULL, [fecha_inicio] [varchar](18) NULL, [fecha_fin] [varchar](18) NULL, [repetir] [bit] NULL, [descripcion] [varchar](max) NULL, CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED ( [idTest] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Rol_RolAcciones] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Rol_RolAcciones]( [idRolAcceso] [int] NOT NULL, [idAccion] [int] NULL, [acceso] [bit] NULL, [idrol] [varchar](12) NULL ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[preguntas_test] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[preguntas_test]( [idPregunta] [int] IDENTITY(1,1) NOT NULL, [orden] [int] NOT NULL, [pregunta] [nvarchar](max) NOT NULL, [estado] [bit] NOT NULL, [idTest] [int] NOT NULL, [dirImagen] [varchar](150) NULL, [contexto] [nvarchar](max) NULL, [area] [varchar](100) NULL, [fundamento] [nvarchar](max) NULL, CONSTRAINT [PK_preguntas_test] PRIMARY KEY CLUSTERED ( [idPregunta] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[Test_estudiantes] Script Date: 04/12/2015 21:03:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Test_estudiantes]( [idTestEstudiante] [int] IDENTITY(1,1) NOT NULL, [numero_matricula] [bigint] NOT NULL, [idTest] [int] NOT NULL, [activo] [bit] NULL, [observaciones] [varchar](300) NULL, [fechaInicio] [datetime] NULL, [fechaFin] [datetime] NULL, [repetir] [bit] NULL, [grupo] [varchar](15) NULL, CONSTRAINT [PK_notas_test] PRIMARY KEY CLUSTERED ( [idTestEstudiante] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Test_Abiertos] Script Date: 04/12/2015 21:03:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Test_Abiertos]( [idTestAbierto] [int] IDENTITY(1,1) NOT NULL, [idtest] [int] NOT NULL, [idTestEstudiante] [int] NOT NULL, [tiempoFaltante] [varchar](50) NULL, [estado] [varchar](50) NULL, [fechaInicio] [varchar](50) NULL, [fechaFin] [varchar](50) NULL, [indexPage] [int] NULL, [puntaje] [int] NULL, [intento] [int] NULL, CONSTRAINT [PK_Test_Abiertos] PRIMARY KEY CLUSTERED ( [idTestAbierto] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO /****** Object: Table [dbo].[respuestas_test] Script Date: 04/12/2015 21:03:20 ******/
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[respuestas_test](
[idrespuesta] [int] IDENTITY(1,1) NOT NULL,
[respuesta] [nvarchar](max) NOT NULL,
[correcta] [bit] NOT NULL,
[orden] [int] NOT NULL,
[estado] [bit] NOT NULL,
[idPregunta] [int] NOT NULL,
[DirImagen] [varchar](150) NULL,
[idtest] [int] NULL,
CONSTRAINT [PK_respuestas_test] PRIMARY KEY CLUSTERED
(
[idrespuesta] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[detalle_resultadoTest] Script Date: 04/12/2015 21:03:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[detalle_resultadoTest](
[idTestAbierto] [int] NOT NULL,
[idrespuesta] [int] NOT NULL,
[idpregunta] [int] NOT NULL,
[idtest] [int] NOT NULL,
[valor] [int] NULL,
CONSTRAINT [PK_detalle_resultadoTest_1] PRIMARY KEY CLUSTERED
(
[idTestAbierto] ASC,
[idpregunta] ASC,
[idtest] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS
= ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ANEXO IV Diagramas de Secuencia
Paquete Gestión de Roles y Usuarios.
Buscar Roles
Gráfico. Diagrama de Secuencia Buscar Rol. Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Rol
Gráfico. Diagrama de Secuencia Modificar Rol.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Rol
Gráfico. Diagrama de Secuencia Eliminar Rol.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Crear Usuario.
Gráfico. Diagrama de Secuencia Crear Usuario.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Usuario
Gráfico. Diagrama de Secuencia Buscar Usuario.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Usuario
Gráfico. Diagrama de Secuencia Modificar Usuario.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Usuario
Gráfico. Diagrama de Secuencia Eliminar Usuario.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Estudiantes.
Buscar Estudiante
Gráfico. Diagrama de Secuencia Buscar Estudiante.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Estudiante
Gráfico. Buscar Estudiante.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Estudiante
Gráfico. Buscar Estudiante.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Matriculas.
Buscar Matricula
Gráfico. Diagrama de Secuencia Buscar Matricula.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Matricula
Gráfico. Diagrama de Secuencia Modificar Matricula.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Matricula
Gráfico. Diagrama de Secuencia Eliminar Matricula.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestión de Carreras, Niveles, áreas y periodos
Registrar Niveles.
Gráfico. Diagrama de Secuencia Registrar Niveles.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar Periodos.
Gráfico. Diagrama de Secuencia Registrar Periodos
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Registrar áreas.
Gráfico. Diagrama de Secuencia Registrar áreas.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Carrera
Gráfico. Diagrama de Secuencia Buscar Carrera.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Carrera
Gráfico. Diagrama de Secuencia Modificar Carrera
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Carrera
Gráfico. Diagrama de Secuencia Eliminar Carrera
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Nivel
Gráfico. Diagrama de Secuencia Buscar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Nivel
Gráfico. Diagrama de Secuencia Modificar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Nivel
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Periodo
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Periodos
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Periodo
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar Área
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Área
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Área
Gráfico. Diagrama de Secuencia Eliminar Nivel
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestionar Asignaciones al Test Modificar Asignaciones al test.
Gráfico. Diagrama de Secuencia Modificar Asignaciones al test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Buscar asignaciones al Test
Gráfico. Diagrama de Secuencia Modificar Asignaciones al test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar asignaciones al Test
Gráfico. Diagrama de Secuencia Modificar Asignaciones al test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete Gestionar Test.
Buscar Test
Gráfico. Diagrama de Secuencia Buscar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Modificar Test.
Gráfico 39. Diagrama de Secuencia Modificar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Eliminar Test
Gráfico. Diagrama de Secuencia Eliminar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Paquete gestión de reportes Gestión de reportes
Gráfico. Diagrama de Secuencia Eliminar Test.
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Anexo V Diseño De La Interfaz De Usuario
Inicio de sesión Estudiantes
Gráfico. Diseño De La Interfaz Inicio de sesión Estudiantes
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Datos de estudiante
Gráfico. Diseño De La Interfaz Datos de estudiante
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Exámenes Asignados
Gráfico. Diseño De La Interfaz Exámenes Asignados
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Información del examen
Gráfico. Diseño De La Interfaz Información del examen
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Examen en curso
Gráfico. Diseño De La Interfaz Examen en curso
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Examen finalizado
Gráfico. Diseño De La Interfaz Examen finalizado
Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST
Anexo VI Codificación
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using entidades; using LogicaNegocio; using System.Data; using System.Collections; using System.Threading; using System.Reflection; namespace appTest2._0_Test { public partial class frm_TomarTest5 : System.Web.UI.Page { DateTime tiemposcrip = default(DateTime); string tiempo = ""; Test_Abiertos ta = new Test_Abiertos(); test t = new test(); DataTable preguntas;
protected void Page_Load(object sender, EventArgs e) { controles.usuarioanonimo(); if (Session["fin"] != null) Response.Redirect("~/DatosEstudiante.aspx"); if (Session["idTest"] == null) Response.Redirect("~/DatosEstudiante.aspx"); if (!Page.IsPostBack) { ViewState["DataTable"] = acciones.ToDataTable(preguntas_testBL.CargarPreguntasAleatorias(Convert.ToInt32(Session["idTest"]), 30)); preguntas = (DataTable)ViewState["DataTable"]; FormView1.DataSource = preguntas; FormView1.DataBind(); if ((Session["inicio"] == null) && (Request.QueryString["activo"] == "0")) { nuevo(); } else { Enproceso(); } Session["inicio"] = "1"; if (tiempo == "") { string cb1y = string.Format("{0}", Request.Form["idInput"]); tiempo = cb1y; if (tiempo == "") { tiempo = "02:00"; } } string[] TiempoDiv = tiempo.Split(':'); int horasAminutos = Convert.ToInt32(TiempoDiv[0]) * 60; int minutoshoras = horasAminutos + Convert.ToInt32(TiempoDiv[1]); int tiempoenmilsegundos = (minutoshoras * 60) * 1000; if (tiempoenmilsegundos == 0) { tiempoenmilsegundos = 60000; tiemposcrip = System.DateTime.Now.AddHours(0).AddMinutes(1); lblTiempo.Text = tiemposcrip.ToString("MM dd yyyy H:mm:ss"); } else { tiemposcrip = System.DateTime.Now.AddHours(Convert.ToDouble(TiempoDiv[0])).AddMinutes(Convert.ToDouble(TiempoDiv[1])); lblTiempo.Text = tiemposcrip.ToString("MM dd yyyy H:mm:ss"); } cronometro.Interval = tiempoenmilsegundos; cronometro.Enabled = true; } } void nuevo() { t = TestBL.Cargartest((int)Session["idtest"]); tiempo = t.tiempo.ToString(); ta.idtest =(int)Session["idTest"]; ta.idTestEstudiante = (int)Session["idAcceso"]; ta.tiempoFaltante = t.tiempo.ToString(); ta.estado = "Test en progreso"; ta.fechaInicio = System.DateTime.Now.ToString(); ta.indexPage = 0; ta = test_abiertoBL.Save(ta);
hfidtestab.Value = ta.idTestAbierto.ToString(); horainicio.Value = DateTime.Now.ToString(); } void Enproceso() { ArrayList al = new ArrayList(test_abiertoBL.CargarTestAbiertosXidTestEstudiante((int)Session["idAcceso"])); if (al.Count < 1) return; object valores = al[0]; tiempo = (string)((Test_Abiertos)(valores)).tiempoFaltante; hfidtestab.Value = ((Test_Abiertos)(valores)).idTestAbierto.ToString(); FormView1.PageIndex = (int)((Test_Abiertos)(valores)).indexPage; } private bool verificarcontestacion() { try { DataList dl = FormView1.FindControl("DataList1") as DataList; RadioButton chk = dl.FindControl("rdb") as RadioButton; foreach (DataListItem i in dl.Items) { RadioButton rbtn = (RadioButton)i.FindControl("rdb"); if (rbtn.Checked == true) { return true; } } } catch (Exception ex) { //lblerror.Text = ex.Message } return false; } protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { //escojer un solo radioButton if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) return; RadioButton rdb = (RadioButton)e.Item.FindControl("rdb"); Label lbl = (Label)e.Item.FindControl("lbl_Rdb"); string script = "SetSingleRadioButton('" + lbl.Text + "',this)"; rdb.Attributes.Add("onclick", script); } private bool RegistrarRespuesta(string estadoTest) { HiddenField hiddidres = default(HiddenField); //HiddenField valor = default(HiddenField); HiddenField hidpregunta = default(HiddenField); try { DataList dl = FormView1.FindControl("DataList1") as DataList; RadioButton chk = dl.FindControl("rdb") as RadioButton; Label preg = FormView1.FindControl("preguntaLabel") as Label; hidpregunta = FormView1.FindControl("HiddenField1") as HiddenField; //bool ves = false; Int32 nrespuestas = dl.Items.Count; Int32 nrespuestasC = 0; foreach (DataListItem i in dl.Items) { RadioButton rbtn = (RadioButton)i.FindControl("rdb"); hiddidres = (HiddenField)i.FindControl("idrespuesta"); //valor = (HiddenField)i.FindControl("valor"); if ((rbtn.Checked))
{ detalle_resultadoTest dt = new detalle_resultadoTest(); dt.idTestAbierto = Convert.ToInt32(hfidtestab.Value); dt.idrespuesta = Convert.ToInt32(hiddidres.Value); dt.idpregunta = Convert.ToInt32(hidpregunta.Value); dt.idtest = (int)Session["idtest"]; dt.valor = 0; dt = detalle_resultadoTestBL.Save(dt); } else { nrespuestasC = nrespuestasC + 1; } } if (nrespuestas == nrespuestasC) { return false; } else { ta.idTestAbierto = Convert.ToInt32(hfidtestab.Value); ta.idtest =(int)Session["idTest"]; ta.idTestEstudiante = (int)Session["idAcceso"]; string tiempo = Label2.Text; if (tiempo != "" ) { ta.tiempoFaltante = tiempo; } else { string cb1y = string.Format("{0}", Request.Form["idInput"]); ta.tiempoFaltante = cb1y; tiempo = cb1y; } ta.estado = estadoTest; ta.fechaInicio = ta.fechaInicio; ta.indexPage = FormView1.PageIndex + 1; test_abiertoBL.Update(ta); return true; } } catch (Exception ex) { return false; } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { //Thread.Sleep(2000); if (RegistrarRespuesta("Test en progreso") == true) { FormView1.PageIndex = FormView1.PageIndex + 1; if (Request.RequestType == "POST") { string cb1y = string.Format("{0}", Request.Form["idInput"]); Label2.Text = cb1y; } if (FormView1.PageCount == (FormView1.PageIndex )) { btn_fin.Visible = true; } preguntas = (DataTable)ViewState["DataTable"]; FormView1.DataSource = preguntas; FormView1.DataBind(); } else
{ ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", "alert('Seleccione una respuesta para continuar Porfavor');", true); } } protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { if (RegistrarRespuesta("Test en progreso") == true) { FormView1.PageIndex = FormView1.PageIndex - 1; if (Request.RequestType == "POST") { string cb1y = string.Format("{0}", Request.Form["idInput"]); Label2.Text = cb1y; } preguntas = (DataTable)ViewState["DataTable"]; FormView1.DataSource = preguntas; FormView1.DataBind(); } else { ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", "alert('Seleccione una respuesta para continuar Porfavor');", true); } } protected void FormView1_DataBound(object sender, EventArgs e) { lblpregunta.Text = "N° " + (FormView1.PageIndex + 1).ToString() + " DE " + FormView1.PageCount; } protected void cronometro_Tick(object sender, EventArgs e) { cronometro.Enabled = false; Session["fin"] = "1"; lblTiempo.Text = "Examen Finalizado"; Session["inicio"] = null; Session["idtestabierto"] = hfidtestab.Value; ta.idTestAbierto = Convert.ToInt32(hfidtestab.Value); ta.idtest = (int)Session["idTest"]; ta.idTestEstudiante = (int)Session["idAcceso"]; string tiempo = "00:00"; ta.tiempoFaltante = tiempo; ta.estado = "Test Finalizado"; ta.fechaInicio = ta.fechaInicio; ta.indexPage = FormView1.PageIndex + 1; test_abiertoBL.Update(ta); Response.Redirect("~/frm_Resultados.aspx"); } protected void btn_fin_Click(object sender, ImageClickEventArgs e) { finalizar(); } void finalizar() { if (RegistrarRespuesta("Test Finalizado") == true) { Session["fin"] = "1"; lblTiempo.Text = "Examen Finalizado"; Session["inicio"] = null; Session["idtestabierto"] = hfidtestab.Value; Response.Redirect("~/frm_Resultados.aspx"); } } } }
CERTIFICADO
A través de la presente se hace constar que, la APLICACIÓN WEB PARA LA
GESTIÓN DE EVALUACIÓN ACADÉMICA. “APPTEST”, se ha probado e
implantado en la Universidad Regional Autónoma de los Andes, por lo tanto esta
Institución VALIDA el funcionamiento del mismo.
Se extiende la presente al día 22 del mes de abril del año 2015 para los fines que
a los interesados convenga.