mÓnica nÁtaly hernÁndez manzano

187
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

Upload: tranhanh

Post on 14-Feb-2017

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 2: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 3: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 4: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

.

Page 5: 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

Page 6: 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

Page 7: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 8: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 9: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 10: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 11: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 12: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 13: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 14: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 15: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 16: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 17: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 18: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 19: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 20: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 21: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 22: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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)

Page 23: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 24: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 25: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 26: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 27: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 28: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 29: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 30: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 31: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 32: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 33: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 34: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 35: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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).

Page 36: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 37: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 38: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 39: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 40: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 41: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 42: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 43: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 44: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 45: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 46: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 47: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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)

Page 48: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 49: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 50: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 51: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 52: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 53: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 54: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 55: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 56: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 57: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 58: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 59: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 60: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 61: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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%

Page 62: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 63: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 64: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 65: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 66: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 67: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 68: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 69: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 70: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 71: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 72: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 73: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 74: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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:

Page 75: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 76: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 77: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 78: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 79: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 80: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 81: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 82: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 83: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 84: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 85: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 86: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 87: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 88: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 89: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 90: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 91: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 92: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 93: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 94: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 95: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 96: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 97: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 98: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 99: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 100: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 101: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 102: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 103: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 104: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 105: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 106: MÓNICA NÁTALY HERNÁNDEZ MANZANO

93

Gráfico 22. Modelo Lógico Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST

Page 107: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 108: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 109: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 110: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 111: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 112: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 113: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 114: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 115: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 116: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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))

Page 117: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 118: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 119: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 120: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 121: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 122: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 123: MÓNICA NÁTALY HERNÁNDEZ MANZANO

110

Para los futuros usuarios se recomienda una capacitación continua y

permanente además de un mantenimiento a la base de datos.

Page 124: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 125: MÓNICA NÁTALY HERNÁNDEZ MANZANO

• 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.

Page 126: MÓNICA NÁTALY HERNÁNDEZ MANZANO

ANEXOS

Page 127: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 128: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 129: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 130: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 131: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 132: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 133: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 134: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 135: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 136: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 137: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 138: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 139: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 140: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 141: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 142: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 143: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 144: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 145: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 146: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 147: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 148: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.

Page 149: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 150: MÓNICA NÁTALY HERNÁNDEZ MANZANO

fecha_final

detalle VARCHAR(20)

activo INTEGER

tipo

Rol_Usuarios Usuario VARCHAR(20) NOT NULL Yes

contraseña NULL No

email

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

Page 151: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

email

activo INTEGER

fechaInicio DATE

fechafin

idRol VARCHAR(20) Yes

Rol_roles NOT NULL Yes No

Page 152: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 153: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 154: MÓNICA NÁTALY HERNÁNDEZ MANZANO

/****** 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

Page 155: MÓNICA NÁTALY HERNÁNDEZ MANZANO

)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,

Page 156: MÓNICA NÁTALY HERNÁNDEZ MANZANO

[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

Page 157: MÓNICA NÁTALY HERNÁNDEZ MANZANO

)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

Page 158: MÓNICA NÁTALY HERNÁNDEZ MANZANO

)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

Page 159: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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,

Page 160: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 161: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 162: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 163: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 164: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 165: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 166: MÓNICA NÁTALY HERNÁNDEZ MANZANO

Modificar Matricula

Gráfico. Diagrama de Secuencia Modificar Matricula.

Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST

Page 167: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 168: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 169: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 170: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 171: MÓNICA NÁTALY HERNÁNDEZ MANZANO

Modificar Nivel

Gráfico. Diagrama de Secuencia Modificar Nivel

Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST

Page 172: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 173: MÓNICA NÁTALY HERNÁNDEZ MANZANO

Modificar Periodos

Gráfico. Diagrama de Secuencia Eliminar Nivel

Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST

Page 174: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 175: MÓNICA NÁTALY HERNÁNDEZ MANZANO

Modificar Área

Gráfico. Diagrama de Secuencia Eliminar Nivel

Fuente: Creación Propia en base a los Requerimientos de la aplicación APPTEST

Page 176: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 177: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 178: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 179: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 180: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 181: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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

Page 182: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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;

Page 183: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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);

Page 184: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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))

Page 185: MÓNICA NÁTALY HERNÁNDEZ MANZANO

{ 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

Page 186: MÓNICA NÁTALY HERNÁNDEZ MANZANO

{ 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"); } } } }

Page 187: MÓNICA NÁTALY HERNÁNDEZ MANZANO

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.