PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CONTROL DE NOTAS Y ASISTENCIAS DEL SISTEMA DE GESTIÓN ACADÉMICA MEDIANTE EL USO DE HERRAMIENTAS DE SOFTWARE LIBRE PARA LA UNIDAD EDUCATIVA SAGRADOS CORAZONES DEL CANTÓN LA CONCORDIA EN EL AÑO 2013.
Disertación de grado para la obtención del título de Ingenieros de Sistemas y Computación Línea de investigación: Estudio, Diseño e Implementación de Software
Autores: GABRIEL PATRICIO BONILLA SANCHEZ LUIS MIGUEL GONZÁLEZ SÁNCHEZ Director: MG. ADRIÁN ROLANDO CEVALLOS DUEÑAS
Santo Domingo – Ecuador Marzo, 2015
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica – Escuela de Sistemas HOJA DE APROBACIÓN ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CONTROL DE NOTAS Y ASISTENCIAS DEL SISTEMA DE GESTIÓN ACADÉMICA MEDIANTE EL USO DE HERRAMIENTAS DE SOFTWARE LIBRE PARA LA UNIDAD EDUCATIVA SAGRADOS CORAZONES DEL CANTÓN LA CONCORDIA EN EL AÑO 2013. Línea de Investigación:
Estudio, Diseño e Implementación de Software
Autores: GABRIEL PATRICIO BONILLA SANCHEZ LUIS MIGUEL GONZÁLEZ SÁNCHEZ
Adrián Rolando Cevallos Dueñas, Mg. f. _____________________ DIRECTOR DE LA DISERTACIÓN DE GRADO Ángel Ramiro Hurtado Hurtado, Ing. CALIFICADOR
f. _____________________
Eduardo Javier Díaz Chicaiza, Mg. CALIFICADOR
f. _____________________
Rodolfo Sirilo Córdova Gálvez, Mg. DIRECTOR DE LA ESCUELA DE SISTEMAS
f. _____________________
Santo Domingo – Ecuador Marzo, 2015
iii
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD
Nosotros, Gabriel Patricio Bonilla Sanchez portador de la cédula de ciudadanía No. 1724099930 y Luis Miguel González Sánchez portador de la cédula de ciudadanía No. 2300077746 declaramos que los resultados obtenidos en la investigación que presentamos como informe final, previo la obtención del Grado de Ingenieros de Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaramos que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de nuestra sola y exclusiva responsabilidad legal y académica.
Gabriel Patricio Bonilla Sanchez CI. 1724099930
Luis Miguel González Sánchez CI. 2300077746
iv
RESUMEN En la presente investigación se detalla una solución de software aplicada a la Unidad Educativa Sagrados Corazones del cantón La Concordia, provincia de Santo Domingo de los Tsáchilas. Debido a los requerimientos de la nueva Ley Orgánica de Educación Intercultural (LOEI) del Ecuador, la
institución educativa necesitó
actualizar su infraestructura lógica y poder sistematizar sus procesos y tareas del personal administrativo y docente. Considerando la necesidad de la Unidad Educativa Sagrados Corazones, se propone un módulo de software para administrar las notas, asistencias y comportamiento de la comunidad estudiantil. El módulo será desarrollado con la metodología RUP, la cual se desarrolla por fases que facilitan la estructuración y desarrollo ordenado de la aplicación. Este trabajo tiene como objetivo principal mostrar el proceso que se realiza para cubrir las necesidades de una institución utilizando herramientas de software libre, desde el análisis del problema basado en entrevistas in situ a las autoridades y personal administrativo de la unidad educativa, hasta la implantación de la aplicación en el entorno operativo.
v
ABSTRACT In the current research is detailed a software solution applied at the Unidad Educativa Sagrados Corazones from La Concordia Canton, Santo Domingo de los Tsรกchilas province. Due to requirements of the new Organic Law on Intercultural Education of Ecuador, the educational institution needed to update its logical infrastructure and systematizes its process and tasks of administrative staff and teachers. Regarding the need of Unidad Educativa Sagrados Corazones, it is proposed a software module to manage grades, attendance and behavior of the student community. The module will be developed with the RUP methodology, which it develops by phases that facilitate structuring and organized development of the application. This research work has a main objective to show the process that is carried out to cover the needs of an institution using free software tools, from analysis of the problem based in on-location interviews to authorities and administrative staff of the educational institution up to the implementation of the application in the operational environment.
vi
ÍNDICE DE CONTENIDOS I.
INTRODUCCIÓN A LA DISERTACIÓN DE GRADO ................................... 1
II.
PLANTEAMIENTO DEL PROBLEMA ............................................................ 3
2.1.
Antecedentes ..................................................................................................... 3
2.2.
Problema de Investigación ................................................................................ 4
2.3.
Justificación ...................................................................................................... 4
2.4.
Objetivos ........................................................................................................... 5
2.4.1.
Objetivo general................................................................................................ 5
2.4.2.
Objetivos Específicos ....................................................................................... 6
III.
MARCO REFERENCIAL .................................................................................. 7
3.1.
Ingeniería en sistemas ....................................................................................... 7
3.2.
Sistema de información .................................................................................... 8
3.3.
Aplicaciones web .............................................................................................. 8
3.4.
Lenguajes de programación ............................................................................ 10
3.4.1.
PHP ................................................................................................................. 10
3.5.
HTML ............................................................................................................. 11
3.6.
Hojas de estilo en cascada (CSS) .................................................................... 11
3.7.
Framework ...................................................................................................... 11
3.7.1.
Laravel ............................................................................................................ 12
3.7.2.
Bootstrap ......................................................................................................... 12
3.8.
JQuery ............................................................................................................. 12
3.9.
Sistemas de gestión de base de datos .............................................................. 13
3.9.1.
PostgreSQL ..................................................................................................... 14
3.10.
Composer ........................................................................................................ 15
3.11.
Metodología RUP ........................................................................................... 15
3.12.
Gestión académica .......................................................................................... 18
3.13.
Gestión Administrativa con las Tecnologías de la Información y Comunicación ................................................................................................. 18
vii
3.14.
Módulo de notas y asistencias ........................................................................ 19
IV.
METODOLOGÍA DE DESARROLLO ............................................................ 20
4.1.
Fase de Inicio. ................................................................................................. 20
4.2.
Fase de Elaboración. ....................................................................................... 21
4.3.
Fase de Construcción. ..................................................................................... 22
4.4.
Fase de Transición. ......................................................................................... 23
V.
RESULTADOS ................................................................................................. 24
5.1.
Resultados Fase de Inicio ............................................................................... 24
5.1.1.
Análisis de entrevista ...................................................................................... 24
5.1.2.
Especificación de requisitos de software ........................................................ 28
5.1.2.1.
Introducción .................................................................................................... 28
5.1.2.1.1.
Propósito ......................................................................................................... 28
5.1.2.1.2.
Alcance ........................................................................................................... 29
5.1.2.2.
Descripción General ....................................................................................... 29
5.1.2.2.1.
Perspectiva del producto ................................................................................. 29
5.1.2.2.2.
Características del producto ............................................................................ 30
5.1.2.2.3.
Clases de Usuario y Características ................................................................ 31
5.1.2.2.4.
Ambiente Operativo ........................................................................................ 32
5.1.2.2.5.
Limitantes de Diseño e Implementación......................................................... 32
5.1.2.2.6.
Suposiciones y dependencias .......................................................................... 32
5.1.2.3.
Características del Sistema ............................................................................. 33
5.1.2.3.1.
Ingreso de notas parciales ............................................................................... 33
5.1.2.3.2.
Ingreso de notas de exámenes quimestrales.................................................... 33
5.1.2.3.3.
Ingreso de notas de exámenes de grado .......................................................... 34
5.1.2.3.4.
Ingreso de notas de exámenes de gracia ......................................................... 35
5.1.2.3.5.
Ingreso de notas de exámenes de recuperación, supletorio y remedial........... 36
5.1.2.3.6.
Ingreso de inasistencias y atrasos ................................................................... 36
5.1.2.3.7.
Ingreso de comportamiento............................................................................. 37
5.1.2.3.8.
Autorización para ingreso de notas, comportamiento e inasistencias. ............ 38
viii
5.1.2.3.9.
Autorización de corrección de notas, comportamiento e inasistencias ........... 39
5.1.2.3.10.
Autorización para ingreso de notas y comportamientos pendientes ............... 40
5.1.2.3.11.
Generación de Reportes .................................................................................. 40
5.1.2.3.12.
Cargar datos académicos en el portal web ...................................................... 41
5.1.2.3.13.
Cierre y apertura de periodo académico ......................................................... 42
5.1.2.4.
Requerimientos de interfaces externas............................................................ 42
5.1.2.4.1.
Interfaces de Usuario ...................................................................................... 42
5.1.2.4.2.
Interfaces de Hardware ................................................................................... 45
5.1.2.4.3.
Interfaces de Software .................................................................................... 45
5.1.2.4.4.
Interfaces de Comunicación ............................................................................ 45
5.1.2.5.
Requerimientos no Funcionales ...................................................................... 46
5.1.2.5.1.
Requerimientos de Rendimiento ..................................................................... 46
5.1.2.5.2.
Requerimientos de Seguridad ......................................................................... 46
5.1.2.5.3.
Atributos de Calidad de Software ................................................................... 47
5.1.3.
Modelado del negocio..................................................................................... 47
5.1.3.1.
Modelo de casos de uso de negocio ................................................................ 48
5.1.3.2.
Diagramas de actividades ............................................................................... 49
5.1.3.3.
Modelo de dominio ......................................................................................... 52
5.1.4.
Glosario........................................................................................................... 52
5.2.
Resultados Fase de Elaboración ..................................................................... 53
5.2.1.
Análisis y diseño ............................................................................................. 53
5.2.1.1.
Modelo de casos de uso .................................................................................. 54
5.2.1.1.1.
Especificaciones de casos de uso. ................................................................... 54
5.2.1.1.2.
Diagramas de casos de uso ............................................................................. 73
5.2.1.2.
Diagramas de secuencia .................................................................................. 78
5.2.1.3.
Diagrama de base de datos.............................................................................. 82
5.2.1.4.
Prototipos de usuario ...................................................................................... 82
5.2.1.4.1.
Pantalla de menú principal del Módulo de Control de Notas y Asistencias. .. 82
5.2.1.4.2.
Pantalla de Ingreso de Notas Parciales ........................................................... 83
ix
5.2.1.4.3.
Pantalla de Ingreso de Notas Quimestrales ..................................................... 84
5.2.1.4.4.
Pantalla de Ingreso de Notas de exámenes de grado ...................................... 85
5.2.1.4.5.
Pantalla de Ingreso de Notas de exámenes de recuperación, supletorio, remedial y gracia ............................................................................................. 86
5.2.1.4.6.
Pantalla de Ingreso de Comportamiento ......................................................... 87
5.2.1.4.7.
Pantalla de Registro de Inasistencias .............................................................. 89
5.2.1.4.8.
Pantalla de Reportes........................................................................................ 89
5.2.1.4.9.
Pantalla de Autorizaciones.............................................................................. 94
5.2.1.4.10.
Pantalla de Proceso de cierre de periodo ........................................................ 96
5.2.1.4.11.
Pantalla para cargar datos al portal web ......................................................... 96
5.3.
Resultados Fase de Construcción.................................................................... 97
5.3.1.
Implementación .............................................................................................. 97
5.3.2.
Plan de pruebas ............................................................................................... 97
5.3.2.1.
Introducción .................................................................................................... 97
5.3.2.2.
Pruebas unitarias ............................................................................................. 98
5.3.2.3.
Prueba de integración de componentes ......................................................... 101
5.4.
Resultados Fase de Transición. ..................................................................... 101
5.4.1.
Despliegue .................................................................................................... 101
5.5.
Conclusiones ................................................................................................. 103
5.6.
Recomendaciones ......................................................................................... 104
FUENTES DE REFERENCIA O DE INFORMACIÓN ..................................................... 105 Bibliografía
...................................................................................................................... 105
Lincografía
...................................................................................................................... 105
Anexos
......................................................................................................................... 107
x
ÍNDICE DE FIGURAS Figura 1:
Casos de uso de negocio .................................................................................... 48
Figura 2:
Proceso ingreso de notas parciales .................................................................... 49
Figura 3:
Proceso de evaluación de comportamiento ....................................................... 49
Figura 4:
Proceso ingreso de notas exámenes de recuperación, supletorio y remediales . 50
Figura 5:
Proceso ingreso de notas de exámenes de grado y gracia ................................. 50
Figura 6:
Proceso de cierre de periodo.............................................................................. 51
Figura 7:
Proceso de ingreso de inasistencias y atrasos .................................................... 51
Figura 8:
Modelo de Dominio........................................................................................... 52
Figura 9:
Caso de Uso - Ingreso de notas parciales .......................................................... 73
Figura 10:
Caso de Uso - Ingreso de notas de exámenes quimestrales ............................... 74
Figura 11:
Caso de Uso - Ingreso de notas de examen de recuperación, supletorio, y remedial. ............................................................................................................ 74
Figura 12:
Caso de Uso - Ingreso de notas de exámenes de grado ..................................... 75
Figura 13:
Caso de Uso - Ingreso de notas de exámenes de gracia .................................... 75
Figura 14:
Caso de Uso - Ingreso de comportamiento........................................................ 75
Figura 15:
Caso de Uso - Ingreso de inasistencias y atrasos............................................... 76
Figura 16:
Caso de Uso - Ingreso de notas pendientes ....................................................... 76
Figura 17:
Caso de Uso - Autorizaciones ........................................................................... 76
Figura 18:
Caso de Uso - Generar reportes ......................................................................... 77
Figura 19:
Caso de Uso - Autorización para cierre de periodo académico ......................... 77
Figura 20:
Diagrama de Secuencia - Ingreso de notas parciales ......................................... 78
Figura 21:
Diagrama de Secuencia - Ingreso de notas de grado ......................................... 79
Figura 22:
Diagrama de Secuencia - Ingreso de comportamiento ...................................... 79
Figura 23:
Diagrama de Secuencia - Ingreso de inasistencias ............................................ 80
Figura 24:
Diagrama de Secuencia - Asignación de autorizaciones ................................... 80
Figura 25:
Diagrama de Secuencia - Generar reportes ....................................................... 81
Figura 26:
Diagrama de Secuencia - Proceso de Cierre de ciclo académico ...................... 81
Figura 27:
Modelo físico de base de datos.......................................................................... 82
Figura 28:
Interfaz – Pantalla de bienvenida ...................................................................... 83
Figura 29:
Interfaz - Ingreso de notas parciales .................................................................. 84
Figura 30:
Interfaz - Ingreso de notas quimestrales ............................................................ 85
Figura 31:
Interfaz – Ingreso de notas de exámenes de grado ............................................ 86
Figura 32:
Interfaz - Ingreso de calificaciones de exámenes supletorio, remedial o recuperación ...................................................................................................... 87
xi
Figura 33:
Interfaz – Ingreso de comportamiento por parciales ......................................... 88
Figura 34:
Interfaz – Ingreso de comportamiento por quimestres ...................................... 88
Figura 35:
Interfaz – Ingreso de inasistencias ..................................................................... 89
Figura 36:
Interfaz – Pre-reporte de notas parciales ........................................................... 90
Figura 37:
Interfaz – Reporte de notas parciales................................................................. 90
Figura 38:
Interfaz – Pre-reporte de notas por quimestre ................................................... 91
Figura 39:
Interfaz –Reporte de notas por quimestre .......................................................... 91
Figura 40:
Interfaz –Pre-reporte de promedios quimestrales .............................................. 92
Figura 41:
Interfaz –Reporte de promedios quimestrales ................................................... 92
Figura 42:
Interfaz –Pre-reporte de certificado de promoción ............................................ 93
Figura 43:
Interfaz – Certificado de promoción.................................................................. 93
Figura 44:
Interfaz – Ingresar Autorización........................................................................ 95
Figura 45:
Interfaz – Cerrar periodo académico ................................................................. 96
Figura 46:
Diagrama de despliegue .................................................................................. 102
xii
ÍNDICE DE TABLAS Tabla 1: Caso de Uso - Ingresar notas parciales .................................................................... 54 Tabla 2: Caso de Uso - Ingresar notas de exámenes quimestrales ......................................... 55 Tabla 3: Caso de Uso - Ingresar comportamiento.................................................................. 56 Tabla 4: Caso de Uso - Ingresar inasistencias y atrasos......................................................... 57 Tabla 5: Caso de Uso - Ingresar notas de exámenes de grado ............................................... 58 Tabla 6: Caso de Uso - Ingresar notas de exámenes recuperación, supletorio y remedial .... 59 Tabla 7: Caso de Uso - Ingresar notas de exámenes de gracia .............................................. 60 Tabla 8: Caso de Uso - Ingresar notas parciales pendientes .................................................. 61 Tabla 9: Caso de Uso - Corrección de notas parciales ........................................................... 62 Tabla 10: Caso de Uso - Ingresar notas quimestrales pendientes .......................................... 63 Tabla 11: Caso de Uso - Corrección de notas quimestrales ................................................... 64 Tabla 12: Caso de Uso - Ingresar notas de grado pendientes ................................................ 65 Tabla 13: Caso de Uso - Corregir notas de exámenes recuperación, supletorio y remedial .. 66 Tabla 14: Caso de Uso - Ingresar comportamiento................................................................ 67 Tabla 15: Caso de Uso - Ingresar comportamientos pendientes ............................................ 68 Tabla 16: Caso de Uso - Corregir comportamientos.............................................................. 69 Tabla 17: Caso de Uso - Autorizaciones ................................................................................ 71 Tabla 18: Caso de Uso - Generar reportes ............................................................................. 71 Tabla 19: Caso de uso - Cerrar periodo académico ............................................................... 72 Tabla 20: Caso de uso - Cargar información al portal web.................................................... 73 Tabla 21: Plan de pruebas .................................................................................................... 101
I.
INTRODUCCIÓN A LA DISERTACIÓN DE GRADO
Actualmente las Tecnologías de Información se han expandido en muchos ámbitos, llegando a ser una necesidad utilizarlas en instituciones educativas por las amplias ventajas que estas ofrecen, ya que en esta área se maneja grandes cantidades de información que deben ser administradas eficientemente y con las seguridades necesarias. La Unidad Educativa “Sagrados Corazones” del cantón La Concordia dedicada a la labor educativa básica y bachillerato, ha visto la necesidad de contar con un sistema para la gestión académica y con un módulo de notas y asistencias que administre estos aspectos de los estudiantes, y para también facilitar las tareas del personal administrativo y docente, que tienen la responsabilidad de administrar la información de la comunidad estudiantil de la institución. Después del levantamiento de información realizado en la institución se detectaron varios problemas en la gestión de notas, siendo el principal problema el sistema informático que actualmente están utilizando, el cual no se ajusta a las exigencias de la actual Ley Orgánica de Educación Intercultural del Ecuador. Debido a la problemática encontrada se realiza la propuesta de la creación de un Módulo de Gestión de Notas y Asistencias para La Unidad Educativa “Sagrados Corazones”, optimizando los procesos de ingreso de notas, inasistencias y comportamiento, lo que permitirá almacenar la información de forma confiable y
2
segura en una base de datos. Dichos datos serán presentados en reportes de diferentes índoles que permitirán mostrar las calificaciones, comportamientos y asistencia de los estudiantes. En el presente documento se detalla el análisis, diseño, desarrollo e implementación de la metodología RUP (Rational Unified Process) para el Módulo de Gestión de Notas y Asistencias utilizando herramientas de software libre para disminuir los costos del proyecto, todas las etapas antes mencionadas serán documentadas de manera adecuada para que los diseñadores, programadores y usuarios del sistema conozcan el uso y funcionamiento del módulo.
II.
2.1.
PLANTEAMIENTO DEL PROBLEMA
Antecedentes
La Unidad Educativa “Sagrados Corazones” se encuentra en la provincia de Santo Domingo de los Tsáchilas, cantón La Concordia. La gestión de tareas a través de sistemas informáticos es la tendencia en las instituciones, tanto públicas como privadas, que se viene desarrollando desde varios años atrás. La automatización de tareas por medio de los sistemas informáticos, se aplica a varios ámbitos en una organización según la naturaleza de la misma. Los sistemas académicos funcionan en la mayoría de instituciones de educación primaria, secundaria y superior del Ecuador. Debido a la complejidad de la gestión académica, se debe tener módulos específicos para determinados procesos. Uno de estos módulos es el control o administración de notas y asistencias, que comprende varias tareas que deben estar muy bien definidas para garantizar que la información ingresada va a ser utilizada para todos los fines que demande la unidad educativa. El Módulo de control de notas y asistencias formará parte de un sistema web para la gestión académica; se realizará en el periodo lectivo 2013 - 2014, tema que se desarrollará para obtener el título de COMPUTACIÓN.
3
INGENIERO DE SISTEMAS Y
4
2.2.
Problema de Investigación
El proyecto se lo llevará a cabo en la Unidad Educativa “Sagrados Corazones”, ubicada en el cantón La Concordia, provincia Santo Domingo de los Tsáchilas. La administración de la unidad educativa procesa todos los datos de los estudiantes a lo largo de su formación académica, desde su ingreso hasta su graduación. Actualmente toda la información de notas y asistencias de los estudiantes se procesa en un sistema obsoleto debido a que este sistema no está adaptado a las nuevas leyes y normas de educación, también se registra información del estudiante en hojas de cálculo de Microsoft Excel, lo cual genera una ineficiencia en la administración de la información de la comunidad estudiantil. El personal administrativo y docente invierte mucho tiempo en ingresar las notas y asistencias de los estudiantes porque se lo hace siguiendo este proceso: 1.
El docente entrega a la secretaria en una hoja escrita a mano las notas y asistencias.
2.
La secretaria ingresa las notas al sistema.
Por estos problemas se requiere un módulo que facilite la gestión de notas y asistencias de los estudiantes y que garantice el procesamiento correcto de los datos haciendo un uso óptimo de los recursos y la generación de información rápida y eficiente.
2.3.
Justificación
La unidad educativa con miras a mejorar su infraestructura, tiene como finalidad
5
sistematizar las actividades académicas, para ello ha decidido implantar un sistema académico que permita entre otras funciones, el control de notas y asistencias. Las nuevas exigencias de la Ley que regula las escuelas y colegios del país, la LOEI (Ley Orgánica de Educación Intercultural), obligan a llevar un mejor control de la información académica. Este sistema debe satisfacer todas las necesidades de la unidad educativa, además de facilitar al personal administrativo realizar sus tareas. Esto implica una mejora en la eficiencia de todas las actividades, que significará un ahorro de recursos para la institución educativa. Actualmente, una gran cantidad de las unidades educativas del país cuentan con un sistema informático específico para la gestión académica, el cual lo han adquirido por varios medios. Una opción siempre es el desarrollo de un sistema ajustado a las necesidades de la institución educativa, para lo cual se hace necesario conocer a fondo el problema al cual se desea dar una solución. Las herramientas de diseño y desarrollo, como los IDE, que se utilizarán serán software libre, es decir, no se paga ningún costo por licenciamiento, las cuales permitirán obtener los resultados en cada una de las fases del ciclo de vida del software.
2.4.
Objetivos
2.4.1. Objetivo general Implementar el módulo de control de notas y asistencias en la unidad educativa “Sagrados Corazones” para facilitar al personal administrativo y docente la administración de notas, comportamientos y asistencias de los estudiantes.
6
2.4.2. Objetivos Específicos 1.
Reconocer el problema y proponer una solución.
2.
Determinar la metodología de desarrollo que se ajuste a las necesidades del problema.
3.
Capacitar y elaborar una guía de usuario del Módulo de control de notas y asistencias y entregarlo a la Unidad Educativa “Sagrados Corazones”.
III.
3.1.
MARCO REFERENCIAL
Ingeniería en sistemas
La ingeniería en sistemas es un conjunto de metodologías científicas y de ingeniería que buscan la solución de problemas de la vida cotidiana mediante la gestión de sistemas informáticos. La ingeniería en sistemas no solo se limita a la solución de problemas por medio de un computador, se enfoca en resolver cualquier problema que utilice información a través de un sistema informático. Para dar solución a problemas relacionados con software, la ingeniería en sistemas permite elaborar software confiable y de calidad, utilizando técnicas de ingeniería que abordan todas las fases del ciclo de vida del desarrollo como: análisis de requerimientos, diseño, elaboración del software, pruebas y mantenimiento. A diferencia de otras ingenierías la ingeniería de sistemas no entrega productos tangibles sino software. En la actualidad las organizaciones aumentan su productividad con ayuda de la ingeniería en sistemas, ya que esta provee sistemas informáticos para el uso de la sociedad, reduciendo costos y garantizando la seguridad en la información.
7
8
3.2.
Sistema de información
Es un conjunto de recursos (técnicos, humanos y económicos) interrelacionados de forma dinámica, y organizados de acuerdo a los objetivos de una organización, que tiene como fin satisfacer los requisitos de información empresarial para que sirva de apoyo a la gestión y en la toma de decisiones. Los elementos básicos de un sistema de información son: ●
Información, es decir todo lo obtenido, almacenado y procesado que fluye por el sistema.
●
Recurso humano, quienes ingresan y utilizan la información del sistema.
●
Los equipos de procesamiento de la información.
●
Las normas y/o técnicas de trabajo, métodos utilizados y las tecnologías para desarrollar sus tareas.
3.3.
Aplicaciones web
También llamadas webapps, son aplicaciones alojadas en un servidor web (servidor), que se acceden desde un navegador web (cliente), por una red de internet o intranet utilizando el protocolo HTTP (comunicación). Actualmente las aplicaciones web son muy utilizadas debido a su independencia de sistema operativo, se relacionan con bases de datos corporativas, no se necesita instalar ni actualizar la aplicación en los clientes y no hay problemas de incompatibilidad de versiones de la aplicación porque todos los clientes ejecutan la misma versión.
9
o
El cliente: Es el programa con el cual interactúa el usuario para solicitar a un
servidor web los recursos que desea obtener. Esta comunicación se la realiza mediante el protocolo HTTP. Los clientes interpretan código HTML que estructura la página web, y fragmentos de código ejecutable escritos en lenguaje de script (Javascript) que soporta el motor del navegador. Tecnologías que se aplican en programas cliente: ●
HTML
●
CSS
●
Lenguajes de script: JavaScript, VBScript.
●
Applets en Java
●
Plugins (Flash Player, Adobe Reader, entre otros)
o
El servidor: Es el programa que se ejecuta en el equipo servidor para que
pueda ofrecer su servicio. El servidor recibe peticiones del programa cliente mediante el protocolo HTTP. Algunas tecnologías que se aplican en el lado del servidor son: PHP, ASP, Servlets, entre otros. o
Transferencia de páginas web
El proceso desde que el usuario solicita una página, hasta que el cliente web (navegador) se la muestra, es el siguiente: 1.
El usuario especifica en el cliente web la dirección de la página que desea consultar.
2.
El cliente establece una conexión con el servidor web.
3.
El cliente solicita la página deseada.
10
4.
El servidor responde enviando la página deseada (en caso de no existir la página, retorna un código de error).
5.
El cliente interpreta las etiquetas HTML del documento. En caso de existir referencias a otros objetos que se despliegan conjuntamente con la página (imágenes, sonidos, animaciones multimedia, etc.), este solicita dichos objetos al servidor.
3.4.
Lenguajes de programación
Un lenguaje de programación es un conjunto de reglas sintácticas y semánticas combinadas entre sí
basadas en una sintaxis ya definida que hace posible la
transmisión de instrucciones al procesador […]. (Tlaxcalteco, 2013) 3.4.1. PHP PHP es un lenguaje de programación interpretado, con licencia de software libre que funciona en el lado del servidor, diseñado para la creación de aplicaciones web […] (Heurtel, 2011, p. 14). Características principales: ●
Soporta programación orientada a objetos.
●
Es desplegado en la mayoría de servidores web.
●
Puede ser embebido en el código HTML.
●
Casi todos los servidores web lo soportan.
●
Capacidad de conexión con la mayoría de motores de base de datos.
●
Incluye gran cantidad de funciones.
●
Posee potencia, versatilidad, robustez y modularidad.
11
3.5.
HTML
Lenguaje de marcado de hipertexto, es un lenguaje estándar basado en etiquetas, para definir la estructura y contenido de páginas web. Los archivos que genera el lenguaje HTML son visualizados en navegadores web […] (Equipo Vértice, 2009, p. 12-13).
3.6.
Hojas de estilo en cascada (CSS)
CSS es un lenguaje basado en reglas que describe la presentación de un documento por pantalla ofreciendo un control total sobre el estilo y formato de páginas web a los desarrolladores. Es muy utilizado para dar estilo a los documentos HTML y XML. CSS permite un control centralizado del estilo de múltiples páginas web, esto quiere decir que si hacemos un cambio en el código CSS de un componente, afectará a todas las páginas web vinculadas a ese CSS […] (Schulz, 2008, p.4).
3.7.
Framework
Es una estructura conceptual y tecnológica, contiene herramientas que sirven de base para el desarrollo, organización o implementación de una aplicación, facilitando el desarrollo de software. Contiene un conjunto de programas, librerías soportadas por un lenguaje interpretado que brindan ayuda para el desarrollo de un proyecto de software.
12
3.7.1. Laravel Es un framework open source para desarrollar aplicaciones en PHP. Permite crear código PHP de forma sencilla, simple y elegante ofreciendo muchas funcionalidades al desarrollador […] (Otwell, 2011). 3.7.2. Bootstrap Bootstrap es un framework libre que permite crear interfaces web con código HTML, CSS y JavaScript que se adaptan a cualquier navegador web y dispositivos de escritorio y móviles. Bootstrap ofrece varios componentes con estilos predefinidos y fáciles de configurar para la tipografía, botones, menús desplegables, formularios, formas, navegación y otros componentes de la interfaz. Sus diseños son sencillos y limpios lo que le da agilidad al momento de cargar y adaptarse a los dispositivos […] (Rodríguez, 2012).
3.8.
JQuery
Es una biblioteca de JavaScript, open source, rápida, sencilla y rica en funciones, que facilita la manera de interactuar con las páginas web, manejo de eventos, animaciones que funciona a través de múltiples navegadores web. Es la base de otras librerías Javascript que se han desarrollado a partir de ella […] (Holzner, 2009, p.13). Esta biblioteca contiene funciones propias que permite reducir código y se logran grandes resultados en menos espacio y tiempo.
13
3.9.
Sistemas de gestión de base de datos
Un Sistema de gestión de base de datos (SGBD) es un conjunto de elementos interrelacionados y una serie de programas que permiten a varios usuarios tener acceso a información, ya sea para consultarla o actualizarla. Características de un SGBD ●
Diccionario de Datos. Es un conjunto de tablas que contiene la siguiente información: Diseño físico de las bases de datos construidas, estructuras de almacenamiento, caminos de acceso, tamaños de archivos y registros; descripción de los usuarios de la base de datos en lo que se refiere a sus responsabilidades o roles y derechos de acceso; relación entre usuarios y transacciones realizadas; cifras estadísticas de utilización y rendimiento.
●
Control de redundancia. Tratar de reducir la duplicidad existente entre los datos, para volver más consistente la información, ya que la duplicidad complica el mantenimiento de los datos hasta el peligro de perder la consistencia.
●
Seguridad. Se debe contar con mecanismos que garanticen que cada quién ve y hace sólo lo que puede y debe hacer en la base de datos. Algunos de estos mecanismos son las credenciales, privilegios y roles.
●
Almacenamiento persistente de datos y estructuras de almacenamiento. Luego de crear la tabla, su estructura quedará protegida hasta que se ejecute sobre ella algún cambio explícito.
14
●
Mecanismos para definir e implementar reglas. Restricciones declarativas, entre ellas están las claves primarias, únicas y foráneas.
●
Administrador de la base de datos: Es la persona o grupo de personas responsables del gestor de base de datos. Las principales tareas son:
Definir el esquema físico y lógico de la base de datos Mantenimiento general del sistema gestor de base de datos Administración de permisos de usuarios Mantenimiento y seguridad en la base de datos Definir vistas de usuario Funciones de un SGBD ●
Función de definición. Permite especificar los elementos que integran la base de datos, estructuras y relaciones que existen entre ellos, así como las características de tipo físico. Esta función la realiza el Lenguaje de Definición de Datos (DDL).
● Función de manipulación. Los usuarios podrán recuperar la información o actualizarla, para esto realizarán consultas, borrado de elementos, modificación de datos o inserción de nuevos elementos. Esta función se realiza a través del Lenguaje de Manipulación de Datos (DML) […] (Pons, 2009). 3.9.1. PostgreSQL Es un sistema de gestión de base de datos open source, relacional y orientado a objetos. PostgreSQL garantiza la estabilidad del sistema al utilizar un modelo cliente/servidor y multiprocesos, es un motor de base de datos muy robusto y potente en el mercado.
15
Entre sus características principales encontramos: ●
Alta concurrencia
●
Funciones, procedimientos almacenados y disparadores
●
Copias de seguridad en caliente
●
Claves foráneas
●
Disponible para GNU/Linux, Mac OS y Windows
●
Numerosos tipos de datos
●
Atomicidad, Consistencia, Aislamiento y Durabilidad […] (Martínez, 2010).
3.10. Composer Composer es una herramienta para la gestión de dependencias para el lenguaje de programación PHP. Composer permite declarar las librerías de las que depende nuestro proyecto mediante un archivo .json y las administra dentro de una aplicación concreta la cual se encarga de obtenerlas y mantenerlas actualizadas […] (Lobato, 2012).
3.11. Metodología RUP Rational Unified Process actualmente propiedad de IBM, es un proceso de desarrollo de software que se basa en la asignación de tareas y responsabilidades dentro de una organización de desarrollo. Su principal objetivo es la producción de software de calidad que resuelve las necesidades de los usuarios cumpliendo en tiempo y presupuesto.
16
Se caracteriza por ser iterativo e incremental. RUP está enfocado a proyectos de gran magnitud, junto a UML constituyen una metodología útil para desarrollo de sistemas orientados a objetos […] (Bermeo, 2010). Fases del ciclo de vida RUP: ●
Fase de Concepción.- Se establece el caso de negocio con el fin de definir el alcance del sistema y el alcance del proyecto.
Esta fase incluye las siguientes disciplinas:
Modelado del negocio.- Define los procesos de negocio, familiariza al equipo con el funcionamiento de la organización. Se utilizan casos de uso para cada proceso de negocio, los diagramas de actividades y diagramas de clases.
Requerimientos.- Es el contrato presentado al usuario final el cual define el funcionamiento del sistema y los requerimientos especificados. Se utiliza diagramas de estado de cada caso de uso de negocio y el documento de especificación de requerimientos de software.
●
Fase de Elaboración.- Se define la arquitectura base del sistema, se orienta en los casos de uso para desarrollar el análisis, diseño y análisis de riesgos del sistema.
Esta fase incluye las siguientes disciplinas:
Análisis y Diseño.- Se establece la arquitectura del software a partir de la funcionalidad prevista y los requerimientos definidos. En el análisis se transforma los casos de uso en clases; en el diseño se refina el análisis para poder implementar los diagramas de clases, los diagramas de colaboración, diagramas de secuencia y diagramas de estados.
17
●
Fase de Construcción.- Se desarrolla el producto, a través de iteraciones e incrementos que involucran tareas de análisis, diseño e implementación, en esta fase se termina el producto junto con la documentación.
Esta fase incluye las siguientes disciplinas:
Implementación.- Se implementan todas las clases de diseño generando ficheros fuente y ejecutables dando como resultado final el sistema deseado. Utiliza el modelo de implementación y diagrama de componentes.
Pruebas.- Verifica la integración de los componentes y la implementación de todos los requerimientos establecidos por el cliente y asegura que los defectos encontrados han sido resueltos.
●
Fase de Transición.- El objetivo de esta fase es dejar el sistema funcionando para los usuarios finales, luego de haber pasado las pruebas de aceptación y corrección de errores.
Esta fase incluye las siguientes disciplinas:
Despliegue.- En esta fase se realiza la entrega e instalación del producto al cliente, se realizan las pruebas en el escenario final y se capacita a los usuarios finales.
Roles en RUP: ●
Analistas
●
Desarrolladores
●
Especialista en pruebas
●
Gestores
●
Otros […] (Bermeo, 2010)
18
3.12. Gestión académica La gestión académica contribuye en el proceso de formación del estudiante, este proceso administra diferentes componentes curriculares, que apoyan la práctica pedagógica para permitir construir el perfil deseable del estudiante basándose en los objetivos que defina la institución. Tiene relación con el aprendizaje, la enseñanza, proceso de matrículas, servicios educativos y seguimiento académico. Además la gestión académica se encarga del monitoreo del proceso enseñanzaaprendizaje de manera que los resultados de los estudiantes sirvan para evaluar el desarrollo de sus competencias y la gestión escolar.
3.13. Gestión Administrativa con las Tecnologías de la Información y Comunicación Las Tecnologías de la Información y Comunicación (TIC) hacen más productivo el trabajo escolar y la gestión de la información en las tareas de administración. La implantación de las TIC en las instituciones educativas no sólo constituye una herramienta que agiliza ciertas tareas sino que puede involucrar la adopción de nuevas formas de gestionar las labores diarias y colaborar con el establecimiento de una nueva cultura de relación entre las diversas áreas, administrativos, docentes, alumnos y comunidad educativa en general. Su impacto se incrementa si contamos con ellas para sistematizar, compartir y utilizar información para la toma de decisiones.
19
Las TIC aplicadas a las tareas de gestión de una institución significa un gran reto para todos los actores de la comunidad educativa. El éxito de su integración depende de la participación y cooperación de todos ellos. En este proceso la participación de todos es de suma importancia, ya que las decisiones que se tomen afectarán directamente a la vida institucional; para ello se deben generar y fomentar la participación en espacios de discusión, deliberación y decisión en los que el grupo de profesores reflexionen sobre su labor docente, la realidad de la escuela y como mejorarla usando TIC.
3.14. Módulo de notas y asistencias El principal objetivo de un módulo de notas y asistencias como componente de un sistema de gestión académica es automatizar el control de notas, comportamientos y asistencias de los estudiantes, permitiendo interactuar a los docentes y personal administrativo directamente con el módulo. Mediante este módulo se reducen los costos y tiempos de respuesta, permitiendo contar con información segura y oportuna en cualquier momento.
IV.
METODOLOGÍA DE DESARROLLO
Para el desarrollo del Módulo de Notas y Asistencias se utilizó la metodología RUP que garantiza desarrollar software de calidad. Esta metodología permite asignar tareas y responsabilidades a cada miembro del equipo de trabajo. Se centra en el análisis y diseño disminuyendo la cantidad de cambios en el futuro. RUP se basa en tres principios básicos: •
Dirigido por casos de uso
•
Centrado en la arquitectura
•
Proceso iterativo e incremental
RUP se divide en cuatro fases: A continuación se detalla la aplicación de cada fase en el desarrollo del módulo:
4.1.
Fase de Inicio.
En esta fase se realizó el reconocimiento del problema y el levantamiento de información en la Unidad Educativa. En la fase de inicio se recoge los datos que nos ayudan a realizar la propuesta de solución al problema de la unidad educativa. Nuestro principal instrumento para recolectar los datos necesarios para el proyecto es la entrevista estructurada realizada al Director Académico de la Unidad Educativa Sagrados Corazones. 20
21
La entrevista estructurada cuenta con una lista de tópicos e interrogantes sobre los cuales se centra, estos contribuyen a un conocimiento profundo de la problemática y el análisis de posibles soluciones. La información recogida con la entrevista se generó las especificaciones de requisitos de software lo cual detalla la composición y funcionamiento del módulo de notas y asistencias. Productos resultantes de la fase de inicio:
Especificación de requisitos de software
Identificación de actores
Modelo de casos de uso de negocio
Modelo de dominio
Glosario
4.2.
Fase de Elaboración.
En la segunda fase de la metodología RUP se define el prototipo de la arquitectura base del programa, implementando los productos resultantes de la fase de inicio. Para el desarrollo de la aplicación se utilizó las siguientes herramientas: •
Lenguaje de programación: PHP
•
Motor de base de datos: PostgreSql
•
Framework: Laravel, Bootstrap
•
Gestor de dependencias PHP: Composer
22
•
Diseño web: HTML, CSS
•
Servidor web: Apache
En esta fase se generó el primer ejecutable de nuestro Módulo De Notas y Asistencias, que será sometido a varias iteraciones hasta obtener un resultado final que satisfaga los requisitos definidos en la fase inicial. Productos resultantes de la fase de elaboración:
Modelos de casos de uso
Requisitos adicionales
Diagramas de secuencia
Diagrama de base de datos
Prototipos de interfaz de usuario
Prototipo ejecutable de la aplicación
4.3.
Fase de Construcción.
El objetivo principal de la fase de construcción es la finalización de la aplicación después de varias iteraciones y pruebas, si se presentan fallos o algún detalle adicional debe ser solucionado en esta fase. El programa resultante de esta fase debe implementar todos los requisitos y características requeridas por el usuario final, con lo cual se pueda contar con una versión beta del Módulo De Notas y Asistencias.
23
Productos resultantes de la fase de construcción:
Plan de pruebas
Manual de usuario
4.4.
Fase de Transición.
En la última fase del desarrollo del proyecto el propósito es entregar el producto operacional a la unidad educativa para realizar pruebas de funcionalidad y generar nuevas versiones mejoradas de la aplicación, se debe completar y entregar la documentación del Módulo, además capacitar al personal encargado sobre la instalación, configuración y uso del Módulo De Notas y Asistencias. Luego de realizar las pruebas al software, cuando los usuarios finales se encuentren satisfechos con el uso del módulo, se realiza la entrega formal del Módulo De Notas y Asistencias. Productos resultantes de la fase de transición:
Diagrama de despliegue
Fuentes del módulo
Manual de usuario
Manual técnico del entorno de desarrollo
Manual técnico del entorno de producción
V.
RESULTADOS
En el presente capítulo se muestra los resultados obtenidos del proyecto Análisis, diseño e implementación del módulo de control de notas y asistencias del sistema de gestión académica mediante el uso de herramientas de software libre para la Unidad Educativa Sagrados Corazones del cantón la Concordia en el año 2013. Se detalla los resultados por cada fase de la metodología de desarrollo RUP.
5.1. Resultados Fase de Inicio 5.1.1. Análisis de entrevista A continuación se muestra el análisis de la entrevista realizada al Director Académico de la Unidad Educativa Sagrados Corazones, el Ingeniero Oscar Morillo, quien conoce la realidad de la institución, los problemas que poseen y las soluciones requeridas. Para tener un mayor cubrimiento del problema y despejar dudas que se presentaron durante el desarrollo del módulo de Notas y Asistencias, se realizaron varias visitas a la Unidad educativa, en las cuales se dialogó con las autoridades y personal administrativo. En una visita se formalizó una entrevista que fue desarrollada en base a un cuestionario previo, se realizaron preguntas necesarias para conocer a fondo la situación actual y de esta manera presentar una propuesta que cubra las necesidades del plantel educativo. Ver anexo 2.
24
25
Pregunta N° 1. ¿Qué problemas cubrirá la solución requerida? Objetivo. ●
Conocer la información que será administrada en el módulo para determinar los requerimientos funcionales y el alcance del proyecto.
●
Determinar requerimientos que no estén normados en la LOEI pero que sean necesarios para la gestión en la unidad educativa.
Análisis. El director nos informa que el actual sistema que utilizan no está adaptado a la LOEI por lo que necesitan urgentemente una aplicación de software para administrar la información de su comunidad estudiantil. La información que necesitan administrar es la siguiente: todas las calificaciones cuantitativas y cualitativas (comportamiento) que obtienen los estudiantes a lo largo del año lectivo, registrar las inasistencias, generar reportes y permitir modificar notas. Pregunta N° 2. ¿Cuál es el proceso actual que se utiliza en la institución? Objetivo. ●
Conocer la manera que fluye la información actualmente.
●
Conocer el grado de adaptabilidad que actualmente tiene la institución con la LOEI.
●
Comparar el antiguo sistema utilizado en la unidad educativa con nuestra propuesta.
26
Análisis. Actualmente, en la institución para administrar la información de las calificaciones y faltas de los estudiantes, se utiliza un sistema genérico obsoleto, que no cumple los parámetros establecidos en el reglamento de la LOEI. Además no cubre todas las necesidades del plantel. El ingreso de notas lo realiza la secretaria luego de que los docentes le entreguen el registro de las notas en una hoja de papel con un formato establecido. También se utiliza un formato en una hoja de cálculo, donde se ingresa todas las notas. Pregunta N° 3. ¿Se utilizará periodo de ingreso y cierre de ingreso de notas? Objetivo. ●
Conocer si existe una política interna para la apertura y cierre de ingreso de notas y si se requiere implantarlo en el módulo.
Análisis. La unidad educativa recibe una calendarización del Ministerio de Educación, la cual tienen que cumplir y para esto manejan una calendarización interna en la que se establecen las fechas de las actividades que ocurren a lo largo del año lectivo El director académico está de acuerdo en implementar este control de fechas de ingreso y cierre de notas en el módulo, para que los docentes y secretaría respeten estas fechas y así tener una mejor organización en el proceso, de igual manera en el módulo se debe agregar la opción para autorizar la corrección de notas en caso de existir error en el ingreso por parte de las personas encargadas.
27
Pregunta N° 4. ¿De qué manera se registran las notas de grado? Objetivo. ●
Conocer el proceso que se lleva a cabo con las notas de grado.
Análisis. Los exámenes de grado se rinden después de haber aprobado el tercer año de bachillerato, se compone de cuatro exámenes. Los docentes entregan las notas obtenidas a la secretaria para que ella posteriormente las ingrese al sistema. Estas notas también deben tener un control de fechas de ingreso y corrección de notas en el módulo. Pregunta N° 5. ¿Qué usuarios y roles utiliza el módulo de notas y asistencias? Objetivo. ●
Determinar los tipos de usuarios, roles y niveles de acceso al módulo.
●
Determinar las tareas asignadas a cada usuario.
Análisis. Los roles necesarios para administrar la información de los estudiantes son los siguientes: ●
Docente: Usuario encargado del ingreso de notas de parciales, tanto normales como las pendientes; exámenes: quimestrales, de recuperación, supletorios, remediales y de gracia.
●
Secretaria: Usuario que tendrá acceso al ingreso de notas de exámenes de grado y visualizar reportes.
●
Docente Tutor: Ingreso de notas y comportamientos del curso que dirige.
28
●
Inspector: Usuario encargado de administrar el registro de inasistencias.
●
Director Académico: Usuario encargado de: autorizar el ingreso de notas, inasistencias y comportamientos, cerrar el periodo académico, visualizar reportes, entre otras actividades.
Pregunta N° 6. ¿Cuál es la expectativa del módulo de notas y asistencias? Objetivo. ●
Conocer las expectativas que tienen las autoridades de la institución una vez implantado el módulo de notas y asistencias.
Análisis. Las expectativas es obtener un sistema automatizado que permita agilizar las tareas del personal administrativo y docente y tener mayor tiempo para realizar otras actividades.
5.1.2. Especificación de requisitos de software 5.1.2.1. 5.1.2.1.1.
Introducción Propósito
El propósito de la Especificación de requisitos de software es definir los requerimientos, tener una vista previa de los elementos que intervienen y también dar a conocer el funcionamiento general del Módulo de Notas y Asistencias del Sistema de Gestión Académica, el cual es una aplicación web que facilitará la gestión de las notas y asistencias de la comunidad estudiantil y será asistido por el personal administrativo y docente de la Unidad Educativa Sagrados Corazones.
29
5.1.2.1.2.
Alcance
El Módulo de Control de Notas y Asistencias funcionará en un entorno web que permitirá principalmente: ● Acceso a usuarios específicos ● Facilitar el ingreso de notas, comportamiento y asistencias de la comunidad estudiantil de la Unidad Educativa “Sagrados Corazones”. ● Permitir a los usuarios administrar las notas, asistencias y comportamiento de los estudiantes en el año lectivo. ● Autorizar un período para el ingreso de notas, asistencias y comportamientos. ● Corregir las notas previa autorización del usuario Director Académico. ● Generar reportes parciales y generales detallados de todas las notas de los estudiantes y sus actividades académicas. ● Realizar el cierre del periodo académico. ●
El módulo permite generar e imprimir reportes de los boletines, por estudiante y por asignatura, en los diferentes periodos establecidos.
5.1.2.2. 5.1.2.2.1.
Descripción General Perspectiva del producto
El Módulo de Control de Notas y Asistencias será un producto diseñado para trabajar en entornos Web, lo que permitirá su utilización de forma rápida y eficaz. El Módulo de Control de Notas y Asistencias permitirá el ingreso de notas por parte de los docentes evitando la acumulación de trabajo a la secretaria, como
30
antiguamente se lo hacía. La secretaria de la institución ingresará solamente las notas de exámenes de grado. Este módulo permitirá optimizar el control de notas y asistencias, ahorrando tiempo a los docentes en el ingreso de las calificaciones de sus respectivas materias y estudiantes, evitando de esta manera hacerlo manualmente, teniendo un tiempo determinado para realizar esta actividad. 5.1.2.2.2.
Características del producto
El módulo de Notas y Asistencias contará con las siguientes características: ● Es una aplicación multiplataforma soportando múltiples sistemas operativos, por el hecho de ser una aplicación web. ● Es una aplicación desarrollada en el lenguaje de programación PHP. ● La aplicación cuenta con una base de datos PostgreSQL para el almacenamiento de la información. ● El módulo cuenta con acceso restringido. ● El módulo permite corregir notas mal ingresadas. ● Por medio de este módulo se da apertura y cierre del periodo de ingreso de notas, asistencias y comportamientos. ● El módulo permite el ingreso de notas, inasistencias y comportamiento de cada asignatura que reciben los estudiantes en cada año lectivo. ● El módulo permite realizar el cierre-apertura del año lectivo. ● Mediante el módulo se generan reportes con la información académica de los estudiantes.
31
5.1.2.2.3.
Clases de Usuario y Características
Tipo de usuario: Administrador Actividades: Control y manejo del módulo en general. Tipo de usuario: Docente Actividades: Ingreso de notas de parciales; exámenes: quimestrales, de recuperación, supletorio y remedial; de la comunidad estudiantil. Tipo de usuario: Secretaria Actividades: Usuario que tendrá acceso al ingreso de notas de exámenes de grado, exámenes de gracia, generar reportes y cargar datos al portal web. Tipo de usuario: Colectora Actividades: Usuario que tendrá acceso para cargar los datos al portal web. Tipo de usuario: Tutor Actividades: Ingreso de comportamiento y registro de inasistencias y atrasos de los estudiantes. Tipo de usuario: Director Académico, Rector Actividades:
Usuario
encargado
de
autorizar
el
ingreso
de
notas,
comportamientos e inasistencias, habilitar el ingreso de notas pendientes, autorizar la corrección de notas, generar reportes y cierre del periodo académico. Tipo de usuario: Rector Actividades:
Usuario
encargado
de
autorizar
el
ingreso
de
notas,
comportamientos e inasistencias, habilitar el ingreso de notas pendientes, autorizar la corrección de notas y generar reportes.
32
5.1.2.2.4.
Ambiente Operativo
Para la ejecución del Módulo de Control de Notas y Asistencias se requiere un navegador web por lo tanto este módulo funcionará bajo cualquier sistema operativo que cuente con el mismo. 5.1.2.2.5.
Limitantes de Diseño e Implementación
•
Interfaz para ser usada con navegador web. Se recomienda usar Chrome.
•
Lenguajes y tecnologías en uso: HTML, CSS, jQuery, PHP, PostgreSQL, JavaScript.
•
El servidor debe ser capaz de atender consultas concurrentes.
•
El sistema se diseñará según un modelo cliente/servidor, usando el patrón de diseño Modelo-Vista-Controlador (MVC).
•
El sistema deberá tener un diseño e implementación sencilla, independiente de la plataforma o del lenguaje de programación.
•
La velocidad del módulo dependerá del ancho de banda asignado a la red.
5.1.2.2.6.
Suposiciones y dependencias
●
Se asume que los requisitos aquí descritos son estables.
●
Los equipos en los que se vaya a ejecutar el módulo deben cumplir los requisitos mínimos indicados para garantizar una ejecución correcta del mismo.
●
Debido a que el sistema será una aplicación en red, en caso de que no exista red disponible, el usuario no podrá utilizarla.
●
Si el servidor de base de datos colapsara por cualquier motivo la aplicación también se verá afectada dado que no podrá obtener ni actualizar la información.
33
5.1.2.3. 5.1.2.3.1.
Características del Sistema Ingreso de notas parciales
Descripción y Prioridad Los docentes son los encargados del ingreso de notas de los estudiantes, correspondientes a las notas para cada parcial. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario debe ingresar al apartado de Notas parciales. ● Se debe escoger el curso, asignatura, quimestre y parcial. ● Ingresar las notas correspondientes de los estudiantes.
Requerimientos Funcionales REQ1: Ingreso de notas parciales, el módulo debe permitir el ingreso de las notas obtenidas por los estudiantes en todo el periodo lectivo para cada asignatura.
5.1.2.3.2.
Ingreso de notas de exámenes quimestrales
Descripción y Prioridad Los docentes son los encargados del ingreso de notas de los estudiantes, correspondientes a las calificaciones de los exámenes quimestrales. Prioridad: Alta
34
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario debe ingresar al apartado de Notas Quimestrales. ● Se debe escoger el curso, asignatura y quimestre. ● Ingresar las notas correspondientes de los estudiantes.
Requerimientos Funcionales
REQ1: Ingreso de notas de exámenes quimestrales, el módulo debe permitir el ingreso de las calificaciones obtenidas por los estudiantes los exámenes quimestrales para cada asignatura. 5.1.2.3.3.
Ingreso de notas de exámenes de grado
Descripción y Prioridad
La secretaria es la encargada del ingreso de las notas de los estudiantes correspondientes a los exámenes de grado. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario debe ingresar al apartado Notas de Grado. ● Se debe escoger el curso, asignatura.
35
Requerimientos Funcionales REQ1: Ingreso de notas de exámenes de grado, la secretaria deberá ingresar las calificaciones de los estudiantes que hayan rendido el examen de grado.
5.1.2.3.4.
Ingreso de notas de exámenes de gracia
Descripción y Prioridad El usuario secretaria es el encargado del ingreso de las notas de los estudiantes correspondientes a los exámenes de gracia. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe iniciar sesión. ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario debe ingresar al apartado Exámenes Especiales. ● En el tipo de examen se debe seleccionar Exámenes de gracia. ● En el tipo de examen se debe seleccionar el examen requerido. ● Se debe escoger el curso, asignatura. ● Ingresar las notas correspondientes.
Requerimientos Funcionales
REQ1: Ingreso de notas de exámenes de gracia, la secretaria deberá ingresar las calificaciones de los estudiantes.
36
5.1.2.3.5.
Ingreso de notas de exámenes de recuperación, supletorio y remedial
Descripción y Prioridad El usuario docente es el encargado del ingreso de las notas de los estudiantes correspondientes a los exámenes de recuperación, supletorio y remedial. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe iniciar sesión en el periodo anterior. ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario debe ingresar al apartado Exámenes Especiales. ● En el tipo de examen se debe seleccionar el examen requerido. ● Se debe escoger el curso, asignatura. ● Ingresar las notas correspondientes.
Requerimientos Funcionales
REQ1: Ingreso de notas de exámenes recuperación, supletorio y remedial,
el
docente deberá ingresar las calificaciones de los estudiantes. 5.1.2.3.6.
Ingreso de inasistencias y atrasos
Descripción y Prioridad El usuario tutor es el encargado de ingresar las inasistencias y atrasos del estudiante durante el quimestre. Prioridad: Alta
37
Secuencias de Estímulo/Respuesta ● El tutor debe ingresar al módulo de notas y asistencias. ● El tutor deberá ingresar al apartado de Inasistencias. ● Seleccionar el curso, en caso de dirigir a más de uno, la acción a realizar y el quimestre. ● Se carga las lista de estudiantes del curso dirigido ● Ingresar el número de inasistencias y atrasos para cada estudiante.
Requerimientos Funcionales REQ1: Ingreso de inasistencias, el usuario tutor deberá registrar las inasistencias y atrasos de los estudiantes correspondientes a cada trimestre.
5.1.2.3.7.
Ingreso de comportamiento
Descripción y Prioridad El tutor es el encargado del ingreso del comportamiento de los estudiantes. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario deberá ingresar al apartado Comportamiento parcial o Comportamiento quimestral. ● Seleccionar el curso, en caso de dirigir a más de uno, parcial o quimestre para ingresar el comportamiento. ● Ingresar el comportamiento de los estudiantes.
38
Requerimientos Funcionales REQ1: Ingreso del comportamiento, el usuario tutor deberá ingresar la calificación del comportamiento de los estudiantes de forma cualitativa para cada quimestre y sus parciales correspondientes.
5.1.2.3.8.
Autorización
para
ingreso
de
notas,
comportamiento
e
inasistencias.
Descripción y Prioridad El usuario Rector o Director Académico establecerá un periodo de tiempo para que los docentes puedan ingresar las respectivas notas, comportamiento e inasistencias de los estudiantes. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario deberá ingresar al apartado de Autorizaciones. ● Elegir autorización requerida y el curso. ● Se debe ingresar la fecha de inicio y la fecha fin de la acción seleccionada. ● Ingresar una observación relacionada a la autorización (opcional).
Requerimientos Funcionales REQ1: Autorización de periodos de ingreso de notas, comportamientos e inasistencias. El módulo mostrará una ventana para establecer un periodo de ingreso de notas parciales; exámenes: de grado, quimestrales, recuperación, supletorio, remedial y gracia; así también comportamientos, inasistencias y
39
planes de mejoras, definiendo una fecha de inicio, fecha fin y observaciones, para cada curso. 5.1.2.3.9.
Autorización
de
corrección
de
notas,
comportamiento
e
inasistencias
Descripción y Prioridad El módulo ofrecerá al usuario Rector o Director Académico la opción para habilitar la corrección de notas, comportamiento e inasistencias de los estudiantes que lo requieran, esta información deberá ser corregida por el docente o secretaria que haya solicitado la autorización. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario deberá ingresar al apartado de Autorizaciones. ● El usuario debe escoger la opción que autorice la corrección de notas, comportamientos o inasistencias. ● Definir fecha inicio, fecha fin y observación (opcional).
Requerimientos Funcionales REQ1: Autorización de corrección de notas, comportamiento e inasistencias, el módulo permitirá modificar esta información de los estudiantes que ya esté almacenada en la base de datos por medio de una autorización.
40
5.1.2.3.10.
Autorización para ingreso de notas y comportamientos pendientes
Descripción y Prioridad El módulo ofrecerá al usuario Rector o Director Académico la opción para habilitar el ingreso de notas y comportamientos pendientes, esta información deberá ser ingresada por el docente o secretaria que haya solicitado la autorización. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● El usuario deberá ingresar al apartado de Autorizaciones. ● El usuario debe escoger la opción que permita el ingreso de notas o comportamiento pendientes. ● Definir fecha inicio, fecha fin y observación (opcional).
Requerimientos Funcionales REQ1: Ingreso de notas y comportamiento pendientes, el módulo permitirá autorizar el registro de notas pendientes para cada estudiante que lo requiera.
5.1.2.3.11.
Generación de Reportes
Descripción y Prioridad Permite a los usuarios generar reportes de las calificaciones de los estudiantes por parciales y quimestres con sus respectivas inasistencias, comportamiento, recomendaciones y planes de mejora. Prioridad: Alta
41
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● Ingresar a la opción del reporte requerido. ● Seleccionar los parámetros del reporte, dar clic en el botón Generar Reporte. ● Para imprimir el reporte presione el botón Imprimir del navegador.
Requerimientos Funcionales REQ1: Generar reportes, el módulo permitirá generar reportes de notas parciales y quimestrales, dependiendo del tipo de reporte que el usuario elija. REQ2: Impresión de reportes, el módulo permitirá imprimir reportes con la información de los estudiantes.
5.1.2.3.12.
Cargar datos académicos en el portal web
Descripción y Prioridad Permite al usuario secretaria o colectora cargar la información académica requerida para mostrar las calificaciones en el sitio web institucional y puedan ser consultadas por los estudiantes o padres de familia a través de internet. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo de notas y asistencias. ● Ingresar a Subir datos web. ● Seleccionar el parcial y quimestre. ● Presionar el botón Subir información.
42
Requerimientos Funcionales REQ1: El módulo debe permitir los usuarios actualizar la información académica en el sitio web enviando la información de la base de datos del sistema académico para cada parcial.
5.1.2.3.13.
Cierre y apertura de periodo académico
Descripción y Prioridad Permite al usuario Director Académico al finalizar el año lectivo realizar el cierre del periodo académico en el sistema, este automáticamente generará y dará apertura al siguiente periodo lectivo. Prioridad: Alta
Secuencias de Estímulo/Respuesta ● El usuario debe ingresar al módulo Procesos. ● Presionar el botón Cerrar periodo.
Requerimientos Funcionales REQ1: Cierre del periodo académico, el módulo permitirá cerrar el periodo académico dando por terminado el año lectivo y el ingreso de información al sistema para ese periodo y automáticamente se genera el siguiente periodo.
5.1.2.4. 5.1.2.4.1.
Requerimientos de interfaces externas Interfaces de Usuario
El Módulo Control de Notas y Asistencias contará con diversas pantallas, detallamos a continuación:
43
● Pantalla de ingreso de notas parciales En esta ventana se puede realizar lo siguiente: Ingreso de notas parciales, Corrección de notas parciales e Ingreso de notas parciales pendientes Se debe seleccionar los parámetros requeridos para el ingreso de notas parciales de un curso respectivo lo cual genera la lista de estudiantes con registros vacíos en los que se debe ingresar las notas para cada actividad del parcial. ● Pantalla de exámenes quimestrales En esta ventana se puede realizar lo siguiente: Ingreso de notas de exámenes quimestrales, Corrección de notas de exámenes quimestrales e Ingreso de notas de exámenes quimestrales pendientes Se debe seleccionar los parámetros requeridos para el tipo de ingreso de exámenes quimestrales de un curso respectivo lo cual genera la lista de estudiantes con registros vacíos en los cuales se debe ingresar las notas de los exámenes quimestrales. ● Pantalla de registro de comportamientos parciales Esta ventana será administrada por el tutor de cada curso y contiene la lista de estudiantes
del
curso
para
asignarles
la
calificación
cualitativa
comportamiento parcial de cada uno, se puede realizar lo siguiente: Ingreso de comportamientos parciales,
de
44
Corrección de comportamientos parciales e Ingreso de comportamientos parciales pendientes. ● Pantalla de registro de comportamientos quimestrales Esta ventana será administrada por el tutor de cada curso y contiene la lista de estudiantes
del
curso
para
asignarles
la
calificación
cualitativa
de
comportamiento quimestral de cada uno, se puede realizar lo siguiente: Ingreso de comportamientos quimestrales, Corrección de comportamientos quimestrales e Ingreso de comportamientos quimestrales pendientes ● Pantalla de registro de inasistencias En esta pantalla el tutor puede registrar las inasistencias y atrasos de los estudiantes de forma quimestral, también la corrección de dichos datos. ● Pantalla de autorizaciones Esta ventana permite al Director Académico seleccionar las diferentes autorizaciones para habilitarlas durante un periodo de tiempo, asignando una observación relacionada a la autorización. ● Pantallas reportes En estas pantallas se deben seleccionar los parámetros para generar el reporte requerido. ● Pantalla proceso de cierre de periodo académico Esta ventana permite al Director Académico cerrar el sistema para el periodo lectivo vigente.
45
● Pantalla de subir datos web Esta ventana permite a la Secretaria o Colectora subir las notas al portal web en cada parcial.
5.1.2.4.2.
Interfaces de Hardware
Para los equipos cliente será necesario disponer de equipos de cómputo en perfecto estado con las siguientes características mínimas: ●
Procesador de 2.33GHz o superior
●
Memoria RAM de 2Gb
●
Mouse y Teclado
●
Monitor
●
Tarjeta de red 10/100 Mbps
5.1.2.4.3.
Interfaces de Software
● Sistema Operativo: Windows, GNU/Linux, MAC OS, entre otros. ● Explorador Web: Google Chrome (recomendado), Mozilla Firefox, Internet Explorer, Safari, entre otros. 5.1.2.4.4.
Interfaces de Comunicación
Todo usuario que desea acceder al sistema necesariamente, necesita tener acceso a la red interna de la Unidad Educativa, debido a que la aplicación se comunica con el servidor ubicado en el cuarto de servidores local.
46
5.1.2.5.
Requerimientos no Funcionales
5.1.2.5.1.
Requerimientos de Rendimiento
El rendimiento del sistema se verá afectado por la velocidad de la red, el rendimiento del procesador y la memoria RAM de la computadora cliente. La velocidad de red afectará la rapidez con la que responde el módulo, es decir que influirá en la forma con la que se obtenga la información de la base de datos. Se debe garantizar que el diseño de las consultas u otro proceso no afecte el desempeño de la base de datos, ni considerablemente el tráfico de la red. 5.1.2.5.2.
Requerimientos de Seguridad
● El servidor debe alojarse en un lugar seguro y aislado con ventilación, con un regulador de voltaje o UPS para garantizar la disponibilidad de la información de la base de datos. ● Garantizar la confiabilidad, la seguridad y el desempeño del módulo a los diferentes usuarios. En este sentido la información almacenada o registros guardados podrán ser consultados y actualizados permanente y simultáneamente, sin que se afecte el tiempo de respuesta. ● Garantizar la seguridad del módulo con respecto a la información y datos que se manejan tales sean documentos, archivos y contraseñas. ● La base de datos debe ser administrada remotamente mediante una conexión segura.
47
5.1.2.5.3. ●
Atributos de Calidad de Software
Disponibilidad.- La disponibilidad del módulo debe ser continua con un nivel de servicio para los usuarios de 7 días por 24 horas, garantizando un esquema adecuado que permita la posible evite posibles fallas en cualquiera de sus componentes.
●
Mantenibilidad.- El sistema debe disponer de una documentación que permita realizar operaciones de mantenimiento con el menor esfuerzo posible.
●
Portabilidad.- El módulo se podrá ejecutar en diferentes plataformas de sistema operativos que cuenten con un navegador web.
5.1.3. Modelado del negocio En este punto el equipo de trabajo se debe familiarizar con los procesos de la Unidad Educativa.
48
5.1.3.1.
Modelo de casos de uso de negocio
Figura 1: Casos de uso de negocio Elaborado por: Los autores
49
5.1.3.2.
Diagramas de actividades
Figura 2: Proceso ingreso de notas parciales Elaborado por: Los autores
Figura 3: Proceso de evaluaci贸n de comportamiento Elaborado por: Los autores
50
Figura 4: Proceso ingreso de notas exรกmenes de recuperaciรณn, supletorio y remediales Elaborado por: Los autores
Figura 5: Proceso ingreso de notas de exรกmenes de grado y gracia Elaborado por: Los autores
51
Figura 6: Proceso de cierre de periodo Elaborado por: Los autores
Figura 7: Proceso de ingreso de inasistencias y atrasos Elaborado por: Los autores
52
5.1.3.3.
Modelo de dominio
Figura 8: Modelo de Dominio Elaborado por: Los autores
5.1.4. Glosario Tester: Es la persona que está presente en todo el desarrollo de software y se encarga de probar el producto, detectar fallas y asegurar la calidad del software. Entorno web: Es la interfaz que va a ser presentada al usuario final, dicha interfaz está compuesta por páginas web y ejecutadas por un explorador web. SGA-MNA: Sistema de Gestión Académica-Módulo de Notas y Asistencias.
53
PHP: Preprocesador de hipertexto, es un lenguaje de programación para el desarrollo web. PostgreSQL: Programa libre, útil para la administración de bases de datos. HTML: Lenguaje de marcado de hipertexto, lenguaje utilizado para la creación de páginas web. CSS: Hojas de estilo en cascada, sirve para establecer la presentación del aspecto y formato de páginas web. HTTP: Protocolo de transferencia de hipertexto, es el protocolo usado en las transacciones de páginas web en peticiones cliente-servidor. UPS: Es un sistema de alimentación ininterrumpida que proporciona energía eléctrica por un tiempo limitado durante un apagón.
5.2. Resultados Fase de Elaboración 5.2.1. Análisis y diseño En este punto se describe la implementación de los requerimientos en el Módulo de Control de Notas y Asistencias.
54
5.2.1.1.
Modelo de casos de uso
5.2.1.1.1.
Especificaciones de casos de uso.
Caso de uso 1 Objetivo Ingresar notas parciales Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas ingresadas a la base de datos Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas Parciales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas Parciales 3. Escoger el curso 4. Escoger la asignatura 5. Seleccionar el parcial y quimestre 6. Aparece un formulario con campos en blanco 7. Ingresar las notas correspondientes 8. Guardar registro 9. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error 7a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal. 7a.3. Para notas pendientes ingresar únicamente un guión (-). Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción.
Tabla 1: Caso de Uso - Ingresar notas parciales Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
55
Caso de uso 2 Objetivo Ingresar notas de exámenes quimestrales Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas ingresadas a la base de datos Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas Quimestrales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas Quimestrales 3. Escoger el curso 4. Escoger la asignatura 5. Seleccionar el quimestre 6. Aparece un formulario con la lista de estudiantes 7. Ingresar las notas correspondientes 8. Guardar registro 9. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error 7a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal. 7a.3. Para notas pendientes ingresar únicamente un guión (-). Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción.
Tabla 2: Caso de Uso - Ingresar notas de exámenes quimestrales Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
56
Caso de uso 3 Objetivo Ingresar comportamiento Nivel Usuario Actor Primario Tutor Precondición Ingresar al módulo Condición final de éxito Comportamiento de estudiantes almacenado en la base de datos Condición final en caso de fallo
Comportamiento no almacenado
Disparador El usuario selecciona Comportamiento parcial o Comportamiento quimestral Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Comportamiento parcial o Comportamiento quimestral 3. Aparece una tabla con la lista de estudiantes 4. Ingresar las calificaciones correspondientes 5.Guardar los registros 6. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 6a. Tipos de datos incorrectos 6a.1. Se redirige a la tabla de ingreso de comportamiento con error 6a.2. Solamente ingresar los caracteres: A,B,C,D o E. Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 4’. El módulo muestra la lista de estudiantes del curso que el tutor tiene asignado.
Tabla 3: Caso de Uso - Ingresar comportamiento Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
57
Caso de uso 4 Objetivo Ingresar inasistencias y atrasos Nivel Actor Primario
Usuario Tutor
Precondición Ingresar al módulo Condición final de éxito Registro de inasistencias de estudiantes ingresadas a la base de datos Condición final en caso de fallo Inasistencias no almacenadas Disparador El usuario selecciona Inasistencias Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Inasistencias 3. Se despliega la lista de estudiantes del curso dirigido 4. Ingresar las faltas y atrasos respectivos 5.Guardar los registros 6. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 6a. Tipos de datos incorrectos 6a.1. Se redirige a la pantalla de ingreso de inasistencias con error Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 3’. El módulo muestra la lista de estudiantes del curso que el tutor tiene asignado 4’. Se ingresa inasistencias y atrasos quimestralmente.
Tabla 4: Caso de Uso - Ingresar inasistencias y atrasos Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
58
Caso de uso 5 Objetivo Ingresar notas de exámenes de grado Nivel Actor Primario
Usuario Secretaria
Precondición Ingresar al módulo Aprobar el tercer año de bachillerato Condición final de éxito Ingreso de notas de exámenes de grado Condición final en caso de fallo
Notas de exámenes de grado no almacenadas
Disparador El usuario selecciona Notas de Grado. Escenario principal de éxito
1. El usuario ingresa al módulo 2. Ingresar a Notas de grado 3. Escoger curso 4. Escoger asignatura 5. Aparece una tabla con la lista de estudiantes del curso 6. Ingresar las notas correspondientes 7.Guardar losregistros 8. El módulo valida el tipo de datos y almacena la información en la base de datos.
Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 3’. El módulo muestra los cursos de tercero de bachillerato. 4’. Se muestran solo las asignaturas seleccionadas para el examen de grado.
Tabla 5: Caso de Uso - Ingresar notas de exámenes de grado Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
59
Caso de uso 6 Objetivo Ingresar notas de exámenes recuperación, supletorio y remedial Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Ingreso de notas de exámenes Condición final en caso de fallo
Notas de exámenes no almacenadas
Disparador El usuario selecciona Exámenes especiales. Escenario principal de éxito
1. El usuario ingresa al módulo 2. Ingresar a Exámenes especiales 3. Escoger curso 4. Escoger asignatura 5. Seleccionar examen requerido 6. Aparece una tabla con la lista de estudiantes del curso 7. Ingresar las notas correspondientes 8.Guardar los registros 9. El módulo valida el tipo de datos y almacena la información en la base de datos.
Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción.
Tabla 6: Caso de Uso - Ingresar notas de exámenes recuperación, supletorio y remedial Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
60
Caso de uso 7 Objetivo Ingresar notas de exámenes de gracia Nivel Actor Primario
Usuario Secretaria
Precondición Ingresar al módulo del periodo anterior El estudiante tiene solo una asignatura pendiente de aprobar Condición final de éxito Ingreso de notas de exámenes de gracia Condición final en caso de fallo
Notas de exámenes de gracia no almacenadas
Disparador El usuario selecciona Exámenes especiales Escenario principal de éxito
1. El usuario ingresa al módulo 2. Ingresar a Exámenes especiales 3. Escoger curso 4. Escoger asignatura 5. Seleccionar Examen de gracia 6. Aparece una tabla con la lista de estudiantes 7. Ingresar las notas correspondientes 8.Guardar los registros 9. El módulo valida el tipo de datos y almacena la información en la base de datos.
Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción.
Tabla 7: Caso de Uso - Ingresar notas de exámenes de gracia Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
61
Caso de uso 8 Objetivo Ingresar notas parciales pendientes Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas pendientes ingresadas a la base de datos Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas Parciales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas Parciales 3. Seleccionar Ingreso de notas parciales pendientes 4. Escoger el curso 5. Escoger la asignatura 6. Seleccionar el parcial y quimestre 7. Aparece un formulario con la lista de estudiantes y campos habilitados para las calificaciones pendientes. 8. Ingresar las notas correspondientes 9. Guardar los registros 10. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 8a. Tipos de datos incorrectos 8a.1. Se redirige a la tabla de ingreso de notas con error 8a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal.
Variaciones
3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 7’. Se despliega solamente la lista con los estudiantes autorizados para el ingreso de notas pendientes.
Tabla 8: Caso de Uso - Ingresar notas parciales pendientes Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
62
Caso de uso 9 Objetivo Corregir notas parciales Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas editadas correctamente Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas Parciales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas Parciales 3. Seleccionar Corrección de parciales 4. Escoger el curso 5. Escoger la asignatura 6. Seleccionar el parcial y quimestre 7. Aparece un formulario con la lista de estudiantes y campos con las calificaciones ya ingresadas 8. Ingresar las notas correspondientes 9. Guardar los registros 10. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 8a. Tipos de datos incorrectos 8a.1. Se redirige a la tabla de ingreso de notas con error 8a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal.
Variaciones
3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 7’. Se despliega solamente la lista con los estudiantes autorizados para el ingreso de notas pendientes.
Tabla 9: Caso de Uso - Corrección de notas parciales Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
63
Caso de uso 10 Objetivo Ingresar notas quimestrales pendientes Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas pendientes ingresadas a la base de datos Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas quimestrales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas quimestrales 3. Seleccionar Ingreso de quimestrales pendientes 4. Escoger el curso 5. Escoger la asignatura 6. Seleccionar el quimestre 7. Aparece un formulario con la lista de estudiantes y campos con las calificaciones ya ingresadas 8. Ingresar las notas correspondientes 9. Guardar los registros 10. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 8a. Tipos de datos incorrectos 8a.1. Se redirige a la tabla de ingreso de notas con error 8a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal.
Variaciones
3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 7’. Se despliega solamente la lista con los estudiantes autorizados para el ingreso de notas pendientes.
Tabla 10: Caso de Uso - Ingresar notas quimestrales pendientes Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
64
Caso de uso 11 Objetivo Corregir notas quimestrales Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas corregidas correctamente Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas quimestrales del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas quimestrales 3. Seleccionar Corrección de exámenes quimestrales 4. Escoger el curso 5. Escoger la asignatura 6. Seleccionar el quimestre 7. Aparece un formulario con la lista de estudiantes y campos con las calificaciones ya ingresadas 8. Ingresar las notas correspondientes 9. Guardar los registros 10. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 8a. Tipos de datos incorrectos 8a.1. Se redirige a la tabla de ingreso de notas con error 8a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal.
Variaciones
3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 7’. Se despliega solamente la lista con los estudiantes autorizados para que sus calificaciones puedan ser editadas.
Tabla 11: Caso de Uso – Corrección de notas quimestrales Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
65
Caso de uso 12 Objetivo Ingresar notas de exámenes de grado pendientes Nivel Actor Primario
Usuario Secretaria
Precondición Ingresar al módulo Condición final de éxito Notas pendientes ingresadas a la base de datos Condición final en caso de fallo Notas no guardadas Disparador El usuario selecciona Notas de grado del menú principal Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Notas de grado 3. Seleccionar Ingreso de notas de grado pendientes 4. Escoger el curso 5. Escoger la asignatura 6. Aparece un formulario con la lista de estudiantes y campos habilitados para las calificaciones pendientes. 7. Ingresar las notas correspondientes 8. Guardar los registros 9. El módulo valida el tipo de datos y almacena la información en la base de datos Extensiones 8a. Tipos de datos incorrectos 8a.1. Se redirige a la tabla de ingreso de notas con error 8a.2. Ingresar únicamente valores numéricos con un punto o coma como separador decimal.
Variaciones
3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 7’. Se despliega solamente la lista con los estudiantes autorizados para que sus calificaciones puedan ser editadas.
Tabla 12: Caso de Uso - Ingresar notas de grado pendientes Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
66
Caso de uso 13 Objetivo Corregir notas de exámenes recuperación, supletorio y remedial Nivel Actor Primario
Usuario Docente
Precondición Ingresar al módulo Condición final de éxito Notas de exámenes editadas correctamente Condición final en caso de fallo
Notas de exámenes no almacenadas
Disparador El usuario selecciona Exámenes especiales. Escenario principal de éxito
1. El usuario ingresa al módulo 2. Ingresar a Exámenes especiales 3. Seleccionar Corrección de exámenes 4. Escoger curso 5. Escoger asignatura 6. Seleccionar examen requerido 7. Aparece una tabla con la lista de estudiantes del curso y las calificaciones ya ingresadas 8. Ingresar las notas correspondientes 9.Guardar los registros 10. El módulo valida el tipo de datos y almacena la información en la base de datos
Extensiones 7a. Tipos de datos incorrectos 7a.1. Se redirige a la tabla de ingreso de notas con error Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción.
Tabla 13: Caso de Uso - Corregir notas de exámenes recuperación, supletorio y remedial Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
67
Caso de uso 14 Objetivo Ingresar comportamiento Nivel Usuario Actor Primario Tutor Precondición Ingresar al módulo Condición final de éxito Comportamiento de estudiantes almacenado en la base de datos Condición final en caso de fallo
Comportamiento no almacenado
Disparador El usuario selecciona Comportamiento parcial o Comportamiento quimestral Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Comportamiento parcial o Comportamiento quimestral 3. Aparece una tabla con la lista de estudiantes 4. Ingresar las calificaciones (cualitativamente) correspondientes 5.Guardar los registros 6. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 6a. Tipos de datos incorrectos 6a.1. Se redirige a la tabla de ingreso de comportamiento con error 6a.2. Solamente ingresar los caracteres: A,B,C,D o E. Variaciones 2’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 4’. El módulo muestra la lista de estudiantes del curso que el tutor tiene asignado.
Tabla 14: Caso de Uso - Ingresar comportamiento Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
68
Caso de uso 15 Objetivo Ingresar comportamiento pendiente Nivel Usuario Actor Primario Tutor Precondición Ingresar al módulo Condición final de éxito Comportamiento pendiente de estudiantes almacenado en la base de datos Condición final en caso de fallo
Comportamiento no almacenado
Disparador El usuario selecciona Comportamiento parcial o Comportamiento quimestral Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Comportamiento parcial o Comportamiento quimestral 3. Seleccionar Ingreso de comportamientos pendientes 4. Se muestra una tabla con la lista de estudiantes y campos habilitados para los comportamientos pendientes 5. Ingresar las calificaciones (cualitativamente) correspondientes 6. Guardar los registros 7. El módulo valida el tipo de datos y almacena la información en la base de datos Extensiones 6a. Tipos de datos incorrectos 6a.1. Se redirige a la tabla de ingreso de comportamiento con error 6a.2. Solamente ingresar los caracteres: A,B,C,D o E. Variaciones 3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 4’. El módulo muestra la lista de estudiantes del curso que el tutor tiene asignado
Tabla 15: Caso de Uso - Ingresar comportamientos pendientes Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
69
Caso de uso 16 Objetivo Corregir comportamientos Nivel Usuario Actor Primario Tutor Precondición Ingresar al módulo Condición final de éxito Comportamiento editado correctamente Condición final en caso de fallo
Comportamiento no almacenado
Disparador El usuario selecciona Comportamiento parcial o Comportamiento quimestral Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Comportamiento parcial o Comportamiento quimestral 3. Seleccionar Corrección de comportamientos 4. Se muestra una tabla con la lista de estudiantes y los comportamientos ya ingresados 5. Ingresar las calificaciones (cualitativamente) correspondientes 6. Guardar los registros 7. El módulo valida el tipo de datos y almacena la información en la base de datos. Extensiones 6a. Tipos de datos incorrectos 6a.1. Se redirige a la tabla de ingreso de comportamiento con error 6a.2. Solamente ingresar los caracteres: A,B,C,D o E. Variaciones 3’. Esta pantalla se mostrará únicamente si existe una autorización vigente para las funcionalidades de esta opción. 4’. El módulo muestra la lista de estudiantes del curso que el tutor tiene asignado.
Tabla 16: Caso de Uso – Corregir comportamientos Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.htm
70
Caso de uso 17 Objetivo Nivel Actor Primario
Autorizaciones Usuario Rector o Director Académico
Precondición Ingresar al módulo Condición final de éxito Autorización creada correctamente Condición final en caso de fallo Autorización fallida Disparador El usuario selecciona Autorizaciones Escenario principal de éxito
1. El usuario ingresa al módulo 2. Seleccionar Autorizaciones 3. Escoger tipo de autorización 4. Escoger el curso 5. Aparece un formulario para ingresar fecha de inicio y fecha fin 6. Autorizar 7. El módulo valida las fechas y almacena la autorización seleccionada
Extensiones
5a. Fechas mal establecidas 7a.1. Se redirige al formulario con el error
Variaciones
4’. El módulo muestra las siguientes autorizaciones: 1. Ingreso de notas parciales 2. Ingreso de notas quimestrales 3. Ingreso de notas parciales pendientes 4. Ingreso de notas quimestrales pendientes 5. Ingreso de notas de exámenes grado 6. Ingreso de notas de exámenes de recuperación 7. Ingreso de nota de examen supletorio 8. Ingreso de nota de examen remedial 9. Ingreso de nota de examen de gracia 10. Ingreso de notas de exámenes de grado pendientes 11. Corrección de notas parciales 12. Corrección de notas quimestrales 13. Corrección de examen supletorio 14. Corrección de examen remedial 15. Corrección de examen de gracia 16. Corrección de examen de recuperación 17. Corrección de examen de grado 18. Ingreso de comportamientos parciales 19. Corrección de comportamientos parciales 20. Ingreso de comportamientos parciales pendientes 21. Ingreso de comportamientos quimestrales 22. Corrección de comportamientos quimestrales 23. Ingreso de comportamientos quimestrales
71
24. 25. 26. 27.
pendientes Ingreso de inasistencias Corrección de inasistencias Ingreso de planes de mejora Edición de planes de mejora
5’. El usuario deberá ingresar la fecha de inicio y la fecha fin de la autorización Tabla 17: Caso de Uso - Autorizaciones Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
Caso de uso 18 Objetivo
Generar reportes
Nivel
Usuario
Actor Primario
Secretaria
Precondición Ingresar al módulo Condición final de éxito Reporte generado Condición final en caso de fallo Reporte no generado
Disparador
El usuario selecciona Reportes
Escenario principal de éxito 1. El usuario ingresa al módulo 2. Escoger tipo de reporte 3. Aparece un formulario para asignar parámetros según el reporte seleccionado 4. Generar Reporte Variaciones
4’. El módulo muestra las siguientes opciones: • Reporte de notas parciales por curso • Informe de aprendizaje quimestral • Cuadro general de promedios quimestrales por curso • Certificados de promoción
Tabla 18: Caso de Uso - Generar reportes Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
72
Caso de uso 19 Objetivo Cierre y apertura del periodo académico Nivel Usuario Actor Primario Director Académico Precondición Ingresar al módulo Haber ingresado todas las notas de los estudiantes en el año lectivo Condición final de éxito Periodo académico cerrado en el sistema Condición final en caso de fallo Periodo académico no cerrado en el sistema
Disparador El usuario selecciona Cierre de periodo Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Cierre de periodo 3. Cerrar periodo 4. Aparece un mensaje de confirmación 5. Cerrar periodo académico Variaciones 5’. Al cerrar periodo académico el sistema genera automáticamente el siguiente periodo lectivo.
Tabla 19: Caso de uso - Cerrar periodo académico Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
Caso de uso 20 Objetivo Cargar información de los estudiantes al portal web Nivel Usuario Actor Primario Colectora
73
Precondición Ingresar al módulo Condición final de éxito Las notas son cargadas correctamente al servidor del sitio web Condición final en caso de fallo Las notas no fueron copiadas al servidor del sitio web Disparador El usuario selecciona Subir datos web Escenario principal de éxito 1. El usuario ingresa al módulo 2. Seleccionar Subir datos web 3. Seleccionar los parámetros de parcial y quimestre 4. Subir notas 5. Aparece un mensaje de confirmación 6. Aceptar Tabla 20: Caso de uso – Cargar información al portal web Elaborado por: Los autores Fuente: http://courses.cs.washington.edu/courses/cse403/07sp/projects/srs.html
5.2.1.1.2.
Diagramas de casos de uso
Figura 9: Caso de Uso - Ingreso de notas parciales Elaborado por: Los autores
74
Figura 10: Caso de Uso - Ingreso de notas de ex谩menes quimestrales Elaborado por: Los autores
Figura 11: Caso de Uso - Ingreso de notas de examen de recuperaci贸n, supletorio, y remedial. Elaborado por: Los autores
75
Figura 12: Caso de Uso - Ingreso de notas de exรกmenes de grado Elaborado por: Los autores
Figura 13: Caso de Uso - Ingreso de notas de exรกmenes de gracia Elaborado por: Los autores
Figura 14: Caso de Uso - Ingreso de comportamiento Elaborado por: Los autores
76
Figura 15: Caso de Uso - Ingreso de inasistencias y atrasos Elaborado por: Los autores
Figura 16: Caso de Uso - Ingreso de notas pendientes Elaborado por: Los autores
Figura 17: Caso de Uso - Autorizaciones Elaborado por: Los autores
77
Figura 18: Caso de Uso - Generar reportes Elaborado por: Los autores
Figura 19: Caso de Uso - Autorizaci贸n para cierre de periodo acad茅mico Elaborado por: Los autores
78
5.2.1.2.
Diagramas de secuencia
Figura 20: Diagrama de Secuencia - Ingreso de notas parciales Elaborado por: Los autores
79
Figura 21: Diagrama de Secuencia - Ingreso de notas de grado Elaborado por: Los autores
Figura 22: Diagrama de Secuencia - Ingreso de comportamiento Elaborado por: Los autores
80
Figura 23: Diagrama de Secuencia - Ingreso de inasistencias Elaborado por: Los autores
Figura 24: Diagrama de Secuencia - Asignaci贸n de autorizaciones Elaborado por: Los autores
81
Figura 25: Diagrama de Secuencia - Generar reportes Elaborado por: Los autores
Figura 26: Diagrama de Secuencia - Proceso de Cierre de ciclo acadĂŠmico Elaborado por: Los autores
82
5.2.1.3.
Diagrama de base de datos
Figura 27: Modelo físico de base de datos Elaborado por: Los autores
5.2.1.4.
Prototipos de usuario
A continuación se muestran las pantallas del Módulo de Notas y Asistencias y las tareas que permiten realizar cada una. 5.2.1.4.1.
Pantalla de menú principal del Módulo de Control de Notas y Asistencias.
Esta es la pantalla de bienvenida al Módulo de Control de Notas y Asistencias, en la que se observa el menú con todas las opciones.
83
Figura 28: Interfaz – Pantalla de bienvenida Elaborado por: Los autores
5.2.1.4.2.
Pantalla de Ingreso de Notas Parciales
En el submenú Notas Parciales encontramos las opciones para seleccionar el curso, la asignatura, el parcial y el quimestre para el ingreso de calificaciones. Al generar la lista de estudiantes del curso respectivo se despliega una tabla con celdas editables para ingresar los datos. En esta pantalla existen dos opciones adicionales que se pueden seleccionar según sea el caso: corrección de parciales e ingreso de notas pendientes. Estas opciones se deben seleccionar únicamente si se cuenta con una autorización para realizarlo, caso contrario el módulo presentará un error.
84
A continuación se muestra la interfaz de usuario:
Figura 29: Interfaz - Ingreso de notas parciales Elaborado por: Los autores
5.2.1.4.3.
Pantalla de Ingreso de Notas Quimestrales
En el submenú Notas Quimestrales encontramos las opciones para seleccionar el curso, la asignatura y el quimestre para el ingreso de calificaciones. Al generar la lista de estudiantes del curso respectivo se despliega una columna con celdas editables para ingresar las notas de los exámenes quimestrales. En esta pantalla existen dos opciones adicionales que se pueden seleccionar según sea el caso: corrección de exámenes quimestrales e ingreso de exámenes quimestrales pendientes. Estas opciones se deben seleccionar únicamente si se cuenta con una autorización para realizarlo, caso contrario el módulo presentará un error.
85
A continuación se muestra la interfaz de usuario:
Figura 30: Interfaz - Ingreso de notas quimestrales Elaborado por: Los autores
5.2.1.4.4.
Pantalla de Ingreso de Notas de exámenes de grado
En el submenú Notas de grado encontramos las opciones para seleccionar el curso y la asignatura para el ingreso de calificaciones. Al generar la lista de estudiantes del curso respectivo se despliega una columna con celdas editables para ingresar las notas de los exámenes de grado. En esta pantalla existen dos opciones adicionales que se pueden seleccionar según sea el caso: corrección de notas de grado e ingreso de notas de grado pendientes. Estas opciones se deben seleccionar únicamente si se cuenta con una autorización para realizarlo, caso contrario el módulo presentará un error.
86
A continuación se muestra la interfaz de usuario:
Figura 31: Interfaz – Ingreso de notas de exámenes de grado Elaborado por: Los autores
5.2.1.4.5.
Pantalla de Ingreso de Notas de exámenes de recuperación, supletorio, remedial y gracia
En el submenú Exámenes especiales encontramos las opciones para seleccionar el curso, la asignatura y el tipo de examen para el ingreso de calificaciones. Al generar la lista de estudiantes del curso respectivo se despliega una columna con celdas editables para ingresar las notas de los exámenes. En esta pantalla existen una opción adicional que se puede seleccionar según sea el caso: corrección de exámenes. Esta opción se deben seleccionar únicamente si se cuenta con una autorización para realizarlo, caso contrario el módulo presentará un error.
87
A continuación se muestra la interfaz de usuario:
Figura 32: Interfaz - Ingreso de calificaciones de exámenes supletorio, remedial o recuperación Elaborado por: Los autores
5.2.1.4.6.
Pantalla de Ingreso de Comportamiento
En la pantalla de Comportamiento parcial y Comportamiento quimestral encontramos las opciones para el ingreso del comportamiento en cada parcial y quimestre. Al seleccionar una de las opciones del menú el sistema nos muestra los parámetros para generar la lista de estudiantes. Las celdas de ingreso de notas se encuentran validadas para ingresar solamente datos válidos para el sistema. El comportamiento se evalúa cualitativamente. En el ingreso de comportamientos nos permite lo siguiente: ●
Ingreso de comportamiento por parciales
●
Ingreso de comportamientos por quimestres
88
●
Corrección de notas de comportamiento ya ingresadas en ingreso de comportamientos pendientes, estas opciones están disponibles únicamente si se cuenta con una autorización para realizarlo, caso contrario el módulo presentará un error y evitará continuar para realizar dicha tarea.
A continuación se muestra las interfaces de usuario:
Figura 33: Interfaz – Ingreso de comportamiento por parciales Elaborado por: Los autores
Figura 34: Interfaz – Ingreso de comportamiento por quimestres Elaborado por: Los autores
89
5.2.1.4.7.
Pantalla de Registro de Inasistencias
En pantalla de inasistencias encontramos las opciones para el ingreso del número de inasistencias y atrasos a clases de los estudiantes en el quimestre. Este componente del sistema es administrado por el tutor del curso. El submenú de Inasistencias nos permite: ●
Ingreso del número de faltas y atrasos de los estudiantes
●
Corrección de las faltas y atrasos ya ingresadas.
A continuación se muestra la interfaz de usuario:
Figura 35: Interfaz – Ingreso de inasistencias Elaborado por: Los autores
5.2.1.4.8.
Pantalla de Reportes
En el submenú Reportes encontramos las opciones para la generación de los reportes de calificaciones de los estudiantes.
90
El submenú de Reportes nos permite: ●
Generar un reporte de calificaciones parciales por curso.
●
Generar el Informe de aprendizaje quimestral para cada estudiante.
●
Generar el cuadro general de promedios quimestrales por curso.
●
Generar el certificado de promoción para los estudiantes.
A continuación se muestra las interfaces de usuario: Pantalla de selección de opciones para generar reporte.
Figura 36: Interfaz – Pre-reporte de notas parciales Elaborado por: Los autores
Figura 37: Interfaz – Reporte de notas parciales Elaborado por: Los autores
91
Figura 38: Interfaz – Pre-reporte de notas por quimestre Elaborado por: Los autores
Figura 39: Interfaz –Reporte de notas por quimestre Elaborado por: Los autores
92
Figura 40: Interfaz –Pre-reporte de promedios quimestrales Elaborado por: Los autores
Figura 41: Interfaz –Reporte de promedios quimestrales Elaborado por: Los autores
93
Figura 42: Interfaz –Pre-reporte de certificado de promoción Elaborado por: Los autores
Figura 43: Interfaz – Certificado de promoción Elaborado por: Los autores
94
Los datos presentados en los anteriores reportes son falsos, la información fue ingresada a la base de datos en etapa de pruebas de desarrollo. 5.2.1.4.9.
Pantalla de Autorizaciones
En el submenú Autorizaciones encontramos un formulario para establecer autorizaciones, que corresponde a la habilitación del ingreso o corrección de notas, comportamiento o inasistencias por cierto periodo de tiempo. El manejo de estas acciones es exclusivo del Rector de la institución, en caso de no hacerlo el Rector lo puede hacer el Director Académico. El submenú de Autorizaciones nos permite: •
Ingreso de notas parciales
•
Ingreso de notas quimestrales
•
Ingreso de notas parciales pendientes
•
Ingreso de notas quimestrales pendientes
•
Ingreso de notas de exámenes grado
•
Ingreso de notas de exámenes de recuperación
•
Ingreso de nota de examen supletorio
•
Ingreso de nota de examen remedial
•
Ingreso de nota de examen de gracia
•
Ingreso de notas de exámenes de grado pendientes
•
Corrección de notas parciales
•
Corrección de notas quimestrales
•
Corrección de examen supletorio
•
Corrección de examen remedial
95
•
Corrección de examen de gracia
•
Corrección de examen de recuperación
•
Corrección de examen de grado
•
Ingreso de comportamientos parciales
•
Corrección de comportamientos parciales
•
Ingreso de comportamientos parciales pendientes
•
Ingreso de comportamientos quimestrales
•
Corrección de comportamientos quimestrales
•
Ingreso de comportamientos quimestrales pendientes
•
Ingreso de inasistencias
•
Corrección de inasistencias
•
Ingreso de planes de mejora
•
Edición de planes de mejora
A continuación se muestra la interfaz de usuario:
Figura 44: Interfaz – Ingresar Autorización Elaborado por: Los autores
96
5.2.1.4.10.
Pantalla de Proceso de cierre de periodo
En el submenú Cierre de periodo encontramos una pantalla con un botón el cual nos permite realizar la tarea de cierre de periodo académico. Esta tarea debe ser realizada por el Director Académico de la Unidad Educativa “Sagrados Corazones”, a la finalización del año lectivo, una vez que no exista información pendiente de ingresar al sistema acerca del periodo académico presente, automáticamente el sistema crea un nuevo periodo. A continuación se muestra la interfaz de usuario:
Figura 45: Interfaz – Cerrar periodo académico Elaborado por: Los autores
5.2.1.4.11.
Pantalla para cargar datos al portal web
En el submenú Subir datos web encontramos una pantalla con un botón el cual nos permite subir la información requerida para mostrar las calificaciones de los estudiantes en el portal web institucional. Esta tarea debe ser realizada por la secretaria o colectora de la Unidad Educativa “Sagrados Corazones”, a la finalización de cada parcial.
97
A continuación se muestra la interfaz de usuario:
Figura 46: Interfaz – Cerrar periodo académico Elaborado por: Los autores
5.3. Resultados Fase de Construcción. 5.3.1. Implementación En este punto se realizó la implementación de las clases en el módulo y se obtuvo como resultado el aplicativo web. 5.3.2. Plan de pruebas 5.3.2.1.
Introducción
El presente plan de pruebas recoge la información para planear y ejecutar las pruebas para el Módulo de Control de Notas y Asistencias. El plan de pruebas para el Módulo de Control de Notas y Asistencias tiene los siguientes objetivos: •
Establecer las pruebas que se realizarán en el módulo.
•
Identificar problemas en el funcionamiento del módulo.
98
Para verificar la funcionalidad de los requerimientos funcionales de nuestro módulo se planificaron las siguientes pruebas: 5.3.2.2.
Pruebas unitarias
Estas pruebas se realizan con el objetivo de comprobar el correcto funcionamiento de cada requerimiento a partir de los casos de uso y reglas de negocio. El objetivo de estas pruebas es verificar el procesamiento, recuperación e integridad de los datos a través de la interfaz gráfica de usuario. Para llevar a cabo esta prueba se debe ejecutar el módulo y verificar el cumplimiento de los casos de uso usando datos válidos e inválidos. Para cada caso la aplicación debe presentar mensajes de notificación de tareas exitosas o erradas. Para realizar las pruebas unitarias en nuestro módulo se aplicó las pruebas de caja negra. Pruebas de caja negra: Estas pruebas se concentran en el cumplimiento de los requerimientos funcionales, se ingresa un conjunto de entradas lo que permite probar la funcionalidad del requerimiento o encontrar un error. Se aplicaron las pruebas de valores típicos de error y valores imposibles. La siguiente tabla muestra las características a ser probadas para cada requerimiento funcional y las pruebas que se aplicaron. Requerimiento
Características a probar
Tipos de prueba
Funcional Ingreso de notas
Ingresar notas para todas las actividades
Pruebas de caja negra
parciales evaluadas de los estudiantes Valores típicos de error
99
Guardar notas con campos obligatorios vacíos
Valores imposibles
Ingresar tipos de datos no permitidos en los campos del formulario Ingresar notas en una fecha no autorizada Ingresar todas las notas necesarias para que un estudiante apruebe un año lectivo Ingreso de notas de
Ingresar notas para todos los estudiantes de
exámenes de grado
tercero de bachillerato
Pruebas de caja negra Valores típicos de error
Guardar notas con campos obligatorios vacíos Valores imposibles Ingresar notas en una fecha no autorizada Ingresar tipos de datos no permitidos en los campos del formulario Ingreso de notas,
Guardar notas con campos vacíos
Pruebas de caja negra
exámenes,
Ingresar tipos de datos no permitidos en los
Valores típicos de error
comportamientos e
campos del formulario
Valores imposibles
inasistencias pendientes
Ingresar notas en una fecha no autorizada Ingresar notas a estudiantes que no han solicitado autorización
Ingreso de inasistencias
Llenar todos los campos requeridos para cada
Pruebas de caja negra
estudiante Valores típicos de error Ingresar inasistencias y atrasos en una fecha Valores imposibles
no autorizada Ingresar
valores que
sobrepasen a
los
permitidos Guardar inasistencia con campos obligatorios vacíos Insertar tipos de datos no permitidos en los campos del formulario
100
Ingreso de
Ingresar
comportamientos
para
cada
Pruebas de caja negra
estudiante
comportamiento
Valores típicos de error Guardar
comportamientos
con
campos Valores imposibles
obligatorios vacíos Ingresar o corregir los comportamientos en una fecha no autorizada Ingresar tipos de datos no permitidos en los campos del formulario Autorización de
Insertar
datos
para
todos
los
campos
Pruebas de caja negra
requeridos
periodos de ingreso
Valores típicos de error Guardar autorización con campos obligatorios
de notas
Valores imposibles
vacíos Ingresar tipos de datos no permitidos en los campos del formulario Establecer rangos de fechas no válidos Ingresar autorización siendo un usuario diferente a Rector o Director Académico Corrección de notas, exámenes comportamiento
y
Ingresar
datos
para
todos
los
campos
Pruebas de caja negra
requeridos Valores típicos de error Ingresar tipos de datos no permitidos en los campos del formulario Guardar corrección de notas con campos obligatorios vacíos Corregir datos en una fecha no autorizada Ingresar datos a estudiantes que no han solicitado autorización
Valores imposibles
101
Generación de
Seleccionar valores para todos los parámetros
Pruebas de caja negra
requeridos
reportes
Valores imposibles Generar
reportes
cuando
no
exista
información en la base de datos
Cierre
del
periodo
Cerrar el periodo académico teniendo notas
Pruebas de caja negra
pendientes de ingresar
académico
Subir datos al portal
Seleccionar valores para todos los parámetros
Pruebas de caja negra
requeridos
web
Valores imposibles Subir datos cuando no exista información en la base de datos Ingresar autorización siendo un usuario diferente a Secretaria o Colectora
Tabla 21: Plan de pruebas Elaborado por: Los autores
5.3.2.3.
Prueba de integración de componentes
El objetivo de esta prueba es verificar el funcionamiento de la integración de los componentes del módulo con sus respectivas interfaces. Se debe comprobar todo el proceso que el objeto estudiante lleva a cabo para aprobar o reprobar un año lectivo; para luego cerrar el periodo académico en el sistema.
5.4. Resultados Fase de Transición. 5.4.1. Despliegue En esta fase se realiza la entrega del producto a la Unidad Educativa “Sagrados Corazones” incluyendo el software y la documentación respectiva. (Anexo 1)
102
Los documentos entregados son los siguientes: •
Manual de usuario del Módulo de Control de Notas y Asistencias. (Anexo 3)
•
Manual técnico del entorno de desarrollo del Módulo de Control de Notas y Asistencias. (Anexo 4)
•
Manual Técnico del entorno de producción del Módulo de Control de Notas y Asistencias. (Anexo 5)
•
Diccionario de datos del Módulo de Control de Notas y Asistencias. (Anexo 7)
A continuación se presenta el diagrama de despliegue que muestra los componentes sobre los que se ejecuta el Módulo de Notas y Asistencias.
Figura 47: Diagrama de despliegue Elaborado por: Los autores
103
5.5. Conclusiones •
La implementación del Módulo de Control de Notas y Asistencias permitió eliminar tareas que se realizaban manualmente en la institución y, ser un soporte para los procesos educativos internos de la institución.
•
La administración de las calificaciones de los estudiantes es un aspecto fundamental en la gestión académica de las instituciones educativas, la mejor manera de administrar esta información es mediante el uso de herramientas tecnológicas como sistemas adaptados a las leyes vigentes y a las necesidades de la institución.
•
La implantación del Módulo de Control de Notas y Asistencias, que gestiona las calificaciones, el comportamiento y la asistencia de los estudiantes, resultó muy oportuna para la institución debido a las nuevas obligaciones de la Ley Orgánica de Educación Intercultural, que exige llevar un registro de estos aspectos para contribuir a la calidad de la educación ecuatoriana.
•
La flexibilidad de la metodología de desarrollo RUP resultó ser la mejor opción para analizar, diseñar e implementar una solución adaptada a las necesidades de nuestro proyecto, ya que se basa en un desarrollo iterativo e incremental en cada una de sus fases hasta obtener un producto funcional.
•
El uso de herramientas de software libres permitió obtener una aplicación sin costo adicional para los desarrolladores y para la institución.
104
5.6. Recomendaciones ●
El personal docente y administrativo debe estar capacitado antes de usar el módulo.
●
Establecer políticas de seguridad para evitar perdida de información y garantizar la integridad de información.
●
El ingreso de notas, asistencias y comportamiento lo debe realizar la o las personas designadas en el reglamento de la Ley Orgánica de Educación Intercultural.
●
Respetar las fechas establecidas para el ingreso de notas y demás actividades que se establezcan mediante el sistema.
●
Contar con una red de área local confiable para garantizar el correcto funcionamiento del sistema.
●
Usar de forma adecuada el módulo de control de notas y asistencias para garantizar la integridad de la información.
●
El servidor debe someterse a mantenimientos preventivos por lo menos dos veces al año.
●
El proceso de cierre de periodo debe realizarse previó a la emisión de los certificados de promoción.
●
Apoyarse en la guía de usuario para responder a las inquietudes sobre el uso del sistema.
●
Usar el navegador Google Chrome para la ejecución del módulo.
105
FUENTES DE REFERENCIA O DE INFORMACIÓN
Bibliografía Cobo, A. (2005). PHP y MySQL: Tecnología para el desarrollo de aplicaciones web. España: Ediciones Díaz de Santos. Heurtel, O. (2011). PHP 5.3 DESARROLLAR UN SITIO WEB DINAMICO E INTERACTIVO. Barcelona, España: Ediciones ENI.
Equipo Vértice. (2009). Diseño básico de páginas web en HTML. España: Editorial Vértice.
Schulz, R. (2008). Diseño web con CSS. Barcelona, España: Marcombo.
Holzner, S. (2009). Jquery: Visual QuickStart Guide. United States of America: Peachpit Press.
Pons, O. (2009). Introducción a las bases de datos: el modelo relacional. Madrid, España: Editorial Paraninfo.
Lincografía Tlaxcalteco Ricardo. (2013, Abril). 1 Introducción y conceptos [curso en línea]. Recuperado de: http://umxprogram3.wordpress.com/1-introduccion-y-conceptos. Fecha de consulta: 15 de febrero del 2014. Taylor Otwell. (2011). Laravel - The PHP framework for web artisans. [en línea]. Recuperado de: http://laravel.com/docs/introduction. Fecha de consulta: 15 de febrero del 2014. Rodríguez, T. (2012). Bootstrap, framework de twitter. [en línea]. Recuperado de: http://www.genbetadev.com/frameworks/bootstrap. Fecha de consulta: 17 de febrero del 2014.
106
Lobato, A. (2012). Composer, gestor de dependencias para PHP. [en línea]. Recuperado de: http://symfony.es/noticias/2012/06/17/desymfony2012-composergestor-de-dependencias-para-php/. Fecha de consulta: 18 de febrero del 2014. Bermeo, F. (2010). Metodología RUP - desarrollo de software de calidad. [en línea]. Recuperado de: http://fabianbermeop.blogspot.com/2010/12/metodologia-rupdesarrollo-de-software.html. Fecha de consulta: 22 de febrero del 2014. Martínez, R. (2010). Sobre PostgreSQL. [en línea]. Recuperado de: http://www.postgresql.org.es/sobre_postgresql. Fecha de consulta: 17 de febrero del 2014.
107
Anexos
Anexo 1. Acta de entrega recepci贸n del sistema
Anexo 2. Acta de visita para entrevista
Anexo 3. Manual de usuario del M贸dulo de Notas y Asistencias
MÓDULO DE CONTROL DE NOTAS Y ASISTENCIAS
MANUAL DE USUARIO SECRETARIA DOCENTES TUTORES DIRECTOR ACADÉMICO RECTOR COLECTORA MARZO/2015
2
Acerca de Este Manual Este manual contiene información que le permitirá: •
Ingresar o corregir las notas parciales de los estudiantes por asignaturas.
•
Ingresar o corregir notas de exámenes quimestrales, de grado, supletorio, recuperación, remediales y de gracia.
•
Ingresar o corregir el comportamiento de los estudiantes.
•
Ingresar o corregir las inasistencias de los estudiantes.
•
Generar e imprimir Reportes de las notas de los estudiantes.
•
Autorizar periodos de ingreso y modificación de las notas, inasistencias, planes de mejoras y comportamientos.
•
Cerrar el periodo académico.
•
Cargar información de los estudiantes al portal web.
3
Organización de este manual Este manual está compuesto por 7 temas principales:
Tabla de contenido 1.
Ingreso y corrección de Notas .................................................................. 4
2.
Ingreso y corrección de Comportamiento ................................................. 7
3.
Ingreso y corrección de Inasistencias y Atrasos........................................ 8
4.
Reportes ..................................................................................................... 9
5.
Autorizaciones ......................................................................................... 10
6.
Proceso de Cierre de Periodo .................................................................. 13
7.
Cargar datos al portal web ……...………………………………………14
4
1. Ingreso y corrección de Notas Entrar a la dirección del módulo y pinchar al botón de Ingreso de Notas. Pantalla principal del módulo de notas y asistencias.
En las opciones de la izquierda seleccionamos la opción a la que se requiera ingresar. A continuación se detallan las funcionalidades del módulo. •
Notas parciales. En esta pantalla seleccionamos las opciones para generar el listado de estudiantes, de un curso determinado, donde se ingresarán las calificaciones parciales.
5
Si se desea realizar una corrección o ingreso de notas pendientes se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción. •
Exámenes Quimestrales. En esta pantalla seleccionamos las opciones para generar el listado de estudiantes, de un curso determinado, donde se ingresarán las calificaciones de los exámenes quimestrales.
Si se desea realizar una corrección o ingreso de notas pendientes se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción.
6
•
Examen recuperación, supletorio, remedial y de gracia. En esta pantalla seleccionamos las opciones para generar el listado de estudiantes, de un curso determinado, donde se ingresarán las calificaciones de exámenes de recuperación, supletorio, remedial o de gracia. Si se desea realizar una corrección se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción. Para el caso de notas de exámenes de gracia se debe iniciar sesión seleccionando el periodo anterior.
•
Exámenes de grado. En esta pantalla seleccionamos las opciones para generar el listado de estudiantes, de un curso determinado, donde se ingresarán las calificaciones de los exámenes de grado. Si se desea realizar una corrección o ingreso de notas de grado pendientes se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción.
7
En todas las pantallas anteriores se tiene que seleccionar las opciones deseadas de entre los parámetros como: curso, asignatura, parcial y quimestre, luego dar clic en el botón de Generar Listado, para que se genere la lista de estudiantes del curso y la asignatura seleccionada. Se debe ingresar las notas en los casilleros en blanco para cada estudiante, se aceptan cantidades enteras hasta el 10, números decimales con hasta 2 decimales, se puede utilizar punto o coma para separar las cantidades decimales; caso contrario aparecerá un mensaje de error. Para ingresar notas pendientes se debe ingresar un guion medio (‘-’). Una vez digitadas todas las notas damos clic en el botón guardar y confirmamos el mensaje para que las notas sean guardadas en la base de datos.
2. Ingreso y Corrección de Comportamiento Entrar al módulo y pinchar al botón de Ingreso de Comportamiento. En esta pantalla seleccionamos los parámetros que se necesite y generamos la lista de estudiantes. Ingresamos las notas de los estudiantes con valor cualitativo. •
Ingreso de comportamiento por parciales. En esta pantalla seleccionamos las opciones para generar el listado de estudiantes, de un curso determinado, donde
8
se ingresarán los comportamientos por parciales. Si se desea realizar una corrección o ingreso de comportamientos pendientes se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción.
3. Ingreso y corrección de Inasistencias y Atrasos Entrar al módulo y pinchar al botón de Inasistencias.
9
En esta pantalla seleccionamos los parámetros que se necesite para generar el listado de estudiantes, de un curso determinado, donde se ingresarán las insistencias. Las Inasistencias son de uso exclusivo del Tutor de la institución. Si se desea realizar una corrección de inasistencias se debe seleccionar la opción correspondiente y se dará acceso solamente si existe una autorización vigente para dicha acción
4. Reportes Entrar al módulo y pinchar la opción del reporte requerido.
En la opción de reportes tenemos las siguientes pantallas: •
Informe de aprendizaje parcial
•
Reportes de notas parciales por asignatura
•
Informe de aprendizaje quimestral
•
Cuadro general de promedios quimestrales por curso
•
Certificado de promoción
En todas las pantallas anteriores se tiene que seleccionar las opciones y completar los parámetros solicitados para generar el reporte requerido y proceder a imprimir. El reporte de Certificado de promoción tiene contenido parametrizable, para esto el administrador del sistema debe dirigirse al menú principal del sistema e ingresar a Configuración en la pestaña Otros, en esta pantalla se puede cambiar la información deseada.
10
5. Autorizaciones En el men煤 principal del M贸dulo de Notas y Asistencias se encuentra el bot贸n de Autorizaciones, al dar clic en el bot贸n generamos la siguiente pantalla.
La pantalla Autorizaciones nos permite autorizar las siguientes tareas para un determinado curso
11
o estudiantes en especĂfico.
Al lado derecho de curso se puede observar un Ăcono verde, al darle clic se despliega una ventana para seleccionar la asignatura y el estudiante.
12
El submenú Acción nos permite:
Ingreso de notas parciales
Ingreso de notas quimestrales
Ingreso de notas parciales pendientes
Ingreso de notas quimestrales pendientes
Ingreso de notas de exámenes grado
Ingreso de notas de exámenes de recuperación
Ingreso de nota de examen supletorio
Ingreso de nota de examen remedial
Ingreso de nota de examen de gracia
Ingreso de notas de exámenes de grado pendientes
Corrección de notas parciales
Corrección de notas quimestrales
Corrección de examen supletorio
Corrección de examen remedial
Corrección de examen de gracia
Corrección de examen de recuperación
Corrección de examen de grado
Ingreso de comportamientos parciales
Corrección de comportamientos parciales
Ingreso de comportamientos parciales pendientes
Ingreso de inasistencias
Corrección de inasistencias
Ingreso de planes de mejora
Edición de planes de mejora
Para todas las autorizaciones se puede dejar una observación (opcional). En caso de querer realizar una acción sin una autorización, el sistema nos va a mostrar el siguiente error:
13
Las Autorizaciones son de uso exclusivo del Rector o Director Académico de la institución, en caso que se requiera también lo puede utilizar la Secretaria.
6. Proceso de Cierre de Periodo
Al dar clic en la opción Procesos del menú principal en el sistema nos muestra la siguiente pantalla.
Debemos dar clic en el botón Ejecutar Proceso para realizar el cierre del periodo lectivo. El Cierre de Periodo Académico es de uso exclusivo del Director Académico o Rector de la institución.
14
7. Cargar datos al portal web
Primeramente se debe configurar los parámetros de conexión con el servidor del sitio web, esta opción la encontramos en el menú principal del sistema, botón Configuración, en la pestaña Hosting.
Luego de haber ingresado los parámetros de conexión se debe dirigir al menú de Notas y dar clic en la opción Subir datos web, nos muestra la siguiente pantalla.
Se debe seleccionar el quimestre y el parcial del cual se requiera subir información. Luego dar clic en Subir Información. El proceso de subir datos a la web se detalla a continuación: 1.
Configuración de la conexión desde la base de datos del sistema de gestión
15
académica a la base de datos del portal web, se parametriza en la opción Configuración del sistema. 2.
Se realiza un borrado de la información de la base de datos del portal web a través de una sentencia delete.
3.
El controlador accede a un método estático de los modelos para cada una de las tablas en la base de datos del sistema académico y así realizar la consulta de los datos actualizados en la base de datos del mismo (se utiliza los modelos propios de la base de datos del sistema de gestión académica).
4.
El resultado de cada consulta se lo carga en cada una de las tablas correspondientes del portal web mediante una función en el controlador. Esta función crea una instancia de los modelos correspondientes a las tablas de la base de datos del portal web. El modelo usa un método del mismo para cargar la información
mediante
una
sentencia
insert.
Se
utiliza
los
modelos
correspondientes para las tablas de la base de datos del portal web.
Diagrama del proceso
Conexion BDD • Se realiza conexion desde la BDD del SGA a la BDD del Sitio Web
Borrado de Datos • Se efectúa el borrado de los datos de las tablas relacionadas al Sistema de Gestión Académica en la BDD del Sitio Web
Consulta de Datos en BDD SGA • Se accede a un metodo estatico que nos permite realizar una consulta por cada tabla relacionada en la BDD del Sitio Web
Insercion de Datos en la BDD del Sitio Web. • Con resultado de cada una de las consultas se realiza la carga de datos mediante una sentencia insert dentro de cada una de las tablas correspondientes en la BDD del Sitio Web.
Anexo 4. Manual t茅cnico del entorno de desarrollo del M贸dulo de Notas y Asistencias
MÓDULO DE NOTAS Y ASISTENCIAS
MANUAL TÉCNICO DEL ENTORNO DE DESARROLLO
MARZO/2015
2
Acerca de Este Manual Este manual contiene información que le permitirá en el entorno de desarrollo: •
Instalar la base de datos PostgreSql.
•
Instalar el framework Laravel.
•
Instalar el gestor de dependencias de PHP Composer.
3
Tabla de Contenido 1.
Instalaci贸n de PostgreSql .......................................................................... 4
2.
Instalaci贸n de Laravel ............................................................................. 12
3.
Instalaci贸n de Composer ......................................................................... 14
4
1. Instalación de PostgreSql
Una vez descargado el instalador, hacemos doble clic sobre el icono y empezamos la instalación.
Luego aparecerá la siguiente ventana y presionamos sobre siguiente.
A continuación se mostrará una ventana en donde pondremos la dirección o el directorio de instalación en donde vamos a guardar el programa.
5
Ahora aparecerá una nueva ventana en donde pondremos la dirección de donde vamos a guardar los datos.
Pulsamos nuevamente Siguiente, ahí aparecerá una ventana en la que nos pedirá una contraseña de usuario de PostgreSql, ingresaremos nuestra contraseña.
6
Enseguida aparecerá una ventana en la que pedirá el puerto por donde se comunicara el programa, este aparecerá por default, es el puerto 5432, dejamos el mismo número de puerto.
Ahora el instalador pedirá si se desea cambiar la configuración regional, configuramos para Ecuador y hacemos clic en Siguiente.
7
Ahora aparecerรก una ventana en la cual indicarรก que el programa estรก listo para instalarse. Posterior a esto haremos clic en Siguiente.
Nos aparecerรก una ventana en la cual observaremos que se estรก instalando PostreSql.
8
Finalmente confirmamos la instalaci贸n haciendo clic en Terminar.
Una vez instalado el programa nos dirigimos a Todos los programas y buscamos la carpeta con los accesos a los programas instalados. Ejecutamos pgAdminIII.
9
Nos dirigimos a la conexi贸n creada por defecto y nos conectamos al servidor.
10
Para crear un nuevo rol (usuario) hacemos click derecho sobre Login Roles y seleccionamos New Login Role…
Se muestra una ventana para la creación del nuevo Login Role (usuario). En la pestaña Properties ingresamos el nombre. Para nuestro caso sagcor
11
En la pesta単a Definition, asignamos una contrase単a.
En la pesta単a Role privileges, seleccionamos todos los privilegios que tendr叩 nuestro usuario.
12
Se ha creado el nuevo rol (usuario) sagcor.
2. Instalaci贸n de Laravel
Se pueden descargar los archivos de Laravel desde la p谩gina de laravel en github https://github.com/laravel/laravel
Procedemos a descargar el proyecto en zip para utilizarlo en el directorio web de nuestro servidor.
13
Nota: Como nuestro caso es diferente y tenemos nuestro propio proyecto de Laravel que incluye los archivos base de Laravel, procedemos a pegar en nuestro directorio del servidor web para que se visualice como una pรกgina web.
Instalar dependencias del proyecto
Una vez que copiamos los archivos, nos vamos al directorio de nuestro proyecto en donde encontraremos el archivo composer.json y procederemos con el comando composer install para instalar las dependencias de Laravel adicionales que se requieran.
14
Una vez hecho esto, ya podremos visualizar nuestro proyecto en un navegador y hacer uso de 茅l con la instancia de base de datos.
3. Instalaci贸n de Composer
Descargando Composer
Para conseguir Composer, necesitamos ir a la url https://getcomposer.org/ en donde encontraremos el link de descarga para lograr descargar el archivo necesario.
En la secci贸n de download podemos encontrar tanto los instaladores para sistema operativo Linux como Windows, escogemos el que sea de nuestra preferencia y necesidad.
15
Instalando Composer
Una vez descargado procedemos a instalarlo. En este proceso no hay dificultad, pues se deben considerar valores por defecto para su instalaci贸n.
Algo que debemos considerar es que se debe tener habilitada la extensi贸n open_ssl en nuestra instalaci贸n de PHP previamente instalado, para lo cual se debe acceder al archivo php.ini y realizar el cambio correspondiente.
Editando variables de entorno
Para poder usarlo en Windows es necesario incluir la ruta de Composer en nuestras variables de entorno para poder ejecutarlo, para lo cual vamos a propiedades de sistema y revisamos las variables de entorno.
16
En las variables de entorno seleccionamos Path.
Para lo cual a単adimos la ruta C:\ProgramData\Composer\bin
17
Para comprobar que se es accesible a Composer mediante la consola, vamos a una terminal (cmd llamada en Windows) y ejecutamos el comando composer, con lo cual tendremos un resultado como el siguiente.
Anexo 5. Manual t茅cnico del entorno de producci贸n del M贸dulo de Notas y Asistencias
MÓDULO DE NOTAS Y ASISTENCIAS
MANUAL TÉCNICO DEL ENTORNO DE PRODUCCIÓN
MARZO/2015
1. Instalación de Centos 7 1.1 Seleccionado el disco de instalación como dispositivo de arranque, inicia el gestor de arranque del instalador.
1.2 Seleccionar el idioma español de ecuador
1.3 Seleccionar el menú "Destino de la Instalación"
1.4 Escojer el disco duro y configurar plarticionado automĂĄtico
1.5 Seleccionar el menĂş "Red y nombre de Host"
1.6 Activar la red, se puede establecer la direcciรณn ip estรกtica o automรกtica
1.7 Comenzar la instalaci贸n
1.8 La instalaci贸n ha comenzado pero hace falta configurar la clave de root
1.9 Establecer la clave de root
1.10 No es necesario crear un usuario convencional.
Al finalizar la instalaci贸n se debe reiniciar el equipo, retirar el medio de instalaci贸n.
1.11 Al reiniciar se obtiene la consola del sistema.
2. Configuración Post-Instalación 1. Establecer una dirección IP, en este caso no necesitamos IPv6. a. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 b. El UUID va a variar en cada instalación y HWADDR es la dirección MAC de la tarjeta de red. c. Para empezar el modo de edición, presionar la tecla "i", en la parte inferior izquierda aparecerá el indicador "-- INSERT --". d. El contenido del archivo deberá quedar de la siguiente manera, la dirección IP, máscara, broadcast, y Gateway se deberán configurar en función de los requerimientos en la red en la que operará el sistema. • HWADDR="08:00:27:23:6E:F9" • TYPE="Ethernet" • BOOTPROTO="static" • DEFROUTE="yes" • PEERDNS="yes" • PEERROUTES="yes" • IPV4_FAILURE_FATAL="no" • IPADDR=192.168.100.103 • NETWORK=192.168.100.0
• NETMASK=255.255.255.0 • BROADCAST=192.168.100.255 • GATEWAY=192.168.100.1 • DNS1=8.8.8.8 • DNS2=8.8.4.4 • NAME="enp0s3" • UUID="658d946b-fabd-4093-8aa8-b5e367213ccc" • ONBOOT="yes" e. Para guardar los cambios y salir del archivo presionar la siguiente combinación de teclas de forma secuencial: • Esc •: •X f. Reiniciar el servicio network • systemctl restart network.service
2. Establecer fecha y hora a. Para establecer la fecha del sistema, formato Año, Mes, Día, Hora, Minuto, Segundo • date --set "2015-01-15 12:00:00" b. Para establecer la fecha en el Bios • hwclock --set --date="2015-01-15 12:00:00" 3. Actualizar el sistema a. yum -y update b. Reiniciamos el sistema • reboot
4. Instalar PostgreSQL 9.3 a. Ingresar al sitio oficial de postgresql para yum (gestor de paquetes de RHEL) http://yum.postgresql.org/ b. Seleccionar la versión 9.3 c. Buscar la versión para Centos7,
• • http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos939.3-1.noarch.rpm • Este paquete RPM es para instalar el repositorio, ejecutamos el comando: • yum –y install http://yum.postgresql.org/9.3/redhat/rhel-7x86_64/pgdg-centos93-9.3-1.noarch.rpm d. Habiendo instalado el repositorio se procede a buscar e instalar • yum search postgresql • Se denota que existen dos versiones disponibles para la instalación, la oficial de Centos y la del repositorio de PostgreSQL, instalar la 9.3 • yum –y install postgresql93 postgresql93-contrib postgresql93server e. Inicializar el directorio de base de datos • /usr/pgsql-9.3/bin/postgresql93-setup initdb f. Habilitar el servicio para que arranque con el sistema • systemctl enable postgresql-9.3.service g. Configurar postgresql.conf para habilitar conexiones tcp y se permita el uso de contraseñas encriptadas • vi /var/lib/pgsql/9.3/data/postgresql.conf
• Habilitar y modificar las siguientes líneas para que queden así: • listen_addresses = '*' • password_encryption = on • Guardar cambios “Esc : x” h. Configurar pg_hba.conf para determinar los hosts que pueden acceder al sgbd desde la red por medio de autenticación con contraseña md5. • vi /var/lib/pgsql/9.3/data/pg_hba.conf • Comentar la línea: • #host
all
all
127.0.0.1/32
ident
• Agregar las líneas: • host
all
all
::1/128
md5
• host
all
all
0.0.0.0/0
md5
• Guardar cambios “Esc : x” i. Iniciar el servicio • systemctl start postgresql-9.3.service j. En caso de necesitar reiniciar el servicio por haber modificado un archivo de configuración: • systemctl restart postgresql-9.3.service k. Establecer una contraseña para el usuario postgres y crear usuario para el sistema web. • su – postgres • cd • psql • alter user postgres with password 'micLavesegUra736.'; • create user sagcor with password 'miotRaclVeseGura391-'; • Control + D • exit 5. Instalar Servidor Web a. Agregar el repositorio EPEL para poder instalar php-mcrypt requerido por laravel. • Entrar
en
epel/7/x86_64/
el
espejo
http://mirror.espoch.edu.ec/fedora-
• Buscar
el
paquete
http://mirror.espoch.edu.ec/fedora-
epel/7/x86_64/e/epel-release-7-5.noarch.rpm • Es el instalador del repositorio para Centos7, procedemos a instalar • yum –y install http://mirror.espoch.edu.ec/fedoraepel/7/x86_64/e/epel-release-7-5.noarch.rpm b. Instalar apache, php y demás dependencias • yum -y install httpd php php-pdo php-pgsql php-mysql php-xml php-gd php-mbstring php-mcrypt c. Editar el archivo de configuración httpd.conf • vi /etc/httpd/conf/httpd.conf • Tiene formato XML, se debe buscar las secciones “<Directory />” y “<Directory "/var/www/html">”, modificar la siguiente línea en ambas. • AllowOverride All • Esto es requerido por el framework Laravel para redireccionar las vistas dinámicamente. • Guardar los cambios “Esc : x” d. Editar archivo de configuración php.ini • vi /etc/php.ini • Establecer un tiempo de ejecución de hasta 2 minutos para el script que sube las notas al sitio web. • max_execution_time = 120 • Establecer zona horaria • date.timezone = America/Guayaquil e. Habilitar el servicio httpd para que inicie con el sistema e iniciar el servicio • systemctl enable httpd.service • systemctl start httpd.service 6. Configuración de firewall a. En RHEL7 se ha cambiado el servicio iptables que se venía usando en versiones anteriores por firewalld, cabe recalcar que ambos siguen usando el comando iptables. b. Permitir el acceso a postgresql-server desde otro host en la red.
• firewall-cmd --zone=public --add-port=5432/tcp --permanent • firewall-cmd --reload c. Permitir el acceso al servicio web desde otro host en la red. • firewall-cmd --zone=public --add-service=http --permanent • firewall-cmd --reload d. El servicio ssh para acceso remoto y transferencia de archivos con sftp está habilitado por defecto, caso contrario: • firewall-cmd --zone=public --add-service=ssh --permanent • firewall-cmd --reload 7. Instanciar base de datos a. Usar
el
programa
pgAdminIII
desde
el
sitio
web
oficial
http://www.pgadmin.org/ b. Para subir el script de la base de datos es necesario conectar al servidor desde un host que tenga instalado pgAdminIII, con las credenciales configuradas • Host: 192.168.100.103 (según archivo de configuración ifcfgenp0s3) • Puerto: 5432 • Usuario: postgres • Clave: micLavesegUra736. c. Crear una base de datos llamda UESSCC • Click derecho en Databases dentro de la conexión recientemente creada • New Database… • Name: UESSCC • Owner: sagcor • Click en OK • Click derecho en la base UESSCC • Restore • Seleccionar en FileName el archivo BDD.backup adjunto en el medio de instalación del sistema • Click Restore, esperar unos minutos.
• Desconectar de pgAdminIII d. Deshabilitar el acceso remoto por seguridad, sólo es necesario cuando se requiere subir un backup a la base de datos. • firewall-cmd --zone=public --remove-port=5432/tcp --permanent • firewall-cmd --reload 8. Copiar el sistema desde el medio de instalación hacia el servidor a. Se usa el protocolo ssh • Host: 192.168.100.103 • Puerto: 22 • Usuario: root • Clave: la establecida en la instalación • Directorio: /var/www/html b. Desde Windows se puede usar el programa WinSCP. c. Desde Linux se puede montar la carpeta con nautilus o usar el comando scp • scp web/* root@192.168.100.103:/var/www/html/ 9. Configuración de Secure Enterprise Linux y demás permisos a. Permitir al servicio httpd conectarse a la red y a bases de datos. • setsebool -P httpd_can_network_connect on • setsebool -P httpd_can_network_connect_db on b. Limpiar caché y permitir al framework laravel escribir el carpetas requeridas para generar vistas • chcon
-t
httpd_sys_rw_content_t
/var/www/html/matpag/app/storage/* • chcon -t httpd_sys_rw_content_t /var/www/html/notas/app/storage/* • cd /var/www/html/matpag • php artisan cache:clear • chmod -R 777 app/storage/ • php artisan dump-autoload • cd /var/www/html/notas • php artisan cache:clear • chmod -R 777 app/storage/ • php artisan dump-autoload
10. Configuración de credenciales de acceso del sistema a la base de datos a. vi /var/www/html/configuracion.php b. línea 56: • $this->setBase('UESSCC'); • $this->setClave('miotRaclVeseGura391-'); • $this->setHost('127.0.0.1'); • $this->setPuerto('5432'); • $this->setUsuario('sagcor'); c. Guardar cambios “Esc : x” 11. Verificar inicio del sistema a. En un navegador desde un host en la misma red que el servidor abrir el sitio web correspondiente a la IP del mismo. • http://192.168.100.103 • Usuario: MA304LOEISA • Clave: Cre404encsec b. Al iniciar sesión le pedirá que cambie su contraseña c. El usuario administrador tiene acceso al módulo de usuarios y configuraciones, desde donde podrá administrar la conexión con el sitio web donde se publicarán las notas, y crear usuarios del sistema con los diferentes perfiles disponibles. 12. Recomendaciones de Seguridad a. Es apropiado en el caso de publicar el sistema en Internet con una dirección IP pública o con redirección de puertos, adquirir / utilizar un certificado SSL para proteger a los usuarios de ataques informáticos de tipo “Man in The Middle” b. Es recomendable cambiar el puerto por defecto de ssh, y complementar con aplicaciones como fail2ban que permiten vanear la ip del cliente que tenga varios intentos fallidos de ingresar al servidor con el protocolo ssh, esto previene ataques de fuerza bruta. c. No mantener el puerto de postgresql-server (5432/tcp) visible para toda la red, si se establecen contraseñas débiles, un atacante podría modificar la información de la base de datos. Ej.: notas, estudiantes, matrículas, entre otros.
Anexo 6. Acta de capacitaci贸n a los usuarios del sistema
Anexo 7. Diccionario de datos del M贸dulo de Notas y Asistencias
DICCIONARIO DE DATOS PROYECTO ANÁLISIS , DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CONTROL DE NOTAS Y ASISTENCIAS DEL SISTEMA DE GESTIÓN ACADÉMICA, MEDIANTE EL USO DE HERRAMIENTAS DE SOFTWARE LIBRE, PARA LA UNIDAD EDUCATIVA SAGRADOS CORAZONES DEL CANTÓN LA CONCORDIA; EN EL AÑO 2013.
2
ÍNDICE DE CONTENIDOS
1.
INTRODUCCIÓN ............................................................................................... 4
2.
Reporte de entidades ............................................................................................ 5
2.1.
Entidad 'public.asignaturas' ............................................................................... 6
2.2.
Entidad 'public.autorizaciones' .......................................................................... 7
2.3.
Entidad ‘public.autorizacionesmatriculas'......................................................... 8
2.4.
Entidad 'public.calificaciones' ........................................................................... 8
2.5.
Entidad ‘public. calificacionesin’.................................................................... 10
2.6.
Entidad 'public.comportamientos' ................................................................... 10
2.7.
Entidad 'public.cursos'..................................................................................... 11
2.8.
Entidad 'public.docentes' ................................................................................. 12
2.9.
Entidad 'public.estudiantes' ............................................................................. 13
2.10.
Entidad 'public.inasistencias'........................................................................... 16
2.12.
Entidad 'public.periodos' ................................................................................. 18
3.
Reporte de restricciones..................................................................................... 20
3.1.
Key 'pk_asignaturas'........................................................................................ 20
3.2.
Key 'pk_autorizaciones' .................................................................................. 20
3.3.
Key 'pk_calificaciones'.................................................................................... 20
3.4.
Key 'uk_calificaciones'.................................................................................... 21
3.5.
Key 'uk_calificacionesin'................................................................................. 21
3.6.
Key 'pk_calificacionesin'................................................................................. 21
3.7.
Key 'pk_comportamientos' .............................................................................. 21
3.8.
Key 'pk_cursos' ............................................................................................... 22
3.9.
Key 'pk_docentes'............................................................................................ 22
3.10.
Key 'uk_docentes'............................................................................................ 22
3.11.
Key 'pk_estudiantes' ........................................................................................ 22
3.12.
Key 'pk_inasistencias' ..................................................................................... 23
3.13.
Key 'uk_inasistencias' ..................................................................................... 23
3.14.
Key 'pk_matriculas' ......................................................................................... 23
3.15.
Key 'pk_periodos' ............................................................................................ 23
3.16.
Key 'pk_recomendaciones' .............................................................................. 24
4.
Reporte de Índices ............................................................................................. 25
4.1.
Índice 'fki_becas_matriculas' ............................................................................. 25
5.
Reporte de Relaciones ....................................................................................... 26
5.1.
Relación 'rel_asignaturas_calificaciones'........................................................... 27
5.2.
Relación 'rel_ asignaturas_calificacionesin' ...................................................... 27
3
5.3.
Relación 'rel_asignaturas_recomendaciones' ..................................................... 28
5.4.
Relación 'rel_ autorizaciones_autorizacionesmatriculas' ................................... 28
5.5.
Relación 'rel_cursos_asignaturas' ...................................................................... 29
5.6.
Relación 'rel_cursos_autorizaciones' ................................................................. 29
5.7.
Relación 'rel_cursos_comportamientos'............................................................. 30
5.8.
Relación 'rel_cursos_matriculas'........................................................................ 30
5.9.
Relación 'rel_docentes_asignaturas'................................................................... 31
5.10.
Relación 'rel_docentes_cursos' .......................................................................... 32
5.11.
Relación 'rel_estudiantes_matriculas' ................................................................ 32
5.12.
Relación 'rel_ matriculas_autorizaciones' .......................................................... 33
5.13.
Relación 'rel_matriculas_calificaciones' ............................................................ 33
5.14.
Relación 'rel_matriculas_calificacionesin' ......................................................... 34
5.15.
Relación 'rel_matriculas_comportamientos' ...................................................... 34
5.16.
Relación 'rel_matriculas_inasistencias'.............................................................. 35
5.17.
Relación 'rel_periodos_ recomendaciones' ........................................................ 36
5.18.
Relación 'rel_periodos_autorizaciones'.............................................................. 36
5.19.
Relación 'rel_periodos_cursos' .......................................................................... 37
5.20.
Relación 'rel_periodos_matriculas' .................................................................... 37
6.
Reporte de Trigger ............................................................................................. 39
6.1.
Trigger 'trg_calificacion_bi_bu' ......................................................................... 39
7.
Reporte de Funciones ........................................................................................ 40
7.1.
Función 'public.fn_notas_espromovido'.......................................................... 41
7.2.
Función 'public.fn_notas_getdescripcionasignatura' ....................................... 42
7.3.
Función 'public.fn_notas_getdescripcioncurso'............................................... 43
7.4.
Función 'public.fn_notas_getexamenquimestral' ............................................ 43
7.5.
Función 'public.fn_notas_getnombresapellidosestudiante' ............................. 44
7.6.
Función 'public.fn_notas_getnumeroexamenesactivos' .................................. 44
7.7.
Función 'public.fn_notas_getplanmejoraparcial' ............................................. 45
7.8.
Función 'public.fn_notas_getplanmejoraquimestral' ....................................... 46
7.9.
Función 'public.fn_notas_getpromediofinalasignatura'................................... 46
7.10.
Función 'public.fn_notas_getpromedioparcialasignatura' ............................... 48
7.11.
Función 'public.fn_notas_getpromedioquimestralasignatura' ......................... 48
7.12.
Función 'public.fn_notas_getrecomendacionparcial' ...................................... 49
7.13.
Función 'public.fn_notas_getrecomendacionquimestral' ................................ 50
7.14.
Función 'public.fn_notas_setexamengracia' .................................................... 50
7.15.
Función 'public.fn_notas_setpromocionestudiante'......................................... 51
7.16.
Función 'public.ftr_calificacion_bi_bu_actualizaestadoquimestre'................. 53
4
1. INTRODUCCIÓN En el presente documento se describe el diccionario de datos del Módulo de Control de Notas y Asistencias del Sistema de Gestión Académica para la Unidad Educativa “Sagrados Corazones”. El diccionario de datos consta de la descripción explícita de los elementos lógicos que componen el sistema los cuales son: Entidades, Atributos, Relaciones, Triggers y Funciones.
Entidades
2. Reporte de entidades Nombre
Clave primaria
# Atributos
public.asignaturas
asi_id
7
public.autorizaciones
aut_id
7
public.autorizacionesmatriculas
3
public.calificaciones
cal_id
8
public.calificacionesin
cin_id
7
public.comportamientos
com_id
7
public.cursos
cur_id
8
public.docentes
doc_id
7
public.estudiantes
est_id
51
public.inasistencias
ina_id
6
public.matriculas
mat_id
6
public.periodos
prd_id
5
public.recomendaciones
rec_id
6
-5-
Entidades
2.1. Entidad 'public.asignaturas' asignaturas
Leyenda o subtítulo
2.1.1. Clave primaria 'pk_asignaturas' Tipo de dato PK
Nombre del Atributo asi_id
Entidad Padre -----
2.1.2. Atributos
PK
Nombre del Atributo asi_id
Integer
FK
cur_id
Integer
Key
Por defecto YES
YES
NO
NO
NO
NO
NO
Descripción de la asignatura
NO
NO
NO
Identificador del docente Horas clases del año lectivo. Según el art. 172 del Reglamento de la LOEI, un estudiante reprueba una asignatura si sus inasistencias exceden el 10% de horas de clases del año lectivo. Se debe definir al inicio del año lectivo. Tipo de asignatura: 'BAS' (Básica), 'COM' (Complementaria), 'TRC' (Tronco Común), 'PEI' (Proyecto e identidad Institucional), 'INV' (Investigación), 'OPT' (Optativas), 'ESP' (Especialidad) Estado de la asignatura: A=Activa, D=Deshabilitada
No nulo
doc_id
Character varying(50) Integer
asi_horclaanu
Smallint
YES
NO
NO
asi_tip
Character(3)
NO
NO
NO
asi_est
Character(1)
YES
NO
YES
asi_des FK
YES
Clave Única NO
Tipo de dato
Comentarios Identificador de la asignatura Identificador del curso asociado a la asignatura
2.1.3. Relaciones Nombre de la relación rel_cursos_asignaturas rel_docentes_asignaturas rel_asignaturas_calificaci ones rel_asignaturas_calificaci onesin rel_asignaturas_recomend aciones
Entidad Padre public.cursos public.docentes
Entidad Hijo public.asignaturas public.asignaturas
Cardinalidad 1:N 1:N
public.asignaturas
public.calificaciones
1:N
public.asignaturas
public.calificacionesin
1:N
public.asignaturas
public.recomendaciones
1:N
2.1.4. Triggers Nombre del trigger bef_ins_upd_asignaturas
2.1.5. Comentarios Guarda la información de las asignaturas por cursos que reciben los estudiantes. -6-
Entidades
2.2. Entidad 'public.autorizaciones' autorizaciones
Leyenda o subtítulo
2.2.1. Clave primaria 'pk_autorizaciones' Tipo de dato PK
Nombre del Atributo aut_id
Entidad Padre -----
2.2.2. Atributos Key PK
FK
Nombre del Atributo aut_id
No Nullo
Clave Única
Por Defecto
Integer
YES
NO
YES
aut_acc
Smallint
YES
NO
NO
cur_id
Integer
YES
NO
NO
Date Date Character varying(200)
YES YES
NO NO
NO NO
NO
NO
NO
Integer
NO
NO
NO
aut_fecini aut_fecfin aut_obs FK
Tipo de dato
prd_id
-7-
Comentarios Identificador de la autorización Acción autorizada: 27 acciones que puede autorizar el sistema el Rector. 1) Ingreso de notas parciales, 2) Ingreso de notas quimestrales, 3) Ingreso de notas parciales pendientes, 4) Ingreso de notas quimestrales pendientes, 5) Ingreso de exámenes de grado, 6) Ingreso de exámenes de recuperación, 7) Ingreso de exámenes supletorios, 8) Ingreso de exámenes remediales, 9) Ingreso de exámenes de gracia, 10) Ingreso de exámenes de grado pendientes, 11) Corrección de nota parcial, 12) Corrección de nota quimestral, 13) Corrección de examen supletorio, 14) Corrección de examen remedial, 15) Corrección de examen de gracia, 16) Corrección de examen de recuperación, 17) Corrección de examen de grado, 18) Ingreso de comportamientos parciales, 19) Corrección de comportamientos parciales, 20) Ingreso de comportamientos parciales pendientes, 21) Ingreso de comportamientos quimestrales, 22) Corrección de comportamientos quimestrales, 23) Ingreso de comportamientos quimestrales pendientes, 24) Ingreso de inasistencias, 25) Corrección de inasistencias, 26) Ingreso de planes de mejoras, 27) Edición de planes de mejoras Identificador del curso al que se asigna la autorización para realizar la acción seleccionada. Fecha de inicio de la autorización Fecha de fin de la autorización Observación breve de la autorización (Opcional) Identificador del periodo al que corresponde la autorización
Entidades
2.2.3. Relaciones Nombre de la relación rel_cursos_autorizaciones rel_periodos_autorizaciones rel_autorizaciones_autorizacion esmatriculas
Entidad Padre public.cursos public.periodos public.autorizacione s
Entidad Hijo public.autorizaciones public.autorizaciones public.autorizacionesmat riculas
Card. 1:N 1:N 1:N
2.2.4. Comentarios Permite asignar autorizaciones de: registro de notas, comportamiento y correciones de las mismas a los usuarios del sistema.
2.3. Entidad ‘public.autorizacionesmatriculas' autorizacionesmatriculas
Leyenda o subtítulo
2.3.1. Atributos Key FK
FK
Nombre del Atributo mat_id asi_id
Tipo de dato Integer Integer
No Nullo YES YES
Clave Única NO NO
Por Defecto NO NO
aut_id
Integer
YES
NO
NO
Comentarios Identificador de la matrícula Identificador de la asignatura Identificador de la autorización. Una autorización puede ser dada a uno o varios estudiantes de una asignatura.
2.3.2. Relaciones Nombre de la relación rel_autorizaciones_autorizaci onesmatriculas
Entidad Padre
rel_matriculas_autorizaciones
public.matriculas
Entidad Hijo public.autorizacionesmat riculas public.autorizacionesmat riculas
public.autorizaciones
Cardinalidad 1:N 1:N
2.3.3. Comentarios Guarda el detalle de las autorizaciones. Permite asignar autorizaciones por estudiantes.
2.4. Entidad 'public.calificaciones' calificaciones
Leyenda o subtítulo
2.4.1. Clave primaria 'pk_calificaciones' Nombre del Atributo cal_id
Tipo de dato PK
Entidad Padre -----
-8-
Entidades
2.4.2. Atributos Key PK FK FK
Nombre del Atributo cal_id mat_id asi_id
Data Tipo de dato
No Nullo
Clave Única
Por Defecto
Integer Integer Integer Numeric(4,2 )
YES YES YES
NO NO NO
YES NO NO
NO
NO
NO
cal_tippar
Smallint
NO
NO
NO
cal_par
Smallint
NO
NO
NO
cal_qui
Smallint
NO
NO
NO
cal_est
Character(1)
NO
NO
NO
cal_feccre
Timestamp
NO
NO
NO
cal_fecmod
Timestamp
NO
NO
NO
cal_val
Comentarios Identificador de la calificación Identificador de la matrícula Identificador de la asignatura Valor de la Calificación. Ejemplo 09.25 Tipo de Calificación en el parcial. 1) Tareas, 2) Actividades Individuales, 3) Actividades Grupales, 4) Lecciones, 5) Examen Escrito, 6) Examen Supletorio, 7) Examen Remedial, 8) Examen de gracia, 9) Examen de recuperación, 10) Examen Quimestral, 11) Examen de Grado Parcial de la calificación. Cero (0), Primero (1), Segundo (2), Tercer (3). Parcial Cero(0) se utiliza por defecto para las calificaciones de los exámenes de recuperación, supletorio, remedial o de gracia. Quimestre de la calificación. Cero (0), Primer (1), Segundo (2). Quimestre Cero (0) se utiliza por defecto para las calificaciones de los exámenes de recuperación, supletorio, remedial o de gracia. Estado de la calificación. Activa (A), Anulada (D) Fecha/Hora de creación del registro Fecha/Hora de modificación del registro
2.4.3. Relaciones Nombre de la relación rel_asignaturas_calificaci ones rel_matriculas_calificacio nes
Entidad Padre
Entidad Hijo
Cardinalidad
public.asignaturas
public.calificaciones
1:N
public.matriculas
public.calificaciones
1:N
2.4.4. Triggers Nombre de Trigger trg_calificacion_bi_bu
2.4.5. Comentarios Guarda las calificaciones de las evaluaciones parciales, exámenes quimestrales, remediales, supletorios, de gracia y notas de grado.
-9-
Entidades
2.5.
Entidad ‘public. calificacionesin’ calificacionesin
Leyenda o subtítulo
2.5.1. Clave primaria 'pk_ calificacionesin’ Tipo de dato PK
Nombre del Atributo cin_id
Entidad Padre -----
2.5.2. Atributos Key PK FK FK
Nombre del Atributo cin_id mat_id asi_id
Data Tipo de dato
No Nullo
Integer Integer Integer
YES YES YES
NO NO NO
YES NO NO
cin_val
Character(5)
NO
NO
NO
cin_qui
Smallint
NO
NO
NO
cin_par
Smallint
NO
NO
NO
cin_est
Character(1)
YES
NO
NO
Clave Única
Por Defecto
Comentarios Identificador de la calificacion Identificador de la matrícula Identificador de la asignatura Nota de evaluación para Educación Inicial. MS=Muy Satisfactorio, S=Satisfactorio, PS=Poco Satisfactorio, M=Mejorable, I=Insatisfactorio Quimestre de la nota: 1=Primer Quimestre, 2=Segundo Quimestre Parcial de la nota: 0=No corresponde a nota quimestral. Se utiliza para los casos de notas parciales, 1=Primer Parcial, 2=Segundo Parcial, 3=Tercer Parcial Estado de la calificación
2.5.3. Relaciones Nombre de la relación rel_asignaturas_calificacionesin rel_matriculas_calificacionesin
Entidad Padre public.asignaturas public.matriculas
Entidad Hijo public.calificacionesin public.calificacionesin
2.5.4. Comentarios Guarda las calificaciones de los estudiantes matriculados en Educación Inicial. 2.6. Entidad 'public.comportamientos' comportamientos
Leyenda o subtítulo
2.6.1. Clave primaria 'pk_comportamientos' Nombre del Atributo com_id
Tipo de dato PK
Entidad Padre -----
-10-
Card. 1:N 1:N
Entidades
2.6.2. Atributos Key
Nombre del Atributo
Data Tipo de dato
No Nullo
Clave Única
Por Defecto
Comentarios
PK
com_id
Integer
YES
NO
YES
FK
mat_id
Integer
YES
NO
NO
com_val
Character(1)
YES
NO
NO
com_par
Smallint
NO
NO
NO
com_qui
Smallint
NO
NO
NO
com_est
Character(1)
NO
NO
NO
cur_id com_feccr e com_fecm od
Integer
YES
NO
NO
Identificador del registro de comportamiento del estudiante Identificador de la matrícula Valor de la evaluación del comportamiento del estudiante. Valores permitidos: A, B, C, D y E Parcial del comportamiento. Cero (0), Primero (1), Segundo (2) y Tercero (3). Parcial Cero (0) se utiliza por defecto para el comportamiento quimestral. Quimestre del comportamiento. Primero (1) y Segundo (2) Estado de la calificación del comportamiento. Activa (A), Anulada (D), Pendiente (P), Corregida (C) Identificador del curso del estudiante
Timestamp
NO
NO
NO
Fecha/Hora de creación del registro
Timestamp
NO
NO
NO
Fecha/Hora de modificación del registro
FK
2.6.3. Relaciones Nombre de la relación rel_cursos_comportamientos rel_matriculas_comportamient os
Entidad Padre public.cursos
Entidad Hijo public.comportamientos
Cardinalidad 1:N
public.matriculas
public.comportamientos
1:N
2.6.4. Comentarios Guarda la escala cualitativa que evalúa el comportamiento del estudiante. 2.7. Entidad 'public.cursos' cursos
Leyenda o subtítulo
2.7.1. Clave primaria 'pk_cursos' Nombre del Atributo cur_id
Tipo de dato PK
Entidad Padre -----
-11-
Entidades
2.7.2. Atributos Key PK
Nombre del Atributo cur_id
FK
No Nullo
Clave Única
Por Defecto
Comentarios
YES
NO
YES
Identificador del curso
YES
NO
NO
Descripción del curso
cur_cupmax cur_cupact
Integer Character varying(20) Smallint Smallint
NO NO
NO NO
NO NO
doc_id
Integer
NO
NO
NO
cur_niv
Smallint
NO
NO
NO
cur_tip
Smallint
YES
NO
YES
cur_est
Character(1)
YES
NO
YES
prd_id
Integer
YES
NO
NO
Cupo máximo del curso Cupo actual del curso Identificador del docente tutor del curso Nivel del curso Tipo del curso: General Básica (0), Primero de Bachillerato en Ciencias (1), Segundo de Bachillerato en Ciencias (2), Tercero de Bachillerato en Ciencias (3), Primero de Bachillerato Técnico (4), Segundo de Bachillerato Técnico (5), Tercer de Bachillerato Técnico (6), Inicial (7) Estado del curso: A=Activo, D=Deshabilitado Identificador de periodos
cur_des
FK
Data Tipo de dato
2.7.3. Relaciones Nombre de la relación rel_cursos_asignaturas rel_cursos_autorizaciones rel_cursos_comportamientos rel_docentes_cursos rel_periodos_cursos rel_cursos_matriculas
Entidad Padre public.cursos public.cursos public.cursos public.docentes public.periodos public.cursos
Entidad Hijo public.asignaturas public.autorizaciones public.comportamientos public.cursos public.cursos public.matriculas
Cardinalidad 1:N 1:N 1:N 1:N 1:N 1:N
2.7.4. Triggers Nombre de Trigger bef_ins_upd_cursos
2.7.5. Comentarios Guarda la información de los cursos para los diferentes niveles de educación: Inicial, General Básica y Bachillerato.
2.8. Entidad 'public.docentes' docentes
Leyenda o subtítulo
2.8.1. Clave primaria 'pk_docentes' Nombre del Atributo
Tipo de dato
Entidad Padre
doc_id
PK
-----
-12-
Entidades
2.8.2. Atributos Key PK
Nombre del Atributo doc_id doc_cedpas doc_nom doc_ape usu_id doc_tit doc_med doc_corele doc_est
Data Tipo de dato Integer Character varying(20) Character varying(45) Character varying(45)
No Nullo YES
Clave Única NO
Por Defecto YES
Identificador del docente
YES
NO
NO
Cédula/Pasaporte del docente
YES
NO
NO
Nombres del docente
YES
NO
NO
Apellidos del docente
Integer
NO
NO
NO
Identificador del usuario del sistema
NO
NO
NO
YES
NO
YES
NO
NO
NO
Correo electrónico del docente
YES
NO
YES
Estado 'A' activo 'D' inactivo
Character varying(20) Boolean Character varying(50) Character(1)
Comentarios
2.8.3. Relaciones Nombre de la relación rel_docentes_asignaturas rel_docentes_cursos
Entidad Padre public.docentes public.docentes
Entidad Hijo public.asignaturas public.cursos
Cardinalidad 1:N 1:N
2.8.4. Claves Tipo de Clave PK AK
Nombre de Restricción
Atributos
pk_docentes uk_docentes
doc_id usu_id
2.8.5. Triggers Trigger Name aft_upd_docentes bef_upd_docentes
2.8.6. Comentarios
Guarda información de los docentes. Los docentes son los encargados del ingreso de notas parciales, quimestrales y otros exámenes.
2.9. Entidad 'public.estudiantes' estudiantes
Leyenda o subtítulo
2.9.1. Clave primaria 'pk_estudiantes' Nombre del Atributo
Tipo de dato
Entidad Padre
est_id
PK
-----
-13-
Entidades
2.9.2. Atributos Key PK
Nombre del Atributo est_id est_cedpas est_fecnac est_nomcom est_apecom est_sex est_nac est_pronac est_regciv est_dis est_estciv est_hij est_tra est_defetn est_nacind est_dir est_telcon est_corele est_vivcon est_vecmat est_asireg est_nue est_procolant est_otrins est_descom
Tipo de dato Integer Character varying(13) Date Character varying(50) Character varying(50) Character varying(9) Character varying(20) Character varying(30) Character varying(2) Character varying(2) Character varying(15) Smallint Character varying(2) Character varying(10) Character varying(15) Character varying(100) Character varying(15) Character varying(50) Character varying(30) Smallint Character varying(2) Character varying(2) Character varying(30) Character varying(2) Character(9)
No Nullo YES
Clave Única NO
Por Defecto YES
NO
NO
NO
NO
NO
NO
YES
NO
NO
YES
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
YES
NO
NO
YES
NO
NO
NO
Número de hijos en el hogar
NO
NO
YES
¿El estudiante trabaja?
NO
NO
NO
NO
NO
YES
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
YES
NO
NO
YES
NO
NO
YES
¿El estudiante es nuevo?
NO
NO
NO
Procedencia del colegio anterior
NO
NO
YES
¿Estudia en otra institución?
NO
NO
YES
Descomposición de la matrícula: PROMOVIDO, RECHAZADO y
-14-
Comentarios Identificador del estudiante Cédula/Pasaporte del estudiante Fecha de nacimiento del estudiante Nombres completos del estudiante Apellidos completos del estudiante Sexo del estudiante: FEMENINO o MASCULINO Nacionalidad del estudiante Provincia de nacimiento del estudiante ¿El estudiante está inscrito en el registro civil? ¿El estudiante tiene alguna discapacidad?
Definición étnica del estudiante Nacionalidad indígena del estudiante Dirección del estudiante Teléfono de contacto del estudiante Correo electrónico del estudiante Con quién vive el estudiante Número de veces que se ha matriculado en la institución. ¿El estudiante asiste regularmente?
Entidades
Key
Nombre del Atributo
Tipo de dato
No Nullo
Clave Única
Por Defecto
Comentarios EXPULSADO
est_cauper
Character varying(30)
NO
NO
NO
est_sta
Character varying(13)
NO
NO
YES
NO
NO
NO
NO
NO
NO
Profesión del padre
NO
NO
NO
Dirección del padre
NO
NO
NO
Teléfono de contacto del padre
NO
NO
NO
Cédula/Pasaporte del padre
NO
NO
NO
Nombre y apellido de la madre
NO
NO
NO
Profesión de la madre
NO
NO
NO
Dirección de la madre
NO
NO
NO
Teléfono de contacto de la madre
NO
NO
NO
Cédula/Pasaporte de la madre
NO
NO
NO
Nombre y apellido del representante
NO
NO
NO
Profesión del representante
NO
NO
NO
Dirección del representante
NO
NO
NO
NO
NO
NO
NO
NO
NO
est_nomapepad est_propad est_dirpad est_telconpad est_cedpaspad est_nomapemad est_promad est_dirmad est_telconmad est_cedpasmad est_nomaperep est_prorep est_dirrep est_telconrep est_cedpasrep est_parrep
Character varying(50) Character varying(20) Character varying(50) Character varying(15) Character varying(13) Character varying(50) Character varying(20) Character varying(50) Character varying(15) Character varying(13) Character varying(50) Character varying(20) Character varying(50) Character varying(15) Character varying(13) Character varying(15)
bec_id
Smallint
NO
NO
YES
est_tipmat
Character varying(2)
NO
NO
NO
NO
NO
NO
NO
NO
YES
NO
NO
YES
YES
NO
YES
est_lugnac est_repmad est_reppad est_nivcor
Character varying(30) Character varying(2) Character varying(2) Smallint
-15-
Causas de perdida de año Status del estudiante: REGLAMENTARIO, DESERTOR y RETIRADO Nombres y Apellidos del padre
Teléfono de contacto del representante Cédula/Pasaporte del representante Parentesco del representante con el estudiante Beca concedida al estudiante. Por defecto: 1 (SIN BECA) Tipo de la matrícula: Ordinaria (OR), Extraordinaria (EO), Excepcional (EX) Lugar de nacimiento del estudiante ¿Es la madre la representante del estudiante? ¿Es el padre el representante del estudiante? Nivel al que corresponde el
Entidades
Key
Nombre del Atributo
Tipo de dato
No Nullo
Clave Única
Por Defecto
Comentarios estudiante
Character varying(3) Character varying(20)
est_tipctarep est_numctarep
Character varying(3) Character varying(3) Character varying(3)
est_tipide est_tipidemad est_tipidepad
NO
NO
NO
tipo de cuenta {'AHO','CTE'}
NO
NO
NO
Número de cuenta
NO
NO
NO
tipo de identificación del padre {'ced','pas'}
NO
NO
NO
NO
NO
NO
2.9.3. Relaciones Nombre de la relación rel_estudiantes_matriculas
Entidad Padre public.estudiantes
Entidad Hijo public.matriculas
Cardinalidad 1:N
2.9.4. Comentarios Estudiantes de la institución.
2.10. Entidad 'public.inasistencias' inasistencias
Leyenda o subtítulo
2.10.1. Clave primaria 'pk_inasistencias' Tipo de dato PK
Nombre del Atributo ina_id
Entidad Padre -----
2.10.2. Atributos Key PK FK
Nombre del Atributo ina_id mat_id ina_qui ina_faljus ina_falinj ina_atr
Data Tipo de dato Integer Integer Smallint Boolean Smallint Smallint
No Nullo YES YES YES NO NO NO
Clave Única NO NO NO NO NO NO
Por Defecto YES NO NO NO NO NO
Comentarios Identificador de la inasistencia Identificador de la matricula Quimestre de la inasistencia Número de faltas justificadas Número de faltas injustificadas Número de atrasos
2.10.3. Relaciones Nombre de la relación rel_matriculas_inasistencias
Entidad Padre public.matriculas
Entidad Hijo public.inasistencias
2.10.4. Comentarios Permite registrar las inasistencias del estudiante por quimestres.
-16-
Cardinalidad 1:N
Entidades
2.11. Entidad 'public.matriculas' matriculas
Leyenda o subtítulo
2.11.1. Clave primaria 'pk_matriculas' Tipo de dato PK
Nombre del Atributo mat_id
Entidad Padre -----
2.11.2. Atributos Key PK FK FK FK
Nombre del Atributo mat_id prd_id cur_id est_id mat_fec
Integer Integer Integer Integer Timestamp
YES YES YES YES NO
NO NO NO NO NO
YES NO NO NO NO
bec_id
Integer
NO
NO
NO
Data Tipo de dato
No Nulo
Clave Única
Por Defecto
Comentarios Identificador de matrículas Periodo de la matrícula Identificador de curso Identificador del estudiante Fecha de matrícula Identificador de beca otorgada en dicho periodo
2.11.3. Relaciones Nombre de la relación
Entidad Padre
rel_matriculas_autorizaciones
public.matriculas
rel_matriculas_calificaciones rel_matriculas_calificacionesin rel_matriculas_comportamientos rel_matriculas_inasistencias rel_cursos_matriculas rel_estudiantes_matriculas rel_periodos_matriculas rel_matriculas_recomendaciones
public.matriculas public.matriculas public.matriculas public.matriculas public.cursos public.estudiantes public.periodos public.matriculas
Entidad Hijo public.autorizacionesmatricu las public.calificaciones public.calificacionesin public.comportamientos public.inasistencias public.matriculas public.matriculas public.matriculas public.recomendaciones
2.11.4. Índices Nombre de Índice fki_becas_matriculas
Atributos bec_id
Unique NO
2.11.5. Comentarios Registros de matrículas del estudiante.
-17-
Cardinalidad 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N 1:N
Entidades
2.12. Entidad 'public.periodos' periodos
Leyenda o subtítulo
2.12.1. Clave primaria 'pk_periodos' Tipo de dato PK
Nombre del Atributo prd_id
2.12.2. Key PK
Entidad Padre -----
Atributos Nombre del Atributo
Data Tipo de dato
No Nullo
Clave Única
Por Defecto
prd_id
Integer
YES
NO
NO
prd_fecini prd_fecfin
Date Date Character varying(1) Character varying(30)
YES YES
NO NO
NO NO
YES
NO
YES
YES
NO
NO
prd_est prd_des
Comentarios Identificador del Periodo (año que contempla) Fecha de inicio de periodo Fecha de fin de periodo Estado del periodo: {C:cerrado,A:abierto} Descripción del periodo
2.12.3. Relaciones Nombre de la relación rel_periodos_autorizaciones rel_periodos_cursos rel_periodos_matriculas
Entidad Padre public.periodos public.periodos public.periodos
Entidad Hijo public.autorizaciones public.cursos public.matriculas
2.12.4. Comentarios Periodos académicos de la institución.
2.13. Entidad 'public.recomendaciones' recomendaciones
Leyenda o subtítulo
2.13.1. Clave primaria 'pk_ recomendaciones' Nombre del Atributo rec_id
Tipo de dato PK
Entidad Padre -----
-18-
Cardinalidad 1:N 1:N 1:N
Entidades
2.13.2. Key PK
Atributos Nombre del Atributo rec_id asi_id
Integer Integer
YES YES
NO NO
YES NO
mat_id
Integer
YES
NO
NO
rec_qui rec_par
Smallint Smallint Character varying(300)
YES YES
NO NO
NO NO
Identificador de la recomendación Identificador de la asignatura Identificador de la matrícula. Ayuda a identiicar al estudiante. Quimestre de la recomendación Parcial de la recomendación
NO
NO
NO
Recomendación hecha por el docente.
rec_rec
Data Tipo de dato
No Nullo
Clave Única
Por Defecto
Comentarios
2.13.3. Relaciones Nombre de la relación rel_asignaturas_recomendacion es rel_matriculas_recomendacione s
Entidad Padre
Entidad Hijo
public.asignaturas
public.recomendaciones
public.matriculas
public.recomendaciones
Cardinalidad 1:N 1:N
2.13.4. Comentarios Guarda las recomendaciones hechas por el docente al estudiante, tanto en parciales como en el quimestre. El ingreso de las recomendaciones es opcional para el docente.
-19-
Key
3. Reporte de restricciones Key Tipo PK PK PK AK AK PK PK PK PK AK PK PK AK PK PK PK
3.1.
Key Nombre pk_asignaturas pk_autorizaciones pk_calificaciones uk_calificaciones uk_calificacionesin pk_calificacionesin pk_comportamientos pk_cursos pk_docentes uk_docentes pk_estudiantes pk_inasistencias uk_inasistencias pk_matriculas pk_periodos pk_recomendaciones
Nombre de entidad public.asignaturas public.autorizaciones public.calificaciones public.calificaciones public.calificacionesin public.calificacionesin public.comportamientos public.cursos public.docentes public.docentes public.estudiantes public.inasistencias public.inasistencias public.matriculas public.periodos public.recomendaciones
Key 'pk_asignaturas'
Título Key Tipo Nombre de entidad
pk_asignaturas Primary Key public.asignaturas
Atributo
Orden
asi_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla asignaturas
3.2.
Key 'pk_autorizaciones'
Título Key Tipo Nombre de entidad
pk_autorizaciones Primary Key public.autorizaciones
Atributo
Orden
aut_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla autorizaciones 3.3.
Key 'pk_calificaciones'
Título Key Tipo Nombre de entidad
pk_calificaciones Primary Key public.calificaciones
Atributo
Orden
cal_id
ASC
Comentarios Clave primaria de la tabla calificaciones
-20-
Clave Foránea NO
Key
3.4.
Key 'uk_calificaciones'
Título Key Tipo Nombre de entidad
uk_calificaciones Alternate Key public.calificaciones
Atributo
Orden
mat_id cal_tippar cal_par cal_qui asi_id
ASC ASC ASC ASC ASC
Clave Foránea YES NO NO NO YES
Comentarios Clave única de la tabla calificaciones. Un estudiante matriculado solo puede tener un tipo de calificación en una asignatura para un quimestre y parcial determinado 3.5.
Key 'uk_calificacionesin'
Título Key Tipo Nombre de entidad
uk_calificacionesin Alternate Key public.calificacionesin
Atributo
Orden
mat_id cin_par cin_qui asi_id
ASC ASC ASC ASC
Clave Foránea YES NO NO YES
Comentarios Un estudiante matriculado en nivel inicial, para cada asignatura, solo puede tener una calificación en el parcial y quimestre 3.6.
Key 'pk_calificacionesin'
Título Key Tipo Nombre de entidad
pk_calificacionesin Primary Key public.calificacionesin
Atributo
Orden
cin_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla calificacionesin 3.7.
Key 'pk_comportamientos'
Título Key Tipo Nombre de entidad
pk_comportamientos Primary Key public.comportamientos
Atributo
Orden
com_id
ASC
-21-
Clave Foránea NO
Key
Comentarios Clave primaria de la tabla comportamientos 3.8.
Key 'pk_cursos'
Título Key Tipo Nombre de entidad
pk_cursos Primary Key public.cursos
Atributo
Orden
cur_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla cursos 3.9.
Key 'pk_docentes'
Título Key Tipo Nombre de entidad
pk_docentes Primary Key public.docentes
Atributo
Orden
doc_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla docentes 3.10. Key 'uk_docentes' Título Key Tipo Nombre de entidad
uk_docentes Alternate Key public.docentes
Atributo
Orden
usu_id
ASC
Clave Foránea NO
Comentarios Clave única de la tabla docentes. El docente tiene relacionado el id del usuario que usa para iniciar sesión 3.11. Key 'pk_estudiantes' Título Key Tipo Nombre de entidad
pk_estudiantes Primary Key public.estudiantes
Atributo
Orden
est_id
ASC
Comentarios Clave primaria de la tabla estudiantes
-22-
Clave Foránea NO
Key
3.12. Key 'pk_inasistencias' Título Key Tipo Nombre de entidad
pk_inasistencias Primary Key public.inasistencias
Atributo
Orden
ina_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla inasistencias 3.13. Key 'uk_inasistencias' Título Key Tipo Nombre de entidad
uk_inasistencias Alternate Key public.inasistencias
Atributo
Orden
ina_qui mat_id
ASC ASC
Clave Foránea NO YES
Comentarios Clave única de la tabla inasistencias. Un estudiante matriculado no puede tener un registro de inasistencia en el mismo quimestre dos veces 3.14. Key 'pk_matriculas' Título Key Tipo Nombre de entidad
pk_matriculas Primary Key public.matriculas
Atributo
Orden
mat_id
ASC
Clave Foránea NO
Comentarios Clave primaria de la tabla matriculas 3.15. Key 'pk_periodos' Título Key Tipo Nombre de entidad
pk_periodos Primary Key public.periodos
Atributo
Orden
prd_id
ASC
Comentarios Clave primaria de la tabla periodos
-23-
Clave Foránea NO
Key
3.16. Key 'pk_recomendaciones' TĂtulo Key Tipo Nombre de entidad
pk_recomendaciones Primary Key public.recomendaciones
Atributo
Orden
rec_id
ASC
Comentarios Clave primaria de la tabla recomendaciones
-24-
Clave ForĂĄnea NO
Índices
4. Reporte de Índices Nombre de Índice fki_becas_matriculas
Unique NO
Nombre de Entidad public.matriculas
4.1. Índice 'fki_becas_matriculas' fki_becas_matriculas public.matriculas NO
Leyenda o subtítulo Nombre de Entidad Unique Atributo
Orden
bec_id
ASC
4.1.1. Propiedades de Índice Método de acceso al índice
btree
-25-
Clave primaria NO
Clave foránea NO
Relaciones
5. Reporte de Relaciones Nombre de la relaci贸n rel_asignaturas_calificaci ones rel_asignaturas_calificaci onesin rel_asignaturas_recomend aciones rel_autorizaciones_autori zacionesmatriculas rel_cursos_asignaturas rel_cursos_autorizaciones rel_cursos_comportamien tos rel_cursos_matriculas rel_docentes_asignaturas rel_docentes_cursos rel_estudiantes_matricula s rel_matriculas_autorizaci ones rel_matriculas_calificacio nes rel_matriculas_calificacio nesin rel_matriculas_comporta mientos rel_matriculas_inasistenci as rel_matriculas_recomend aciones rel_periodos_autorizacion es rel_periodos_cursos rel_periodos_matriculas
Tipo de dato de relaci贸n
Entidad Padre
Entidad Hijo
Card.
Non-identifying
public.asignaturas
public.calificaciones
1:N
Non-identifying
public.asignaturas
public.calificacionesin
1:N
Non-identifying
public.asignaturas
public.recomendaciones
1:N
Non-identifying
public.autorizaciones
Non-identifying Non-identifying
public.cursos public.cursos
public.autorizacionesmat riculas public.asignaturas public.autorizaciones
Non-identifying
public.cursos
public.comportamientos
1:N
Non-identifying Non-identifying Non-identifying
public.cursos public.docentes public.docentes
public.matriculas public.asignaturas public.cursos
1:N 1:N 1:N
Non-identifying
public.estudiantes
public.matriculas
1:N
Non-identifying
public.matriculas
public.autorizacionesmat riculas
1:N
Non-identifying
public.matriculas
public.calificaciones
1:N
Non-identifying
public.matriculas
public.calificacionesin
1:N
Non-identifying
public.matriculas
public.comportamientos
1:N
Non-identifying
public.matriculas
public.inasistencias
1:N
Non-identifying
public.matriculas
public.recomendaciones
1:N
Non-identifying
public.periodos
public.autorizaciones
1:N
Non-identifying Non-identifying
public.periodos public.periodos
public.cursos public.matriculas
1:N 1:N
-26-
1:N 1:N 1:N
Relaciones
5.1. Relación 'rel_asignaturas_calificaciones' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_asignaturas_calificaciones Non-identifying YES NO public.asignaturas public.calificaciones
Cardinalidad
1:N
5.1.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.1.2. Claves Tipo de dato Clave primaria 'pk_asignaturas'
Clave Padre asi_id
Clave Hija asi_id
5.1.3. Propiedades de Relación Tipo de dato
SIMPLE
5.1.4. Comentarios Relación entre asignaturas y calificaciones. La relación es 1:n (uno a varios), es decir una asignatura puede tener varias calificaciones relacionadas.
5.2.
Relación 'rel_ asignaturas_calificacionesin'
Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_asignaturas_calificacionesin Non-identifying YES NO public.asignaturas public.calificacionesin
Cardinalidad
5.2.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.2.2. Claves Tipo de dato Clave primaria 'pk_asignaturas'
Clave Padre asi_id
5.2.3. Propiedades de Relación Tipo de dato
SIMPLE
-27-
Clave Hija asi_id
1:N
Relaciones
5.2.4. Comentarios Relación entre asignaturas y calificacionesin. La relación es 1:n (uno a varios), es decir una asignatura de nivel inicial puede tener varias calificaciones relacionadas.
5.3. Relación 'rel_asignaturas_recomendaciones' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_asignaturas_recomendaciones Non-identifying YES NO public.asignaturas public.recomendaciones
Cardinalidad
1:N
5.3.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.3.2. Claves Tipo de dato Clave primaria 'pk_ asignaturas'
Clave Padre asi_id
Clave Hija asi_id
5.3.3. Propiedades de Relación Match Tipo de dato
SIMPLE
5.3.4. Comentarios Referencia de la asignatura donde recibe la recomendación el estudiante.
5.4.
Relación 'rel_ autorizaciones_autorizacionesmatriculas'
Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_autorizaciones_autorizacionesmatriculas Non-identifying YES NO public.autorizaciones public.autorizacionesmatriculas
Cardinalidad
5.4.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.4.2. Claves Tipo de dato Primary Key 'pk_autorizaciones'
Clave Padre aut_id
-28-
Clave Hija aut_id
1:N
Relaciones
5.4.3. Propiedades de Relación Match Tipo de dato
SIMPLE
5.4.4. Comentarios Relación entre autorizaciones y el detalle de los estudiantes autorizados. 5.5. Relación 'rel_cursos_asignaturas' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_cursos_asignaturas Non-identifying NO NO public.cursos public.asignaturas
Cardinalidad
1:N
5.5.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.5.2. Claves Tipo de dato Clave primaria 'pk_cursos'
Clave Padre cur_id
Clave Hija cur_id
5.5.3. Propiedades de Relación Match Tipo de dato
SIMPLE
5.5.4. Comentarios Relación entre cursos y asignaturas. La relación es 1:n (uno a varios), es decir en un curso se dictan varias asignaturas. 5.6. Relación 'rel_cursos_autorizaciones' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_cursos_autorizaciones Non-identifying YES NO public.cursos public.autorizaciones
Cardinalidad
5.6.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
-29-
Borrar RESTRICT ----
1:N
Relaciones
5.6.2. Claves Tipo de dato Clave primaria 'pk_cursos'
Clave Padre cur_id
Clave Hija cur_id
5.6.3. Propiedades de Relación Tipo de dato
SIMPLE
5.6.4. Comentarios Relación entre cursos y autorizaciones. Las autorizaciones son asignadas al curso para el ingreso y corrección de notas, comportamientos e inasistencias.
5.7. Relación 'rel_cursos_comportamientos' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_cursos_comportamientos Non-identifying YES NO public.cursos public.comportamientos
Cardinalidad
1:N
5.7.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.7.2. Claves Tipo de dato Clave primaria 'pk_cursos'
Clave Padre cur_id
Clave Hija cur_id
5.7.3. Propiedades de Relación Tipo de dato
SIMPLE
5.7.4. Comentarios Relación entre cursos y comportamientos. La relación es 1:n (uno a varios), es decir un curso puede tener varios registros de comportamientos relacionados.
5.8. Relación 'rel_cursos_matriculas' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_cursos_matriculas Non-identifying YES NO public.cursos public.matriculas
Cardinalidad
-30-
1:N
Relaciones
5.8.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.8.2. Claves Tipo de dato Clave primaria 'pk_cursos'
Clave Padre cur_id
Clave Hija cur_id
5.8.3. Propiedades de Relación Tipo de dato
SIMPLE
5.8.4. Comentarios Referencia del curso en el que se matricula el estudiante.
5.9. Relación 'rel_docentes_asignaturas' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_docentes_asignaturas Non-identifying NO NO public.docentes public.asignaturas
Cardinalidad
5.9.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.9.2. Claves Tipo de dato Clave primaria 'pk_docentes'
Clave Padre doc_id
Clave Hija doc_id
5.9.3. Propiedades de Relación Tipo de dato
SIMPLE
5.9.4. Comentarios Relación entre docentes y asignaturas. La relación es 1:n (uno a varios), es decir en un docente puede dictar clases en varias asignaturas.
-31-
1:N
Relaciones
5.10. Relación 'rel_docentes_cursos' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_docentes_cursos Non-identifying NO NO public.docentes public.cursos
Cardinalidad
1:N
5.10.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.10.2. Claves Tipo de dato Clave primaria 'pk_docentes'
5.10.3.
Clave Padre doc_id
Clave Hija doc_id
Propiedades de Relación
Tipo de dato
SIMPLE
5.10.4. Comentarios Relación entre docentes (tutor) y cursos. La relación es 1:n (uno a varios), es decir en un docente puede ser tutor de uno o varios cursos.
5.11. Relación 'rel_estudiantes_matriculas' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_estudiantes_matriculas Non-identifying YES NO public.estudiantes public.matriculas
Cardinalidad
5.11.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.11.2. Claves Tipo de dato Clave primaria 'pk_estudiantes'
Clave Padre est_id
5.11.3. Propiedades de Relación Tipo de dato
SIMPLE
-32-
Clave Hija est_id
1:N
Relaciones
5.11.4. Comentarios Referencia del estudiante matriculado.
5.12.
Relación 'rel_ matriculas_autorizaciones'
Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_ matriculas_autorizaciones Non-identifying YES NO public.matriculas public. autorizacionesmatriculas
Cardinalidad
1:N
5.12.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.12.2. Claves Tipo de dato Clave primaria 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.12.3. Propiedades de Relación Tipo de dato
SIMPLE
5.12.4. Comentarios Relación entre matrículas y autorizaciones. Se pueden asignar autorizaciones por estudiantes para ingreso y corrección de notas, inasistencias y comportamientos.
5.13. Relación 'rel_matriculas_calificaciones' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_matriculas_calificaciones Non-identifying YES NO public.matriculas public.calificaciones
Cardinalidad
5.13.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
-33-
Borrar RESTRICT ----
1:N
Relaciones
5.13.2. Claves Tipo de dato Clave primaria 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.13.3. Propiedades de Relación Tipo de dato
SIMPLE
5.13.4. Comentarios Relación entre matrículas y calificaciones. La relación es 1:n (uno a varios), es decir un estudiante matriculado puede tener varias calificaciones relacionadas.
5.14. Relación 'rel_matriculas_calificacionesin' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_matriculas_calificacionesin Non-identifying YES NO public.matriculas public.calificacionesin
Cardinalidad
1:N
5.14.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.14.2. Claves Tipo de dato Clave primaria 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.14.3. Propiedades de Relación Tipo de dato
SIMPLE
5.14.4. Comentarios Relación entre matrículas y calificacionesin. La relación es 1:n (uno a varios), es decir un estudiante matriculado en nivel inicial puede tener varias calificaciones relacionadas. 5.15. Relación 'rel_matriculas_comportamientos' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_matriculas_comportamientos Non-identifying YES NO public.matriculas public.comportamientos
-34-
Cardinalidad
1:N
Relaciones
5.15.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.15.2. Claves Tipo de dato Clave primaria 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.15.3. Propiedades de Relación Tipo de dato
SIMPLE
5.15.4. Comentarios Relación entre matrículas y comportamientos. La relación es 1:n (uno a varios), es decir un estudiante matriculado puede tener varios registros de comportamientos relacionados.
5.16. Relación 'rel_matriculas_inasistencias' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_matriculas_inasistencias Non-identifying YES NO public.matriculas public.inasistencias
Cardinalidad
1:N
5.16.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.16.2. Claves Tipo de dato Clave primaria 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.16.3. Propiedades de Relación Tipo de dato
SIMPLE
5.16.4. Comentarios Relación entre matrículas e inasistencias. La relación es 1:n (uno a varios), es decir en un estudiante matriculado tendrá varios registros de inasistencias.
-35-
Relaciones
5.17.
Relación 'rel_periodos_ recomendaciones'
Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_periodos_ recomendaciones' Non-identifying YES NO public.matriculas public.recomendaciones
Cardinalidad
1:N
5.17.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.17.2. Claves Tipo de dato Primary Key 'pk_matriculas'
Clave Padre mat_id
Clave Hija mat_id
5.17.3. Propiedades de Relación Tipo de dato
SIMPLE
5.17.4. Comentarios Referencia del estudiante matriculado que recibe la recomendación.
5.18. Relación 'rel_periodos_autorizaciones' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_periodos_autorizaciones Non-identifying NO NO public.periodos public.autorizaciones
Cardinalidad
5.18.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.18.2. Claves Tipo de dato Clave primaria 'pk_periodos'
Clave Padre prd_id
5.18.3. Propiedades de Relación Tipo de dato
SIMPLE
-36-
Clave Hija prd_id
1:N
Relaciones
5.18.4. Comentarios Relación entre periodos y autorizaciones. Las autorizaciones llevan un historial del periodo académico en el que fueron asignadas.
5.19. Relación 'rel_periodos_cursos' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_periodos_cursos Non-identifying YES NO public.periodos public.cursos
Cardinalidad
1:N
5.19.1. Integridad Referencial Insertar ---NONE
Padre Hijo
Actualizar RESTRICT NONE
Borrar RESTRICT ----
5.19.2. Claves Tipo de dato Clave primaria 'pk_periodos'
Clave Padre prd_id
Clave Hija prd_id
5.19.3. Propiedades de Relación Tipo de dato
SIMPLE
5.19.4. Comentarios Relación entre periodos y cursos. La relación es 1:n (uno a varios), es decir en un periodo se ofertan varios cursos. Se lleva un historial de cursos por periodos.
5.20. Relación 'rel_periodos_matriculas' Leyenda o subtítulo Tipo de dato de relación Mandatory Parent Mandatory Child Entidad Padre Entidad Hijo
rel_periodos_matriculas Non-identifying YES NO public.periodos public.matriculas
Cardinalidad
5.20.1. Integridad Referencial Padre Hijo
Insertar ---NONE
Actualizar RESTRICT NONE
-37-
Borrar RESTRICT ----
1:N
Relaciones
5.20.2. Claves Tipo de dato Clave primaria 'pk_periodos'
Clave Padre prd_id
5.20.3. Propiedades de Relaci贸n Tipo de dato
SIMPLE
5.20.4. Comentarios Referencia del periodo donde se matricula el estudiante.
-38-
Clave Hija prd_id
Triggers
6. Reporte de Trigger Nombre de Trigger trg_calificacion_bi_bu
Nombre de Entidad public.calificaciones
6.1. Trigger 'trg_calificacion_bi_bu' (Entidad 'public.calificaciones') trg_calificacion_bi_bu
Leyenda o subt铆tulo
6.1.1.
Propiedades de Trigger
Trigger Fire Trigger Events For Each Row Nombre de Funci贸n
BEFORE Insertar, Actualizar YES public.ftr_calificacion_bi_bu_actualizaestadoquimestre
-39-
Funciones
7. Reporte de Funciones Nombre de Funci贸n public.fn_notas_espromovido public.fn_notas_getdescripcionasignatura public.fn_notas_getdescripcioncurso public.fn_notas_getexamenquimestral public.fn_notas_getnombresapellidosestudiante public.fn_notas_getnumeroexamenesactivos public.fn_notas_getplanmejoraparcial public.fn_notas_getplanmejoraquimestral public.fn_notas_getpromediofinalasignatura public.fn_notas_getpromedioparcialasignatura public.fn_notas_getpromedioquimestralasignatura public.fn_notas_getrecomendacionparcial public.fn_notas_getrecomendacionquimestral public.fn_notas_setexamengracia public.fn_notas_setpromocionestudiante public.ftr_calificacion_bi_bu_actualizaestadoquimestre
-40-
Funciones
7.1. Función 'public.fn_notas_espromovido' fn_notas_espromovido Leyenda o subtítulo AS $$ DECLARE vestpromovido BOOLEAN; -- Variable que retorna TRUE si el estudiante es PROMOVIDO al nivel superior DECLARE vcurid INTEGER; -- Variable para guardar el id del curso del estudiante DECLARE vestid INTEGER; -- Variable para guardar el id del del estudiante DECLARE vcurnivest INTEGER; -- Variable para guardar el curso del estudiante DECLARE vcurtip INTEGER; -- Variable para guardar el tipo de curso -DECLARE vasi RECORD; -- Variable que guardará los registros de las asignaturas correspondientes a un curso -DECLARE vsuma_notfin NUMERIC = 0; -- Variable que guarda la suma de los promedios finales de las asignaturas complementarias -DECLARE vcont integer = 0; -- Variable que guarda el número de asignaturas complementarias que tomo en el año el estudiante -BEGIN vestpromovido = TRUE; -- Consultar el curso y el id del estudiante -SELECT cur.cur_id, cur.cur_niv, cur.cur_tip, mat.est_id INTO vcurid, vcurnivest, vcurtip, vestid FROM matriculas mat, cursos cur WHERE mat_id = matricula_id AND cur.cur_id = mat.cur_id AND cur.prd_id = mat.prd_id; IF ( vcurnivest >= 2 AND vcurnivest <= 7 ) THEN -- En los subniveles de Básica Elemental y Básica Media --- Se verifica que el estudiante aprobó las asignaturas básicas (BAS)-/* Art. 196.- Requisitos para la promoción. La calificación mínima requerida para la promoción, en cualquier establecimiento educativo del país, es de siete sobre diez (7/10). En los subniveles de Básica Elemental y Básica Media, para la promoción al siguiente grado se requiere una calificación promedio de siete sobre diez (7/10) en el conjunto de las asignaturas que componen la malla curricular. */ FOR vasi IN SELECT mat.mat_id, asi.asi_id, asi.asi_des, asi.asi_tip, asi.asi_horclaanu FROM matriculas mat, asignaturas asi WHERE mat.cur_id = asi.cur_id AND mat.mat_id = matricula_id AND asi.asi_tip = 'BAS' ORDER BY asi.asi_tip LOOP vsuma_notfin := vsuma_notfin + fn_notas_getpromediofinalasignatura(matricula_id, vasi.asi_id); vcont := vcont + 1; END LOOP; RAISE NOTICE 'Suma: %, Núm materias: %, Promedio: %', vsuma_notfin, vcont, vsuma_notfin/vcont; IF vsuma_notfin/vcont < 7 THEN -- El promedio debe ser siete sobre diez (7/10) en el conjunto de las asignaturas que componen la malla curricular. RAISE NOTICE 'No aprobó la asignatura. Tiene un promedio de %', vsuma_notfin/vcont; RETURN FALSE; END IF; ELSIF ( vcurnivest >= 8 AND vcurnivest <= 13 ) THEN -- En los subniveles de Básica Superior y Bachillerato -/* En el subnivel de Básica Superior y el nivel de Bachillerato, para la promoción al siguiente grado o curso,
-41-
Funciones
se requiere una calificación promedio de siete sobre diez (7/10) en cada una de las asignaturas del currículo nacional. Las asignaturas adicionales al currículo nacional que cada establecimiento definiere en su Proyecto Educativo Institucional, correspondientes */ FOR vasi IN SELECT mat.est_id, asi.asi_id, asi.asi_tip, asi.asi_horclaanu FROM matriculas mat, asignaturas asi WHERE mat.cur_id = asi.cur_id AND mat.mat_id = matricula_id AND asi.asi_tip in ('TRC', 'ESP') LOOP -- Inicia el recorrido de los registros de asignaturas del tronco común y de especialidad --- Si el promedio anual de la asignatura es menor a 7 -IF fn_notas_getpromediofinalasignatura(matricula_id, vasi.asi_id) < 7 THEN RETURN FALSE; END IF; END LOOP; ELSE RAISE NOTICE 'Nivel no definido para el calculo de promoción. No se encuentra establecido el nivel %. Revise por favor', vasi.cur_niv; RETURN FALSE; END IF; RETURN vestpromovido; END;
7.1.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"materia_id" int4 bool plpgsql VOLÁTIL 100
7.2. Función 'public.fn_notas_getdescripcionasignatura' Leyenda o subtítulo AS $$ declare vasides varchar; begin -- obtiene la descripción de la asignatura -select asi_des into vasides from asignaturas where asi_id = materia_id;
fn_notas_getdescripcionasignatura
return vasides; end; $$
-42-
Funciones
7.2.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"curso_id" int4 varchar plpgsql VOLÁTIL 100
7.3. Función 'public.fn_notas_getdescripcioncurso' Leyenda o subtítulo AS $$ declare vcurdes varchar; begin -- obtiene la descripción del curso -select cur_des into vcurdes from cursos where cur_id = curso_id; return vcurdes; end; $$
7.3.1.
fn_notas_getdescripcioncurso
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"curso_id" int4 varchar plpgsql VOLÁTIL 100
7.4. Función 'public.fn_notas_getexamenquimestral' Leyenda o subtítulo AS $$ declare vnotexaasi numeric; begin -- Consulto la calificación del examen quimestral -select cal_val into vnotexaasi from calificaciones where cal_qui = quimestre and cal_par = parcial and mat_id = matricula_id and asi_id = asignatura_id and cal_tippar = 10; return vnotexaasi; end; $$
fn_notas_getexamenquimestral
-43-
Funciones
7.4.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "parcial" int4, "quimestre" int4, "asignatura_id" int4 numeric plpgsql VOLÁTIL 100
7.5. Función 'public.fn_notas_getnombresapellidosestudiante' Leyenda o subtítulo AS $$ declare vnomape varchar; begin -- calculo del promedio -select est_apecom||' '||est_nomcom into vnomape from estudiantes where est_id = estudiante_id; return vnomape; end; $$
7.5.1.
fn_notas_getnombresapellidosestudiante
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"estudiante_id" int4 varchar plpgsql VOLÁTIL 100
7.6. Función 'public.fn_notas_getnumeroexamenesactivos' fn_notas_getnumeroexamenesactivos Leyenda o subtítulo AS $$ DECLARE vconexasupremgra INTEGER; BEGIN -- Consulto si existe una nota de examen supletorio, remedial o de gracia en estado ACTIVO -SELECT count(cal_id) INTO vconexasupremgra FROM calificaciones WHERE cal_qui = 0 AND cal_par = 0 AND mat_id = matricula_id AND asi_id = asignatura_id AND cal_tippar in (6, 7, 8) AND cal_est in ('A', 'C'); -- Si el estado de la nota es Activo (A) o Corregida (C) RETURN vconexasupremgra; END; $$
-44-
Funciones
7.6.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
7.7.
"matricula_id" int4, "asignatura_id" int4 int4 plpgsql VOLÁTIL 100
Función 'public.fn_notas_getplanmejoraparcial'
fn_notas_getplanmejoraparcial Leyenda o subtítulo AS $$ DECLARE vplamej varchar; DECLARE vquiplamej smallint; BEGIN IF parcial = 1 AND quimestre = 1 THEN vquiplamej := 1; ELSIF parcial = 2 AND quimestre = 1 THEN vquiplamej := 2; ELSIF parcial = 3 AND quimestre = 1 THEN vquiplamej := 3; ELSIF parcial = 1 AND quimestre = 2 THEN vquiplamej := 5; ELSIF parcial = 2 AND quimestre = 2 THEN vquiplamej := 6; ELSIF parcial = 3 AND quimestre = 2 THEN vquiplamej := 7; END IF; -- Obtengo el plan de mejora para el quimestre -BEGIN SELECT pla_plamej INTO vplamej FROM planmejoras WHERE pla_parqui = vquiplamej AND asi_id = asignatura_id AND mat_id = matricula_id; EXCEPTION WHEN NO_DATA_FOUND THEN vplamej := ''; END; RETURN vplamej; END; $$
-45-
Funciones
7.7.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
7.8.
"matricula_id" int4, "asignatura_id" int4, "quimestre" int4, "parcial" int4 varchar plpgsql VOLÁTIL 100
Función 'public.fn_notas_getplanmejoraquimestral'
fn_notas_ getplanmejoraquimestral' Leyenda o subtítulo AS $$ DECLARE vplamej varchar; DECLARE vquiplamej smallint; BEGIN IF quimestre = 1 THEN vquiplamej := 4; ELSIF quimestre = 2 THEN vquiplamej := 8; END IF; -- Obtengo el plan de mejora para el quimestre -BEGIN SELECT pla_plamej INTO vplamej FROM planmejoras WHERE pla_parqui = vquiplamej AND asi_id = asignatura_id AND mat_id = matricula_id; EXCEPTION WHEN NO_DATA_FOUND THEN vplamej := ''; END; RETURN vplamej; END; $$
7.8.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "asignatura_id" int4, "quimestre" int4 varchar plpgsql VOLÁTIL 100
7.9. Función 'public.fn_notas_getpromediofinalasignatura' Leyenda o subtítulo AS
fn_notas_getpromediofinalasignatura
-46-
Funciones
$$ DECLARE vproanuasi NUMERIC; DECLARE vhaspendiente NUMERIC; DECLARE vcontexa INTEGER; BEGIN vproanuasi = 0; SELECT COUNT(cal_id) INTO vhaspendiente FROM calificaciones WHERE mat_id = matricula_id AND asi_id = asignatura_id AND cal_est = 'P'; IF vhaspendiente > 0 THEN RETURN -1; END IF; -- Consultar si el estudiante tiene una nota de examen --- supletorio, remedial o de gracia -SELECT COUNT(cal_val) INTO vcontexa FROM calificaciones WHERE cal_qui = 0 AND cal_par = 0 AND mat_id = matricula_id AND asi_id = asignatura_id AND cal_tippar in (6, 7, 8) AND cal_est in ('A', 'C'); -- Si el estado de la nota es Activo(A) o Corregida(C) IF vcontexa >= 1 THEN -- Si existe una nota en estado ACTIVO(A) o CORREGIDA(C) de un examen supletorio, remedial o de gracia -vproanuasi := 7; ELSIF vcontexa = 0 THEN -- calculo del promedio anual -SELECT round((fn_notas_getpromedioquimestralasignatura(matricula_id, CAST(1 AS INTEGER), asignatura_id)+fn_notas_getpromedioquimestralasignatura(matricula_id, cast(2 AS INTEGER), asignatura_id))/2, 2) INTO vproanuasi; END IF; RETURN vproanuasi; END; $$
7.9.1.
Propiedades de Función
Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "asignatura_id" int4 numeric plpgsql VOLÁTIL 100
-47-
Funciones
7.10. Función 'public.fn_notas_getpromedioparcialasignatura' Leyenda o subtítulo AS $$ declare vproasi numeric; declare vhaspendiente numeric; begin -- calculo del promedio -select count(cal_id) into vhaspendiente from calificaciones where cal_qui = quimestre and cal_par = parcial and mat_id = matricula_id and asi_id = asignatura_id and cal_est='P'; if vhaspendiente > 0 then return -1; end if; select round(avg(cal_val), 2) into vproasi from calificaciones where cal_qui = quimestre and cal_par = parcial and mat_id = matricula_id and asi_id = asignatura_id; return vproasi; end; $$
fn_notas_getpromedioparcialasignatura
7.10.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "parcial" int4, "quimestre" int4, "asignatura_id" int4 numeric plpgsql VOLÁTIL 100
7.11. Función 'public.fn_notas_getpromedioquimestralasignatura' Leyenda o subtítulo AS $$ DECLARE vproquiasi NUMERIC; DECLARE vhaspendiente NUMERIC; BEGIN vproquiasi = 0; SELECT COUNT(cal_id) INTO vhaspendiente FROM calificaciones WHERE cal_qui = quimestre AND mat_id = matricula_id
fn_notas_getpromedioquimestralasignatura
-48-
Funciones
AND asi_id = asignatura_id AND cal_est = 'P'; IF vhaspendiente > 0 THEN RETURN -1; END IF; -- Consultar si el estudiante tiene una nota de examen de --- recuperación en el quimestre indicado -SELECT cal_val INTO vproquiasi FROM calificaciones WHERE cal_qui = quimestre AND mat_id = matricula_id AND asi_id = asignatura_id AND cal_tippar = 9 AND cal_est in ('A', 'C'); -- Si el estado de la nota es Activo(A) o Corregida(C) IF vproquiasi IS NULL THEN -- calculo del promedio quimestral de los 3 parciales -SELECT round(round(((fn_notas_getpromedioparcialasignatura(matricula_id, CAST(1 AS INTEGER), quimestre, asignatura_id) + fn_notas_getpromedioparcialasignatura(matricula_id, CAST(2 AS INTEGER), quimestre, asignatura_id) + fn_notas_getpromedioparcialasignatura(matricula_id, CAST(3 AS INTEGER), quimestre, asignatura_id))/3), 2)*0.8, 2)+round(fn_notas_getexamenquimestral(matricula_id, CAST(0 AS INTEGER), quimestre, asignatura_id)*0.2, 2) INTO vproquiasi; END IF; RETURN vproquiasi; END; $$
7.11.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "quimestre" int4, "asignatura_id" int4 numeric plpgsql VOLÁTIL 100
7.12. Función 'public.fn_notas_getrecomendacionparcial' fn_notas_setexamengracia Leyenda o subtítulo AS $$ DECLARE vrecomendacion varchar; BEGIN -- Obtengo la recomendacion del plan de mejora para el parcial -BEGIN SELECT rec_rec INTO vrecomendacion FROM recomendaciones WHERE rec_qui = quimestre AND rec_par = parcial AND asi_id = asignatura_id AND mat_id = matricula_id; EXCEPTION WHEN NO_DATA_FOUND THEN vrecomendacion := '';
-49-
Funciones
END; RETURN vrecomendacion; END; $$
7.12.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
7.13.
"matricula_id" int4, "asignatura_id" int4, "quimestre" int4, "parcial" int4 varchar plpgsql VOLÁTIL 100
Función 'public.fn_notas_getrecomendacionquimestral'
fn_notas_ getrecomendacionquimestral Leyenda o subtítulo AS $$ DECLARE vrecomendacion varchar; DECLARE vquiplamej smallint; BEGIN -- Obtengo la recomendacion del plan de mejora para el quimestre -BEGIN SELECT rec_rec INTO vrecomendacion FROM recomendaciones WHERE rec_qui = quimestre AND rec_par = 0 AND asi_id = asignatura_id AND mat_id = matricula_id; EXCEPTION WHEN NO_DATA_FOUND THEN vrecomendacion := ''; END; RETURN vrecomendacion; END; $$
7.13.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "asignatura_id" int4, "quimestre" int4 varchar plpgsql VOLÁTIL 100
7.14. Función 'public.fn_notas_setexamengracia' fn_notas_setexamengracia Leyenda o subtítulo AS $$ DECLARE vconexaremrep INTEGER; BEGIN -- Consulto si la asignatura tiene un examen remedial reprobado --
-50-
Funciones
SELECT count(cal_id) INTO vconexaremrep FROM calificaciones WHERE cal_qui = 0 AND cal_par = 0 AND mat_id = matricula_id AND asi_id = asignatura_id AND cal_tippar = 7 AND cal_est = 'R' AND fn_notas_getpromediofinalasignatura(mat_id, asi_id) < 7; IF vconexaremrep = 1 THEN -- Consulta si existe más de una materia donde reprobó un examen remedial y la asignatura. --- El contador ya considera el examen remedial de la asignatura que se consulta -SELECT count(cal_id) + 1 INTO vconexaremrep FROM calificaciones WHERE cal_qui = 0 AND cal_par = 0 AND mat_id = matricula_id AND asi_id <> asignatura_id AND cal_tippar = 7 AND cal_est = 'R' AND fn_notas_getpromediofinalasignatura(mat_id, asi_id) < 7; END IF; RETURN vconexaremrep; END; $$
7.14.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4, "asignatura_id" int4 int4 plpgsql VOLÁTIL 100
7.15. Función 'public.fn_notas_setpromocionestudiante' fn_notas_setpromocionestudiante Leyenda o subtítulo AS $$ DECLARE vestpromovido BOOLEAN; -- Variable que retorna TRUE si el estudiante es PROMOVIDO al nivel superior DECLARE vcurid INTEGER; -- Variable para guardar el id del curso del estudiante DECLARE vestid INTEGER; -- Variable para guardar el id del del estudiante DECLARE vcurnivest INTEGER; -- Variable para guardar el curso del estudiante DECLARE vcurtip INTEGER; -- Variable para guardar el tipo de curso -DECLARE vasi RECORD; -- Variable que guardará los registros de las asignaturas correspondientes a un curso -DECLARE vsuma_notfin NUMERIC = 0; -- Variable que guarda la suma de los promedios finales de las asignaturas complementarias -DECLARE vcont integer = 0; -- Variable que guarda el número de asignaturas complementarias que tomo
-51-
Funciones
en el año el estudiante -BEGIN vestpromovido = TRUE; -- Consultar el curso y el id del estudiante -SELECT cur.cur_id, cur.cur_niv, cur.cur_tip, mat.est_id INTO vcurid, vcurnivest, vcurtip, vestid FROM matriculas mat, cursos cur WHERE mat_id = matricula_id AND cur.cur_id = mat.cur_id AND cur.prd_id = mat.prd_id; IF ( vcurnivest >= 2 AND vcurnivest <= 7 ) THEN -- En los subniveles de Básica Elemental y Básica Media --- Se verifica que el estudiante aprobó las asignaturas básicas (BAS)— /* Art. 196.- Requisitos para la promoción. La calificación mínima requerida para la promoción, en cualquier establecimiento educativo del país, es de siete sobre diez (7/10). En los subniveles de Básica Elemental y Básica Media, para la promoción al siguiente grado se requiere una calificación promedio de siete sobre diez (7/10) en el conjunto de las asignaturas que componen la malla curricular. */ FOR vasi IN SELECT mat.mat_id, asi.asi_id, asi.asi_des, asi.asi_tip, asi.asi_horclaanu FROM matriculas mat, asignaturas asi WHERE mat.cur_id = asi.cur_id AND mat.mat_id = matricula_id AND asi.asi_tip = 'BAS' ORDER BY asi.asi_tip LOOP vsuma_notfin := vsuma_notfin + fn_notas_getpromediofinalasignatura(matricula_id, vasi.asi_id); vcont := vcont + 1; END LOOP; RAISE NOTICE 'Suma: %, Núm materias: %, Promedio: %', vsuma_notfin, vcont, vsuma_notfin/vcont; IF vsuma_notfin/vcont < 7 THEN -- El promedio debe ser siete sobre diez (7/10) en el conjunto de las asignaturas que componen la malla curricular. RAISE NOTICE 'No aprobó la asignatura. Tiene un promedio de %', vsuma_notfin/vcont; UPDATE estudiantes SET est_descom = 'NO PROMOVIDO' WHERE est_id = vestid; RETURN FALSE; ELSE UPDATE estudiantes SET est_nivcor = est_nivcor + 1, est_descom = 'PROMOVIDO' WHERE est_id = vestid; END IF; ELSIF ( vcurnivest >= 8 AND vcurnivest <= 13 ) THEN -- En los subniveles de Básica Superior y Bachillerato – /* En el subnivel de Básica Superior y el nivel de Bachillerato, para la promoción al siguiente grado o curso,
-52-
Funciones
se requiere una calificación promedio de siete sobre diez (7/10) en cada una de las asignaturas del currículo nacional. Las asignaturas adicionales al currículo nacional que cada establecimiento definiere en su Proyecto Educativo Institucional, correspondientes */ FOR vasi IN SELECT mat.est_id, asi.asi_id, asi.asi_tip, asi.asi_horclaanu FROM matriculas mat, asignaturas asi WHERE mat.cur_id = asi.cur_id AND mat.mat_id = matricula_id AND asi.asi_tip in ('TRC', 'ESP') LOOP -- Inicia el recorrido de los registros de asignaturas del tronco común y de especialidad --- Si el promedio anual de la asignatura es menor a 7 -IF fn_notas_getpromediofinalasignatura(matricula_id, vasi.asi_id) < 7 THEN UPDATE estudiantes SET est_descom = 'NO PROMOVIDO' WHERE est_id = vasi.est_id; RETURN FALSE; END IF; END LOOP; UPDATE estudiantes SET est_nivcor = est_nivcor + 1, est_descom = 'PROMOVIDO' WHERE est_id = vestid; ELSE RAISE NOTICE 'Nivel no definido para el calculo de promoción. No se encuentra establecido el nivel %. Revise por favor', vcurnivest; RETURN FALSE; END IF; RETURN vestpromovido; END; $$
7.15.1. Propiedades de Función Argumentos de Función Retorno Lenguaje Volatilidad Costo Estimado
"matricula_id" int4 bool plpgsql VOLÁTIL 100
7.16. Función 'public.ftr_calificacion_bi_bu_actualizaestadoquimestre' Leyenda o subtítulo AS $$ BEGIN IF (TG_OP = 'INSERT') THEN
ftr_calificacion_bi_bu_actualizaestadoquimestre
IF ( NEW.cal_tippar = 6 OR NEW.cal_tippar = 7 OR NEW.cal_tippar = 8 OR NEW.cal_tippar = 11) THEN IF ( NEW.cal_val >= 7 ) THEN
-53-
Funciones
NEW.cal_est := 'A'; ELSE -- Si la nota es menor a 7 se cambian los estados de los registros IF NEW.cal_est <> 'P' THEN -- Si NO se trata de nota pendiente se cambia el estado a REPROBADA NEW.cal_est := 'R'; END IF; END IF; ELSIF NEW.cal_tippar = 9 THEN -- Si la nota es mayor al promedio del primer quimestre --- entonces la nota estará Activa (estado=A) y el quimestre --- se establece a 1 (Primer quimestre) -IF ( NEW.cal_val > fn_notas_getpromedioquimestralasignatura( NEW.mat_id, 1, NEW.asi_id) ) THEN NEW.cal_est := 'A'; NEW.cal_qui := 1; -- Si la nota es mayor al promedio del segundo quimestre --- entonces la nota estará Activa (estado=A) y el quimestre --- se establece a 2 (Segundo quimestre) -ELSIF ( NEW.cal_val > fn_notas_getpromedioquimestralasignatura( NEW.mat_id, 2, NEW.asi_id) ) THEN NEW.cal_est := 'A'; NEW.cal_qui := 2; ELSE -- En caso que la nota no sea mayor al promedio del primer o segundo quimestre --- entonces la nota será Excluida (estado=E) -NEW.cal_est := 'E'; END IF; END IF; --Termina el IF que evalúa el tipo de notas RETURN NEW; ELSIF (TG_OP = 'UPDATE') THEN IF ( NEW.cal_tippar = 6 OR NEW.cal_tippar = 7 OR NEW.cal_tippar = 8 OR NEW.cal_tippar = 11) THEN IF ( NEW.cal_val >= 7 ) THEN NEW.cal_est := 'C'; ELSE -- Si la nota es menor a 7 se cambian los estados de los registros IF NEW.cal_est <> 'P' THEN -- Si NO se trata de nota pendiente se cambia el estado a REPROBADA NEW.cal_est := 'R'; END IF; END IF; ELSIF NEW.cal_tippar = 9 THEN -- Si la nota es mayor al promedio del primer quimestre --- entonces la nota estará Activa (estado=A) y el quimestre --- se establece a 1 (Primer quimestre) -IF ( NEW.cal_val > fn_notas_getpromedioquimestralasignatura( NEW.mat_id, 1, NEW.asi_id) ) THEN NEW.cal_est := 'C'; NEW.cal_qui := 1; -- Si la nota es mayor al promedio del segundo quimestre -- entonces la nota estará Activa (estado=A) y el quimestre -- se establece a 2 (Segundo quimestre) --
-54-
---
Funciones
ELSIF ( NEW.cal_val > fn_notas_getpromedioquimestralasignatura( NEW.mat_id, 2, NEW.asi_id) ) THEN NEW.cal_est := 'C'; NEW.cal_qui := 2; ELSE -- En caso que la nota no sea mayor al promedio del primer o segundo quimestre --- entonces la nota será Excluida (estado=E) -NEW.cal_est := 'E'; END IF; END IF; RETURN NEW; END IF; END; $$
7.16.1. Propiedades de Función Retorno Lenguaje Volatilidad Costo Estimado
trigger plpgsql VOLÁTIL 100
-55-
Anexo 8. Script de Base de Datos del Sistema Completo
Se adjunta en los medios digitales el script de la base de Datos correspondiente a los elementos que implican todos los m贸dulos del sistema. El Script no contiene datos solo la estructura de base de datos en su totalidad.
Anexo 9. Script de Base de Datos del Módulo de Control de Notas y Asistencias
Se adjunta en los medios digitales el script de la base de Datos correspondiente a los elementos que implican el Módulo de Control de Notas y Asistencias.
El Script contiene la estructura de base de datos de los elementos que implican el módulo de matrículas y pagos, así como datos iniciales de parametrización que interceden en las actividades y funciones que se realizan en el módulo.
Anexo 10. Modelo relacional del M贸dulo de Control de Notas y Asistencias
Anexo 11. Modelo Relacional del Sistema de Gesti贸n Acad茅mica de la Unidad Educativa Sagrados Corazones