FACULTAD DE SISTEMAS MERCANTILES
CARRERA DE SISTEMAS E INFORMÁTICA
PROYECTO INTEGRADOR CON MÓDULOS DE POSTGRADO PREVIO A LA
OBTENCIÓN DEL TÍTULO DE INGENIERÍA EN SISTEMAS E INFORMÁTICA
TEMA:
APLICACIÓN WEB PARA LA GESTIÓN ACADÉMICA DE MATRICULACIÓN Y
NOTAS DE LA UNIDAD EDUCATIVA INTERCULTURAL BILINGÜE
“ALEJANDRO CHÁVEZ”, DE LA COMUNIDAD DE GUALSAQUÍ DEL CANTÓN
OTAVALO.
Autoras:
Tlga. Magaly Morillo.
Tlga. Verónica Panamá
Asesor:
Ing. Marco Checa
Ibarra – Ecuador
2011
CERTIFICADO DE ASESORÍA
Yo, Ing. Marco Antonio Checa asesor del presente proyecto integrador con módulos de
postgrado. “APLICACIÓN WEB PARA LA GESTIÓN ACADÉMICA DE
MATRICULACIÓN Y NOTAS DE LA UNIDAD EDUCATIVA INTERCULTURAL
BILINGÜE ALEJANDRO CHÁVEZ, DE LA COMUNIDAD DE GUALSAQUÍ DEL
CANTÓN OTAVALO”. Certifico que la investigación y el desarrollo de la aplicación webfue
realizada en su totalidad por Magaly Violeta Morillo Guerra y Verónica PanamáPerugachi
bajo mi revisión y asesoría.
Particular que se deja constancia para los fines legales pertinentes, facultando a las interesadas
hacer uso de la presente, en los trámites correspondientes para su graduación.
Atentamente,
Ing. Marco Checa
ASESOR DE TESIS
DECLARACIÓN DE AUTORÍA DEL PROYECTO
Yo, Magaly Violeta Morillo Guerra, portadora de la cedula de identidad 100283843-9,
estudiante egresada de la carrera de sistemas, de la Facultad de Sistemas Mercantiles de la
Universidad Regional Autónoma de los Andes UNIANDES – IBARRA, ante las autoridades
educativas y el Ecuador declaro que el desarrollo del presente proyecto integrador con
módulos de postgrado“APLICACIÓN WEB PARA LA GESTIÓN ACADÉMICA DE
MATRICULACIÓN Y NOTAS DE LA UNIDAD EDUCATIVA INTERCULTURAL
BILINGÜE ALEJANDRO CHÁVEZ, DE LA COMUNIDAD DE GUALSAQUÍ DEL
CANTÓN OTAVALO”. Previo a la obtención del título de ingeniera en sistemas e
informática son de mi autoría y total responsabilidad, bajo las normas establecidas por la
universidad.
Particular que pongo en conocimiento para los fines legales pertinentes.
Atentamente,
Magaly Violeta Morillo Guerra
C.C. 100283843-9
DECLARACIÓN DE AUTORÍA DEL PROYECTO
Yo, Estela Verónica Panamá Perugachi, portadora de la cedula de identidad 100318727-3,
estudiante egresada de la carrera de sistemas, de la Facultad de Sistemas Mercantiles de la
Universidad Regional Autónoma de los Andes UNIANDES – IBARRA, ante las autoridades
educativas y el Ecuador declaro que el desarrollo del presente proyecto integrador con
módulos de postgrado“APLICACIÓN WEB PARA LA GESTIÓN ACADÉMICA DE
MATRICULACIÓN Y NOTAS DE LA UNIDAD EDUCATIVA INTERCULTURAL
BILINGÜE ALEJANDRO CHÁVEZ, DE LA COMUNIDAD DE GUALSAQUÍ DEL
CANTÓN OTAVALO”. Previo a la obtención del título de ingeniera en sistemas e
informática son de mi autoría y total responsabilidad, bajo las normas establecidas por la
universidad.
Particular que pongo en conocimiento para los fines legales pertinentes.
Atentamente,
Estela Verónica Panamá Perugachi
C.C. 100318727-3
DEDICATORIA
De una manera especial dedicó este trabajo a Dios por guiarme y darme fortaleza en todo
momento, ayudarme a superar las situaciones difíciles a mis padres, familiares, amigos
quienes con confianza me impulsaron a seguir adelante, apoyándome moral y
económicamente, para así cumplir con mi objetivo “terminar mis estudios universitarios.”
Magaly Morillo
DEDICATORIA
Al culminar una etapa más de mi vida estudiantil, dedico a mis padres quienes fueron una
guía viva en el día a día, ya que sin su apoyo constante no hubiese alcanzado mi meta.
A mi hijo Athamay, quien me dio las fuerzas y ánimo suficientes para conseguir mi meta.
Verónica Panamá
AGRADECIMIENTO
Expreso mis más sinceros agradecimientos a Dios por las oportunidades, por haberme
ayudado a superar las adversidades y permitirme disfrutar de los éxitos obtenidos durante
estos años de estudios.
Amis padres y familiares quienes con su confianza y sacrificio han permitido que siga
adelante con mis estudios.
A mis compañeros quienes fueron testigos de triunfos y fracasos, con quienes nos apoyamos y
ayudamos durante este tiempo de aprendizaje.
A los docentes quienes con su paciencia fueron formándome con espíritu
emprendedor y de lucha, para tener conocimientos que nos servirán parapoder
competir en la vida profesional.
Magaly Morillo
AGRADECIMIENTO
Mi eterna gratitud a Dios, a mis padres, a mis maestros, a mis compañeros y para quienes me
apoyaron en todo momento.
A mi Universidad del cual llevo las mejores enseñanzas.
A mis maestros, quienes compartieron sus conocimientos con responsabilidad y reciprocidad.
Verónica Panamá
ÍNDICE GENERAL
Portada
Certificación de asesoría
Declaración de autoría del proyecto
Dedicatoria
Agradecimiento
Índice general
Índice de tablas
Índice de gráficos
Resumen ejecutivo
ExecuteSummary
Capitulo I 1
1.1.- Introducción 7
1.4.1.- Objetivo general 10
1.4.2.- Objetivos específicos 10
1.5.- Beneficiarios 11
a) Estudiantes 11
b) Docentes 11
c) Secretaria 11
d) Rectorado 11
e) Institución 11
Capítulo II 6
2.1.- Tópicos avanzados de gestión informática 6
2.1.1.- El rol de la informáticaen las empresas
12
2.1.1.1.-Nivel operativo 13
2.1.1.2.- Nivel del conocimiento 14
2.1.1.3.- Nivel de gestión 14
2.1.1.3.1.- Tipos de sistemas de información utilizados en este nivel: 15
a) Sistema de apoyo a decisiones: 15
b) Sistemas de información gerencial: 15
2.1.1.4.- Nivel estratégico 15
2.1.1.5.- Análisis de los sistemas de información 16
2.1.2.- Formas de organización y gestión 17
2.1.2.1.- La organización: 17
2.1.2.2.- La comunicación 17
a) Estática: 17
b) Dinámica: 17
c) Dialéctica: 18
2.1.2.3.- Evolución de la informática en la organización 18
2.1.2.4.1.- Etapa de inicio. 18
2.1.2.4.2.- Etapa de expansión 18
2.1.2.4.3.- Etapa de control o formalización 19
2.1.2.4.4.- Etapa de integración 19
2.1.2.4.5.- Etapa de administración de datos 19
2.1.2.4.6.- Etapa de madurez 20
2.1.3.- Estrategia y planificación informática 20
2.1.3.1.- Sistema de información estratégico 20
2.1.3.1.1.- Clasificación: 21
2.1.3.2.- Tecnologías de la información 22
2.1.3.2.1.- Componentes de un sistema de información 22
2.1.3.2.2.- NTICS 22
2.1.3.2.2.1.- Para qué sirven las tics 23
2.1.3.3.- Estudio de los sistemas de información 23
2.1.4.1.- Gestión del desarrollo informático 23
2.1.4.2.- El internet 24
2.1.5.- Gestión de la seguridad de la información. 24
2.1.5.1.-La seguridad informática 24
a) Integridad 25
b) Confidencialidad: 25
c) Disponibilidad: 25
d) Irrefutabilidad: 25
2.1.5.2.- Análisis de riesgos 25
a) Información. 25
b) Equipos que la soportan 25
c) Usuarios 25
2.1.5.2.1.- Elementos de un análisis de riesgo 25
2.1.5.2.2.- Análisis de impacto al negocio 26
2.1.5.3.- Puesta en marcha de una política de seguridad 27
2.1.5.4.- Las amenazas 27
2.1.5.4.1.- Amenaza internas 27
2.1.5.4.1.- Amenazas externas 28
2.1.6.- La información y el ambiente regulatorio. 28
2.1.7.- Integración de soluciones tecnológicas en las organizaciones. 29
2.1.8.- Cambios tecnológicos en las organizaciones. 29
2.2.1.- Sistemas de la información para la gestión de empresas 30
2.2.2.- Fundamentos de los sistemas de información 31
2.2.2.1.- El gestor de los sistemas de información 31
2.2.2.2.1.- Funcionamiento 31
2.2.2.2.- Planificación de los sistemas de información 32
2.2.2.3.- Desarrollo de sistemas de información 32
2.2.2.4.- Recursos de los sistemas de información. 33
2.2.2.5.- Actividades básicas de los sistemas de información. 34
2.2.2.6.- Sistemas de información global 34
2.2.3.- Arquitectura de los sistemas de información 34
2.2.3.1.- Tipos de los sistemas de información 34
2.2.3.1.1.- Sistemas transaccionales. 35
2.2.3.1.2.- Sistemas de apoyo de las decisiones. 35
2.2.3.1.3.- Sistemas estratégicos. 35
2.2.4.- Desarrollo de los sistemas de información 36
2.2.5.- Arquitectura tecnológica y diseño de procesos 36
2.3.1.- Introducción a base de datos 37
2.3.2.- Base de datos 38
2.3.2.1.- Componentes de una base de datos 38
2.3.2.2.- Tipos de usuarios en base de datos 39
2.3.2.2.1.- Conceptos básicos de base de datos 39
2.3.2.3.- Organización de una base de datos 39
2.3.2.4.- Sistemas gestores de bases de datos 40
2.3.2.4.1.- Usuarios ingenuos 40
2.3.2.4.2.- Usuarios sofisticados 40
2.3.2.4.3.- Programadores de aplicación 40
2.3.2.4.4.- Usuarios especializados 41
2.3.2.5.- Administración de bases de datos 41
2.3.2.5.1.- Dbms: características y objetos 41
2.3.3.- Modelamiento de datos 42
2.3.3.1.- Sublenguajes de un modelo de datos 43
2.3.3.2.- Clasificación de los modelos de datos 43
2.3.3.2.1.- Modelos de datos conceptuales 43
2.3.3.2.2.- Modelos de datos lógicos 43
2.3.3.2.3.- Modelos de datos físicos 44
2.3.3.2.4.- El modelo jerárquico 44
2.3.3.2.5.- El modelo de red 44
2.3.3.2.6.- El modelo relacional (rdbms) 44
2.3.3.2.7.- El modelo deductivo 44
2.3.3.2.8.- El modelo de orientación a objetos 45
2.3.3.3.- Bases de datos estáticas 45
2.3.3.4.- Bases de datos dinámicas 45
2.3.3.5.- Bases de datos bibliográficas 45
2.3.3.6.- Bases de datos de texto completo 46
2.3.3.7.- Bases de datos transaccionales 46
2.3.3.8.- Bases de datos multidimensionales 46
2.3.3.9.- Bases de datos jerárquicas 46
2.3.3.10.- Bases de datos documentales 47
2.3.3.11.- Claves 47
2.3.3.11.1.- Clave primaria 47
2.3.3.11.2.- Clave foránea o ajena 47
2.3.3.11.3.- Clave alternativa 47
2.3.3.11.4.- Clave compuesta 47
2.3.3.12.- Modelo entidad – relación 48
2.3.3.13.- Normalización 50
2.3.4.-Extracción y manejo de información sql 50
2.3.4.1.- El lenguaje de consulta estructurado. 51
2.3.4.2.- Componentes del sql 51
2.3.4.6.- Comandos sql 51
2.3.4.7.- Cláusulas 52
2.3.4.8.- Operadores lógicos 52
2.3.4.9.- Operadores de comparación 52
2.3.4.10.- Funciones de agregado 53
2.3.4.11.- Tipos de datos 53
2.3.5.-Base de datos orientada a objetos 54
2.3.5.1.- Identidad de objetos 54
2.3.5.2.- Desarrollo con bases de datos orientada a objetos 55
2.3.5.3.- Ventajas en BDOOs 55
2.3.6.- Base de datos y el medio externo 55
2.3.6.1.- Arquitectura de los sistemas de bases de bases de datos 55
2.3.6.1.1.- Nivel interno 56
2.3.6.1.2.- Nivel conceptual 56
2.3.6.1.3.- Nivel externo o de vista. 56
2.3.7.- Base de datos distribuidas 56
2.3.7.1.- Estructura de base de datos distribuidas 57
2.3.7.2.- Consideraciones al distribuir la base de datos 57
2.3.8.-Data warehousing y minería de datos 58
2.3.8.1.- Características de un data warehouse 59
2.3.8.2.- Estructura del data warehouse 59
2.3.8.3.- Arquitectura de un data warehouse 59
2.3.8.4.- Transformación de datos y metadata 60
2.3.8.5.- Usos del data warehouse 60
2.3.8.6.- Ejemplo de un data warehouse 61
2.3.8.7.- Alcance del data warehouse 61
2.3.9.-Base de datos deductivas 62
2.3.9.1.- Características de las bases de datos deductivas 63
Capitulo III 58
3.1 Metodología 58
3.2 Fases de la metodología 59
3.2.1.- Fase de inicio 65
3.2.1.1.- Diseño de los casos de uso 20% separado. 65
3.2.1.2.- Documento de visión 67
3.2.1.2.1.- Propósito 68
3.2.1.2.2.- Alcance 68
3.2.1.2.3.- Definiciones, acrónimos, y abreviaciones 69
3.2.1.2.3.1.- Referencias 70
3.2.1.3.- Descripción de stakeholders (participantes en el proyecto) y usuarios 70
3.2.1.3.1.- Resumen de stakeholders 70
3.2.1.3.2.- Resumen de usuarios 73
3.2.1.3.3.- Entorno de usuario 74
3.2.1.4.- Descripción del producto 75
3.2.1.4.1.- Perspectiva del producto 75
3.2.1.4.2.- Resumen de características 75
3.2.1.5.- Descripción global del producto 76
3.2.1.5.1.- Gestión de matriculación 77
3.2.1.5.2.- Los administradores 78
3.2.1.5.3.- Informativa 78
3.2.1.5.4.- Gestión de notas 78
3.2.1.6.- Plan de contingencia 78
3.2.1.6.1.- Introducción. 78
3.2.1.6.2.- Protección del hardware 79
3.2.1.6.4.- Detección 81
3.2.1.6.5.- Riesgos naturales 82
3.2.1.6.6.-Problemas eléctricos 83
3.2.1.6.7.- Inundaciones y humedad 84
3.2.1.6.8.- Electricidad 85
3.2.1.6.9.- Ruido eléctrico 86
3.2.1.6.10.- Incendios y humo 86
3.2.1.6.11.- Temperaturas extremas 87
3.2.1.6.12.- Recuperación de hardware 88
3.2.1.6.13.- Software 88
3.2.1.6.14.- Protección de los datos 89
3.2.1.6.15.- Backups 89
3.2.1.6.17.- Otros elementos 90
3.2.1.7.- Recuperación para protección de datos 91
3.2.2.- Fase de elaboración 94
3.3.2.1.- Documentación de casos de uso en un 100% 94
3.3.2.1.1.- Caso de uso secretaria 94
3.3.2.1.2.- Caso de uso docentes 99
3.3.2.1.3.- Caso de uso estudiantes 101
3.3.2.1.4.- Caso de uso administrador 103
3.3.2.1.5.- Caso de uso rector 111
3.3.2.1.6.- Caso de uso usuario 117
3.3.2.2.- Plan de desarrollo del sistema 118
3.3.2.2.1.- Introducción 118
3.3.2.2.2.- Propósito 119
3.3.2.2.3.- Alcance 120
3.3.2.2.4.- Resumen 120
3.3.2.2.5.- Vista general del proyecto 121
3.3.2.2.6.- Suposiciones y restricciones 124
3.3.2.2.7.- Entregables del proyecto 125
3.3.2.2.8.- Participantes en el proyecto 128
3.3.2.2.9.- Roles y responsabilidades. 128
3.3.2.3.- Plan de las fases 128
3.3.2.3.1.- Calendario del proyecto 130
3.3.2.3.2- Grafico del calendario del proyecto 131
3.3.2.3.3.- Diseño del sistema 131
3.3.2.3.4.- Diseño del sistema en módulos 132
3.3.2.4.- Plan de base de datos 134
3.3.2.4.1.- Diseño de la base de datos 134
3.3.2.4.2.- Descripción de la base de datos 134
3.3.2.4.3.- Diseño físico 136
3.3.2.4.4.- Diseño relacional 137
3.3.2.6.5.- Diseño lógico 138
3.3.2.6.6.- Explicación de las tablas 139
3.3.2.5.- Diseño de entradas y salidas 141
3.3.2.5.2.- Sistema administrador 143
3.2.3.- Fase de construcción 158
3.2.3.1.- Conexión con la base de datos. 158
3.2.3.2.- Llamada a la función sesión 158
3.2.3.3.- Llamada a una función 159
3.2.3.4..- Selección de datos de la agenda 159
3.2.3.5.- Registro de datos. 160
3.2.3.6.- Formulario 161
3.2.3.7.- Script 162
3.2.3.8.- Función validar fechas 162
3.2.3.9.- Lista de opciones 164
3.2.3.10.- Modificación de datos. 165
3.2.3.11.- Búsqueda del alumno 165
3.2.3.12.- Cambio de mayúsculas a minúsculas 166
3.2.3.13.- Función control de usuarios. 167
3.2.3.14.- Función usuarios con perfil 168
3.2.3.15.- Función usuario docente 171
3.2.3.16.- Menú 172
3.2.3.17.- Función imprimir 173
3.2.3.18.- Función popup 174
3.2.3.19.- Validación pases de años 174
3.2.3.20.- Función validar cedula 175
3.2.3.21.- Función validar letras 179
3.2.3.22.- Función validar números 179
3.2.4.- Fase de transición 181
3.2.4.1.- Transferencia tecnológica 181
3.2.4.2.- Recursos de hardware 183
3.2.4.3.- Recursos de software 183
3.2.4.4.- Pruebas 184
3.2.4.4.1.- Pruebas de carga 185
3.2.4.4.2.- Prueba de estrés 185
3.2.4.4.3.- Prueba de estabilidad (soaktesting) 185
3.2.4.4.4.- Herramientas de pruebas de la aplicación 185
3.2.4.4.5.- Pruebas de validación de funciones (código fuente) 200
3.2.4.4.6.- Resultados de los navegadores 204
Capítulo IV 198
4.2.- Viabilidad técnica 205
4.3.- Viabilidad operativa 205
4.3.- Viabilidad económica 206
Capitulo V 207
5.1.- Conclusiones 207
5.2.- Recomendaciones 209
Capitulo VI 211
6.1.- Bibliografía 211
6.2.- Linkografia 212
Anexos 207
ÍNDICE DE TABLAS
Tabla. 1 – Comparación entre base de datos y data WareHouse 52
Tabla. 2 – Usos de las bases de datos y data WareHouse 55
Tabla. 3 – Resumen de los stakeholders 66
Tabla. 4 – Resumen de los usuarios 68
Tabla. 5 – Beneficios de la aplicación 70
Tabla. 6 – Explicación de las acciones de caso de uso secretaria 91
Tabla. 7 – Explicación de las acciones de caso de uso docente 93
Tabla. 8 – Explicación de las acciones de caso de uso estudiantes 95
Tabla. 9 – Explicación de las acciones de caso de uso administrador103
Tabla. 10 – Explicación de las acciones de caso de uso rector109
Tabla. 11 – Explicación de las acciones de caso de uso visitante 111
Tabla. 12 – Fases de la metodología RUP 122
Tabla. 13 – Descripción de los ahítos de las fases 123
Tabla. 14 – Descripción de la transferencia tecnológica 175
Tabla. 15 – Descripción de requisitos de hardware 176
Tabla. 16 – Descripción de requisitos de software 177
Tabla. 17 – Calificación de tiempos de prueba 179
Tabla. 18 – Resultado de la prueba con filezila 180
Tabla. 19 – Características del computador 1 182
Tabla. 20 – Características del computador 2 183
Tabla. 21 – Características del computador 3 184
Tabla. 22 – Características del computador 4 185
Tabla. 23 – Tiempos de evaluación 185
Tabla. 24 – Resultados de acceso a la aplicación 188
Tabla. 25 – Resultados del tiempo de evaluación 189
Tabla. 26 – Resultados de la prueba de rendimiento 191
Tabla. 27 – Resultados de la aplicación usando Wapt 193
ÍNDICE DE GRÁFICOS
Fig. 1 - Formación de la organización, sus elementos y entorno 6
Fig. 2 - Evolución temporal de los sistemas de información 10
Fig. 3 - Elementos de los sistemas de información 10
Fig. 4 - Proceso de la planificación estratégica dentro de la empresa 15
Fig. 5 - Componentes de un sistema de información 16
Fig. 6 - Elementos necesarios para formar sistemas de información 27
Fig. 7 - Ejemplo de cambios en las aplicaciones sin afectar al DBMS 36
Fig. 8 - Ejemplo del modelo entidad – relación 42
Fig. 9 - Ejemplo de conexión de entidades 42
Fig. 10 - Ejemplo de los atributos de las entidades 43
Fig. 11 - Ejemplo de los tipos de relaciones de las tablas 43
Fig. 12 - Ejemplo de la descripción de cada tabla 43
Fig. 13 - Ejemplo de tablas supertipo y subtipo 44
Fig. 14 - Componentes involucrados en una arquitectura Data WareHouse 54
Fig. 15 - Ejemplo del funcionamiento de Data Warehouse 55
Fig. 16 - Caso de uso administrador desarrollado en 20% 59
Fig. 17 - Caso de uso estudiantes desarrollado en 20% 60
Fig. 18 - Caso de uso secretaria desarrollados en 20% 60
Fig. 19 - Caso de uso usuarios desarrollado en 20% 61
Fig. 20 - Caso de uso docente desarrollado en 20% 61
Fig. 21 - Caso de uso secretaria desarrollados en 100% 87
Fig. 22 - Caso de uso docente desarrollado en 100% 92
Fig. 23 - Caso de uso alumno desarrollado en 100% 94
Fig. 24 - Caso de uso administrador desarrollado en 100% 96
Fig. 25 - Caso de uso rector desarrollado en 100% 104
Fig. 26 - Caso de uso visitante desarrollado en 100% 110
Fig. 27 – Calendario del sistema 124
Fig. 28 – Módulos del sistema 126
Fig. 29 – Diseño físico de la base de datos 129
Fig. 30 – Diseño relacional de la base de datos 130
Fig. 31 – Diseño lógico de la base de datos 131
Fig. 32 – Registro de docentes 135
Fig. 33 – Selección de materia y cursos para registro de parciales 135
Fig. 34 – Registro de parciales de los alumnos 136
Fig. 35 – Identificación de usuario 137
Fig. 36 – Cierre de sesión del sistema 137
Fig. 37 – Registro del año lectivo 138
Fig. 38 – Registro del período de matrículas ordinarias 139
Fig. 39 – Registro del período de parciales y pases de año 140
Fig. 40 – Búsqueda inteligente de matrículas 141
Fig. 41 – Reporte certificado de matrícula 141
Fig. 42 – Búsqueda y registro de estudiantes 142
Fig. 43 – Búsqueda y registro de docentes 143
Fig. 44 – Registro y consulta del distributivo de cursos 144
Fig. 45 – Registro y consulta del distributivo de docentes 145
Fig. 46 – Reportes del cronograma de la agenda 146
Fig. 47 – Reportes de distribución de materias a los docentes 147
Fig. 48 – Certificado del personal que labora en la institución 148
Fig. 49 – Reportes de la nómina de estudiantes de un curso 148
Fig. 50 – Reporte de parciales de notas individuales 149
Fig. 51 – Registro de usuarios del sistema 149
Fig. 52 – Restauración y respaldo de la base de datos 150
Fig. 53 – Subir la aplicación web al internet 179
Fig. 54 – Características del computador 1 181
Fig. 55 – Características del computador 2 182
Fig. 56 – Características del computador 3 183
Fig. 57 – Características del computador 4 184
Fig. 58 – Tiempo de carga de la aplicación 186
Fig. 59 – Tiempos de carga de páginas web 186
Fig. 60 – Tiempo de carga de la aplicación 187
Fig. 61 – Tiempos de carga de páginas web 187
Fig. 62 – Tiempos de carga de la aplicación en la web 188
Fig. 63 – Resumen de tiempos de carga de páginas web 189
Fig. 64 – Cuadro estadístico de evaluación 190
Fig. 65 – Evaluación de la aplicación web usando Wapt 192
Fig. 66 – Resultado de la evaluación 192
Fig. 67 – Validación de contraseñas 194
Fig. 68 – Validación de números 195
Fig. 69 – Validación de cédula 196
Fig. 70 – Validación de fechas 197
1
RESUMEN EJECUTIVO
Con el pasar del tiempo y las diferentes investigaciones se ha llegado a crear tecnologías
altamente eficaces y eficiente a nivel de hardware y software, he aquí la aparición del internet
como medio de comunicación mundial entre computadores y usuarios.
La Unidad Educativa Intercultural Bilingüe “Alejandro Chávez”, desde que se fundó ha
buscado brindar un buen servicio a la comunidad, y lugares aledaños.
Los antecedentes que tiene la institución, permite realizar un análisis del problema sobre las
matrículas que lo hace de forma manual al igual que el registro de los reportes de los alumnos,
el cual se lo soluciona con una propuesta de innovación tecnológica la cual toma en cuenta las
limitaciones económicas y necesidades de los usuarios, se ha desarrollado la aplicación en la
base de datos mysql y la programación en php.
El proceso de desarrollo de esta aplicación web está fundamentada en la metodología
RUPprocesos unificados, uno de los modelos actualmente más utilizados por su efectividad,
en ya que es una metodología basada en proceso en dirigido por casos de uso, proceso
iterativo (mini-proyectos) e incremental (versiones), proceso centrado en la arquitectura y
basada en análisis de riesgos para el diseño se han identificado cuatro fases que son:
Fase de inicio, donde se estableció la oportunidad de realizar la aplicación y el alcance que
debió cubrir cumpliendo los requerimientos, características y restricciones igualmente
identificando criterios, riesgos, recursos y un plan de fases incluyendo hitos, además se
2
identificó todos los usuario de la aplicación también se estableció los diferentes casos de uso
en un veinte por ciento y se especificó los detalles de estos.
Fase de elaboración, se definió los casos de uso completos desarrollados en un cien por ciento
con su respectiva documentación, también se estableció un desarrolló del plan de proyecto y
finalmente se eliminó todos los elementos de riesgo como son datos inválidos, perdida de
información, datos desactualizados para que la aplicación sea un éxito.
Fase de construcción, aquí se desarrolló todos los componentes restantes y se les incorporó a
la aplicación además para que el sistema sea aprobado se realizó prueba de ingreso,
eliminación y modificaciones datos de los alumnos individuales y de los docentes, y pruebas
complementarias como validaciones de datos y además se desarrolló los manuales y se
describió el funcionamiento de la aplicación.
Fase de transición, aquí se completó el objetivo del sistema que fue implantar la aplicación en
la institución y la utilizaron los diferentes usuarios como son secretaria, rectora,
administrador, docentes y alumnos luego de la respectiva capacitación.
Los beneficiarios con esta aplicación son todos los miembros de la Unidad Educativa ya que
la secretaria es quien realiza las matrículas y que con el sistema se lo realiza de una manera
más rápida, ágil y segura, de igual manera los docentes pueden registrar los aportes de los
estudiantes y obtener distintos tipos de certificaciones.
La rectora puede tener un listado y la información de matrículas y aprobaciones de los
alumnos y el administrador puede registrar la agenda del año lectivo y sacar y restaurar la
3
base de datos cuando crea conveniente además uno de los usuarios más beneficiados son los
alumnos que pueden recibir certificaciones de matrícula además de consultar sus notas cada
vez que necesiten desde cualquier computador con internet.
La aplicación web permite controlar todo el proceso de matriculación de alumnos y laentrega
de aportes de parte de los docentes y sobre todo el poder obtener una consulta ágil, rápida,
segura, precisa y que cumpla con las especificaciones necesarias, también se puede consultar
los datos en segundos luego de que se hayan registrado los datos.
4
EXECUTE SUMMARY
With the passing of time and the various investigations it has been creating highly effective
and efficient technologies at the hardware and software; here is the emergence of the Internet
as a means of global communication between computers and users.
The Bilingual Intercultural Education Unit "Alejandro Chavez" since its founding it has tried
to provide a good service to the community and its surrounding areas.
The background that the institution has, permits an analysis about the problem on the fees
which it is carried out manually as well as the registration of students' reports, which is solved
by a proposal for the technological innovation that takes into account the economic
constraints and needs of users, so a system based on mysqldatabase and php programming
was developed.
The process of developing this web application is based on the Unified Process RUP, one of
the most currently models used by its effectiveness, since it is a process based approach to
Guided by the use cases, iterative process (mini -projects) and Incremental (versions),
architecture-centric process-based risk analysis. For the design has been identified four
phases, thatare:
Start phase, where it established the opportunity for the application and scope that it should
cover fulfilling the requirements, characteristics and constraints also identifying the criteria,
risks, resources and a phase plan including milestones, plus all the identified user of the
5
application also were established the different use cases in a twenty percent and the details of
them were specified.
Elaboration Phase, the use cases were defined and developed in a hundred for percent
completed with their documentation, also a project plan was developed and finally all the risk
elements such as invalid data, loss of information, outdated information were deleted so the
application is successful.
Phase of construction, here all remaining components were developed and also incorporated
into the application so that the system is approved, an entrance test was conducted, data
removal and modification of individual students and teachers, and additional tests such as data
validations and also manuals were developed and the operation of the application was
described.
Phase of transition, here the system's objective was completed, which was to implement the
application in the institution and for different users used it such as the secretary, the dean, the
administrator, the teachers and the students after the respective training.
The Beneficiaries with this application are all members of the educational unit and the
secretary so that she is the one who performs the fees and the system makes it faster, flexible
and secure at the same time as teachers can record the contributions of students and get
different types of certifications.
The dean may have a list and enrollment information and approvals of the students and the
administrator can register the agenda of the school year and remove and restore the database
6
when it is necessary sees fit also one of the users who are beneficiaries are the students who
can receive certificates of registration in addition students can take a record of their notes
whenever they need from any computer with internet.
This web application allows to control the whole process of student enrollment and delivery
of contributions from teachers and especially to get a quick, secure, and accurate view which
has the required specifications it can also consult the data in seconds after the data have been
recorded.
7
CAPITULO I
1.1.- INTRODUCCIÓN
En los tiempos modernos las computadoras se han convertido en una herramienta de suma
importancia, no sólo para el desarrollo de nuestros pueblos, si no también, para el desarrollo
de la ciencia. Debido a la creciente necesidad de nuestro mundo actual, de obtener un mayor
conocimiento y comprensión de los avances tecnológicos en la industria de la informática.
Con el pasar del tiempo y las diferentes investigaciones se ha llegado a crear el internet al cual
se puede acceder por medio de un computador y conectarse con varios computadores sin
importar el lugar donde se encuentren.
Gracias a la transacciones y la aparición del internet el tiempo de ejecución de los procesos se
ha reducido a un mínimo, así mismo la gestión de administración de los procesos
documentales ha ganado un campo enorme en todo sector, ya que a través del internet se
realiza publicidad a nivel mundial y por ende no se queda estancada en un zona y/o región de
un determinado sitio.
De esta forma las instituciones educativas en estos últimos tiempos han logrado insertarse en
la sociedad como entes fundamentales en los procesos académicos, facilitando el acceso a la
información necesaria.
Es así que se ha decidido crear e implementar una aplicación web para la gestión académica
de matriculación y notas de la Unidad Educativa Intercultural Bilingüe Alejandro Chávez, de
8
la comunidad de Gualsaquí del cantón Otavalo, considerando las necesidades relevantes y
urgentes.
Ésta aplicación informática está constituida por las bases de datos, los programas de
aplicación, el uso de internet y las nuevas tecnologías.
1.2.- ANTECEDENTES Y EL ESTADO ACTUAL DEL OBJETO DE
TRANSFORMACIÓN
La Unidad Educativa Intercultural Bilingüe "Alejandro Chávez" de la comunidad de
Gualsaquí, perteneciente a la parroquia de San José de Quichinche, del cantón Otavalo y de la
provincia de Imbabura, es una institución pública que instruye a los alumnos con educación
de calidad. Teniendo a su cargo la educación a nivel de escuela y colegio.
Con el pasar del tiempo y las mejoras que se han ido realizando, y el aumento de personal
como del alumnado se han detectado falencias, como es en el registro de datos a nivel general
como específicos de cada área (escuela y colegio ciclo básico), debido a que el ingreso de
estos datos lo hace en forma manual, provocando demora en encontrar la información
solicitada, y en caso de encontrarla, la información no es filtrada.
Muchas veces con la información obtenida se debe de realizar procesos manuales, es decir
con la información específica que se necesita ya sea de los profesores que laboran, las
Materias que dicta cada docente en los diferentes grados, cursos y paralelos, así como también
la información personal de los estudiantes y facilitadores de las distintas materias, el control
de notas como son aprovechamiento y conducta, lo cual significa pérdida de tiempo.
9
La institución educativa tiene a cargo a una sola persona quien se encarga de realizar el
registro en la libreta original de los alumnos matriculados y al mismo tiempo registra notas,
presenta listado del alumnado de cada curso a los diferentes docentes y más tareas
administrativas, que realiza manualmente, lo que provoca que la información obtenida en
documentos al pasar a un formato digital está sujeta a errores involuntarios de digitación, así
como también el retraso en el registro de la información al formato digital; induciendo que la
información no se encuentre actualizada, lo cual no permite a la institución estar al día con
datos reales.
Estos son algunos de los problemas con los que se encuentra por el momento la Unidad
Educativa y por lo que no permite que se vaya avanzado con mayor rapidez, y esto significa
perdida de alumnos además de que no se puede tener a tiempo reportes para poder detectar
falencias en el proceso académico de notas y buscar soluciones necesarias e inmediatas.
1.3.-OBJETO DE TRANSFORMACIÓN
Deficiencia en el proceso manual de las matrículas y notas del alumnado de la Unidad
Educativa Intercultural Bilingüe "Alejandro Chávez" de la comunidad de Gualsaquí del
cantón Otavalo, lo que provoca lentitud en los procesos académicos, además de que los datos
registrados no son cien por porciento confiables.
10
1.4.- OBJETIVOS
1.4.1.- OBJETIVO GENERAL
Implantar una aplicación web para la gestión académica de matriculación y notas de la
Unidad Educativa Intercultural Bilingüe “Alejandro Chávez” de la comunidad de Gualsaquí
del cantón Otavalo, poniendo en práctica los conocimientos adquiridos con anterioridad y los
de los módulos de postgrado, para ayudar a que la institución para que tenga información de
forma rápida, segura, accesible y confiable.
1.4.2.- OBJETIVOS ESPECÍFICOS
a) Fundamentar en forma científica las aplicaciones web, las diferentes herramientas y la
gestión académica en los módulos de matriculación y control de notas del alumnado.
b) Diagnosticar los requerimientos para automatizar la gestión de matriculación y control de
las notas del alumnado.
c) Elaborar una aplicación web con módulos de: agenda académica, registro de matrículas,
registro de estudiantes, profesores, notas, materias, creación de especialidades, cursos y
paralelos y procesos de pases de años.
d) Analizar propuesta.
11
1.5.- BENEFICIARIOS
Con la presente Aplicación Web se beneficiará:
a) Estudiantes, porque en tiempo rápido podrán matricularse en la institución y en contados
minutos verificar la información así como también podrán obtener en forma oportuna y
rápida información de las notas en las respectivas materias, y solicitar en forma inmediata
certificados de asistencia a clases, promociones, notas, datos personales.
b) Docentes, podrán beneficiarse ya que en forma rápida tendrán información ya sea
personal o de los alumnos como son listado actualizado de estudiantes, materias que van a
dictar en los distintos cursos y el ingreso de las notas, certificados de trabajo,
honorabilidad.
c) Secretaria, porque con solo digitar datos podrá obtener varios reportes detallados sin
necesidad de que los realice, solo debe especificar los parámetros que necesita en los
distintos reportes.
d) Rectorado, para conocer cómo va el rendimiento de los cursos, si se ha incrementado o
disminuido la cantidad de estudiantes entre un período y otro, reporte del rendimiento de
los alumnos, detalle de la agenda del período lectivo, distributivo de cursos y materias.
e) Institución, porque va a tener una página alojada en internet lo que permitirá que la
sociedad en general a nivel mundial pueda conocerle.
12
CAPITULO II
CUERPO CAPITULAR
2.1.- TÓPICOS AVANZADOS DE GESTIÓN INFORMÁTICA
2.1.1.-EL ROL DE LA INFORMÁTICA EN LAS EMPRESAS
Un sistema de información es una combinación organizada que incluye personas, hardware,
software, redes y recursos de datos que reúne y transforma información en una organización.
Las personas han dependido de los sistemas de información para comunicarse entre sí
utilizando variados mecanismos como hardware, software, redes y base de datos desde hace
mucho tiempo atrás. Para la realización de su actividad y se ha convertido en un verdadero
recurso estratégico que podemos denominar como el principal activo intangible de la empresa.
Fig. 1 – Formación de la organización, sus elementos y entorno – Fuente:
http://es.wikipedia.org/wiki/Sistema_de_informaci%C3%B3n – Autores: personal wikipedia
13
Los sistemas de información son requeridos para optimizar la información dentro de la
empresa y para maximizar las fuentes de información para la dirección de la misma. Por tanto,
las decisiones que se tome en la empresa en cuanto a los sistemas de información y las
tecnologías a implantar en la misma serán importantes, pues de ellas dependerá la posterior
productividad de los empleados.
Los sistemas de información deben proporcionar la información a tiempo, no sólo la referente
a productos, sino también a los recursos disponibles en la organización para responder a la
demanda de su principal actividad, para los procesos directivos se deben enfocar hacia el
desarrollo de los procesos que responden a los cambios en el entorno.
Los responsables de los procesos necesitan saber cómo varia la demanda de un producto
actualmente y en un futuro cercano para poder desarrollar procesos que respondan a estas
nuevas necesidades.
De todo lo mencionado, se dice que el papel que desempeña la información en la empresa, se
enfoca a cuatro niveles que son:
2.1.1.1.-Nivel Operativo
El tipo de sistema de información que se utiliza para proveer información a los directivos
operarios, es el TPS1, es un sistema computarizado, que realiza y recolecta información de la
rutina diaria de transacciones necesarias para llevar adelante el negocio. A través de éstos se
1TPS = TransactionProcessingSystems
14
Logra ahorros significativos de mano de obra, debido a que automatizan tareas operativas de
la organización.
2.1.1.2.-Nivel del Conocimiento
Existen dos tipos de sistemas de información para brindar información a los trabajadores de
base de datos y conocimiento:
a) KWS2: Ayuda a los trabajadores en la creación e integración de nuevos conocimientos.
b) OAS3: Es una aplicación de tecnología de información que aumenta la productividad de
los trabajadores en la oficina, apoyando las actividades de coordinación y comunicación
de la oficina típica.
2.1.1.3.-Nivel de gestión
Se utilizan dos tipos de sistemas de información MIS4 y DSS
5 que sirven a los grupos
directivos intermedios, requiere poca información de entrada, genera poca información como
resultado, pero puede realizar muchos cálculos durante su proceso los cuales sirven de apoyan
la toma de decisiones.
Estos sistemas pueden ser desarrollados directamente por el usuario final sin la participación
operativa de los analistas y programadores del área de informática.
2KWS = Sistema de trabajo de conocimiento
3OAS = Sistema de automatización de oficinas
4 MIS = Sistemas de información Gerencial
5DSS = Sistema de apoyo a decisiones
15
2.1.1.3.1.-Tipos de sistemas de información utilizados en este nivel:
a) Sistema de apoyo a decisiones: Sistema de información que combina datos y modelos
analíticos avanzados para ayudar la toma de decisiones semi-estructurada y no
estructurada, responden con la suficiente rapidez como para ejecutarse varias veces al día,
cada vez que cambian las condiciones. Son iterativos, el usuario puede modificar y hacer
nuevas preguntas e incluir datos nuevos.
b) Sistemas de información Gerencial: Sirve a las funciones de planificación, control y
toma de decisiones, proporcionando informes rutinarios, resumidos, sirven a los
administradores interesados en resultados semanales, mensuales y anuales, suelen
contestar a preguntas estructuradas que se conocen con anticipación, son poco flexibles y
tienen una capacidad analítica reducida.
2.1.1.4.- Nivel Estratégico
La información va dirigida a la alta dirección, su función es lograr ventajas que los
competidores no posean, tales como costos y servicios diferenciados con clientes y
proveedores. Son creadores de barreras de entrada al negocio y apoyan el proceso de
innovación de productos.
16
Fig. 2– Evolución temporal de los sistemas de información– Fuente:
http://es.wikipedia.org/wiki/Sistema_de_informaci%C3%B3n – Autores: personal wikipedia
2.1.1.5.-Análisis de los Sistemas de Información
Se utiliza el sistema de información de apoyo a ejecutivos para la toma de decisiones no
estructuradas, mediante gráficos y comunicaciones avanzados. Se diseñan de modo que
puedan incorporar datos de sucesos externos, como nuevas leyes o nuevos competidores, y
también obtienen información resumida. Estos sistemas filtran, comprimen y rastrean datos
cruciales.
Fig. 3– Elementos de los sistemas de información– Fuente:
http://es.wikipedia.org/wiki/Sistema_de_informaci%C3%B3n –Autores: Personal Wikipedia
17
2.1.2.- FORMAS DE ORGANIZACIÓN Y GESTIÓN
2.1.2.1.- La Organización:
Es un sistema abierto, complejo y artificial, conformado por divisiones secciones y/o
departamentos, que reúnen personas con cargos y funciones distintas, maquinarias,
procedimientos administrativos, etc., cuyo trabajo conjunto permitirá alcanzar los objetivos,
misión y visión futura de la organización.
2.1.2.2.- La Comunicación
Es el proceso mediante el cual un emisor transmite un mensaje a un receptor, codificado de
alguna forma para que sea comprensible para el receptor.
En toda organización pueden detectarse tres niveles de gestión: un nivel elevado, de alta
gestión, orientada a la estrategia de la organización a largo plazo; un nivel medio, táctico, a
medio plazo, y un nivel básico, orientada a la operación diaria. La metodología de sistemas
permite tres posibles aproximaciones:
a) Estática: Analiza la estructura básica, los subsistemas y sus elementos, la comunicación.
b) Dinámica: Analiza las funciones del sistema y de los subsistemas, las relaciones con otros
sistemas.
18
c) Dialéctica: Estudia la reproducción de los sistemas, sus transformaciones estructurales, la
auto organización y la emergencia.
2.1.2.3.-Evolución de la informática en la organización
La función de la Informática en las organizaciones evoluciona a través de ciertas etapas de
crecimiento.
2.1.2.4.1.-Etapa de inicio.
Comienza con la adquisición del computador y las aplicaciones implantadas son
transaccionales tales como nóminas o contabilidad, hay escasa administración los sistemas
son manejados por un administrador que no posee preparación en el área además existe
resistencia al cambio del parte del personal. Y esta etapa termina con la implantación exitosa
del primer sistema de información, Algunas organizaciones pueden vivir varias etapas de
inicio por la resistencia al cambio de los usuarios.
2.1.2.4.2.-Etapa de Expansión
Inicia con la implantación exitosa del primer sistema de información como consecuencia de la
etapa de inicio, las siguientes aplicaciones son sistemas transaccionales como facturación,
inventarios, control de pedidos, etc. Un problema es la falta de estándares e infraestructura
adecuada, el departamento es promovido donde depende de la gerencia administrativa y
contraloría y los gastos por concepto de sistemas empiezan a crecer en forma importante.
19
2.1.2.4.3.-Etapa de control o Formalización
Se inicia con la necesidad de controlar el uso de los recursos computacionales, las
aplicaciones están orientadas a facilitar el control de las operaciones de la empresa y el tipo de
administración se orienta al control administrativo y a la justificación económica de las
aplicaciones a desarrollar, también se inician el desarrollo e implantación de estándares de
trabajo, se integra personal con habilidades administrativas y preparadas técnicamente.
2.1.2.4.4.-Etapa de Integración
El departamento de sistemas trabaja bajo una estructura administrativa que permite la
integración de los datos y de los sistemas, también se basa en las nuevas tecnologías
relacionadas con bases de datos, sistemas administrativos de bases de datos y lenguajes de
cuarta generación. Los costos de equipos y del software disminuyen. El departamento
evoluciona, permitiendo al usuario utilizar herramientas para el desarrollo de sistemas y el
reemplazo de los sistemas antiguos, en beneficio de la organización.
2.1.2.4.5.-Etapa de Administración de Datos
El departamento de sistemas de información reconoce que la información es un recurso muy
valioso por eso debe administrar la información de forma apropiada además de que debe estar
accesible para los usuarios permitidos asignándoles las responsabilidades y acceso en los
diferentes niveles.
20
2.1.2.4.6.-Etapa de Madurez
Son sistemas de manufactura integrados por computadora, basados en tecnología de base de
datos, integración de redes de comunicaciones con terminales en lugares remotos, el
conocimiento y sistemas expertos, sistemas de soporte a las decisiones, sistemas estratégicos
y, en general, aplicaciones que proporcionan información para decisiones de la alta
administración.
2.1.3.- ESTRATEGIA Y PLANIFICACIÓN INFORMÁTICA
2.1.3.1.- Sistema de información estratégico
Son soluciones informáticas que permiten a la empresa mejorar su posición. Crear o sustentar
ventajas competitivas o bien para reducir la ventaja de sus rivales. Su función primordial no
es apoyar la automatización de los procesos operativos ni proporcionar información para
apoyar a la toma de decisiones. Sin embargo, llevan a cabo dichas funciones.
En la siguiente imagen se muestra una explicación de una planificación estratégica.
21
Fig. 4– Proceso de la planificación estratégica dentro de la empresa–Fuente: Autores
2.1.3.1.1.- Clasificación:
a) Sistemas.
b) Competitivos.
c) Sistemas Cooperativos.
d) Sistemas que modifican el estilo de operación del negocio.
Los cuales nos permiten tener:
a) Sistemas que modifican el estilo de operación del negocio.
22
b) Sistemas de soporte para la toma de decisiones.
c) Sistema de soporte para las decisiones en grupo.
d) Sistemas de información ejecutiva.
2.1.3.2.- Tecnologías de la información
Las tecnologías de la información, comprenden una amplia gama de soluciones, sistemas y
servicios para la captación de gran cantidadde datos e información.
2.1.3.2.1.- Componentes de un Sistema de Información
Fig. 5– Componentes de un sistema de información – Fuente: Autores
2.1.3.2.2.- NTICS6
Son las nuevas tecnologías de la información y la comunicación, que surgen y se desarrollan
con una velocidad admirable.
6NTICS = nuevas tecnologías de la información y la comunicación
23
2.1.3.2.2.1.- Para qué sirven las TICS
a) Permiten el procesamiento y la circulación de información de forma más acelerada, en
mayor volumen y para amplios grupos meta.
b) Facilitan mayores posibilidades de comunicación, de diálogos, de intercambios entre
públicos diversos y de localizaciones remotas.
2.1.3.3.- Estudio de los sistemas de información
Es el estudio que trata la inserción y el uso de la tecnología de la información en las
organizaciones, instituciones, y la sociedad en general.
2.1.4.- GESTIÓN DEL DESARROLLO Y ADQUISICIÓN
2.1.4.1.- Gestión del desarrollo informático
Las tecnologías de la información y comunicación están ofreciendo a la sociedad una gran
oportunidad de desarrollo social siempre y cuando se cuente con redes de información y
conocimiento y se adapten las nuevas tecnologías a nuestra realidad, se socialice su uso y
exista una gran conectividad.
24
2.1.4.2.- El Internet
El Internet es una herramienta de trabajo y una fuente de información y entretenimiento, cuyo
alcance está redefiniendo las fronteras entre lo posible y lo deseable, e impulsando
transformaciones tecnológicas, sociales, políticas y culturales. Permite visualizar algunas
probabilidades de crecimiento y penetración en los sistemas de información actuales, que en
el futuro podrían conducir a una gran superación de información.
Para los usuarios, los servicios básicos de Internet incluyen:
a) Comunicación.
b) Acceso remoto.
c) Transferencia de archivos.
d) Comunicación para acceso a información (texto, gráficas, audio y video).
2.1.5.-GESTIÓN DE LA SEGURIDAD DE LA INFORMACIÓN.
2.1.5.1.-La seguridad informática
Consiste en asegurar que los recursos del sistema de información y que el acceso a esta, así
como su modificación, sólo sea posible a las personas autorizadas y con los límites
correspondientes garantizando que el sistema está libre de peligro, fallas o riesgo que pueda
afectar su funcionamiento directo o los resultados que se obtienen del mismo.
25
Para que un sistema se pueda definir como seguro debe tener estas características:
a) Integridad.- La información sólo puede ser modificada por quien está autorizado y de
manera controlada.
b) Confidencialidad: La información sólo debe ser legible para los autorizados.
c) Disponibilidad: Debe estar disponible cuando se necesita.
d) Irrefutabilidad: El uso y/o modificación de la información por parte de un usuario debe
ser irrefutable, es decir, que el usuario no puede negar dicha acción.
Dependiendo de las fuertes de amenaza, la seguridad puede dividirse en tres partes: seguridad
física, seguridad ambiental y seguridad lógica.
2.1.5.2.- Análisis de riesgos
La seguridad informática tiene como objetivo proteger los activos y sus elementos son:
a) Información. Es el objeto de mayor valor de la organización, el objetivo es el resguardarla,
independientemente del lugar en donde se registra, en algún medio electrónico o físico.
b) Equipos que la soportan. Software, hardware y organización.
c) Usuarios. Individuos que utilizan la estructura tecnológica y de comunicaciones que
manejan la información.
2.1.5.2.1.- Elementos de un análisis de riesgo
a) Construir un perfil de las amenazas que esté basado en los activos de la organización.
26
b) Identificación de los activos de la organización.
c) Identificar las amenazas de cada uno de los activos listados.
d) Conocer las prácticas actuales de seguridad.
e) Identificar vulnerabilidades en cuanto a recursos humanos, técnicos y financieros.
f) Identificación de las vulnerabilidades dentro de la infraestructura tecnológica.
g) Detección de los componentes claves.
h) Desarrollar planes y estrategias de seguridad que contengan los siguientes puntos:
a. Riesgo para los activos críticos
b. Medidas de riesgos
c. Estrategias de protección
d. Planes para reducir los riesgos.
2.1.5.2.2.- Análisis de impacto al negocio
Se debe asignar recursos para equipo de seguridad, ya que existen diversos incidentes que se
deben resolver y el valor de los sistemas de información pueden ser afectados por incidentes
para lo que se debe asignar un valor monetario a cada equipo y un archivo en la red o asignar
un valor relativo a cada sistema y la información sobre ella.
Dentro de los valores para el sistema se pueden distinguir.
a) Confidencialidad de la información.
b) Integridad (aplicaciones e información).
c) Disponibilidad del sistema.
27
2.1.5.3.-Puesta en marcha de una política de seguridad
Una política se ocupa de asegurar los derechos de acceso a los datos y recursos con las
herramientas de control y mecanismos de identificación que permiten saber que los
operadores tienen sólo los permisos que se les dio.
En lo referente a elaborar una política de seguridad, conviene:
a) Elaborar reglas y procedimientos para cada servicio de la organización.
b) Definir las acciones a emprender y elegir las personas a contactar en caso de detectar una
posible intrusión.
c) Sensibilizar a los operadores con los problemas ligados con la seguridad de los sistemas
informáticos.
2.1.5.4.-Las amenazas
2.1.5.4.1.-Amenaza internas
Pueden ser más serias que las externas por las siguientes razones como son:
a) Los usuarios conocen la red y saben cómo es su funcionamiento.
b) Tienen algún nivel de acceso a la red por las mismas necesidades de su trabajo.
c) Los IPS y Firewalls son mecanismos no efectivos en amenazas internas.
28
2.1.5.4.1.- Amenazas externas:
Al no tener información certera de la red, un atacante tiene que realizar ciertos pasos para
poder conocer qué es lo que hay en ella y buscar la manera de atacarla. La ventaja es que el
administrador de la red puede prevenir una buena parte de los ataques externos.
2.1.6.- LA INFORMACIÓN Y EL AMBIENTE REGULATORIO.
Las TIC7, son definidas como un sistema que comunica, almacena o procesa información.
Con las modernas computadoras y los avances en comunicaciones, el efecto de las TIC se
refleja por ejemplo en las casas inteligentes, donde todos los componentes de la vivienda,
desde el sistema de calefacción hasta el refrigerador, tienen capacidad de comunicarse entre
ellos y con el resto del mundo, pueden ser usadas para ahorrar energía a través del manejo
remoto de su suministro a edificios comerciales y residenciales.
Las más importantes contribuciones de las TIC se lograrán cuando favorezcan los cambios
estructurales de la economía actual. El énfasis, en los países industrializados, debe desplazarse
de la provisión de más bienes materiales al suministro de servicios mejores y más inteligentes
y en las naciones en desarrollo las TIC deben contribuir a que cada individuo pueda satisfacer
sus necesidades básicas. También deben favorecer a que los países y las regiones den un
cambio económico y social para superar las etapas de las sociedades del desperdicio y la
contaminación.
7 TIC = tecnologías de la información y de la comunicación
29
2.1.7.- INTEGRACIÓN DE SOLUCIONES TECNOLÓGICAS EN LAS
ORGANIZACIONES.
Estas soluciones tecnológicas son aquellas que permiten a una organización mejorar sus
estrategias, incrementar su productividad, obtener mayores utilidades y mejorar la calidad de
vida de las personas.
2.1.8.- CAMBIOS TECNOLÓGICOS EN LAS ORGANIZACIONES.
Los avances tecnológicos que se vienen suscitando están generando un sinnúmero de
consideraciones y cuestiones a analizar en torno a su implementación o no en el despliegue
del ejercicio profesional. Los pros y las contras de llevar la modernidad dela oficina.
La evolución tecnológica trae consigo cambios en la organización ya que conlleva:
a) Cambios en los conocimientos y habilidades del personal.
b) Cambios en los procesos de negocios.
c) Cambios en las interrelaciones del personal y departamentos.
d) Cambios en la forma de controlar.
e) Cambios en la forma de hacer negocios.
f) Cambios en la forma de relacionarse con la competencia.
g) Aumento en los riesgos asociados a la tecnología.
30
2.2.- SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN
2.2.1.- SISTEMAS DE LA INFORMACIÓN PARA LA GESTIÓN DE EMPRESAS
Anteriormente los sistemas informáticos se restringían a grandes empresas y garantizaban una
enorme ventaja competitiva con el tiempo, se introdujeron nuevas tecnologías, los sistemas
pasaron a controlar todas las operaciones de manera integrada, se volvieron más baratos y
accesibles.
Para una empresa con muchos colaboradores, sin un sistema informático, intentando competir
con una empresa similar pero con sistemas ERP8, CRM
9 y BI
10contará con productos y
servicios en mayor escala, con menor precio y con mejor calidad, además de información
precisa sobre el mercado y el propio negocio, posibilitando decisiones rápidas e inteligentes.
La creación de sistemas capaces de controlar toda la información y las operaciones sin que
exista una redundancia de datos, con mayor seguridad, y posibilitando el monitoreo del
desarrollo del negocio en tiempo real para garantizar un mayor control en las acciones de
fidelización de clientes y sus resultados.
La BI consiste en un conjunto de sistemas capaces de hacer extracciones de las bases de datos
de los sistemas ERP/CRMs con el objetivo de analizar desempeños, tendencias y diversas
relaciones, en forma de informes y gráficos que puede ayudar en la realización de análisis
complejos de la información de la empresa y el mercado.
8ERP = Enterprise Resources Planning
9 CRM = Customer Relationship Management
10 BI = Business Intelligence
31
2.2.2.- FUNDAMENTOS DE LOS SISTEMAS DE INFORMACIÓN
2.2.2.1.- El gestor de los sistemas de información
Se refiere al conjunto de aplicaciones que se utilizan en las empresas para realizar cada uno de
los pasos de la administración de la misma, desde la producción, pasando por la logística,
hasta la entrega del producto en el punto de venta. Estos sistemas se basan en que cada enlace
de la cadena de producción puede ser llevado a cabo de la manera más eficaz con un sistema
que integre a los trabajadores con las máquinas.
Para ello se ha desarrollado una serie de software especializado, que permite gestionar bases
de datos, planificación, procedimientos, toma de decisiones, y cada una de las funciones
propias de una empresa y de sus empleados.
Se utilizan las herramientas propias de los sistemas de gestión empresarial, que permiten
controlar, planificar, organizar y dirigir cada uno de los enlaces de la cadena productiva.
2.2.2.2.1.-Funcionamiento
Los sistemas anteriormente funcionaban aisladamente unos de otros. Garantizando un buen
control dentro de cada departamento, generaba problemas cuando se necesitaba recuperar la
información de entre los diferentes departamentos siempre había una duda en cuál de esos
sistemas se encontraba la información correcta, la más actualizada. Y generaba dificultades
tecnológicas para mantener varios programas, no siempre compatibles entre sí, y cada uno de
ellos con requisitos específicos de hardware, sistema operativo, base de datos, etc.
32
2.2.2.2.- Planificación de los sistemas de información
Los sistemas de información proporcionan un marco estratégico de referencia de un
determinado ámbito de la organización que integrados con la técnica de la administración de
los sistemas de información permiten controlar milimétricamente a la organización.
El plan de sistemas debe orientar las actuaciones de desarrollo de sistemas de información
para apoyar la estrategia corporativa, elaborando una arquitectura de la información y un plan
de proyectos informáticos.
2.2.2.3.- Desarrollo de sistemas de información
Es un tipo particular de sistema de trabajo que usa tecnología de información para capturar,
transmitir, almacenar, manipular y desplegar información que soportan uno o más sistemas de
trabajo.
33
Fig. 6– Elementos necesarios para formar sistemas de información–
Fuente:http://fdpv2009.bligoo.com/content/view/275615/el-rol-de-la-tecnologia-de-
informacion.html – Autor: CreativeCommons
2.2.2.4.-Recursos de los sistemas de información.
En la organización por lo general se pueden distinguirse cinco componentes asociados con los
sistemas de información entre ellos se encuentra:
a) Recursos humanos
b) Recursos de hardware
c) Recursos de software
d) Recursos de datos
e) Recursos de redes
f) Productos de información, informes gerenciales y documentos comerciales que utilizan
presentaciones de texto y gráficos, respuestas de audio y formularios de papel.
34
2.2.2.5.- Actividades básicas de los sistemas de información.
a) Entrada. Capturar mediante un escáner óptico las etiquetas de códigos de barras en la
mercancía.
b) Procesamiento. Calcular el pago de empleados, impuestos y otras deducciones de la
nómina.
c) Salida. Generar informes y presentaciones sobre el desempeño de las ventas.
d) Control. General señales audibles para indicar el ingreso apropiado de datos de venta.
2.2.2.6.-Sistemas de Información Global
Los sistemas de información global almacenan grandes cantidades de información y requieren
sistemas de seguridad muy potentes, así como una funcionalidad muy elaborada que asegure
que los usuarios van a poder trabajar con esta información de manera adecuada.
Normalmente, estos sistemas deben tener una interfaz intuitiva y amigable que hacen uso de
la multimedia para llegar más fácilmente al usuario. Así un sistema de información global
podría verse como una aplicación multimedia.
2.2.3.- ARQUITECTURA DE LOS SISTEMAS DE INFORMACIÓN
2.2.3.1.- Tipos de los sistemas de información
Los sistemas de información cumplirán tres objetivos básicos:
35
a) Automatización de procesos operativos.
b) Proporcionar información que sirva de apoyo al proceso de toma de decisiones.
c) Lograr ventajas competitivas a través de su implantación y uso.
2.2.3.1.1.- Sistemas Transaccionales.
a) Se logra ahorros significativos de mano de obra.
b) Apoyan las tareas a nivel operativo de la organización.
c) Son recolectores de información para su explotación posterior.
d) Son justificables ante la dirección general, ya que sus beneficios son visibles y palpables.
2.2.3.1.2.- Sistemas de Apoyo de las Decisiones.
a) La información generada sirve de apoyo a los mandos intermedios y a la alta
administración para toma de decisiones.
b) Suelen ser intensivos en cálculos y escasos en entradas y salidas de información.
c) Apoyan la toma de decisiones no estructuradas que no suelen repetirse.
d) Estos sistemas pueden ser desarrollados por el usuario final sin analistas y programadores.
2.2.3.1.3.- Sistemas Estratégicos.
a) Se desarrollan en la organización, no pueden adaptarse a paquetes del mercado.
b) Se desarrolla a base de incrementos y de su evolución dentro de la organización.
c) Su función es lograr ventajas que los competidores no posean, son creadores de barreras
de entrada al negocio.
36
d) Apoyan el proceso de innovación de productos y proceso.
2.2.4.-DESARROLLO DE LOS SISTEMAS DE INFORMACIÓN
Se puede definir el desarrollo de sistemas informáticos como el proceso mediante el cual el
conocimiento y el uso de ideas son llevados a los computadores de manera que pueda realizar
las tareas para las cuales fue desarrollado. Para lo que deberán funcionar adecuadamente
cumpliendo todos los requerimientos que se le han indicado al inicio, ser de fácil manejo,
adecuarse a la empresa para la cual fue diseñado y debe ayudar al personal a realizar su
trabajo de forma eficiente.
2.2.5.- ARQUITECTURA TECNOLÓGICA Y DISEÑO DE PROCESOS
Se recomienda el uso del modelo arquitectónico basado en capas, para conseguir la
independencia y robustez de cada una de las capas centrándose en sus objetivos específicos.
a) La capa de presentación y control.
b) El control de la lógica con la que se operan los datos: Negocio
c) El acceso a la información persistente: Modelo
37
2.3.- BASE DE DATOS
2.3.1.- INTRODUCCIÓN A BASE DE DATOS
La base de datos es un conjunto de información relacionada que se encuentra agrupada o
estructurada.
El archivo no constituye una base de datos, sino la forma en que está organizada la
información es la que da origen a la base de datos. Las bases de datosmanuales, pueden ser
difíciles de gestionar y modificar.
Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto
de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de
programas que manipulan ese conjunto de datos.
La idea general es tratar con una colección de datos que cumplen las siguientes propiedades:
a) Están estructurados independientemente de las aplicaciones y del soporte de
almacenamiento que los contiene.
b) Presentan la menor redundancia posible.
c) Son compartidos por varios usuarios y/o aplicaciones.
38
2.3.2.-BASE DE DATOS
Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente
para su posterior uso. La mayoría está en formato digital, que ofrece un amplio rango de
soluciones al problema de almacenar datos.
Existen programas denominados SGBD11
, que permiten almacenar y posteriormente acceder a
los datos de forma rápida y estructurada.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas.
También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la
información experimental.
2.3.2.1.-Componentes de una base de datos
a) Hardware: Constituido por dispositivo de almacenamiento como discos, tambores, cintas,
etc.
b) Software: Sistema administrador de base de datos.
c) Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser
procesados para convertirse en información.
11
SGBD = sistemas gestores de bases de datos
39
2.3.2.2.- Tipos de usuarios en base de datos
a) Usuario final: Utiliza los datos, esta persona ve datos convertidos en información:
b) Desarrollador de aplicaciones: Quien desarrolla los sistemas que interactúan con la base
de datos.
c) DBA: Administrador de base de datos quien se encarga de realizar mantenimiento
periódico asegurando la integridad, consistencia, redundancia.
2.3.2.2.1.- Conceptos básicos de base de datos
a) Archivo: Son conjuntos de registros.
b) Registros: Son conjuntos de campos.
c) Campos: Es la mínima unidad de referencia.
2.3.2.3.- Organización de una base de datos
Para considerar a una base de datos organizada debe cumplir los siguientes requisitos:
a) Tiene que ser versátil dependiendo de las aplicaciones, puedan hacer diferente trato a los
datos de formas distintas.
b) Tiene que atender con la rapidez adecuada a cada aplicación con lo que se la requiera.
c) Tiene que tener un índice mínimo de redundancia.
d) Tener una alta capacidad de acceso.
e) Tener un alto índice de integridad, no puede haber fallos en la inserción de datos, errores
por redundancia o lenta actualización.
40
f) Tener un nivel altísimo de seguridad y privacidad, confidencialidad.
g) Constante actualización para no dejar a la base de datos anticuada e inservible.
2.3.2.4.- Sistemas gestores de bases de datos
Son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos
y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un
lenguaje de manipulación de datos y de un lenguaje de consulta.
Las personas que tienen acceso DBMS se clasifican de la siguiente manera:
2.3.2.4.1.- Usuarios ingenuos
Son aquellos que interactúan con el sistema por medio de aplicaciones permanentes.
2.3.2.4.2.- Usuarios sofisticados
Son los que acceden a la información por medios de lenguajes de consulta.
2.3.2.4.3.- Programadores de aplicación
Son aquellos con un amplio dominio del DML capaces de generar nuevos módulos o utilerías
capaces de manejar nuevos datos en el sistema.
41
2.3.2.4.4.- Usuarios especializados
Son aquellos que desarrollan módulos de aplicaciones avanzadas como sistemas expertos,
reconocimientos de imágenes, procesamiento de audio y demás.
2.3.2.5.-Administración de bases de datos
La administración de bases de datos se realiza con un sistema llamado DBMS12
es un
conjunto de aplicaciones de software para administrar bases de datos, que permite:
a) Un fácil acceso a los datos
b) El acceso a la información por parte de múltiples usuarios
c) la manipulación de los datos encontrados en la base de datos (insertar, eliminar, editar)
2.3.2.5.1.-DBMS: Características y Objetos
a) El DBMS provee una independencia de los datos contra las aplicaciones.
b) El cambio en datos no implica cambio en programas y viceversa y el costo en el
mantenimiento es menor.
12
DBMS = Data base manager system o Sistema de administración de bases de datos.
42
Fig. 7 – Ejemplo de cambios en las aplicaciones sin afectar al DBMS – Fuente: Autores
c) Minimizar el desperdicio de espacio de almacenamiento.
d) Proteger el programade aplicaciones frente a las modificaciones en la estructura de datos y
viceversa.
e) Inconsistencia de datos cuando se actualiza una tabla y no la dependiente en el caso de las
maestro detalle.
2.3.3.- MODELAMIENTO DE DATOS
Un modelo de datos es un lenguaje orientado a describir una base de datos, el tipo y la forma
en que se relacionan. Las restricciones de integridad es un conjunto de condiciones que deben
cumplir los datos para reflejar correctamente la realidad deseada, los elementos que
intervienen en un problema.
43
2.3.3.1.- Sublenguajes de un modelo de datos
DDL13
.- Orientado a describir las estructuras de datos y las restricciones de integridad.
DML14
.- Orientado a describir las operaciones de manipulación de los datos.
QL15
.- Orientada a la recuperación de datos mediante el lenguaje de consulta.
2.3.3.2.- Clasificación de los Modelos de Datos
Una opción para clasificar los modelos de datos es de acuerdo al nivel de abstracción que
presentan.
2.3.3.2.1.- Modelos de Datos Conceptuales
Describen las estructuras de datos y restricciones de integridad. Se usa en la etapa de análisis
y están orientados a representar los elementos que intervienen en un problema y sus
relaciones. Ejemplo: Modelo Entidad-Relación.
2.3.3.2.2.- Modelos de Datos Lógicos
Son orientados a las operaciones más que a la descripción de una realidad. Están
implementados en algún manejador de base de datos. Ejemplo: Relacional con normalización
de bases de datos.
13
DDL = Lenguaje de Definición de Datos 14
DML = Lenguaje de Manipulación de Datos 15
QL = Lenguaje de consulta
44
2.3.3.2.3.- Modelos de Datos Físicos
Son estructuras de datos a bajo nivel implementadas dentro del propio manejador.
2.3.3.2.4.- El modelo jerárquico
Los datos se organizan jerárquicamente mediante un árbol invertido. Este modelo utiliza
punteros para navegar por los datos almacenados. Fue el primer modelo DBMS.
2.3.3.2.5.- El modelo de red
Al igual que el modelo jerárquico, este modelo utiliza punteros hacia los datos almacenados.
Sin embargo, no necesariamente utiliza una estructura de árbol invertido.
2.3.3.2.6.- El modelo relacional (RDBMS)
Los datos se almacenan en tablas de dos dimensiones conocidas como filas y columnas. Los
datos se manipulan según la teoría relacional de matemáticas.
2.3.3.2.7.- El modelo deductivo
Los datos se representan como una tabla, pero se manipulan mediante cálculos de predicados.
45
2.3.3.2.8.- El modelo de orientación a objetos
ODBMS16
Son los datos que se almacenan como objetos, son estructuras denominadas clases
que muestran los datos que contienen. Los campos son instancias de estas clases.
2.3.3.3.- Bases de datos estáticas
Son bases de datos de sólo lectura, utilizadas para almacenar datos históricos
queposteriormente se pueden utilizar y realizar proyecciones y tomar decisiones.
2.3.3.4.- Bases de datos dinámicas
Son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo
operaciones como actualización, borrado, adición y las operaciones fundamentales de
consulta.
2.3.3.5.- Bases de datos bibliográficas
Solo contienen un representante de la fuente primaria, que permite localizarla. Por ejemplo un
registro contiene información sobre el autor, fecha de publicación, editorial, título, edición, de
unapublicación, etc. Puede contener un resumen de la publicación original, pero nunca el
texto completo.
16
ODBMS = sistema de administración de bases de datos orientadas a objetos
46
2.3.3.6.- Bases de datos de texto completo
Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones
de una colección de revistas científicas.
2.3.3.7.- Bases de datos transaccionales
Son bases de datos con el fin de envío y recepción de datos a grandes velocidades por lo tanto
la redundancia y duplicación de información no es un problema, están dirigidas por el entorno
de análisis de calidad, datos de producción e industrial, permiten algún tipo de conectividad a
BDD relacionales.
2.3.3.8.- Bases de datos multidimensionales
Se dirigen a desarrollar aplicaciones concretas, como creación de cubos OLAP. La diferencia
está más en un nivel conceptual; En las bases de datos multidimensionales los campos de una
tabla pueden ser de dos tipos, o representan dimensiones de la tabla, o bien representan
métricas que se desean estudiar.
2.3.3.9.- Bases de datos jerárquicas
Estas BDD almacenan su información en una estructura jerárquica. Se organizan en una
forma de árbol, en donde un nodo padre puede tener varios hijos. El nodo que no tiene padres
es llamado raíz, y a los nodos que no tienen hijos son hojas.
47
2.3.3.10.- Bases de datos documentales
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más
potentes. Es un sistema de índices optimizado para este tipo de bases de datos.
2.3.3.11.-Claves
2.3.3.11.1.- Clave primaria
Es un identificador que va a ser único para cada fila. Muchas veces la clave primaria es
autonumérica y en una tabla puede que tengamos más de una clave.
2.3.3.11.2.- Clave foránea o ajena
Es aquella fila que existiendo como dependiente en una tabla, es a su vez clave primaria en
otra tabla.
2.3.3.11.3.- Clave alternativa
Es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que puede
identificar de forma única a una fila dentro de una tabla.
2.3.3.11.4.- Clave compuesta
Es una clave que está compuesta por más de una columna.
48
2.3.3.12.-Modelo entidad – relación
Modelaje: Es el proceso por el cual se identifica las propiedades dinámicas o estáticas de un
dominio de aplicación.
Entidad: Es el objeto sobre el cual se requiere mantener o almacenar información.
Relación: Es la asociación significativa y estable entre dos tablas.
Fig. 8– Ejemplo del modelo entidad – relación – Fuente: Autores
Atributo: Son las propiedades que describen y califican una tabla.
Tablas: Se puede considerar tablas a los sujetos, objetos, a los eventos, a los lugares y a las
abstracciones, se las representa mediante cajas que se colocan el nombre con letras
mayúsculas.
Las relaciones se representan con líneas que conectan las cajas de las tablas.
Fig. 9 – Ejemplo de conexión de entidades – Fuente: Autores.
49
Los campos se incluyen dentro de las cajas de las tablas y se escriben con minúsculas.
Fig. 10–Ejemplo de los atributos de las entidades – Fuente: Autores
Relaciones: Las relaciones tienen tres propiedades o características:
Fig. 11– Ejemplo de los tipos de relaciones de las tablas – Fuente: Autores
Leyenda: Es una expresión que describe el rol de cada tabla en la relación
Fig. 12– Ejemplo de la descripción de cada tabla – Fuente: Autores
En un diagrama entidad-relación también puede agrupar las tablas en supertipo y en subtipo.
50
a) Los supertipo agrupa a dos o más entidades subtipo.
b) Los subtipos heredan los atributos de las entidades supertipo y pueden tener relaciones
propias independientes del supertipo.
Fig. 13 - Ejemplo de tablas supertipo y subtipo – Fuente: Autores
2.3.3.13.- Normalización
El proceso que revisa que la tabla este bien estructurada tiene formas normales cada una tiene
un conjunto de reglas que deben ser verificada (1NF, 2NF, 3NF). Para que una relación este
en 3FN debe haber pasado por 2FN y está por la 1FN.
2.3.4.- EXTRACCIÓN Y MANEJO DE INFORMACIÓN SQL
51
2.3.4.1.-El Lenguaje de consulta estructurado.
El SQL17
Es un lenguaje normalizado utilizado por el motor de base de datos se puede
manipular sea directamente las bases de datos o remotas, crear consultas SQL.
2.3.4.2.- Componentes del SQL
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular
las bases de datos.
2.3.4.6.-Comandos SQL
Comandos DLL
CREATE Utilizado para crear nuevas tablas, campos e índices.
DROP Empleado para eliminar tablas e índices.
ALTER Utilizado para modificar las tablas agregando o combinando campos.
Comandos DML
SELECT Utilizado para consultar registros de la base de datos.
INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados.
17
SQL Lenguaje de consulta estructurado
52
DELETE Utilizado para eliminar registros de una tabla de una base de datos.
2.3.4.7.- Cláusulas
Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea
seleccionar o manipular.
Cláusula Descripción
FROM Especifica la tabla de la cual se van a seleccionar los registros.
WHERE Especificar las condiciones que deben reunir los registros que se van a
seleccionar.
GROUPBY Separa los registros seleccionados en grupos específicos.
HAVING Expresar la condición que debe satisfacer cada grupo.
ORDERBY Ordena los registros seleccionados de acuerdo con un orden específico.
2.3.4.8.- Operadores Lógicos
AND Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
OR Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es
cierta.
NOT Devuelve el valor contrario de la expresión.
2.3.4.9.- Operadores de Comparación
53
< Menor que.
> Mayor que.
<> Distinto de.
<= Menor o Igual que.
>= Mayor o Igual que.
= Igual que.
BETWEEN Especificar un intervalo de valores.
LIKE Compara de un modelo.
In Especifica registros de una base de datos.
2.3.4.10.-Funciones de Agregado
Las funciones de agregado se usan dentro de una cláusula SELECT en grupos de registros
para devolver un único valor que se aplica a un grupo de registros.
AVG Calcula el promedio de los valores de un campo determinado.
COUNT Devuelve el número de registros de la selección.
SUM Devuelve la suma de todos los valores de un campo determinado.
MAX Devuelve el valor más alto de un campo especificado.
MIN Devuelve el valor más bajo de un campo especificado.
2.3.4.11.- Tipos de Datos
54
Tipos de datos SQL se clasifican en tipos de datos primarios y de varios sinónimos válidos
reconocidos por dichos tipos de datos.
Binary, Bit, Byte, Counter, Currency, Datetime, Single, Double, Short Long, Longtext,
Longbinary, Text.
2.3.5.- BASE DE DATOS ORIENTADA A OBJETOS
Las BDOO18
se diseñan para trabajar bien en conjunción con lenguajes de programación
orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan el mismo
modelo que los lenguajes de programación y brindan un buen rendimiento en la manipulación
de tipos de dato complejos.
Los ODBMS proporcionan el mejor rendimiento porque que almacenan objetos en disco y
tienen una integración transparente con el programa escrito en un lenguaje de programación
orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo.
Las BDDOO Está diseñada para almacenar objetos complejos, es más segura ya que no
permite tener acceso a los datos y para poder entrar debe usar los métodos que haya utilizado
el programador.
2.3.5.1.- Identidad de Objetos
18
Base de datos orientadas a objetos
55
Un sistema de BDOO provee una identidad única a cada objeto independiente, esta identidad
suele implementarse con un identificador de objeto único, generado por el sistema, OID para
crear y manejar las referencias entre objetos, es preferible que cada OID se utilice sólo una
vez aunque un objeto se elimine no se deberá asignar a otro objeto.
2.3.5.2.- Desarrollo con Bases de Datos Orientada a Objetos
Las BDOO se desarrollan al describir en primer lugar los tipos de objetos importantes del
dominio de aquellos tipos de objetos que determinan las clases que conformarán la definición
de la BDOO.
2.3.5.3.- Ventajas en BDOOs
a) Está su flexibilidad, y soporte para el manejo de tipos de datos complejos.
b) Manipula datos complejos en forma rápida y ágilmente. La estructura de la base de datos
está dada por referencias o apuntadores lógicos entre objetos.
2.3.6.- BASE DE DATOS Y EL MEDIO EXTERNO
La base de datos y el medio externo se encuentra definidos de acuerdo a la arquitectura de los
sistemas de base de datos, modalidad cliente – servidor e interfaz.
2.3.6.1.- Arquitectura de los sistemas de bases de bases de datos
56
La arquitectura tiene 3 esquemas sirve como ayuda para la separación entre programas de
aplicación de base de datos y los datos, el manejo de múltiples vistas por el usuario y el uso
de un catálogo para almacenar el esquema de base de datos.
2.3.6.1.1.- Nivel Interno
Estructura física de almacenamiento de base de datos y los datos existentes están en este nivel.
2.3.6.1.2.- Nivel Conceptual
Describe la estructura de la base de datos para un grupo de usuarios ocultando los detalles
físicos de almacenamiento y trabaja con elementos lógicos como entidades, atributos y
relaciones.
2.3.6.1.3.- Nivel externo o de vista.
Tiene varios esquemas externos y vistas de usuarios cada uno describe la visión que tiene la
base de datos a un grupo ocultando el resto.
2.3.7.-BASE DE DATOS DISTRIBUIDAS
Estas almacenan los datos en varios computadores donde se participan varios medios de
comunicación, como cables de alta velocidad o líneas telefónicas pero no comparten la
memoria principal ni el reloj. Los procesadores pueden variar en cuanto su tamaño y función.
57
Pueden incluir microcomputadores pequeños, estaciones de trabajo y sistemas de grandes
aplicaciones.
Un sistema distribuido consiste en un conjunto de localidades que puede participar en la
ejecución de transacciones que accedan a datos de una o varias localidades.
2.3.7.1.- Estructura de Base de Datos Distribuidas
Consiste en un conjunto de localidades, cada una con un sistema local que puede procesar
transacciones locales, o globales entre varias localidades, requiriendo comunicación entre
ellas.
Las localidades pueden conectarse físicamente de diversas formas, las principales son:
a) Red totalmente conectada
b) Red prácticamente conectada
c) Red con estructura de árbol
d) Red de estrella
e) Red de anillo
2.3.7.2.- Consideraciones al distribuir la base de datos
Los sistemas distribuidos incluyen compartir la información, fiabilidad y disponibilidad y
agilizar el procesamiento de las consultas. Pero también tiene sus desventajas, como
desarrollos de software más costosos, mayor posibilidad de errores y costos extras de
58
procesamiento. La principal ventaja es la capacidad de compartir y acceder a la información
de una forma fiable y eficaz.
2.3.8.- DATA WAREHOUSING Y MINERÍA DE DATOS
Un Data Warehouse19
es una colección de datos orientado a temas, integrado, no volátil, de
tiempo variante, que se usa para el soporte del proceso de toma de decisiones gerenciales.
Se caracterizan por hacer un contraste de cómo los datos de un negocio almacenados en un
data warehouse, difieren de los datos operacionales usados por las aplicaciones de
producción.
Base de Datos Operacional Data Warehouse
Datos Operacionales Datos del negocio para Información
Orientado a la aplicación Orientado al sujeto
Actual Actual + histórico
Detallada Detallada + más resumida
Cambia continuamente Estable
Tabla. 1 – Comparación entre base de datos y data Warehouse – Fuente:
http://www.programacion.com/articulo/data_warehousing_201/6 - Autor: Antonio Blasco
El data warehouse es siempre un almacén de datos transformados y separados físicamente de
la aplicación donde se encontraron los datos en el ambiente operacional.
19
Data Warehouse = Deposito de datos
59
2.3.8.1.- Características de un Data Warehouse
a) Orientado al tema.
b) Integrado.
c) De tiempo variante.
d) No volátil.
2.3.8.2.-Estructura del data warehouse
Hay niveles diferentes de esquematización y detalle que delimitan el data warehouse. La
estructura tiene estos diferentes componentes.
a) Detalle de datos actuales.
b) Detalle de datos antiguos.
c) Datos ligeramente resumidos.
d) Datos completamente resumidos.
2.3.8.3.-Arquitectura de un data warehouse
Data warehousing puede representar mejor la estructura amplia de una empresa para
administrar los datos informacionales dentro de la organización. Para comprender la relación
de los componentes en una estrategia data warehousing, es esencial tener una arquitectura
data warehouse.
60
Fig. 14 – Componentes involucrados en una arquitectura Data WareHouse – Fuente:
http://www.programacion.com/articulo/data_warehousing_201/6–Autor: Antonio Blasco
2.3.8.4.- Transformación de datos y meta data
La transformación se encarga de las inconsistencias en los formatos de datos y la codificación,
que pueden existir dentro de una base de datos única que se presenta cuando hay múltiples
bases de datos que contribuyen al data warehouse.
2.3.8.5.- Usos del data warehouse
Uso de Base de Datos Operacionales Uso de Data Warehouse
61
Muchos usuarios concurrentes Pocos usuarios concurrentes
Consultas predefinidas y actualizables Consultas complejas, frecuentemente no anticipadas.
Cantidades pequeñas de datos detallados Cantidades grandes de datos detallados
Requerimientos de respuesta inmediata Requerimientos de respuesta no críticos
Tabla. 2 Usos de las base de datos y data WareHouse – Fuente:
http://www.programacion.com/articulo/data_warehousing_201/6 - Autor: Antonio Blasco
2.3.8.6.- Ejemplo de un data warehouse
Fig. 15 - Ejemplo del funcionamiento de Data Warehouse – Fuente:
http://www.programacion.com/articulo/data_warehousing_201/6 - Autor: Antonio Blasco
2.3.8.7.- Alcance del data warehouse
62
El alcance de un data warehouse puede ser tan amplio como toda la información estratégica
de la empresa desde su inicio, o puede ser tan limitado como un data warehouse personal para
un solo gerente durante un año.
En la práctica, en la amplitud del alcance, el mayor valor del data warehouse es para la
empresa y lo más caro y consumidor de tiempo es crear y mantenerlo. Como consecuencia de
ello, la mayoría de las organizaciones comienzan con data warehouses funcionales,
departamentales o divisionales y luego los expanden como usuarios que proveen
retroalimentación.
2.3.9.- BASE DE DATOS DEDUCTIVAS
Una base de datos deductiva es un programa lógico de relaciones base, y reglas que son
usadas para definir nuevas relaciones y el procesamiento de consultas.
Los sistemas intentan modificar el hecho de que los datos requeridos residan en la memoria
principal de modo que un SGBD se amplíe para manejar datos que residen en
almacenamiento secundario.
En un sistema de bases de datos deductivas se usa un lenguaje declarativo para especificar
reglas y hechos.
63
a) Hechos.- Se especifica de manera similar a las relaciones, excepto que no es necesario
incluir los nombres de los atributos. Una tupla20
en una base de datos deductiva indica el
significado del valor del atributo.
b) Reglas.-Especifican relaciones virtuales que no están almacenadas, pero que se pueden
formar a partir de los hechos aplicando mecanismos de inferencia basados en las
especificaciones de las reglas. La diferencia entre las reglas puede haber recursión y por
tanto producir vistas que no es posible definir en términos de las vistas relacionales
estándar. Las BDD buscan derivar nuevos conocimientos a partir de datos existentes
proporcionando interrelaciones en forma de reglas que usan mecanismos internos para la
evaluación y la optimización.
2.3.9.1.- Características de las bases de datos deductivas
a) Tener la capacidad de expresar consultas por medio de reglas lógicas.
b) Permitir consultas recursivas y algoritmos eficientes para su evaluación.
c) Contar con negaciones estratificadas.
d) Soportar objetos y conjuntos complejos.
e) Contar con métodos garantizados de optimización para traducción de especificaciones
dentro de planes eficientes de acceso.
f) Posibilidad de relacionar información desde datos almacenados, es absoluto modelar la
BDD como conjunto de fórmulas lógicas, que permiten inferir otras nuevas fórmulas.
20
Tupla = En una relación describe algún hecho del mundo real cuyo significado queda determinado en parte por
los nombres de los atributos.
64
CAPITULO III
APLICACIÓN PRÁCTICA
3.1.- METODOLOGÍA
Se utilizó la metodología RUP21
que se basada en un proceso dirigido por casos de uso e
iterativo similar a mini-proyectos e incremental que son versiones, y un proceso centrado en
la arquitectura y basada en análisis de riesgos.
La metodología RUP es un proceso de desarrollo de software, es una forma disciplinada de
asignar tareas y responsabilidades en una institución de desarrollo indicando quién hace qué,
cuándo y cómo, para de esta forma asegurar la producción de software de calidad dentro de
plazos y presupuestos predecibles.
Esta metodología se basó en un desarrollo iterativo que permite una comprensión creciente de
los requerimientos a la vez que se va haciendo progresar el sistema, se logró reducir los
riesgos del proyecto y tener un subsistema de calidad ejecutable tempranamente, claro que los
cambios son inevitables, pero es necesario evaluar si son necesarios y realizar un seguimiento
de los resultados de los cambios. Además RUP indica cómo controlar, observar y monitorear
los cambios dentro del proceso iterativo de desarrollo.
21
RUP = RationalUnifiedProcess
65
3.2.- FASES DE LA METODOLOGÍA R.U.P.
RUP divide el proceso de desarrollo en ciclos, teniendo un producto al final de cada uno.
Cada ciclo se divide en cuatro Fases: Inicio, Elaboración, Construcción, Transición. Cada fase
concluye con un hito bien definido donde deben tomarse ciertas decisiones.
3.2.1.- FASE DE INICIO
Permite establecer los requerimientos de las bases de datos de acuerdo a las necesidades.
En esta fase se identificó todos los actores externos con las que se trabaja, los roles que cada
actor debe desempeñar con su descripción detallada en el ciclo del sistema.
3.2.1.1.- Diseño de
los casos de uso 20%
separado.
Fig. 16– Caso de uso administrador desarrollado en 20% - Fuente: Autores
66
El administrador es el encargado de registrar la agenda, el distributivo general y de materias
además de eliminar matrículas y realizar modificaciones a las mismas también puede realizar
procesos que hace la secretaria y los docentes como registrar y modificar datos de los
estudiantes y expandir certificados o buscar datos de las matrículas o alumnado y registrar
parciales y faltas.
Fig. 17 - Caso de uso estudiantes desarrollado en 20% - Fuente: Autores
El usuario estudiante puede consultar la guía de ayuda visitar el sitio entregar información
personal, matricularse con ayuda de otro usuario además de consultar las notas y faltas de las
distintas materias.
Fig. 18 - Caso de uso secretaria desarrollado en 20% - Fuente: Autores
67
La secretaria puede consultar las notas de los alumnos, buscar datos de matrícula, entregar
certificados, registrar matrículas, modificar datos informativos del alumnado y realizar
consultas generales.
Fig. 19 - Caso de uso usuarios desarrollado en 20% - Fuente: Autores
El usuario general no cuenta con ningún tipo de contraseña solo puede acceder a la parte
informativa de la aplicación.
Fig. 20 - Caso de uso docente desarrollado en 20% - Fuente: Autores
El docente puede registrar las notas del alumno además de facilitar datos informativos para su
posterior registro y visitar la parte informativa.
3.2.1.2.- Documento de visión
68
La aplicación web ayudará a mejorar e integrar de manera eficiente los procesos de la gestión
de matrículas y notas, con el objetivo de que a un futuro no muy lejano vayan mejorando los
servicios y la imagen institucional, ofreciendo una calidad en los procesos educativos.
3.2.1.2.1.- Propósito
El propósito es implantar una aplicación web investigando herramientas y técnicas para
recoger, analizar y definir las necesidades de alto nivel y las características del sistema de
gestión de la institución.
Esta funcionalidad se basó en hacer la parte informativa de la institución, cabe resaltar que la
institución no tienen un sitio web informativo sobre la misma y todos los procedimientos que
en esta se realiza se lo hace en forma manual, los objetivos, que busca cumplir, la misión,
visión su historia y demás datos que le caracterizan a la institución, la creación de un sitio
web permitirá tener en forma ordenada y en un sistema adecuado la información y procesos
sobre datos de matrículas de los estudiantes además este ahorra gran cantidad de tiempo ya
que se va a realizar el trabajo en forma automática.
Los detalles de cómo el sistema cubre los requerimientos se pueden observar en la
especificación de los casos de uso y otros documentos adicionales.
3.2.1.2.2.- Alcance
Implantar una aplicación Web para la gestión académica de matriculación y notas del
alumnado de la “Unidad Educativa Intercultural Bilingüe Alejandro Chávez” de la
69
Comunidad de Gualsaquí del cantón Otavalo. La cual permitirá tener control de la agenda de
cada año lectivo, creación, eliminación y modificación del distributivo de los cursos a los
cuales se asignara cada grupo de alumnos también permitirá registrar, eliminar y modificar
los datos personales de los alumnos para posteriormente matricularlos y a los docentes
registrarlos y con esta información asignarles distribución de materias, para que en fechas
asignadas por la agenda pueden los docentes registrar los reportes, faltas, conducta y
supletorio de cada alumno en las diferentes materias. También permitirá tener reportes sobre
cursos, agenda, nominas, certificaciones a docentes, certificación de alumnos, reportes de
notas del alumnado y las consultas podrán hacerlo con los respectivos controles los diferentes
usuarios rectora, administrador, docentes, alumnado y secretaria.
3.2.1.2.3.- Definiciones, acrónimos, y abreviaciones
a) RUP: Son las siglas de RationalUnifiedProcess. Se trata de una metodología para describir
el proceso de desarrollo de software.
b) Actor: Es un usuario del sistema que tiene un rol particular, es decir el que interactúa con
nuestro sistema y que puede hacerle peticiones.
c) Caso de Uso: Es una tarea que un actor necesita ejecutar con la ayuda del sistema.
d) UML: Es un Lenguaje unificado del Modelado.
e) Desarrollo Iterativo: Un proceso iterativo permite una comprensión creciente de los
requerimientos a la vez que se va haciendo crecer el sistema.
70
f) Fase de Transición: El objetivo es traspasar el software desarrollado a la comunidad de
usuarios, es la implantación.
g) Oportunidad de Negocio: El impacto de aplicación Web en la institución educativa
3.2.1.2.3.1.- Referencias
a) Glosario.
b) Plan de desarrollo de software.
c) Diagrama de casos de uso.
3.2.1.3.- Descripción de stakeholders(participantes en el proyecto) y usuarios
Para proveer de una forma efectiva información de matrículas y notas que se ajusten a las
necesidades de los estudiantes, es necesario identificar e involucrar a todos los participantes
en el proyecto como parte del proceso de modelado de requerimientos. También es necesario
identificar a los usuarios del sistema y asegurarse de que el conjunto de participantes en el
proyecto los representa adecuadamente, así como los problemas más importantes que éstos
perciben para enfocar la solución propuesta hacia ellos.
3.2.1.3.1.- Resumen de stakeholders
Nombre Descripción Responsabilidades
Lcda. Anita Directora de la El stakeholder realiza:
71
Rocío
Cabrera
Morán
“Unidad Educativa
Intercultural
Bilingüe Alejandro
Chávez”.
Aprobar el desarrollo del proyecto.
Seguimiento del desarrollo del proyecto.
Informa acerca de requisitos que debe cumplir el
sistema
Facilita los parámetros de la agenda.
Indica las fechas de vigencia del período lectivo.
Facilita información de los cursos vigentes.
Facilita información del proceso de asignación de las
materias a los docentes durante el período lectivo.
Facilita información sobre el proceso de creación de
especialidades en la institución.
Supervisora del buen funcionamiento en cuento a los
reportes de matrículas, notas, certificados, nominas,
distributivos.
Facilita información de la institución para publicar en la
web.
Ana Vega. Secretaria
académica de la
“Unidad Educativa
Intercultural
Bilingüe Alejandro
Chávez”.
El stakeholder realiza:
Informa a quienes desarrollaron la aplicación sobre el
proceso de matriculación, registro de notas, distribución
de materias a los docentes, datos solicitados por la
institución de docentes, alumnado y demás personal dela
institución.
Facilita información de los cursos vigentes.
Facilita información del proceso de asignación de las
72
materias a los docentes durante el período lectivo.
Ing.
Geovanny
Baldeón
Inspector de la
“Unidad Educativa
Intercultural
Bilingüe Alejandro
Chávez”.
Facilita información sobre el control de asistencia a
clases de los estudiantes.
Facilita información de los cursos vigentes.
Califica a los estudiantes la conducta general.
Control de distributivo de cursos.
Facilita información del proceso de asignación de las
materias a los docentes durante el período lectivo.
Facilita información del control de faltas del alumnado.
Docentes.
Ingresan notas de
cada estudiante en
cada materia.
El stakeholder realiza:
Gestiona el Ingreso de notas de las estudiantes en el
tiempo establecido.
Consultan las materias que se les ha asignado.
Facilita información personal para el registro.
Alumnos Consultores de los
reportes del
sistema
Facilita datos personales para su registro.
Revisa las notas.
Solicita certificados de matrículas.
Consulta las faltas.
Magaly
Morillo
Panamá
Verónica
Desarrolladoras e
Implantadoras de
la Aplicación Web.
Los stakeholder realizan:
Responsables de desarrollar e implantar la Aplicación
Web, siguiendo la lineación de la metodologías de
desarrollo y notación UML y el proceso de desarrollo
RUP, además con experiencia en el entorno de
desarrollo del proyecto (programación).
73
Tabla. 3 – Resumen de los stakeholders– Fuente: Autores
3.2.1.3.2.- Resumen de usuarios
Nombre Descripción Responsabilidades
Docentes Buen uso del
módulo de registro
de notas.
Capacidad de toma de decisiones en cuanto al ingreso
de las notas del alumnado escogiendo el curso y la
materia correspondiente, además debe tener total
responsabilidad en el uso de usuario y contraseña al
igual que con la digitación de los reportes de cada
estudiante y debe hacerlo dentro del período establecido
por el área administrativa.
Secretaria
Buen uso del
módulo de
matrículas y
reportes.
Supervisor del departamento de secretariado del
rectorado encargado de realizar la matrícula a las
estudiantes, siempre y cuando se encuentre dentro de los
períodos definidos por administración y se encuentren
registrados los datos personales de los alumnos además
puede facilitar al personal y a los estudiantes diferentes
tipos de certificaciones las cuales posteriormente deben
ser firmados por el rectorado, registrar los datos
personales de los docentes, registrar especialidades y
materias, Puede acceder a todos reportes que genera el
sistema, Esta en la posibilidad de acceder a la ayuda del
sistema en caso de tener algún tipo de dificultad.
74
Administr
ador
Supervisor del
sistema completo
Supervisor de buen funcionamiento del sistema
completamente en todos los módulos tanto de registro,
modificación, eliminación de alumnos, docentes, notas,
matrículas, distributivo, agenda y reportes además de
laspartes complementarias del sistema informático.
alumnos Buen uso de
módulo de
reportes.
Hace buen uso del módulo de reporte de datos
personales, matrículas, notas, faltas y conducta
verificando la información mediante consultas o
solicitud de certificaciones.
Rector(a) Buen uso del
sistemas en los
diferentes módulos.
Verifica el correcto funcionamiento del sistema
registrando, eliminando y modificando información en
todos los módulos y constatando por medio de los
reportes de cada uno de los datos de los módulos
Tabla. 4 – Resumen de los usuarios – Fuente: Autores
3.2.1.3.3.- Entorno de usuario
La secretaria, el administrador y la rectora ingresa al sistema identificándose con el
respectivo usuario y contraseña a quienes se les asigna los privilegios correspondientes,
mediante el link sistema de la página principal y los docentes tienen su propia cuenta (usuario
y clave) por medio del link Online de la página principal, el usuario y la clave se crea cuando
se registrar sus datos personales en el sistema, dicha clave puede ser cambiada cuando ellos
decidan hacerlo y los alumnos pueden realizar la consulta de su información por medio del
link Online de la página principal del sistema con el código que les asigna la aplicación luego
75
de realizar su registro de datos personales y los usuarios a nivel general pueden visitar las
opciones informativas generales.
Los informes serán generados por pantalla y se imprimiría cuando haga clic en el link
imprimir certificado o registro.
3.2.1.4.- Descripción del producto
3.2.1.4.1.- Perspectiva del producto
El producto a desarrollar es una aplicación web para la gestión académica de matriculación y
notas del alumnado de la “Unidad Educativa Intercultural Bilingüe Alejandro Chávez” de la
Comunidad de Gualsaquí del cantón Otavalo. Con la intención de llegar a los usuarios de
Internet, tener competitividad y así mismo agilitar los procesos de matriculación y registro de
notas control de agenda del año lectivo, distributivos de materias a los distintos docentes. Las
áreas a tratar por el sistema son: informativa y académica.
3.2.1.4.2.- Resumen de características
A continuación se mostrará un listado con los beneficios que obtendrá el cliente a partir del
producto:
Beneficio del cliente Características que lo apoyan
Gestión automatizada de la
matriculación del alumnado.
Sistema de optimización de información de
matrículas del alumnado y de la información
76
personal.
Mayor facilidad para la gestión de
control de información.
Base de datos centralizada con la información de
todo el alumnado, materias, profesores, cursos,
notas, distributivo y agendade la institución,
alumnado y docentes.
Archivos .pdf informativos y específicos y reportes
web.
Información general de la “Unidad
Educativa Intercultural Bilingüe
Alejandro Chávez”.
La gestión informativa de la institución.
Informes instantáneo Sistema automatizado para presentar informe por
pantalla de los alumnos, profesores, materias,
distributivos, agenda y demás datos importantes.
Tabla. 5 – Beneficios de la aplicación web – Fuente: Autores
3.2.1.5.- Descripción global del producto
El producto a desarrollar e implantar es una Aplicación Web para la gestión académica de
matriculación y control de notas del alumnado de la “Unidad Educativa Intercultural Bilingüe
Alejandro Chávez” de la comunidad de Gualsaquí del cantón Otavalo. Con la intención de ser
reconocida nacional e internacionalmente, de agilitar la matriculación, obtener en forma
rápida y automatizada datos de los profesores, alumnos, materias, cursos entre otros datos.
77
3.2.1.5.1.- Gestión de matriculación
Información de los datos personales y educativos del alumnado, profesores, distributivos,
materias, cursos, matrícula de cada estudiante.
La secretaria recepta la información personal de los estudiantes, una vez efectuada el ingreso
de los datos al sistema, se actualiza la base de datos, además se debe realizar una
comprobación de que los datos se han ingresado correctamente y de no ser así se pueden
realizar la modificación y comprobación correspondiente, luego de registrar los datos
personales debe realizar la matrícula que en caso de ser la primera matrícula debe registrar al
alumno en primer año y en caso de ir a años superiores debe registrar la promoción de la cual
viene y luego la matrícula en la que el sistema realiza la matrícula y el usuario tiene solo la
facultad de escoger el paralelo y registrar la matrícula.
a) Gestión de los datos de los profesores, después de registrar a cada docente con los
respectivos datos se puede modificar los datos en un tiempo futuro. También podrán poner
en estado pasivo a un docente al cual ya no se podrá asignarle materias y tampoco
registrar parciales.
b) Consulta del alumnado existente.
c) Los Administradores, pueden consultar en todo momento los datos del alumnado y su
matrícula.
78
3.2.1.5.2.- Los administradores
Los Administradores tendrán acceso a todo el sistema – aplicación web para la matriculación
y control de notas, registro de distributivos y control de la agenda, reportes.
3.2.1.5.3.- Informativa
La aplicación web también abarcará la parte informativa, historia de la unidad educativa,
misión, visión, galería y demás información que se considere necesaria publicar en la web.
3.2.1.5.4.- Gestión de notas
La aplicación web también abarcará el módulo de control de ingreso de notas donde se debe
controlar que los docentes ingresen la contraseñas y les permita acceder a las materias que le
corresponden así como a los cursos para que puedan ingresar las notas de cada estudiante.
3.2.1.6.- Plan de contingencia
3.2.1.6.1.- Introducción.
La aplicación web de la Unidad Educativa “Alejandro Chávez” se basa en tres puntos básicos
que son: prevención, detección y recuperación, de los diferentes aspectos. Protección del
Hardware, protección de datos. Es importante tener en cuenta las precauciones que los
administradores del sistema deben realizar si se presenta algún ataque externo que perjudique
físicamente e internamente al equipo servidor.
79
3.2.1.6.2.-Protección del Hardware
El hardware es usualmente el elemento más caro de todo sistema informático. Por tanto, las
medidas para asegurar su integridad son una parte importante de la seguridad física de la
institución, a continuación indicamos cuales serían las amenazas, sus posibles efectos y
algunas soluciones para protección del hardware.
a) Acceso Físico
La posibilidad de acceder a una máquina hace inútiles casi todas las medidas de seguridad que
se haya aplicado sobre el computador por ello se debe tomar medidas como:
a) Controlar que personas tienen las llaves para acceder a los laboratorios y las oficinas de la
institución además el horario que debe cuidar cada encargado.
b) Debe haber un control por escrito sobre qué es lo que recibe el encargado y que lo mismo
entregué y en caso de existir alguna novedad acerca de los equipos dar a conocer a
rectorado por escrito y en forma inmediata.
c) Debe ubicar candados con claves en las oficinas y laboratorio.
d) Las chapas deben abrirse solo con la lleve pertinente no necesariamente solicitar la llave
cuando se ponga seguro en la chapa.
80
e) Cada vez que se asigne el laboratorio a un curso se debe de asignar al docente respectivo
el cual debe de ser responsable de las acciones del alumnado y tener control sobre a qué
personas permite el ingreso al laboratorio.
f) Se debe implantar control con alarmas de sonido para que cada vez que ingrese o salga
una persona del laboratorio produzca un sonido que alerte a la persona encargada.
g) Se debe asegurar con cadenas y candados a cada parte de los equipos y mantener seguras
las llaves para que no se puedan sustraer las partes de los computadores ningún usuario.
h) Llevar una hoja de control sobre qué grupo ingresa al laboratorio.
i) Entregarlas máquinas realizando algún tipo de verificación y cuando el grupo deje de usar
las máquinas realizar también una verificación.
j) Las puertas tengan doble seguridad como abrirse con dos o tres llaves para controlar el
acceso físico no autorizados.
k) Cerrar las puertas con llave al salir de los laboratorios y oficinas donde se encuentre
computadores y el servidor.
l) Bloquear la toma de red que no se encuentren utilizando en los laboratorios o en las
oficinas, que en ocasiones pueden ser más que suficientes para prevenir ataques.
81
m) En el cableado que se encuentra a simple vista en los laboratorios debe ser ubicado dentro
de canaletas ya que se podría romper, cortar o manipular los cables.
n) Tener un inventario actualizado y detallado de las diferentes computadoras del laboratorio
al igual de los computadores que se encuentran en las oficinas.
o) Revisar diariamente antes de salir de los laboratorios y las oficinas donde se encuentran
los computadores y el servidor comparando con el inventario de la institución para evitar
que alguna parte física este faltando.
p) Instalar una cámara en cada laboratorio la cual se debe de revisar diariamente las
grabaciones para verificar que todo esté en correcto estado.
q) Para el computador que va a realizar el trabajo de servidor web de la aplicación de la
institución se debe tener respaldos de los discos físicos en forma periódicamente con la
finalidad de que si se produce algún fallo en el hardware o software el único respaldo seria
el disco de imagen que por seguridad debe estar físicamente fuera de la oficina o de ser
posible fuera de la institución educativa.
3.2.1.6.4.- Detección
Cuando la prevención es difícil por cualquier motivo (técnico, económico, humano) es
esperado que un potencial ataque sea detectado cuanto antes, para minimizar así sus efectos.
A continuación se listas algunas sugerencias en la detección de fallos físicos:
82
a) Es importante concienciar a todos los miembros de la institución sobre su papel en la
política de seguridad de la institución, si por un usuario autorizado detecta presencia de
alguien de quien sospecha que no tiene autorización para estar en una determinada oficina
o laboratorio debe avisar inmediatamente al inspector, o rectorado o personal superior que
sea el responsable de los equipos.
3.2.1.6.5.- Riesgos naturales
Los desastres naturales son los más perjudiciales que puede presentarse dentro de nuestro
ambiente de manera que se debe tomar ciertas medidas de prevención; por ejemplo:
a) No se debe situar nunca el servidor y equipos de computación en lugares muy altos de los
laboratorios u oficinas al igual que tampoco es bueno situarlos a ras del suelo por riesgo
de inundaciones ya que el sector en el que se encuentra la institución es muy propenso a
lluvias y además si un pequeño temblor puede tirar desde una altura considerable parte del
computador, lo dañaría; incluso se debe utilizar fijaciones para los elementos de hardware
lo cual es conveniente y económico.
b) No deben de situar el router en las partes altas de paredes el cual en caso de caer cerca a
los computadores, se dañaría y dañaría al computador. Y en caso de hacerlo se debe fijarlo
y asegurarlo bien contra la pared.
c) Es muy importante no situar el servidor y equipos cerca de las ventanas ya que el
alumnado puede topar de lado externo del laboratorio y votarlos por lo que se corre el
83
riesgo de que se dañe los equipos o causar algún accidente a las personas que se
encuentren cerca.
d) Situar los computadores del laboratorio y las oficinas alejados de las ventanas para
dificultar posibles robos.
e) Las vibraciones también son perjudiciales porque pueden dañar cualquier parte electrónica
de nuestras máquinas, pueden causar problemas con los cabezales de los discos duros o
con los circuitos integrados que dañan las placas. Para hacer frente a pequeñas vibraciones
podemos utilizar plataformas de goma para situar los equipos, de forma que la plataforma
absorba la mayor parte de los movimientos.
f) No se debe situar encima de un computador una impresora por las fallas que puede causar
con los movimientos o vibraciones.
3.2.1.6.6.-Problemas eléctricos
Los problemas eléctricos, generan subidas de tensión que pueden generar un problema en la
red eléctrica. Algunas normas de prevención:
a) Tomar precauciones anteriores a que se produzcan algunas señales de truenos y lluvias
como tener conexiones a tierra, poner a los computadores lejos de donde haya elementos
metálicos ya que estos atraen a los truenos y rayos y no esperar a que ocurra cualquier
desastre para desconectar los computadores o servidor tanto de las oficinas de la unidad
educativa como de los laboratorios.
84
b) Otra medida de protección es tener más de una copia de seguridad de los archivos y en
lugares diferentes a la institución como casa del administrador o del rector o en el banco.
3.2.1.6.7.- Inundaciones y humedad
Tomando en cuenta que el clima del sector donde está la unidad educativa es frio la humedad
es perjudicial para los computadores porque pueden producirse circuitos integrados, lo que
causa cortocircuitos que evidentemente tienen efectos negativos sobre cualquier máquina. Se
indican algunas prevenciones para este tipo de amenazas.
a) Los encargados de los laboratorios y el administrador de los computadores y de las
oficinas antes de instalar el servidor y máquinas deben consultar los manuales que
indiquen todos los procedimientos a seguir a las precauciones que se deben tomar evitar
problemas.
b) Los encargados de los laboratorios deben revisar constantemente las instalación es donde
se encuentran los computadores y el servidor para detectar condiciones de humedad.
c) Se debe implantar techo falso en las oficinas y laboratorios de computación de la unidad
educativa para proteger las máquinas y demás equipos de computación y evitar que los
equipos entren en contacto con el agua.
85
3.2.1.6.8.- Electricidad
El sistema eléctrico es uno de los problemas más frecuentes que se presentan dentro dela
institución y esto produce graves fallas en el hardware de los computadores o del servidor
como a los datos que se almacenan en los mismos. El problema menos común en las
instalaciones modernas son las subidas de tensión, conocidas como ‘picos’ porque
generalmente duran muy poco. A continuación se recomienda algunas sugerencias para
prevenir estas amenazas:
a) Se deben utilizar tomas a tierra para el laboratorio así como para los computadores de
cada oficina y de esta manera dar mayor seguridad a los equipos y evitar los problemas de
sobre tensión desviando el exceso de corriente hacia el suelo de una aula, laboratorio u
oficina con voltaje nulo.
b) Se debe instalar en el laboratorio y en las oficinas acondicionadores de tensión
comerciales.
c) Se debe utilizar un servicio de alimentación ininterrumpido conectado al servidor o equipo
de la institución. Estos dispositivos mantienen un flujo correcto y estable de corriente,
protegiendo así los equipos de subidas, cortes y bajadas de tensión; además tienen
capacidad para seguir alimentando las máquinas incluso en caso de que no reciban
electricidad hasta un cierto tiempo suficiente para tener el sistema de forma ordenada.
d) Las personas encargadas del laboratorio y de las oficinas que realizan el mantenimiento
preventivo o correctivo deben evitar tocar con las manos la parte metálica del teclado o un
86
conductor de una placa, porque puede destruirlo completamente. Se trata de corriente de
muy poca intensidad pero un altísimo voltaje, por lo que aunque la persona no sufra
ningún falla sólo un pequeño calambrazo el computador sufre una descarga que puede ser
suficiente para destrozar lo componentes, desde el disco duro hasta la memoria RAM.
e) Se debe adquirir espray antiestático para que realicen la limpieza los encargados del
laboratorio y los equipos de las oficinas y, no tocar directamente ninguna parte metálica.
3.2.1.6.9.- Ruido eléctrico
El ruido eléctrico generado por motores y maquinaria pesada que existen en la fábrica de
cemento aledaña pueden afectar a los computadores en forma constante. Para prevenir los
problemas que el ruido eléctrico puede causar en nuestro servidor y equipos es necesario
mantener alejados de los equipos y dispositivos emisores de ondas, como celulares,
transmisores de radio, estos elementos puede incluso dañar permanentemente al hardware.
3.2.1.6.10.- Incendios y Humo
El mayor peligro de incendios se da por los problemas eléctricos debido a la sobrecarga de la
red si dentro de la institución se encuentran gran número de aparatos conectados al tendido.
Un simple cortocircuito o un equipo que se calienta demasiado pueden convertirse en la causa
directa de un incendio en la institución, o al menos el espacio interno. Es necesario listar
algunas precauciones a esta amenaza.
87
a) Se debe instalar un extintor de incendios en el laboratorio y otros en las oficinas los cuales
deben estar bien asegurados para evitar que los alumnos lo dañen y que se pueda acceder a
él en forma cual se lo requiera.
b) En las políticas de seguridad de la institución debe constar que se encuentra prohibido
fumar cerca de los computadores, del servidor o dentro de la institución para todo el
personal debido a que el humo ataca especialmente los discos.
c) Se debe asignar un aula que se encuentre lo más alejada de las casas aledañas para
laboratorio de computación ya que en el sector las personas del campo acostumbran a
cocinar en leña y puede ocasionarse un incendio.
3.2.1.6.11.- Temperaturas extremas
a) Los computadores del laboratorio y oficinas así como el servidor web deben estar
correctamente ventilados, sin elementos que obstruyan los ventiladores de la CPU para
evitar sobrecalentamientos: si los discos duros, elementos que pueden alcanzar
temperaturas considerables, se encuentran excesivamente cerca de la memoria RAM, es
muy probable que se quemen.
b) Deben adquirir ventiladores para que sean instalados tanto en el laboratorio como en las
oficinas para poder controlar la temperatura a la que necesitan estar los computadores o el
servidor.
88
3.2.1.6.12.-Recuperación de Hardware
a) Una opción es contratar una aseguradora para que en caso de falla o pérdida del hardware
se pueda recuperar el dinero invertido. La aseguradora también debería estar en capacidad
de devolver el dinero durante el tiempo en que los equipos dejan de funcionar.
b) Si la información es demasiado crítica tomando en cuenta que es muy importante los datos
de los alumnos, sus notas y demás información que contiene la aplicación web, es
recomendable tener equipos en los que se repliquen los datos, que estén físicamente en
otro ambiente geográficamente separado, en caso de pérdidas de información
inmediatamente puedan entrar a funcionar.
3.2.1.6.13.- Software
a) Los encargados del laboratorio de computación, del servidor y demás computadores de la
institución deben hacer uso de los manuales de usuario y técnicos como guías para
solucionar complicaciones al momento del manejo de los diferentes software.
b) Los encargados de los computadores de la institución deben instalar software gratuitos
para cumplir con las ordenanzas de la presidencia de la república.
c) El administrador del servidor web debe sacar respaldos en cd, dvds, memorias, discos
tanto de la aplicación web como la base de datos en formas periódicas.
89
d) En caso de la ausencia del administrador del sistema debe existir una persona que conozca
el funcionamiento del sistema completamente por si se presenta algún tipo de urgencias.
3.2.1.6.14.- Protección de los datos
La seguridad física también implica una protección a la información de nuestro sistema, tanto
a la que está almacenada en él como la que se transmite entre diferentes equipos. Hay que
Tomar en cuenta ciertas cosas a la hora de diseñar una política de seguridad física que afectan
principalmente, aparte de los elementos físicos, a los datos de la institución; existen ataques
cuyo objetivo no es destruir el medio físico de nuestro sistema, sino simplemente conseguir la
información almacenada en dicho medio.
3.2.1.6.15.- Backups
En este punto se trata de proteger físicamente a la información almacenada en backups, es
decir, de la protección de los diferentes medios donde residen nuestras copias de seguridad. A
continuación se listas las siguientes precauciones que deben ser consideradas:
a) No almacenar los backupen lugares muy cercanos al lugar donde se encuentre instalado el
sistema web y la base de datos.
b) Etiquetar donde hacemos copias de seguridad con abundante información sobre su
contenido como sistemas de ficheros almacenados, día y hora de la realización, sistema al
que corresponde; esto tiene una parte positiva y una negativa. Por un lado, para recuperar
un fichero es rápido: sólo tenemos que ir leyendo las etiquetas hasta encontrar el respaldo
90
adecuado. Sin embargo, para un intruso es fácil encontrar el backupdeseado tener acceso a
los medios de almacenamiento por lo que si el acceso a las mismas no está bien restringido
un atacante lo tiene fácil para sustraer información Es importante realizar backups cifrados
y controlar más el acceso al lugar donde las guardamos.
3.2.1.6.17.- Otros elementos
a) Los administradores de la aplicación web deben tener en cuenta que la información de
datos, no se encuentre en lugares obvios, por ejemplo: si se imprime algún documento
con información importante del sistema, servidor o computadores, cuando la impresión
finaliza, el administrador lleva el documento de la oficina o del laboratorio, pone como
portada una hoja con los datos del usuario en la máquina: loginperfectamente visible,
nombre del fichero, hora en que se lanzó, y lo deja, junto a los documentos que otros
usuarios han imprimido o en algún lugar al que cualquier persona puede acceder con total
libertad y llevarse la impresión, leerla o simplemente curiosear, se convertiría en un
problema serio.
b) Es conveniente que las impresoras, fax o cualquier dispositivo por el que pueda salir
información de nuestra intranet debe estar situado en un lugar de acceso restringido.
c) Restringir el acceso al tipo de usuarios que recogen los documentos después de imprimir,
y tomar en cuenta si este usuario está autorizado.
91
3.2.1.7.- Recuperación para protección de datos
La recuperación de datos a nivel lógico es la siguiente.
El servidor de comunicaciones– aplicaciones, puede presentar fallas lógicas en los siguientes
ambientes:
a) En caso de que el sistema operativo funcione correctamente pero al momento de abrir el
internet la aplicación web de la institución no funciona hacer lo siguiente:
a. Se debe verificar que la salida al internet este configurada correctamente ,verificar que
las direcciones IP estén correctos al igual las direcciones de:
http://www.alejandrochavez.edu.ec
b. En caso de que el problema sea de la base de datos MYSQL hacer lo siguiente:
b) Verificar que los servicios de mysql estén iniciados.
c) Verificar que se encuentre bien la base de datos o realizar una restauración del último
backup sacado.
d) Si la falencia es grave como por ejemplo error en el sitio web con respecto a que falten
componentes o algunas extensiones del sistema de configuración e instalación es
necesario reinstalar y subir el backup de recuperación del sitio web de la institución
educativay de las bases de datos.
92
e) En caso de que no funcione todo el sistema operativo del servidor de comunicaciones o en
caso de que este contagiado con algún virus o gusano es necesario restaurar al estado
original el sistema operativo.
f) En caso de que el administrador no tenga a disposición la imagen del disco y el problema
es el más crítico en este caso no funciona nada, debe hacer lo siguiente.
a) Instalar y configurar los servicios de la IP del servidor, la conexión de internet,
levantar los servicios.
b) Colocar al servidor dentro del dominio alejandrochavez.
c) Subir los usuarios y grupos de usuarios.
d) Configurar el DNS: con respecto al alias del servidor de comunicaciones y
configurar las zonas de búsqueda directa e inversa.
e) Crear un sitio web.
f) Instalar Appeserver 2,5 o superior.
g) Subir el backup de recuperación del sitio web de la base de dato.
h) Reiniciar el servidor.
93
94
3.2.2.- FASE DE ELABORACIÓN
3.3.2.1.- Documentación de casos de uso en un 100%
3.3.2.1.1.- Caso de uso secretaria
Fig. 21 – Caso de uso secretaria desarrollado en 100% - Fuente:Autores
95
Usuario
Secretaria.
Actividades Excepciones
Área
informativa
En la aplicación la secretaria puede acceder al área
informativa donde puede informarse acerca de la
institución, personal institucional, docentes, historia,
galería de la institución, galería de las actividades de
la institución, contactos, actividades y mapa de sitio.
Ninguna
Período
lectivo –
matrícula
Dentro de link de período lectivo puede ingresar a
matrículas a verificar los datos de la matrícula de un
alumno específico y modificar los datos o brindar un
certificado además de que puede anular la matrícula
luego de realizar una confirmación de querer
eliminarla.
Solo puede
entregar esta
información
cuando exista un
período lectivo
vigente.
Período
lectivo –
estudiantes
En el link de estudiantes la secretaria puede registrar
los datos personales de un estudiante para
posteriormente poder matricularle sea en modalidad
ordinaria o extraordinaria de acuerdo a la agenda del
período lectivo de igual manera puede modificar los
datos o verificar la información y en caso de existir
alguna novedad puede modificarle la información,
eliminar o imprimir el registro de los datos
personales del alumno.
Realiza este
proceso durante un
período vigente de
matrículas
ordinarias o
extraordinarias.
Período
En el link docentes la secretaria puede registrar los
Datos personales del docente y el sistema en forma
Solo puede acceder
a estos procesos
96
lectivo –
docentes
inmediata le asigna el usuario y la contraseña que
puede ser cambiadas posteriormente además puede
modificar la secretaria los datos personales de los
docentes y actualizarlos, también puede ver la
información de los docentes e imprimirla,
modificarla o eliminar dichos datos, igualmente
puede la secretaria revisar la información de los
cargos institucionales y crear o modificar los cargos
del personal que labora en la institución.
cuando existe un
período de año
lectivo vigente.
Período
lectivo –
Especialidad
En el link de las especialidades la secretaria puede
registrar nuevas especialidades que se creen en la
institución y en caso de que exista algún error se
puede modificar los datos de la especialidad.
Se accede a estos
procesos cuando
existe un año
lectivo vigente.
Período
lectivo –
materias
La secretaria está en la potestad de crear las
materias en caso de que realice una revisión y no
exista la materia que se necesite.
Se accede a estos
procesos cuando
existe un año
lectivo vigente.
Ayuda Ayuda para que pueda salir de cualquier duda sobre
el funcionamiento del área del sistema a la cual
seaccede.
Ninguno
Reportes –
agenda
En el reporte de agenda la secretaria puede
encontrar información sobre inicio y finalización del
año lectivo, las fechas de matrículas ordinarias y
extraordinarias, las fechas de registro de reporte de
Solo puede acceder
a estos procesos
cuando existe un
período de año
97
primer, segundo y tercer trimestre también de
supletorios y las notas mínimas con las que puede
pasar el año lectivo un estudiante tanto de primaria
como de secundaria.
lectivo vigente.
Reportes –
Distributivo
general
En el reporte de distributivo general la secretaria
puede revisar un reporte e imprimirlo, ahí se
especifica los cursos con los paralelos y
especialidades vigentes durante el período lectivo,
también el usuario puede revisar que materias se
está dictando en cada curso.
Se accede a estos
procesos cuando
existe un año
lectivo vigente.
Reportes –
distributivo
de materias
En el reporte de distributivo de materias la secretaria
puede revisar las materias que se dictan en la
institución durante el período lectivo, también puede
consultar sobre qué materias se dictan en cada curso
o tiene a su cargo un docente.
Se accede a estos
procesos cuando
existe un año
lectivo vigente.
Reportes –
Estadísticos
La secretaria puede revisar la información acerca de
las matrículas o de cuántos niños existen en la
institución y cuantas niñas.
Se accede a estos
procesos cuando
existe un año
lectivo vigente.
Reportes de
personal
Aquí la secretaria puede obtener información sobre
el listado de los docentes que laboran en la
institución y de forma individual puede obtener
certificados de honorabilidad de trabajo y de datos
personales para imprimirlos posteriormente hacerles
Solo puede acceder
a estos procesos
cuando existe un
año lectivo
vigente.
98
firmar con la directora de la institución.
Reportes –
estudiantes
La secretaria puede obtener una nómina de
estudiantes de acuerdo al curso seleccionado en
orden de sexo y alfabéticamente, puede también dar
certificados de matrículas que posteriormente deben
ser firmados por el rectorado, certificado de datos
personales y además puede consultar las notas
individuales de los estudiantes en cada trimestre con
los reportes de conducta y las faltas respectivas.
Solo puede acceder
a estos procesos
cuando existe un
período de año
lectivo vigente.
Reportes –
notas
La secretaria puede acceder a los reportes de notas y
escoger qué tipo de reportes desea imprimir como
son:
a) Notas por cursos y materia.
b) Notas por curso (aprovechamiento).
c) Notas por curso (conducta).
d) Notas por curso (notas y conducta).
e) Notas del alumno individual.
Solo puede acceder
a estos procesos
cuando existe un
período de año
lectivo vigente.
Site map La secretaria puede acceder al mapa del sitio para
ubicarse en qué lugar del sistema se encuentra lo
que necesita y acceder de esta manera más rápido.
Ninguno.
Tabla. 6 – Explicación de las acciones del caso de uso secretaria – Fuente: Autores
99
3.3.2.1.2.- Caso de usodocente
Fig. 22 - Caso de uso docente desarrollado en 100% - Fuente: Autores
Usuario
Docentes
Actividades Excepciones
Área
informativa
En la aplicación el docente puede acceder al área
informativa y consultar sobre el personal institucional,
docentes, historia, galería de la institución, galería de
las actividades de la institución, contactos, actividades
y mapa de sitio.
Ninguna.
Sistemas –
solicitar
modificación
de notas
Los docentes que laboran en la institución pueden
solicitar que se modifiquen una o varias notas de los
alumnos cuando hayan detectado algún error en el
registro de notas anteriores.
Habilitado solo
en un período
vigente.
Sistema –
facilita
El docente previo presentación de documentos debe
ser registrado en el sistema para que pueda tener su
Habilitado
soloen un
100
información
personal
cuenta y usuario por lo que debe facilitar información
personal.
período vigente.
Sistema –
solicitar
actualización
El docente puede solicitar que le actualicen su
información ya sea dirección, teléfono,
educacióncuando crea necesario o pertinente.
Habilitado
soloen un
período vigente.
Online –
registrar
notas
El docente cuando ya cuenta el usuario y clave
asignada puede realizar el registro de notas del
alumnado escogiendo las materias y el curso
correspondiente.
Solo cuando se
encuentra en el
período de notas
habilitado.
Online –
modificar
clave y
usuario
El docente puede modificar su clave y usuario cada
quince días o en un tiempo posterior.
Acceso
habilitado
durante un año
lectivo vigente.
Online –
ayuda
El docente puede consultar la ayuda cada vez que crea
necesario.
Ninguno.
Tabla. 7 – Explicación de las acciones de caso de uso docente – Fuente: Autores
101
3.3.2.1.3.- Caso de uso Estudiantes
Fig. 23 – Caso de uso alumno desarrollado en 100% - Fuente: Autores
Usuario
Estudiantes.
Actividades Excepciones
Área
informativa
En la aplicación el docente puede acceder a área
informativa donde puede informarse acerca de la
institución, personal institucional, docentes, historia,
galería de la institución, galería de las actividades de la
institución, contactos, actividades y mapa de sitio.
Ninguno.
Online –
revisar reportes
Los alumnos pueden visitar el sitio web desde cualquier
computador digitar la clave y tendrá información sobre
sus reportes trimestrales.
Se le asigna
la clave luego
del registro.
Sistema –
solicitar
certificados
Los alumnos pueden solicitar a los usuarios
correspondientes certificados de datos personales,
matrículas, asistencia.
Encontrarse
registrado y
en estado
102
activo.
Sistema –
actualizar
información
Los alumnos pueden solicitar a la secretaria que les
actualicen información personal como domicilio, teléfono,
representantes.
Ninguno.
Sistema –
Facilitar
información
Los alumnos deben de facilitar información personal
verdadera junto a una persona adulta.
Ninguno.
Ayuda Los estudiantes están en la posibilidad de revisar cada vez
que crean necesario la ayuda.
Ninguno.
Tabla. 8 – Explicación de las acciones de caso de uso estudiantes – Fuente: Autores
103
3.3.2.1.4.- Caso de uso Administrador
Fig. 24 –Caso de uso administrador desarrollado en 100% - Fuente: Autores
104
Usuario
Administrador
Actividades Excepciones
Área
informativa
En la aplicación el administrador puede acceder al
área informativa y conocer acerca de la institución,
personal institucional, docentes, historia, galería de
la institución, galería de las actividades de la
institución, contactos, actividades y mapa de sitio
informativo.
Ninguna.
Período lectivo
–matrícula
Dentro de link de período lectivo puede ingresar a
matrículas a verificar los datos de la matrícula de
un alumno específico y modificar los datos o
brindar un certificado además de que puede anular
la matrícula luego de realizar una confirmación de
querer eliminarla.
Período lectivo
vigente.
Período lectivo
– estudiantes
En el link de estudiantes el administrador puede
registrar los datos personales de un estudiante para
posteriormente matricularle sea ordinaria o
extraordinaria de acuerdo a la agenda del período
lectivo además puede escoger solo el paralelo los
otros datos el sistema los asigna sin necesidad de
que el usuario haga algo, de igual manera puede
modificar los datos o verificar la información y en
caso de existir alguna novedad, eliminar la
información luego de realizar una confirmación o
Período lectivo
vigente.
105
imprimir el registro de los datos personales del
alumno.
Período lectivo
– docentes
En el link docentes el administrador puede
registrar los datos personales y el sistema en forma
inmediata le asigna el usuario y la contraseña las
cuales puede ser cambiadas posteriormente por los
docente además puede modificar los datos
personales de los docentes y de esta manera
actualizarlos, también puede ver la información de
los docentes e imprimirla, modificarla o eliminar
dichos datos, igualmente puede revisar la
información de los cargos institucionales y crear o
modificar los cargos del personal que labora en la
institución.
Período lectivo
vigente.
Período lectivo
– Especialidad
En el link de las especialidades el administrador
puede registrar nuevas especialidades que se creen
en la institución y en caso de que exista algún error
se puede modificar los datos de las especialidades
nuevas o anteriores.
Período lectivo
vigente.
Período lectivo
– materias
El administrador está en la potestad de crear las
materias que considere necesarias cuando realice
una revisión y no exista la materia que se necesite
además de que puede realizar las modificaciones
pertinentes en las materias existentes.
Período lectivo
vigente.
106
Período lectivo
– agenda
El administrador puede registrar y modificar las
fechas de inicio de matriculación si aún no
empieza o las de finalización si aún no termina
pero deben ser menor a la fecha de inicio de
matrículas extraordinarias y la misma ideología se
mantiene para el registro de reportes del primer,
segundo, tercer trimestre o supletorios también se
registra o modifica el puntaje con el cual debe
aprobar el año lectivo tanto el alumnado de la
secundaria como de la primaria. También puede
crear período de año lectivo cuando no existe un
período vigente.
Ninguno.
Período lectivo
– distributivo
cursos.
Al administrador puede acceder a esta opción y
crear los cursos / grados necesarios especificando
el grado o curso la especialidad y el paralelo para
cada período lectivo debe realizar este proceso y lo
hace desde que inicia el período lectivo y hasta
antes de iniciar las matrículas extraordinarias.
Ninguno.
Período lectivo
– distributivo
materias.
El administrador haciendo uso del registro de un
período lectivo, de los docentes y de las materias
puede registrar el distributivo de materias que
consta en seleccionar un docente y la materia que
dicha persona va a dictar y el curso en el que va a
dar clases este proceso lo va a realizar desde que
Ninguno.
107
inicia el período lectivo y hasta antes de registrar
la primer parcial de los estudiantes. También
puede consultar las materias asignadas a los
docentes y el curso donde dará clases y en caso
necesario puede modificar las asignaciones
realizadas.
Administración
– usuarios y
claves.
El administrador al acceder a esta función puede
crear usuarios como secretaria, docente, rector, en
cuanto al usuario rector solo se puede crear uno
solo pero puede haber varios usuarios de tipo
docente o secretaria.
Ninguno.
Administración
– notas.
El administrador al acceder al área de notas debe
registrar el usuario y la clave del docente que va a
registrar los reportes luego debe escoger la materia
y el curso además debe seleccionar sobre que
desea realizar entre las opciones de registran notas
de todo el grupo o modificar las notas de los
alumnos, puede hacer este proceso en el primer
semestre hasta antes de iniciar el registro de la
segunda parcial y de esta antes de iniciar el
registro de la tercer parcial y puede realizar los
procesos antes de iniciar supletorios los cuales
pueden ser cambiados o registrados hasta antes de
terminar el período lectivo.
Ninguno.
108
Administración
– base de datos.
El administrador puede sacar respaldos (Backups)
de la base de datos con la prioridad que establezca
conveniente y de igual manera con el proceso
restaurar los respaldos sacados cuando necesite por
lo que se considera necesario que la prioridad debe
darse en forma constante.
Ninguno.
Ayuda Ayuda para que pueda salir de cualquier duda
sobre el funcionamiento del área del sistema al
cual puede acceder el administrador.
Ninguno.
Reportes –
agenda
En el reporte de agenda el administrador puede
encontrar información sobre inicio y finalización
del año lectivo, las fechas de matrículas ordinarias
y extraordinarias, las fechas de registro de reporte
de primer, segundo y tercer trimestre también
supletorios y las notas mínimas con las que puede
pasar el año lectivo un estudiante tanto de primaria
como de secundaria.
Puede acceder a
estos procesos
cuando existe un
período vigente.
Reportes –
Distributivo
general
En el reporte de distributivo general el
administrador puede revisar un reporte e
imprimirlo y revisar que materias se está dictando
en cada curso.
Período lectivo
vigente.
Reportes –
distributivo de
materias
En el reporte de distributivo de materias el
administrador puede revisar las materias que se
dictan en la institución durante el período lectivo,
Período lectivo
vigente.
109
también puede consultar sobre qué materias se
dictan en un curso específico o acerca de las
materias a cargo un docente y en qué curso.
Reportes –
Estadísticos
El administrador puede revisar la información
acerca de las matrículas o de cuántos niños existen
en la institución y cuantas niñas.
Período lectivo
vigente.
Reportes de
personal
Aquí el administrador puede obtener información
sobre el listado de los docentes que laboran en la
institución y de forma individual puede obtener
certificados de honorabilidad de trabajo y de datos
personales todos estos puede imprimirlos
posteriormente hacerles firmar con el rectorado.
Período lectivo
vigente.
Reportes –
estudiantes
El administrador puede obtener una nómina de
estudiantes de acuerdo al curso seleccionado en
orden de sexo y alfabéticamente, puede también
dar certificados de matrículas que posteriormente
deben ser firmados por el rectorado, certificado de
datos personales y además puede consultar las
notas individuales de los estudiantes en cada
trimestre con los reportes de conducta y las faltas
respectivas.
Período lectivo
vigente.
110
Reportes –
notas
El administrador puede acceder a los reportes de
notas y escoger qué tipo de reportes desea
imprimir como son:
f) Notas por cursos y materia (notas, faltas,
conducta).
g) Notas por curso (aprovechamiento).
h) Notas por curso (conducta).
i) Notas por curso(notas y conducta)
j) Notas del alumno individual.
Período lectivo
vigente y
posterior al
registro dela
primera parcial.
Site Map El administrador puede acceder al mapa del sitio
para ubicarse en qué lugar del sistema se encuentra
y en qué lugar del sistema se encuentra lo que
necesita y acceder de esta manera más rápido.
Ninguno
Tabla. 9 – Explicación de las acciones de caso de uso administrador – Fuente: Autores
111
3.3.2.1.5.- Caso de uso rector
Fig. 25 - Caso de uso rector desarrollado en 100% - Fuente: Autores
112
Usuario rector Actividades Excepciones
Área
informativa
En la aplicación el rector puede acceder al área
informativa y conocer acerca de la institución,
personal institucional, docentes, historia, galería de
la institución, galería de las actividades de la
institución, contactos, actividades y mapa de sitio
informativo.
Ninguna.
Período lectivo
- matrícula
En esta área puede verificar los datos de la
matrícula de un alumno específico y modificar los
datos o brindar un certificado además de que
puede anular la matrícula luego de realizar una
confirmación de querer eliminarla.
Período lectivo
vigente.
Período lectivo
– estudiantes
En el área de estudiantes el rector puede registrar
los datos personales de un estudiante para
posteriormente matricularle sea en modalidad
ordinaria o extraordinaria de acuerdo a la agenda
del período lectivo además puede escoger solo el
paralelo los otros datos el sistema los asigna sin
necesidad de que el usuario haga algo, puede
modificar los datos o verificar la información
además de eliminar la información luego de
realizar una confirmación o imprimir el registro de
los datos personales del alumno.
Período lectivo
vigente.
Período lectivo En el área docentes el rector puede registrar los Período lectivo
113
- docentes datos personales y el sistema inmediatamente le
asigna el usuario y la contraseña las cuales puede
ser cambiadas posteriormente además puede
modificar os datos personales de los docentes y de
esta manera actualizarlos, también puede ver la
información e imprimirla, modificarla o eliminar
dichos datos, igualmente puede el rector revisar la
información de los cargos institucionales y crear o
modificar los cargos del personal que labora en la
institución.
vigente.
Período lectivo
– Especialidad
En el área de especialidades el rector puede
registrar nuevas especialidades que se creen en la
institución y en caso de que exista algún error se
puede modificar los datos.
Período lectivo
vigente.
Período lectivo
– materias
El rector está en la potestad de crear las materias
que considere necesarias cuando realice una
revisión y no exista la materia que se necesite
además de que puede realizar las modificaciones
pertinentes en las materias existentes.
Período lectivo
vigente.
Período lectivo
– distributivo
cursos.
Al rector puede acceder a esta opción y crear los
cursos y grados necesarios especificando el grado
o curso la especialidad y el paralelo para cada
período lectivo desde el inicio del período hasta
antes de iniciar las matrículas extraordinarias.
Desde el inicio
del período
lectivo hasta
antes de las
matrículas.extrao
114
rdinarias.
Período lectivo
– distributivo
materias.
El rector teniendo datos de los docentes y de las
materias puede registrar el distributivo de materias
que consta en seleccionar un docente y la materia
que va a dictar y el curso en el que va a dar clases
este proceso se realizar desde que inicia el período
lectivo y hasta antes de registrar la primer parcial
de los estudiantes. También puede consultar que
docentes tienen asignadas materias y el que cursos
donde dan clases y en caso necesario puede
modificar las asignaciones realizadas.
Período lectivo
activo desde
inicio de
matrículas hasta
antes del registro
del primer
parcial.
Administración
– notas.
El rector al acceder al área de notas debe
identificar el usuario y la clave del docente que va
a registrar los reportes luego escoger la materia y
el curso y la opción registrar notas o modificar las
notas de los alumnos, puede hacer este proceso en
el primer trimestre hasta antes de iniciar el registro
de la segunda parcial y de esta antes de iniciar el
registro de la tercer parcial y puede realizar los
procesos antes de iniciar supletorios los cuales
pueden ser cambiados o registrados hasta antes de
terminar el período lectivo.
Ninguno.
Ayuda Permite salir de cualquier duda sobre el
funcionamiento del área del sistema al cual puede
Ninguno.
115
acceder el rector.
Reportes –
agenda
En el reporte de agenda el rector puede encontrar
información sobre inicio y finalización del año
lectivo, las fechas de matrículas ordinarias y
extraordinarias, las fechas de registro de reporte de
primer, segundo y tercer trimestre también de
supletorios y las notas mínimas con las que puede
pasar el año lectivo un estudiante tanto de primaria
como de secundaria.
Período lectivo
vigente.
Reportes –
Distributivo
general
En el reporte de distributivo general el rectorpuede
revisar un reporte e imprimirlo informándose
acerca de los cursos, paralelos y especialidades
vigentes durante el período lectivo, también el
usuario puede revisar que materias que se está
dictando en cada curso.
Período de año
lectivo vigente.
Reportes –
distributivo de
materias
En el reporte de distributivo de materias el rector
puede revisar las materias que se dictan en la
institución durante el período lectivo, también
puede consultar sobre qué materias se dictan en un
curso específico o acerca de qué materias está
hecho cargo un docente y en qué curso.
Período de año
lectivo vigente.
Reportes –
Estadísticos
La secretaria puede revisar la información acerca
de las matrículas o de cuántos niños existen en la
institución y cuantas niñas.
Período lectivo
vigente.
116
Reportes de
personal
Aquí la secretaria puede obtener información sobre
el listado de los docentes que laboran en la
institución y de forma individual puede obtener
certificados de honorabilidad de trabajo y de datos
personales todos estos puede imprimirlos
posteriormente hacerles firmar con la directora de
la institución.
Período lectivo
vigente.
Reportes –
estudiantes
El rector puede obtener una nómina de estudiantes
de acuerdo al curso seleccionado en orden de sexo
y alfabéticamente, puede dar certificados de
matrículas que posteriormente deben ser firmados
por el rectorado, certificado de datos personales y
además puede consultar las notas individuales de
los estudiantes en cada trimestre con los reportes
de conducta y las faltas respectivas.
Período de año
lectivo vigente.
Reportes –
notas
El rector puede acceder a los reportes de notas y
escoger qué tipo de reportes desea imprimir como
son:
k) Notas por cursos y materia. (notas, faltas,
conducta).
l) Notas por curso (aprovechamiento).
m) Notas por curso (conducta).
n) Notas por curso(notas y conducta).
o) Notas del alumno individual.
Período lectivo
vigente y haber
registrado la
primera parcial.
117
Site Map La secretaria puede acceder al mapa del sitio para
ubicarse en qué lugar del sistema se encuentra, lo
que necesita y acceder de esta manera más rápido.
Ninguno.
Tabla. 10 – Explicación de las acciones de caso de uso rector – Fuente: Autores
3.3.2.1.6.- Caso de uso usuario
Fig. 26 – Caso de uso visitante desarrollado en 100% - Fuente: Autores
Usuario
visitante
Actividades Excepciones
Nuestra
institución
En la aplicación el visitante al dirigirse hacia
nuestra institución puede escoger informarse
acerca de la historia de la institución o conocer al
personal de la unidad educativa y al personal.
Ninguna.
118
Galería El visitante podrá ver fotografías acerca de las
actividades que realizan en la unidad educativa y
también acerca de las instalaciones y la
administración de la institución.
Ninguna.
Contáctanos Aquí se encuentra información para poder
contactarse con el personal de la institución como
teléfonos, horarios de atención, correos
electrónicos.
Ninguna.
Actividades El visitante podrá revisar esta página y conocer
que actividades se desarrollaran durante el año
lectivo.
Ninguna.
Mapa de sitio El visitante encontrara información acerca de los
diferentes enlaces a los que puede acceder en caso
de que no encuentre lo que necesita fácilmente.
Ninguna.
Tabla. 11 – Explicación de las acciones de caso de uso visitante – Fuente: Autores
3.3.2.2.- Plan de desarrollo del sistema
3.3.2.2.1.- Introducción
El plan de desarrollo del software es un documento preparado para ser incluido en la
propuesta elaborada, para el desarrollo de la aplicación web de matriculación, control de
distributivos, agendas y registro de notas, del alumnado de la institución como respuesta al
plan del proyecto integrador.
119
El proyecto ha sido desarrollado por Magaly Morillo y Verónica Panamá, basado en una
metodología de RationalUnifiedProcess(RUP) en la que se procederá a cumplir con las 4 fases
que marca la metodología.
La metodología RUP se enfoca al desarrollo propuesto para la aplicación web, de acuerdo a
las características del proyecto, seleccionando los roles de los participantes que se dieron a
conocer anteriormente, las actividades a realizar y los documentos y archivos que serán
generados.
3.3.2.2.2.- Propósito
El propósito del este plan de desarrollo de software es proporcionar la información necesaria
para quienes manipulen el sistema puedan tener total control del mismo. Especificando el
enfoque de desarrollo del software.
Los usuarios del plan de desarrollo del software son las desarrolladoras del proyecto dieron
seguimiento al avance e implantación de la aplicación web y realizaron reuniones
permanentes de trabajo para satisfacer los requerimientos establecidos en la parte de análisis y
acorde a las restricciones y herramientas que se estuvieron utilizando en el desarrollo del
sistema web.
120
3.3.2.2.3.- Alcance
El plan de desarrollo de la aplicación web describe el plan general y global usado para el
desarrollo e implantación de la aplicación web de matriculación, control de agenda,
distributivo y registro de notas del alumnado de la Unidad Educativa Bilingüe “Alejandro
Chávez”.
Durante el proceso de desarrollo en el artefacto documento de visión se definen las
características del producto a desarrollar, lo cual constituye la base para la planificación de las
iteraciones. En cada una de las fases se describe en forma individual los planes de cada
iteración. Para el plan de desarrollo de la aplicación, nos hemos basado en la captura de
requisitos por medio del stakeholder, representante de la institución para hacer una estimación
aproximada, una vez comenzado el proyecto y durante la fase de inicio se generará la primera
versión del artefacto documento de visión, el cual se utilizará para refinar este documento.
Posteriormente, el avance del proyecto y el seguimiento en cada una de las iteraciones
ocasionará el ajuste de este documento produciendo nuevas versiones actualizadas.
3.3.2.2.4.- Resumen
Después de esta introducción, el resto del documento está organizado en las siguientes
secciones:
121
a) Vista general del proyecto.- Proporciona una descripción del propósito, alcance y
objetivos del proyecto, estableciendo los artefactos que serán producidos y utilizados
durante el proyecto.
b) Organización del Proyecto.- Describe la estructura organizacional del equipo de
desarrollo.
c) Gestión del Proceso.- Explica los costos y planificación estimada, define las fases e hitos
del proyecto y describe cómo se realizará su seguimiento.
3.3.2.2.5.- Vista general del proyecto
La información que a continuación se incluye ha sido extraída de aplicar investigación
científica (observación, encuesta), además de diferentes reuniones que se han celebrado con
los stakeholders de la institución.
La institución lleva a cabo una educación para estudiantes que inician sus estudios infantiles,
primarios y secundarios que buscan culminar su educación básica y posteriormente el
bachillerato con una duración de 10 años de básica y 3 de bachillerato preparándose
diariamente.
La entrada en un sector educacional competitivo como el que se encuentra inmersa la
institución conllevará una previsible adaptación a los nuevos sistemas de información
(aplicación web) y a la evolución tecnológica. Por ello, la institución considera necesario el
desarrollo de un nuevo sistema de gestión de matriculación, Agenda, distributivo así como
también el registro de notas en la base de datos que recogen datos tanto de docentes, alumnos,
122
materias, cursos, agenda y demás información y presentara los respectivos reportes, etc., por
tanto los alumnos demandan una gestión más rápida, automática y segura de los procesos
anteriormente mencionadas.
El proyecto proporciona una propuesta para el desarrollo de todos los procesos implicados en
la aplicación web. Estos procesos se pueden diferenciar de la siguiente forma:
a) Período lectivo.- Se debe registrar la fecha de inicio y de finalización del período lectivo
el cual debe de tener un lapso de entre 8 a 11 meses y es posible realizar dicho proceso
cuando no exista un período vigente de ser así solo se puede realizar modificaciones a dichas
fechas.
b) Agenda.- Tomando en cuenta las fechas de inicio y finalización de período lectivo se debe
de registrar las fechas de inicio y finalización de matrículas ordinarias, las fechas de inicio y
finalización de registro de reportes del primer trimestre y entre la fecha de finalización de
matrículas ordinarias y el inicio de registro del primer reporte se le considera matrículas
extraordinarias, también se debe registrar las fechas de inicio y finalización del registro de
parciales de segundo, tercer trimestre y supletorios, también debe registrar el puntaje con el
cual los alumnos de la primaria pueden pasar el año lectivo y el puntaje de los alumnos de la
secundaria para pasar el año y el supletorio.
c) Distributivo de cursos.- Cada período lectivo se debe de crear un distributivo de curso
donde se debe de seleccionar el curso o grado la especialidad y el paralelo para saber qué años
va a existir durante el año lectivo dependiendo de la cantidad de alumnado que se tenga
previsto atender.
123
d) Docentes.- Los docentes y demás personal que laboran en la institución deben registrarse
y posterior al registro de datos personales puede escoger el tipo de cargo que desarrolla en la
institución y en caso de que no exista el cargo que necesita puedan crear el cargo además de
cuando se termina el registro el sistema automáticamente le asigna un usuario y una
contraseña para el registro de parciales de las materias que enseñe, la clave y usuario puede
ser cambiados posteriormente.
e) Materias.-Se debe revisar las materias existentes en el sistema y en caso de no existir
alguna se la puede crear o si hay alguna que este mal se la puede modificar.
f) Distributivo materias.- En cada período lectivo se debe crear la distribución de materias
que consiste en registrar el distributivo escogiendo una materia, el docente y el curso en el que
se va a dictar las materias, este proceso se debe realizar para cada materia de cada curso.
g) Alumnos.-Se debe de registrar los datos personales de cada alumno pero antes se debe
verificar que dicho alumno no se encuentre registrado en el sistema.
h) Matriculación.- Cada período lectivo al iniciar se debe de matricular al alumno para lo
cual debe de estar registrado los datos personales. Existen tres tipos de matrículas para el
alumnado de primer grado el cual no haya tenido matrículas anteriores donde el sistema le
asigna todos los datos y a lo único que puede escoger quien le registra es el paralelo, el otro
tipo de matrículas es cuando un alumno nuevo se le va a matricular a un curso que no sea
primero de básica para lo que debe de registrar la promoción de la institución de la que
proviene y con esos datos el sistema le permite matricular asignando toda la información y
permitiendo escoger solo el paralelo y cuando es para cuarto curso la matrícula también
124
permite escoger la especialidad y el tercer tipo de matrícula es para los alumnos que ya han
estado en la institución anteriormente para lo que el sistema se basa en los datos anteriores y
el asigna la matrícula dando opción a que escoja solo el paralelo al cual se le asignara y en
caso de que sea para cuarto curso también puede escoger la especialidad.
i) Notas.- Los docentes al contar con una cuenta debe de ingresar al sistema mientras se
encuentre vigente el registro de reportes de cada trimestre y supletorio y el sistema
automáticamente va a darle a escoger el curso y la materia que va a registrar la parcial
incluyendo las faltas y conducta y en caso de no alcanzar a registrar las notas durante el
período o de detectar algún error puede solicitar ingreso o modificación a administración
quien podrá realizar el proceso pertinente.
j) Reportes.- Se puede tener información de alumnos, matriculas, distributivos, nóminas y
demás datos así como certificaciones para alumnos y docentes.
3.3.2.2.6.- Suposiciones y restricciones
Las suposiciones y restricciones respecto de la aplicación web, que se derivan directamente de
las entrevistas con los stakeholders de la unidad educativa son:
a) Sistemas seguros: protección de información, seguridad en las trasmisiones de datos, etc.
b) Gestión de flujos de trabajo, seguridad de transacciones (protección de datos) e
intercambio de información.
125
c) La automatización de la gestión interna del registro debe ajustarse a la legislación vigente
y considerar la previsión de la nueva legislación referente a los dominios de tercer nivel.
d) El proyecto debe diseñarse como una aplicación independiente, debe ofrecer flexibilidad
en los diferentes cambios.
e) Como es natural, la lista de suposiciones y restricciones se incrementará durante el
desarrollo del proyecto, particularmente una vez establecido el artefacto “Documento de
visión”.
3.3.2.2.7.- Entregables del proyecto
A continuación se indican y describen cada uno de los artefactos que serán generados y
utilizados por el proyecto y que constituyen los entregables.
Es preciso destacar que de acuerdo a la filosofía de la metodología RUP (y de todo el proceso
iterativo e incremental), todos los artefactos son objeto de modificaciones a lo largo del
proceso de desarrollo, con lo cual, sólo al término del proceso podríamos tener una versión
definitiva y completa de cada uno de ellos.
a) Plan de desarrollo del software.- Es el presente documento.
b) Modelo de casos de uso del negocio.- Es un modelo de las funciones de negocio vistas
desde la perspectiva de los actores externos, permite situar al sistema en el contexto
organizacional haciendo énfasis en los objetivos. Este modelo se representa con un
diagrama de casos de uso usando estereotipos específicos para este modelo.
126
c) Modelo de casos de uso.- El modelo de casos de uso presenta las funciones del sistema y
los actores que hacen uso de ellas. Se representa mediante diagramas de casos de uso.
d) Visión.- Este documento define la visión del producto desde la perspectiva del
cliente,especificando las necesidades y características del producto. Constituye una base
de acuerdo a los requisitos del sistema.
e) Especificaciones de casos de uso.-Para los casos de uso que lo requieran (cuya
funcionalidad no sea evidente o que no baste con una simple descripción narrativa) se
realiza una descripción detallada utilizando una plantilla de documento, donde se
incluyen: caso de uso, actividad y restricciones asociados.
f) Prototipos de interfaces de usuario.-Se trata de prototipos que permiten al usuario hacerse
una idea más o menos precisa de las interfaces que proveerá el sistema y así, conseguir
retroalimentación de su parte respecto a los requisitos del sistema.
g) Modelo de análisis y diseño.- Este modelo se establece en análisis del diseño sin
necesidad de la implementación de acuerdo a los avances del proyecto en cada una de las
fases.
h) Modelo de datos.- Previendo que la persistencia de la información del sistema será
soportada por una base de datos relacional, este modelo describe la representación lógica
de los datos persistentes, de acuerdo con el enfoque para el modelado relacional de datos.
127
i) Modelo de implementación.- Este modelo es una versión preliminar al final de la fase de
elaboración, posteriormente se obtiene ya el producto final.
j) Casos de prueba.- Cada prueba es especificada mediante un documento que establece las
condiciones de ejecución, las entradas de la prueba, y los resultados esperados. Estos
casos de prueba son aplicados como pruebas de regresión en cada iteración.
k) Solicitud de cambio.- Los cambios propuestos para los artefactos se formalizan mediante
este documento. se hace un seguimiento de los defectos detectados, solicitud de mejoras o
cambios en los requisitos del producto. Así se provee un registro de decisiones de
cambios, de su evaluación e impacto, y se asegura que éstos sean conocidos por el equipo
de desarrollo.
l) Lista de riesgos.- Este documento incluye una lista de los riesgos conocidos y vigentes en
el proyecto, que están documentados en orden decreciente de importancia y con acciones
específicas de contingencia o para su mitigación.
m) Manual de instalación.- Este documento incluye las instrucciones para realizar la
instalación del producto.
n) Material de apoyo al usuario final.- Corresponde a un conjunto de documentos y
facilidades de uso del sistema, incluyendo: guías de usuario, guías de operación y sistema
de ayuda en línea.
128
o) Producto.- Los ficheros del producto empaquetados y almacenadas en un CD con los
mecanismos apropiados para facilitar su instalación. El producto, a partir de la primera
iteración de la fase de construcción es desarrollado incremental e iterativamente,
obteniéndose una nueva release al final de cada iteración.
3.3.2.2.8.- Participantes en el proyecto
La Metodología RUP asigna responsabilidades a los integrantes del proyecto, es un modelo
basado en módulos que trabajan conjuntamente y paralelamente. Por limitaciones del personal
fue desarrollado por 2 personas, considerando las fases de inicio, elaboración, construcción y
transición estuvo formado por las siguientes responsabilidades:
3.3.2.2.9.- Roles y responsabilidades.
Jefes del proyecto, analistas del sistema y programadoras. Morillo Magaly, y Verónica
Panamá con experiencia en metodologías de desarrollo y notación en UML y el proceso de
desarrollo RUP, además con experiencia en el entorno de desarrollo del proyecto
(programación).
3.3.2.3.- Plan de las fases
El desarrollo se llevó a cabo en base a fases con una o más iteraciones en cada una de ellas.
La siguiente tabla muestra una la distribución de tiempos y el número de iteraciones de cada
fase. En esta sección se presenta la organización en fases e iteraciones y el calendario del
proyecto.
129
Fase Nro. Iteraciones Duración
Fase de Inicio 1 3 meses y 2 semanas
Fase de Elaboración 1 2 mes y 3 semanas
Fase de Construcción 1 9 meses
Fase de Transición - 2 meses
Tabla. 12– fases de la metodología RUP – Fuente: Autores
Los hitos que marcan el final de cada fase se describen en la siguiente tabla.
DESCRIPCIÓN HITO
Fase de Inicio En esta fase se desarrolló los requisitos del producto desde la
perspectiva del usuario, los cuales serán establecidos en el artefacto
visión. Los principales casos de uso fueron identificados y
desarrollados en un 20%. Además se realizó el respectivo análisis de
riegos y la mitigación de los mismos. La aceptación del cliente/
usuario del artefacto visión y el plan de desarrollo marcan el final de
esta fase.
Fase de
Elaboración
En esta fase se analizan los requisitos se desarrolla un prototipo de
arquitectura. Se desarrolló los casos de uso al 100% y fueron
documentados.
Diseño de base de datos, diseño de entradas y diseño de salidas y
además revisión de módulos desarrollos.
Al final de esta fase, todos los casos de uso correspondientes a
130
requisitos que fueron implementados en la primera reléase de la fase
de construcción deben estar analizados y diseñados.
Fase de
Construcción
Durante la fase de construcción se implementa todos los casos de uso
codificados, refinando el modelo de análisis / diseño. Se aplicaron
pruebas unitarias en su mayoría y validaciones. El hito que marca el
fin de esta fase es la versión de la release 1.0, con la capacidad
operacional parcial del producto que se haya considerado como
crítica, lista para ser entregada a los usuarios para pruebas beta.
Fase de
Transición
En esta fase se preparó 1 reléase para distribución, asegurando una
implantación y cambio del sistema previo de manera adecuada,
incluyendo el entrenamiento de los usuarios. El hito que marca el fin
de esta fase incluye, la capacitación a los usuarios y la entrega de toda
la documentación del proyecto con los manuales de técnico y de
usuario.
Tabla. 13– Descripción de los ahítos de las fases – Fuente: Autores
3.3.2.3.1.- Calendario del proyecto
A continuación se presenta un calendario de las principales tareas del proyecto incluyendo las
fases de inicio y elaboración, construcción y transición. Como se ha comentado, el proceso
iterativo e incremental de RUP está caracterizado por la realización en paralelo de todas las
disciplinas de desarrollo a lo largo del proyecto.
131
3.3.2.3.2- Gráfico del calendario del proyecto
Fig. 27– Calendario del sistema– Fuente:
ftp://ftp.itmerida.mx/Mario/Gestion%20de%20Proyectos%20de%20Software/Documentacion
%20RUP/Tesis%20Aplicacion%20RUP.pdf – Autor: Mario Itmerida
3.3.2.3.3.- Diseño del sistema
En esa etapa se decide el conjunto de estructuras que representarán los datos necesarios, la
arquitectura del sistema y el detalle procedimental del programa.
Para la creación y desarrollo del sistema el estudiante y/o profesional debe utilizar de manera
práctica, objetiva y original todas las herramientas para el manejo adecuado de las bases de
datos, datos de entrada y/o salida y sus elementos.
132
Para el desarrollo del sistema se utilizó la metodología RUP, partiendo de los casos de uso
desarrollados y especificaciones que el usuario final ha requerido.
Con un enfoque constructivista se desarrolló bajo los requerimientos y necesidades de la
institución educativa.
3.3.2.3.4.-Diseño del sistema en módulos
Se detalla en forma general el producto final, aquí se muestra el módulo del sistema que
presenta las características más relevantes.
133
Fig. 28– Módulos del sistema – Fuente: Autores
134
3.3.2.4.-Plan de base de datos
3.3.2.4.1.- Diseño de la base de datos
a) Base de Datos.- Una base de datos es una colección completa de datos, tablas, vistas,
consultas, etc. También es un conjunto de tablas relacionadas o archivos que tratan sobre
una misma entidad.
b) Tabla.- Es un archivo que contiene un conjunto de datos, es decir un conjunto de registros
que se almacenan en la base de datos.
Las tablas son los principales archivos con los cuales se trabaja en una base de datos. En
el diseño de la base de datos de la aplicación web se manejó el paquete de MySQL y el
IDE de desarrollo fue el php. La creación de las tablas en mysql es muy sencilla y al
mismo tiempo son fáciles de utilizar, aquí se presenta las tablas utilizada en el diseño y
desarrollo de la Aplicación Web.
c) Registro.- Es por lo que se conforma una tabla, donde se registrar los títulos de los datos
de cada información que se guarda en la base de datos.
3.3.2.4.2.- Descripción de la base de datos
La base de datos para la aplicación web se encuentra desarrollada en mysql, esta base está
conformada por dieciséis tablas las cuales se encuentran relacionadas y contienen toda la
135
información necesaria para la realización de todos y cada uno de los procesos además de que
ayuda a que no haya redundancia de datos.
136
3.3.2.4.3.- Diseño físico
Fig. 29 – Diseño físico de la base de datos – Fuente: Autores
137
3.3.2.4.4.-Diseño relacional
Fig. 30 – Diseño relacional de la base de datos – Fuente: Autores
138
3.3.2.6.5.-Diseño lógico
Fig. 31 – Diseño lógico de la base de datos - Fuente: Autores
139
3.3.2.6.6.- Explicación de las tablas
a) AGENDA.- Esta tabla permite registrar las fechas de inicio y finalización de las
diferentes actividades como son:
a. Matriculación ordinaria.
b. Matriculación extraordinaria.
c. Registro de notas para primer, segundo y tercer trimestre tanto de conducta como de
aprovechamiento.
d. Registro de supletorios.
e. Registro de notas mínimas y máximas para pases de año y supletorios.
b) ALUMNOS.-La tabla permite registrar los datos personales de los estudiantes.
c) ANIO_LEC.- Esta tabla permite registrar la fecha de inicio y finalización del período del
año lectivo y un control de estado para conocer qué año lectivo se encuentra vigente.
d) CARGO_PER.- Permite registrar los diferentes cargos que pueden tener las personas que
laboran en la institución.
e) CURSO.- La tabla permite registrar los diferentes cursos que tiene la institución.
f) DOCENTES.- Permite registrar los datos personales de los docentes pertenecientes a la
institución.
140
g) DISTRIBUTIVO.- Esta tabla permite registrar las diferentes materias que va a dictar los
docentes en cada curso durante el período lectivo.
h) ESPECIALIDAD.- La tabla permite registrar las diferentes especialidades que tiene la
institución y asignarle un código.
i) GENERAL.- Esta tabla permite registrar cada año lectivo los años con los respectivos
paralelos y especialidades con los que se va a trabajar y a matricular a los estudiantes
durante el presente período.
j) MATERIA.- Esta tabla permite registrar las distintas materias que se dicta en la
institución y asignarles un código.
k) MATRÍCULA.- La tabla permite matricular a los estudiantes en los diferentes cursos y
de acuerdo a las fechas registrar si son ordinarias o extraordinarias.
l) NOTAS.- La tabla permite registrar las notas de todos los trimestres de cada materia para
cada estudiante en cada año lectivo.
m) PARALELO.- La tabla permite registrar paralelos y para cada uno de ellos asignarle un
código.
n) PROMOCION_ALU.- La tabla permite registrar la promoción de los alumnos cuando
estos vienen de otras instituciones educativas para conocer las notas con las que llegan y
del año que provienen.
141
o) USUARIO.- Permite registrar el usuario y la contraseña de los docentes.
p) TIPO USUARIO.-Permite registrar los diferentes tipos de usuarios que van usar el
sistemas para de acuerdo a esto puedan tener los privilegios correspondientes.
3.3.2.5.- Diseño de entradas y salidas
ON-LINE
En esta página se encuentran las opciones online: Registro de notas para los docentes y
consulta de notas para los señores estudiantes, se tiene acceso si es un alumno matriculado, así
como también si el docente se encuentra registrado y con un distributivo de cursos y materias
para el año lectivo actual. El docente debe registrar su clave y usuario y escoger el curso y la
materia a la cual va a registrar los aportes de los alumnos.
142
Fig. 32 – Registro de docentes – Fuente: Autores
Fig. 33 – Selección de materia y cursos para registro de parciales – Fuente: Autores
143
Fig. 34 – Registro de parciales de los alumnos – Fuente: Autores
3.3.2.5.2.- Sistema administrador
Una vez que el usuario es autentificado con el nombre de usuario y contraseña se inicia una
sesión para este usuario dependiendo del tipo, se asigna los privilegios de administración para
que tenga acceso completo al sistema.
144
Fig. 35 – Identificación de usuario – Fuente: Autores
Esta es la página principal de los procesos académicos de la aplicación web, que detalla una
parte informativa de institución educativa, el período lectivo, el menú académico y la sesión
del usuario (docente/administrador). Esta es una sesión iniciada como administrador.
El período lectivo, es la información que se muestra desde la base de datos, según el inicio y
finalización del año lectivo.
Sesión del usuario, es la información en la cual se especifica el nombre de usuario y el
privilegio, y basándose en estos parámetros se presenta el menú de opciones.
También se muestra el link cerrar sesión, el cual permite al usuario autentificado terminar una
sesión abierta por seguridad.
Fig. 36 – Cierre de sesión del sistema – Fuente: Autores
145
Año Lectivo
Este es el formulario para crear un nuevo año lectivo, se establece 2 parámetros, la fecha de
inicio del año lectivo y la fecha de finalización del mismo y el estado es por defecto vigente,
ya que una vez que se crea un nuevo año lectivo se cierra el año lectivo anterior y con esto
también se cierran los procesos académicos relacionados a ese año.
Fig. 37 – Registro del año lectivo – Fuente: Autores
Períodos de Matrículas:
Se debe especificar las fechas de inicio y finalización las cuales deben ser posteriores a la
fecha de inicio del año lectivo, también estas fechas pueden ser modificadas en fechas
posteriores siempre y cuando la fecha de inicio o finalización no haya pasado.
146
Con el propósito de completar la agenda académica, se entra a ésta página, la cual muestra las
fechas de registros de notas de los diferentes trimestres:
Fig. 38 – Registro del período de matrículas ordinarias - Fuente: Autores
Períodos de notas:
PRIMER TRIMESTRE.- Aquí se especifica la fecha de inicio y fecha de finalización del
período de ingreso de calificaciones correspondientes al primer trimestre, una sumatoria de
calificaciones trimestrales mínima para pasar el año lectivo (escuela y colegio) y una
sumatoria de calificaciones trimestrales mínima para rendir exámenes supletorios (solo para
colegio).
SEGUNDO TRIMESTRE.- Aquí se especifica: La fecha de inicio y fecha de finalización del
período de ingreso de calificaciones correspondientes al segundo trimestre. Recuerde que este
147
formulario se habilita solo y solo si, si existe un período de registro de calificaciones para el
primer trimestre.
TERCER TRIMESTRE.- Aquí se especifica: La fecha de inicio y fecha de finalización del
período de ingreso de calificaciones correspondientes al tercer trimestre, recuerde que este
formulario se habilita solo y solo si, si existe un período de registro de calificaciones para el
primer y segundo trimestre y lógicamente deberán estar dentro de un período lectivo.
FECHAS DE SUPLETORIOS.- Aquí se especifica: La fecha de inicio y fecha de finalización
del período de supletorios, se habilita solo si existe un período de registro de calificaciones
para el primer, segundo y tercer trimestre y deberán estar dentro de un período lectivo.
Fig. 39 – Registro del período de parciales y pases de año – Fuente: Autores
148
Matrículas:
Fig. 40 – Búsqueda inteligente de matrículas – Fuente: Autores
Fig. 41 – Reporte certificado de matrícula – Fuente: Autores
149
Esta página permite realizar una búsqueda inteligente de los estudiantes registrados, con solo
digitar nombres, apellidos o número de cédula se despliega un listado de estudiantes
existentes, permitiendo retirar al alumno mediante la respectiva confirmación o mostrar datos
de la matrícula e imprimiendo un certificado de dicha matrícula previo indicar los datos de
matrícula.
Estudiantes:
Fig. 42 – Búsqueda y registro de estudiantes – Fuente: Autores
Esta página permite realizar una búsqueda inteligente de los estudiantes antes de crear un
nuevo registro, con solo digitar nombres, apellidos, número de cédula o una sílaba referente a
150
estos se despliega un listado de estudiantes existentes para que no haya duplicación de
información y si el estudiante no se encuentre registrado o es un estudiante nuevo se realiza el
registro respectivo además de este proceso también se puede modificar la información del
alumno o indicar los datos respectivos del alumno y puede imprimir un certificado con los
datos personales del alumno.
Docentes:
Fig. 43 – Búsqueda y registro de docentes – Fuente: Autores
151
Esta página permite realizar una búsqueda inteligente de los docentes registrados y en caso de
que se encuentre información se puede modificar la información o consultarla y
posteriormente imprimirla o si el caso lo requiere puede eliminar, además puede crear un
nuevo registro tomando en cuenta los distinto parámetros facilitando la información
obligatoria como nombres, apellidos, cédula, cargo institucional y si no encuentra el cargo
necesario puede registrar el cargo en este formulario o modificar algún cargo ya existente.
Distributivo cursos:
Fig. 44 – Registro y consulta del distributivo de cursos – Fuente: Autores
152
Se debe registrar en cada año lectivo la distribución de cursos especificando la especialidad el
curso y el paralelo sea para el ciclo básico o para el ciclo diversificado, además se puede
consultar la distribución de cursos ya registrados y si hay algún error poder modificarlo o
imprimir la lista de la distribución de cursos del año lectivo además esta distribución se la
puede registrar desde el inicio del período lectivo y hasta antes del registro de la primer
parcial.
Distribución de docentes:
Fig. 45 – Registro y consulta del distributivo de docentes – Fuente: Autores
153
En el presente formulario se registra la distribución de materias que va a ser dictado por los
docentes en los diferentes cursos además para confirmar las materias que ya se encuentran
registradas en los cursos se puede consultar y posterior a esto se puede modificar la
distribución.
Reportes de agenda
Fig. 46 – Reportes del cronograma de la agenda– Fuente: Autores
154
Reportes de distributivo
Fig. 47 – Reportes de distribución de materias a los docentes – Fuente: Autores
155
Reporte de personal
Fig. 48 – Certificado del personal que labora en la institución – Fuente: Autores
Reporte de nómina de alumnos
156
Fig. 49 – Reportes de la nómina de estudiantes de un curso – Fuente: Autores
Reporte de parciales de notas
Fig. 50 – Reporte de parciales de notas individuales– Fuente: Autores
Usuarios y claves
157
Fig. 51 – Registro de usuarios del sistema – Fuente: Autores
Base de datos
Fig. 52 – Restauración y respaldo de la base de datos – Fuente: Autores
158
3.2.3.- FASE DE CONSTRUCCIÓN
3.2.3.1.- Conexión con la base de datos.
<?php
Functionconectarse(){
if(!($link=mysql_connect("localhost","root","root"))){
echo "Error en la conexión con el servidor de la Base de Datos";
exit();}
if(!mysql_select_db("bdacademico",$link)){
echo "Error en la conexión con la Base de Datos 'académico'";
exit();}
return $link;
}
?>
Se crea la función de conexión a la base de datos indicando la localización, el usuario y la
contraseña luego se asigna el nombre de la base de datos a la que se quiere conectar.
3.2.3.2.-Llamada a la función sesión
<?
session_start();
include ("seguridad_sesion.php");
159
?>
Inicia la sesión para poder controlar el tipo de usuario y hace la llamada a la sesión.
3.2.3.3.-Llamada a una función
<?phpinclude("../informativa/informacion_title.php");?>
Llama a la función título de la página.
3.2.3.4.-Selección de datos de la agenda
$sqln= mysql_query("SELECT *from agenda, anio_lec where cod_al = cod_al_agenda and
estado_al = 'activo'",$link);
if ($row = mysql_fetch_array($sqln))
{
$fechai1 = $row["fecha_ini_n1"]; $fechaf1 = $row["fecha_fin_n1"]; $fechai2 =
$row["fecha_ini_n2"];
$fechaf2 = $row["fecha_fin_n2"]; $fechai3 = $row["fecha_ini_n3"]; $fechaf3 =
$row["fecha_fin_n3"];
$fechas1 = $row["fecha_ini_supl"]; $fechas2 = $row["fecha_fin_supl"]; $minpase =
$row["notaminpase"];
$minsupl = $row["notaminsupl"]; $nesc = $row["nota_esc"];
}
Permite seleccionar datos de la tabla agenda siempre y cuando el código de la tabla año
lectivo sea igual al campoanio_lectivo_agenda y el estado del año lectivo se encuentre en
160
activo también permite asignar estos datos a variables para poder realizar procesos
posteriores.
3.2.3.5.- Registro de datos.
for($co=1;$co<$txtc;$co++)
{
$n1 = $_GET['txtn1'.$cont]; $n2 = $_GET['txtn2'.$cont]; $n3 = $_GET['txtn3'.$cont];
$fj1 = $_GET['txtfj1'.$cont]; $fj2 = $_GET['txtfj2'.$cont]; $fj3 = $_GET['txtfj3'.$cont];
$fi1 = $_GET['txtfi1'.$cont]; $fi2 = $_GET['txtfi2'.$cont]; $fi3 = $_GET['txtfi3'.$cont];
$co1 = $_GET['txtco1'.$cont]; $co2 = $_GET['txtco2'.$cont]; $co3 = $_GET['txtco3'.$cont];
$ca = $_GET['cod'.$cont]; $distr = $_REQUEST['txtdis'];
Ingresa a un bucle que inicia en uno hasta llegar al límite mientras se cumpla esta condición
se asigna a variables los datos de las cajas de texto del formulario anterior.
if(($fechasis>=$fechai1) && ($fechasis<=$fechaf1))
{
if(($n1!="") && ($fj1!="") && ($fi1!="") && ($co1!="") &&($ca!="") && ($distr!=""))
{
$sqlp = mysql_query("select cod_nota from notas, alumno, distributivo where
cod_distributivo_n='$distr' and cod_alumno_n ='$ca' and cod_alumno = cod_alumno_n and
cod_distributivo = cod_distributivo_n",$link);
161
Evalúa si la fecha del sistema es mayor igual que la fecha de inicio de ingreso de registro de
un trimestre y si la fecha del sistema es menor que la fecha de finalización de la agenda y si
esta pregunta se cumple evalúa que los datos que se vayan a registrar no sean nulos luego de
haber comprobado esta segunda pregunta evalúa que los datos no se encuentren ya registrados
para que no haya una duplicación de los mismos.
if ($row = mysql_fetch_array($sqlp))
{$valor = $row["cod_nota"]; }
if($valor=="")
{
$sql="INSERTINTO notas VALUES('' , '$ca', '$distr', '$n1', 'NULL', 'NULL', '$co1',
'NULL', 'NULL', '$fi1', 'NULL', 'NULL', '$fj1', 'NULL', 'NULL', 'NULL', 'NULL')";
$cont++;
$Ins= mysql_query($sql);
Si se comprueba que los datos no se encuentran registrados se realiza el registro caso
contrario se informa que los datos ya se encuentran registrados y no se vuelve a registrar
dicha información.
3.2.3.6.-Formulario
<form name="formregnot" action="administracion_guardarnotas.php" method="post">
echo"<table>";
echo"<tr>";
162
echo'<td><input name = txtprofesorreadonly = true type = text size = 15 value =
"'.mysql_result($Ins,0,'apellidos_d').'"></td></tr></table>’;
</form>
Se crea un formulario asignándole un nombre, el método y el formulario al cual se va a dirigir
dentro de este se crea una tabla y dentro de la tabla una caja de texto a la que se le asigna un
nombre un tamaño un valor extraído de la base de datos el que no puede ser modificado.
Luego de esto se cierra la tabla y el formulario.
3.2.3.7. -Script
<script type="text/javascript" src="calendario/mootools.js"></script>
<script type="text/javascript" src="calendario/DatePicker.js"></script>
<script type="text/javascript" src="alumno_funciones.js"></script>
Permite hacer la llamada a los archivos javascript para poder hacer uso del calendario y a las
funciones de alumno para poder realizar la búsqueda inteligente de los alumnos.
3.2.3.8.-Función validar fechas
function validar(formestudiante)
{
varemailRegEx = /^((\w|\.){2,}@)\w{3,}\.\w{2,4}((\.(\w{2}))?)?$/
Convierte a fecha la cadena ingresada desde el formulario
163
varfecha_naci=convertirAFecha(formestudiante.txtfecha_nac.value);
varfechasis= new Date();
var fecha_naci2=fecha_naci.getFullYear();
Permite almacenar el año de la fecha de nacimiento.
var fechasis2= fechasis.getFullYear();
Permite almacenar el año actual.
var resultado= fechasis2-fecha_naci2;
if(formestudiante.txtced.value!="")
{ if(validarcedula()==false) {
formestudiante.txtced.focus();
mostrar("EL número de cedula registrado es invalido.");
return false; }
}
Valida que la caja de texto de la cedula no se encuentre vacía luego que el valor registrado de
la cedula sea válido.
if(formestudiante.txtnombres.value == "") {
formestudiante.txtnombres.focus();
mostrar("El campo 'Nombres' es obligatorio!");
return false; }
164
Valida que la caja de texto del nombre no se encuentre vacía y en caso de estar vacía envía un
mensaje de que es obligatorio ingresar esta información.
if(formestudiante.txtapellidos.value == "") {
formestudiante.txtapellidos.focus();
mostrar("El campo 'Apellidos' es obligatorio!");
return false; }
Valida que la caja de texto del apellido no se encuentre vacía y en caso de estar vacía envía un
mensaje de que es obligatorio ingresar esta información.
if(formestudiante.txtfecha_nac.value == "" || resultado<4) {
formestudiante.txtfecha_nac.focus();
mostrar("El campo 'Fecha de Nacimiento' es obligatorio. El Estudiante debe ser
mayor de 4 años.");
return false; }
Valida que la caja de texto de la fecha de nacimiento no se encuentre vacía y en caso de estar
vacía envía un mensaje de que es obligatorio ingresar esta información además de que la
información debe ser menor a 4 años de la fecha actual.
3.2.3.9.-Lista de opciones
<selectname="txtocupadre" id="txtocupadre" title="Seleccione ocupación del padre.">
<option>Comerciante</option><option>Agricultor</option>
165
<option>Jornalero</option><option>Policía</option>
<option>Albañil</option><option>Chofer</option>
<option>Otros</option>
Creación de lista de opciones asignándole un nombre y las respectivas opciones de la lista.
3.2.3.10.-Modificación de datos.
$link=conectarse();
$codf=$_REQUEST['cod'];
$sql="update matrícula, general, alumno, anio_lec, agenda set estado_mat='retirado',
estado_a='ausente' wherecod_alumno_mat='$codf' AND cod_alumno=cod_alumno_mat AND
estado_al='activo' AND cod_al=cod_al_gen AND cod_al=cod_al_agenda AND
cod_general=cod_general_mat;";
if(($Ins= mysql_query($sql)))
{
echo ” modificación realizada exitosamente ”;
}
Hace la llamada a la función conectarse con la base de datos y luego de eso una actualización
de los datos especificando los campos.
3.2.3.11.- Búsqueda del alumno
functionalum_busqueda(){
166
resul = document.getElementById('resultado_busqueda');
bus=document.frm_alumbusqueda.nombres_cc.value;
ajax=nuevoAjax();
ajax.open("POST", "alumno_busqueda.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
resul.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("busqueda="+bus)
}
Realiza la llamada a formulario alumbusqueda y a la caja de texto donde se ingresa los datos
del alumno y luego llama al formulario de búsqueda del alumno y se repite el proceso cada
vez que se aumenta una letra en la caja de texto de referencia para la búsqueda.
3.2.3.12.-Cambio de mayúsculas a minúsculas
echo"<tr><tdalign=right> Nombres(*)</td>
<td><input type=textname=txtnombres id=txtnombresmaxlength=25 size=35
value='".$row[1]."' title='Ingrese los nombres del estudiante, máximo 30 caracteres, es
obligatorio.' onKeyUp = 'formmody.txtnombres.value =
formmody.txtnombres.value.toUpperCase();' /></td></tr>";
167
Teniendo previamente creada una tabla se crea una celda en la cual se pone el título de
nombre y en la celda continua se crea una caja de texto donde se puede asignar hasta 25
caracteres y tiene un tamaño de 35 pixeles, título de la caja de texto y la función UpperCase()
que hace que cuando se ingrese la información en letras minúsculas automáticamente el
sistema las transforme en mayúsculas.
3.2.3.13.-Función control de usuarios.
<?
include("conexBD.php");
$conn = conectarse();
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT *FROM user WHERE user='$login' and password='$pass'";
Valores de las variables para comparar si no están vacías.
$usuario=$_REQUEST['login'];
$clave=$_REQUEST['pass'];
Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
Confirmamos si el usuario y contraseña es válido, si la ejecución de la sentencia SQL nos da
algún resultado y si existe esa combinación usuario/contraseña.
168
if((mysql_num_rows($rs)!=0) && ($usuario!="" && $clave!="")){
usuario y contraseña válidos y se defino una sesión y guardo datos
session_start();
$_SESSION['usuario']=$usuario;
session_register("autentificado");
$autentificado="SI";
Defino la sesión que demuestra que el usuario está autorizado
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
Defino la fecha y hora de inicio de sesión en formato aaaa-mm-ddhh:mm:ss
header ("Location: index1.php?user=$usuario");
}
Else
{
Si no existe le mando otra vez a la portada
header("Location: ../acceso_user.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
?>
3.2.3.14.-Función usuarios con perfil
<?
169
session_start();
include("conexionbd.php");// mysql ----
$conn = conectarse();
Se inicia la sesión y se realiza la conexión con la base de datos
$usuario=$_REQUEST['txtlogin'];
$clave=$_REQUEST['txtclave'];
$clave_md5=md5($clave);
Se asigna a las variables los valores y a la clave se le pone MD5
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario, tipo_usuariowherecod_tipousuario_u=cod_tipousuario
and usuario_u='$usuario' and clave_u='$clave_md5'";
$result=mysql_query($ssql, $conn);
if($row = mysql_fetch_array($result))
{
Defino la sesión que demuestra que el usuario está autorizado
$perfil=$row['nombre_tipo_u'];
Se verifica si el usuario es un tipo administrador y se le permite logearse asignarle el detalle
de la sesión y del usuario y la fecha y hora de ingreso
if($perfil=='ADMINISTRADOR')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "ADMINISTRADOR";
170
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
echo "<script>location.href='index1.php' </script>";
}
else
{
Si el usuario no es tipo administrador se verifica si es director y se realiza el mismo proceso
que del administrador de acuerdo a las características correspondientes.
if($perfil=='DIRECTOR')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "DIRECTOR";
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
echo "<script>location.href='index1.php' </script>";
}
else
{
if($perfil=='SECRETARIA')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "SECRETARIA";
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
<script>location.href='index1.php' </script>";
171
}}} }
else
{echo "<script>location.href='autentificacion_usuario.php?errorusuario=si' </script>";}
Se evalúa los diferentes tipos de usuarios y si los datos registrados no son válidos se envía un
mensaje de error y que vuelva a ingresar la información de claves y usuarios.
3.2.3.15.-Función usuario docente
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT *FROM docente WHERE apellidos_d='$login' and cod_docente='$pass'";
Valores de las variables para comparar si no están vacias.
$usuario=$_REQUEST['login'];
$clave=$_REQUEST['pass'];
Ejecución de la sentencia
$rs = mysql_query($ssql,$conn);
Verificación si el usuario y contraseña es válido, si la ejecución de la sentencia SQL nos da
algún resultado y si existe esa combinación de usuario y contraseña
if((mysql_num_rows($rs)!=0) && ($usuario!="" && $clave!="")){
Usuario y contraseña válidos, definición de la sesión y guardo datos
session_start();
session_register("autentificado");
$autentificado="SI";
Definición de la sesión que demuestra que el usuario está autorizado
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
172
Definición de la fecha y hora de inicio de sesión en formato aaaa-mm-ddhh:mm:ss
header ("Location: ../registrar_datosnotas.php?login=$usuario,clave=$clave");
}else {
Si no existe le mando otra vez a la portada
header("Location: ../online_registrarnotas.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
Resultado de la conexión y se cierra la conexión con la base de datos.
3.2.3.16.-Menú
<a href="aniolectivo.php" title="Permite ingresar a los datos de los elementos del año lectivo
vigente">Año Lectivo</a><imgsrc = "imagen/usuarios.gif"alt = "ueach3" width =
"18" height ="18"/><linea>|</linea>
<a href="alumno.php" title="Permite registrar datos de los alumnos nuevos, consultar y
matricular estudiantes">Estudiantes</a><imgsrc="imagen/estudiantes.gif" alt="ueach3"
width="18" height="18"/><linea> | </linea>
<a href="docente.php" title="Permite registrar datos de los Docentes y personal y
consultar">Docentes</a><imgsrc="imagen/docentes.gif" alt="ueach4" width="18" height =
"18"/><linea> | </linea>
<a href="distributivocurso.php" title="Permite consultar, registrar los cursos, paralelos y
especialidades del año lectivo vigente">Distributivo-Cursos</a><imgsrc =
"imagen/cursos.gif" alt = "ueach4" width = "18" height = "18"/><linea> | </linea>
173
<a href="distributivodocente.php"title="Permite consultar, registrar las materias que dictaran
los docentes en el año lectivo vigente">Distributivo-Docentes</a><imgsrc =
"imagen/distributivo.gif" alt="ueach4" width="18" height="18"/><linea> | </linea>
<a href="reportes.php" title="Permite consultar información registrada en el sistema">
Reportes </a><imgsrc="imagen/reporte.gif" alt="ueach3" width="18" height="18" /><linea>
| </linea>
<a href="administracion.php" title="Permite sacar/insertar respaldo de la base de datos,
control de notas y usuarios ">Administración y Seguridad</a>
Se crea un hipervínculo hacia el link del menú correspondiente asignándole la imagen
respectiva a cada uno de los links.
3.2.3.17.-Funciónimprimir
<script type="text/javascript">
Functionimprimir(){
window.print();
}
</script>
Permite abrir la pantalla de impresión para ver las páginas que se va a imprimir y el tipo de
impresión.
174
3.2.3.18.-Función popUp
FunctionpopUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "',
'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=815,height=900
');");
}
Permite abrir el vínculo en una nueva ventana del explorador web
3.2.3.19.-Validación pases de años
if($fechasis> $fechaf3)
{ $sql2="update notas set observacion_n='aprobado' where nota1+nota2+nota3>='$apr' and
cod_distributivo_n = '$dis'";
$Ins2=mysql_query($sql2);
$sql3="update notas set observacion_n='reprobado' where nota1+nota2+nota3<'$rep' and
cod_distributivo_n='$dis'";
$Ins3=mysql_query($sql3);
$sql4="update notas set observacion_n='supletorio' where nota1+nota2+nota3>='$rep' and
nota1+nota2+nota3<'$apr' and cod_distributivo_n='$dis'";
$Ins4=mysql_query($sql4);
echo "<INPUT type = submit value = 'Retornar' >";}
175
Si se encuentra en un fecha superior a la del final del ingreso de la parcial del tercer trimestre
se calcula si los alumnos al sumar las 3 notas tienen un valor superior al del pase del año se
asigna en la observación aprobado si se encuentra con un valor menor al de pase de año y
mayor al de supletorio se pone en la observación supletorio y si el valor es menor al de
supletorio la observación es de reprueba.
3.2.3.20.-Función validar cedula
validarcedula = function()
{numero = document.getElementById('txtced').value;
var suma = 0; var residuo = 0; varpri = false;
var pub = false; varnat = false; varnumeroProvincias = 22;
var modulo = 11;
Se verifica que el campo no contenga letras
var ok=1;
for (i=0; i<numero.length&& ok==1 ; i++){
var n = parseInt(numero.charAt(i));
if (isNaN(n)) ok=0;
}
if (ok==0){
alert("NO PUEDE INGRESAR CARACTERES EN EL CAMPO");
return false;
}
176
Valida que el campo no tenga más de 10 dígitos
if (numero.length< 10 ){
alert('EL NUMERO DE CEDULA INGRESADO ES INVALIDO');
return false;
}
Los primeros dos dígitos corresponden al código de la provincia */
provincia = numero.substr(0,2);
if (provincia < 1 || provincia >numeroProvincias){
alert('EL CÓDIGO DE LA PROVINCIA (DOS PRIMEROS DÍGITOS) ES INVALIDO');
return false;
}
Aquí almacenamos los dígitos de la cedula en variables.
d1 =numero.substr(0,1); d2 = numero.substr(1,1);
d3 =numero.substr(2,1); d4 = numero.substr(3,1);
d5 =numero.substr(4,1); d6 = numero.substr(5,1);
d7 =numero.substr(6,1); d8 = numero.substr(7,1);
d9 =numero.substr(8,1); d10 = numero.substr(9,1);
Si el tercer digito es 9 para sociedades privadas y extranjeros 6 para sociedades públicas y
menor que 6 (0,1,2,3,4,5) para personas naturales
if (d3==7 || d3==8){
alert('EL TERCER DIGITO INGRESADO ES INVÁLIDO');
return false;
}
/* Solo para personas naturales (modulo 10) */
177
if (d3 < 6){
nat = true;
p1 = d1 * 2; if (p1 >= 10) p1 -= 9; p2 = d2 * 1; if (p2 >= 10) p2 -= 9;
p3 = d3 * 2; if (p3 >= 10) p3 -= 9; p4 = d4 * 1; if (p4 >= 10) p4 -= 9;
p5 = d5 * 2; if (p5 >= 10) p5 -= 9; p6 = d6 * 1; if (p6 >= 10) p6 -= 9;
p7 = d7 * 2; if (p7 >= 10) p7 -= 9; p8 = d8 * 1; if (p8 >= 10) p8 -= 9;
p9 = d9 * 2; if (p9 >= 10) p9 -= 9;
modulo = 10;
}
Solo para sociedades públicas (modulo 11) Aquí el digito verificador está en la posición 9, en
las otras 2 en la pos. 10
else if(d3 == 6){
pub = true;
p1 = d1 * 3; p2 = d2 * 2; p3 = d3 * 7; p4 = d4 * 6; p5 = d5 * 5;
p6 = d6 * 4; p7 = d7 * 3; p8 = d8 * 2; p9 = 0;
} Solo para entidades privadas (modulo 11)
else if(d3 == 9) {
pri = true;
p1 = d1 * 4; p2 = d2 * 3; p3 = d3 * 2; p4 = d4 * 7; p5 = d5 * 6;
p6 = d6 * 5; p7 = d7 * 4; p8 = d8 * 3; p9 = d9 * 2; }
suma = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9;
residuo = suma % modulo;
Si residuo=0, dig.ver.=0, caso contrario 10 – residuo
digitoVerificador = residuo==0 ? 0: modulo - residuo;
ahora comparamos el elemento de la posición 10 con el dig. ver.
178
if (pub==true){
if (digitoVerificador != d9){
alert('EL RUC PÚBLICO ES INCORRECTO');
return false;
}
El ruc de las empresas del sector publico terminan con 0001*/
if ( numero.substr(9,4) != '0001' ){
alert('EL RUC PÚBLICO DEBE TERMINAR CON 0001');
return false; }
}
else if(pri == true){
if (digitoVerificador != d10){
alert('EL RUC PRIVADO ES INCORRECTO');
return false }
if (numero.substr(10,3) != '001' ){
alert('EL RUC PRIVADO DEBE TERMINAR CON 001');
return false;
}
}
else if(nat == true){
if (digitoVerificador != d10){
alert('EL NUMERO DE CEDULA DE LA PERSONA ES INCORRECTO');
return false; }
if (numero.length>10 &&numero.substr(10,3) != '001' ){
alert('EL RUC DE LA PERSONA DEBE TERMINAR CON 001');
179
return false; }
}
return true;//verificar
}
3.2.3.21.-Función validar letras
function letras(e) { // 1
tecla = (document.all) ? e.keyCode :e.which; // 2
if (tecla==8) return true; // 3
patron =/[A-Za-z\s]/; // 4
te = String.fromCharCode(tecla); // 5
returnpatron.test(te); // 6
}
Valida que en un campo solo se ingresen letras sean mayúsculas o minúsculas pero no
símbolos ni números ni tampoco la letra ñ.
3.2.3.22.-Función validar números
functionnumeros(e) { // 1
tecla = (document.all) ? e.keyCode :e.which; // 2
if (tecla==8) return true; // 3
patron =/[0-9\s]/; // 4
te = String.fromCharCode(tecla); // 5
180
returnpatron.test(te); // 6
}
Valida que los datos ingresados en la caja de texto que llama a esta función sean solo números
y no acepta letras ni símbolos.
181
3.2.4.- FASE DE TRANSICIÓN
3.2.4.1.- Transferencia tecnológica
TRANSFERENCIA TECNOLÓGICA
Nombre: Magaly Morillo Verónica Panamá
TIEMPO JULIO
4 5 6 7 8 11 12 13
ACTIVIDADES ADMINISTRADORES 8:00 am a 10:00 Y 10:30 a 12:00
Instalación del appserver ||||||
Instalación de la base de datos mysql ||||||
Subir la aplicación al servidor web ||||||
Realizar prácticas |||||| |||||| ||||||
Sacar respaldos de la base de datos
||||||
Sacar respaldos de la aplicación web
|||||||
Sacar reporte del sistema |||||||
Registro de datos y agenda
|||||||
Subir información a la web |||||||
Modificar información de la web |||||||
Crear usuarios |||||||
Realizar prácticas ||||||| ||||||| |||||||
Registro de nuevas claves y usuarios |||||||
Ingreso, eliminación modificación de datos en la
|||||||
182
administración web
Revisión de datos ingresados en toda la
aplicación
|||||||
Realizar prácticas
|||||||
ACTIVIDADES ADMINISTRADORES,
DOCENTES Y ALUMNOS
Navegar y conocer la parte informativa de la
aplicación |||||||
Ingresar datos de cada docente e la web |||||||
Realizar prácticas ||||||| |||||||
Ingresar con claves de docentes y registrar notas |||||||
Conocer las notas de los alumnos |||||||
Consultar los datos de matrícula de los alumnos |||||||
Realizar prácticas ||||||| |||||||
Actualizar datos de alumno y docente |||||||
Registrarse como nuevo alumno |||||||
Realizar prácticas |||||||
Realizar prácticas de todo el curso y solucionar
dudas |||||||
Tabla. 14– Descripción de la transferencia tecnológica – Fuente: Autores
183
3.2.4.2.- Recursos de hardware
Los recursos de hardware mínimos para que la aplicación web funcione correctamente y no
tenga problemas en cuanto a lentitud o espacio en disco se han considerado los siguientes.
REQUISITOS DETALLE
Procesador Pentium III , 600 MHz o superior
Teclado PS/2 estándar
CD / DVD
Dispositivo de entrada USB
Mouse
RAM 2 GB
Disco duro 120 GB
Video 8Mb resolución 800*600
Tarjeta de RED Tarjeta de red Pci Inalámbrica Zonet Zew1603
Impresora
Tabla. 15 – Descripción de requisitos de hardware – Fuente: Autores
3.2.4.3.- Recursos de software
Los recursos de software mínimos para que la aplicación web funcione correctamente y no
tenga problemas en cuanto a lentitud o registro de la información se han considerado los
siguientes.
184
REQUISITOS DETALLE
Sistema operativo Windows XP o superior
Appserver 2.5.9
Winrar
Flash player 10.0 o superior
Mozilla Firefox 3.0
Adobe acrobat 9.0 o superior
Internet Explorer 6.0 superior
Tabla. 16 – Descripción de requisitos de software – Fuente: Autores
3.2.4.4.- Pruebas
Las pruebas se ejecutan para determinar lo rápido que realiza una tarea la aplicación web
sirven para validar y verificar la calidad como la escalabilidad, fiabilidad y uso de los
recursos, mejoran el rendimiento, englobándose en el diseño y la arquitectura, incluso la
codificación.
Demuestran que el sistema cumple los criterios necesarios o pueden medir que partes
provocan que el sistema rinda mal. Además de establecer niveles que mantenga un tiempo de
respuesta aceptable. Cuanto más se tarde en detectar un error de rendimiento, mayor es el
costo de la solución en las pruebas funcionales, y aún más en las pruebas de rendimiento.
185
3.2.4.4.1.- Pruebas de carga
Se realizó para verificar el comportamiento de la aplicación bajo una cantidad de peticiones
esperada y los tiempos de respuesta de todas las transacciones importantes como registro de
estudiantes, matrículas e ingreso de reportes de cada trimestre así como el cuello de botella en
la aplicación.
3.2.4.4.2.- Prueba de estrés
Se va doblando el número de usuarios que se suman a la aplicación y se ejecuta una prueba de
carga hasta que se satura. Esto se realiza para determinar la solidez de la aplicación.
3.2.4.4.3.- Prueba de estabilidad (soaktesting)
Se realizó para determinar si la aplicación soportar una carga esperada continuada. Y si hay
alguna fuga de memoria en la aplicación.
3.2.4.4.4.- Herramientas de pruebas de la aplicación
a) Herramienta filezila 3.5 cliente
186
Fig. 53 – Subir la aplicación web al internet– Fuente: Autores
Se establece un rango de calificaciones con su respectiva especificación:
En el informe de resultados de la aplicación web se encuentra un puntaje para cada una de las
pruebas, que se determina en una escala predefinida haciendo referencia a la clasificación que
la Aesoft (Asociación Ecuatoriana de Software).
TIEMPOS CALIFICACIÓN
1 Segundo – 5:59 minutos Excelente
6:00 minutos – 11:59 minutos Muy bueno
12:00 minutos – 17:59 minutos Bueno
18:00 minutos – 23:00 minutos Regular
Tabla. 17 – Calificación de tiempos de prueba – Fuente: Autores
187
DETALLE CARACTERÍSTICAS
Tiempo de eliminación de los archivos de la
aplicación desde el servidor web
5 minutos y 47 segundos para eliminar 637
archivos
Tiempo empleado en eliminar cada archivo 0.544 segundos
Tiempo de transferencia de la aplicación del
computador local al servidor web
13 minutos y 52 segundos para transferir 637
archivos
Tiempo de transferencia por archivo 1.306 segundos
Tabla. 18 – Resultado de la prueba con filezila – Fuente: Autores
Esta herramienta permite subir la aplicación web al internet y verificar el tiempo que toma el
traspaso de la aplicación de forma local a la web o la eliminación de la misma desde el
servidor además presenta información de cuantos archivos se han transferido y si existe
archivos con los que se ha tenido errores para transferir a la Web, en la tabla anterior indica
que el tiempo para eliminar la aplicación del servidor web tomo 5 minutos con 47 segundos lo
cual por archivo se demora 0.5 segundos y el tiempo para subir la aplicación desde al
servidor web se demora 13 minutos y 52 segundos lo que por archivo se demora transfiriendo
1.3 segundos.
Computadores
Las características de los computadores varían notablemente entre cada uno de ellos con lo
que se constatara cuáles son los tiempos de respuesta de la aplicación en cada uno al igual de
funcionamiento en la red.
188
Performance test 7
Performance test es un programa que luego de ser instalado realiza un estudio del computador
y presenta como resultado las características generales del computador al igual que las
características específicas y más detalladas.
b) Computador 1
Fig. 54 – Características del computador 1 – Fuente: performance test 7
189
DETALLE CARACTERÍSTICAS
Sistema Operativo Windows XP sp2
Procesador Intel Pentium IV de 2.8 GHz
Capacidad de memoria RAM 512 MB
Capacidad de disco duro Maxtor 6Y080L0 de 160 GB
Tarjeta de video Intel 82865G de 128 MB
Tarjeta madre (Mainboard) 0Y1057
Tabla. 19 – Características del computador 1 – Fuente: Autores
c) Computador 2
Fig. 55 – Características del computador 2 - Fuente: performance test 7
190
DETALLE CARACTERÍSTICAS
Sistema Operativo Windows 7 Ultimate
Procesador Intel Core i3 M350 2.27 GHz
Capacidad de memoria RAM 4 GB
Capacidad de disco duro ST9500420AS de 500 GB
Tarjeta de video Intel 82865G de 1722 MB
Tarjeta madre (Mainboard) 1425 HEWLETT
Tabla. 20 – Características del computador 2 – Fuente: Autores
d) Computador 3
Fig. 56 – Características del computador 3 - Fuente: performance test 7
191
DETALLE CARACTERÍSTICAS
Sistema Operativo Windows 7 Professional
Procesador Intel Corei3 M 330 @ 2.l3 GHz
Capacidad de Memoria RAM 3,00 GB
Capacidad en Disco Duro 300GB – Toshiba
Tarjeta de Video Intel Corporation 124l MB
Tarjeta Madre (Mainboard) Hewlett Packard 1423
Tabla. 21 – Características del computador 3 – Fuente: Autores
e) Computador 4
Fig. 57 – Características del computador 4 – Fuente: performance test 7
192
Detalle Característica
Sistema Operativo Windows Vista Ultimate
Procesador Intel 585@ 2.16 GHz
Capacidad de Memoria RAM 2,00 GB
Capacidad en Disco Duro 150GB – Toshiba
Tarjeta de Video Intel Corporation830 MB
Tarjeta Madre (Mainboard) Portable PC TOSHIBA
Tabla. 22 – Características del computador 4 – Fuente: Autores
Herramienta Ufaster
UFaster es un software de gran utilidad diseñados para acelerar servicios de conexión a
internet, tales como banda ancha y de marcado manual. Permite realizar pruebas de
velocidades visuales y numéricas excelentes para permitir al usuario ver antes y después las
mejoras del funcionamiento.
TIEMPOS CALIFICACIÓN
0:00 Segundos –14:59 segundos Excelente
15:00 segundos – 29:59 segundos Muy bueno
30:00 segundos – 44:59 segundos Bueno
45:00 segundos – 59:59 segundos Regular
Tabla. 23 – Tiempos de evaluación – Fuente: Autores
193
f) Prueba de carga en el computador 1 usando Ufaster
Fig. 58 – Tiempo de carga de la aplicación - Fuente: Ufaster
Fig. 59 – Tiempos de carga de páginas web– Fuente: Ufaster
194
g) Prueba de carga en el computador 3 usando Ufaster
Fig. 60 – Tiempo de carga de la aplicación – Fuente: Ufaster
Fig. 61 – Tiempos de carga de páginas web– Fuente: Ufaster
195
Descripción Resultados
Acceso a las Aplicación Web
(Navegador: Internet Explorer)
(Tiempo de espera)
1.51 a 12.20 segundos
Comparación de resultados Tiempo indefinido (si no se ejecuta el
reset del aplicativo)
Tabla. 24 – Resultados de acceso a la aplicación – Fuente: Autores
h) Prueba de carga en el computador 4 usando Ufaster
Fig. 62 – Tiempos de carga de la aplicación en la web– Fuente: Ufaster
196
Fig. 63 – Resumen de tiempos de carga de páginas web– Fuente: Ufaster
Descripción Resultados
Acceso a las Aplicación Web
(Navegador: Internet Explorer)
(Tiempo de espera)
3.058 a 8.14 segundos
Comparación de resultados Tiempo indefinido (si no se ejecuta el
reset del aplicativo)
Tabla. 25 – Resultados del tiempo de evaluación – Fuente: Autores
En las imágenes se muestran sitios webs a los cuales se ha tenido acceso con un estado TRUE
y sitios a los cuales no se ha tenido acceso en FALSE. Además de cuadro resumen del tiempo
que ha tomado acceder a las diferentes paginas el cual mide en segundos, el tiempo varía de
acuerdo al tamaño de la página, así como también al ancho de banda utilizado.
197
Herramienta WAPT 7.1
Es una herramienta de prueba de rendimiento, resistencia, carga y esfuerzo para sitios web y
aplicaciones basadas en la web. Utiliza una serie configurable de usuarios virtuales para
simular una carga de la vida real. El escenario de prueba puede ser detallado hasta parámetros
únicos para cada usuario individual. Se soportan pruebas de aplicaciones web dinámicas,
grabación y reproducción de peticiones HTTPS, y varios sistemas de autenticación,
demostrando gráficos descriptivos y reportes que permitieron ver y arreglar cuellos de botella
de desempeño.
a. Prueba de rendimiento
Fig. 64 – Cuadro estadístico de evaluación – Fuente: Wapt
198
DETALLE CARACTERÍSTICAS
Usuarios 20
Tiempo 1 minutos
Tiempo de respuesta en segundos Desde 26 segundos
Tiempo de respuesta con elementos 26,5 segundos
Tiempo de procesos 1 proceso en 25 segundos y 7 procesos en
un minuto
Tiempo de descarga 0
Sesiones por segundo 1
Paginas por segundo 2 páginas en 25 segundos
Visitas por segundo 1 visita a los 3 segundos y 62 en un
minuto
Usuarios activados 60 usuarios en un minuto
Tabla. 26 – Resultados de la prueba de rendimiento – Fuente: Autores
La imagen anterior y la tabla informan sobre los resultados de la prueba de rendimiento
realizada a la aplicación desde el sitio web, donde el programa evaluador determino que el
tiempo promedio en realizar cualquier de los procesos con 20 usuarios simultáneamente es de
24 segundos, considerando que el ancho de banda para transferencia de los datos es bajo, el
desarrollo de la aplicación es muy bueno.
199
b. Prueba de esfuerzo
Fig. 65 – Evaluación de la aplicación web usando Wapt– Fuente: Wapt
Fig. 66 – Resultado de la evaluación – Fuente: Wapt
200
DETALLE CARACTERÍSTICAS
Páginas encontradas 302
Páginas visitadas 10
Total de visitas 82
Tiempo de navegación 10 minutos
Tabla. 27 – Resultados de la aplicación usando Wapt– Fuente: Autores
Interpretación.- Los resultados de la imagen y la tabla representan el número de visitas que
se puede realizar en un determinado tiempo, probando el funcionamiento de cada una de las
páginas visitadas.
3.2.4.4.5.- Pruebas de validación de funciones (código fuente)
Este tipo de pruebas consistió en verificar la funcionalidad de funciones creadas para el
desarrollo de la aplicación web, mismas que fueron depuradas para optimizar procesos; así
como también se realizaron cambios en algunas funciones de acuerdo a las necesidades y
sugerencias de la rectora de la institución educativa y sugerencias de nuestro asesor de tesis.
a) Validación de contraseñas
Este tipo de prueba se puede observar en la página de acceso de usuarios registrados. Una vez
que el usuario es autentificado con el nombre de usuario y contraseña se inicia una sesión para
este usuario dependiendo del tipo, se asigna los privilegios de administración para éste
usuario (Si necesita más información haga clic en ayuda).
201
Se ha validado el campo contraseña, de esta forma se evita el acceso de usuarios no
permitidos, cuyo objetivo es inestabilizar la aplicación web.
Fig. 67 – Validación de contraseñas - Fuente: Autores
b) Validación de números
Esta función es utilizada para validar los números de cédulas de ciudadanía ecuatoriana de
estudiantes y docentes al momento del registro de datos, evitando el almacenamiento de
registro duplicados, números incorrectos e inexistentes.
En los formularios de registro y modificación de docentes y estudiantes se utiliza la función
validad cédula.
202
Fig. 68 – validación de números – Fuente: Autores
Suponiendo que el número de la cédula de ciudadanía no fuese correcto, se despliega un
mensaje de error.
c) Validación de cédulas
Esta función es utilizada para validar los números de cédulas de ciudadanía ecuatoriana de
estudiantes y docentes al momento del registro de datos, evitando el almacenamiento de
registro duplicados, números incorrectos e inexistentes.
En los formularios de registro y modificación de docentes y estudiantes se utiliza la función
validad cédula.
203
Fig. 69 – Validación de cédula – Fuente: Autores
Suponiendo que el número de la cédula de ciudadanía no fuese correcto, se despliega un
mensaje de error.
d) Validación de campos texto
Este tipo de pruebas se muestra en la validación de campos que permiten digitar solo
caracteres texto o letras. Esta función es aplicado específicamente para los campos de:
nombres, apellidos, parentesco, nombre de materias, nombre de especialidades y otros campos
en cada uno de los diferentes formularios existentes en la aplicación web.
e) Validación de campos numéricos
Este tipo de pruebas se muestra en la validación de campos que permiten digitar solo
caracteres numéricos. Esta función es aplicado específicamente para los campos de: número
de teléfono convencional y celular, número de cédula y campos de notas.
204
f) Validación de campos fecha
Esta validación es fundamental para el registro de datos tipo en formato tipo fecha
(año/mes/día).
En los formularios de agenda académica se utiliza este tipo de certificación.
Fig. 70 – Validación de fechas – Fuente: Autores
3.2.4.4.6.- Resultados de los navegadores
Entre los principales navegadores utilizados se encuentran mozillafirefox 3.0, Internet
Explorer 9.0 y googlechrome se ha determinado que el sistema funciona correctamente no ha
producido ninguno problema en el uso solo se determinó que la animación flash no funciona
si es que no se encuentra instalado flash playera.
205
CAPITULO IV
4.1.- ESTUDIO DE VIABILIDAD
4.2.- VIABILIDAD TÉCNICA
Basándose en la técnica de observación empleada para la recopilación de la información se
pudo determinar que la unidad educativa intercultural bilingüe “Alejandro Chávez”, cuenta
con los recursos en hardware y software necesarios para el funcionamiento de la aplicación a
nivel intranet y aunque no se cuenta con los requerimientos para el funcionamiento en internet
como son . configuración del dominio local y tener una IP pública, la institución está
dispuesta a dar las facilidades para la implementación y poner lo que le hace falta para el
funcionamiento de la aplicación.
Como se puede determinar la institución cuenta con los recursos en hardware, software
necesario para la implementación de la aplicación web.
4.3.- VIABILIDAD OPERATIVA
La aplicación web de la institución es una herramienta gráfica, práctica, útil y fácil de utilizar,
que cubre la demanda de sistematización agilización de procesos dentro de esta institución
educativa. El personal de la institución será capacitado para utilizar esta aplicación, pues la
idea de tener la aplicación permite agilizar los procesos lo cual es una gran ventaja en todo
sentido para la unidad educativa.
206
Las desarrolladoras nos encargamos de la implantación de esta aplicación web dentro de los
plazos fijados.
4.3.- VIABILIDAD ECONÓMICA
La aplicación no le cuesta a la institución porque está desarrollada con herramientas gratuitas
tampoco tiene costo la mano de obra de desarrollo y solo tiene valor económico el costo de la
implementación para que la aplicación puede funcionar en el internet como es el costo del
dominio y la compra del servicio de internet para poder contar con una IP pública, los
beneficios que recibe la institución es múltiples sobre todo en cuanto a seguridad, rapidez en
el acceso, no duplicación de datos entre otros, luego de realizar este análisis de costo /
beneficio se determina que es positivo el desarrollo e implantación de la aplicación web.
Podemos garantizar que el beneficio es muy alto en cuanto al costo
207
CAPITULO V
5.1.- CONCLUSIONES
En la unidad educativa realizaban los procesos de matrícula y reportes de las parciales
trimestrales de los alumnos en forma manual pero analizando las necesidades de qué se
deben actualizar las diferentes metodologías en la educación para brindar un buen
servicios a padres de familia, alumnado, docentes y demás personal que labora en la
institución y teniendo la oportunidad de implantar la aplicación web que realicen dichos
procesos en forma sistemática, instantánea y sin costos han decidido optar por tecnología
la cual les brindan diferentes beneficios y ahorro de tiempo y trabajo.
La aplicación web permite a la institución ser conocida a nivel nacional e internacional
por medio de la web.
La aplicación permite realizar los procesos de forma eficiente, especifica en tiempo
mínimo y con respuestas a reportes solicitados al instante.
La aplicación web permite realizar, registros y procesos desde cualquier computador con
internet solo con contar con usuarios y claves válidos para poder tener los permisos para
manipular el sistema.
El sistema cumple las expectativas de la institución sin mayor problema para los
diferentes usuarios ya ha sido sometido a diferentes tipos de pruebas y usado por
208
diferentes personas que han determinado las falencias en el tiempo de pruebas las cuales
fueron ya corregidas.
La aplicación permitirá que existe integración entre el personal de la institución
ya que el sistema necesita ser manipulado por más de un usuario y que con el resultado del
proceso que realiza un usuario se realizar otro proceso por el mismo u otro usuario.
El personal que va a manipular la aplicación web es profesional y su formación asegura el
adecuado desempeño en el manejo del sistema.
La secretaria podrá ahorrar tiempo ya que el registro de parciales trimestrales que
realizaba ella en forma manual de todos el alumnos tanto de primaria como secundaria lo
realizaran cada docente de los respectivos cursos y materias que cada una dicta.
El rectorado podrá contar con informes sobre cantidad de alumnos matriculados, listados
por cursos, listado de docente con las materias que dictan al instante en el cual realicen los
registros.
209
5.2.- RECOMENDACIONES
En caso de encontrar algún procesos que se encuentre con fallas o que necesiten algún
reporte en cuanto a los procesos de matrículas, docentes, alumnos, registro de parciales,
agenda o distributivos pueden solicitar las modificaciones durante los primeros 3 meses de
la implantación.
Para no tener problemas con la aplicación de que este muy lenta o que se cuelgue cuando
varios usuarios acceden a ella se recomienda que la institución actualice tanto hardware
como software.
Tomando en cuenta que la información que contiene la aplicación web es muy importante
se debe de tener el equipo en un lugar seguro además de que la información que se
imprima también debe mantener en forma segura por lo que se debe de tomar acciones
recomendadas en el plan de contingencias.
Los usuarios que van a utilizar el sistema con más frecuencia y realizar procesos
importantes deben de firmar una acta en la cual se hacen responsables por la información,
la forma de uso de la aplicación y de los equipos.
El administrador debe sacar respaldos de la aplicación al igual que de la base de datos con
frecuencia y guardar los respaldos en lugares seguros pero accesibles de forma inmediata
cuando se los necesite además de que se debe de sacar más de un respaldo y tener en
210
lugares distintos por si se pierde un respaldo además de la información en el servidor no
tener problema y restaurar la información desde otra copia.
Se recomienda que en caso que los usuarios tengan alguna duda sobre el funcionamiento
de la aplicación web se revise el manual de usuario o en cada página se cuenta con la
ayuda respectiva sobre qué se debe realizar y como se debe hacer.
En caso de que se dañe la aplicación por mal uso o por otras circunstancias se debe de
informar al administrador y en caso de que él no pueda solucionar el problema pueden
contactar a quienes desarrollaron la aplicación, los datos se encuentran en el link copyright
en la parte inferior de todas las páginas.
Se recomienda que todos los usuarios pongan en práctica la aplicación como son
administradores uso al cien por ciento secretaria con las matrículas, docentes registrar las
parciales, el alumnado puede consultar sus parciales para de esta manera no asignarle todo
el trabajo a una sola persona como sucedía con el proceso manual.
211
a)
CAPITULO VI
6.1.- BIBLIOGRAFÍA
Steven Holzner (2010) “PHP: MANUAL DE REFERENCIA”, Mcgraw-hill /
Interamericana editores S.A, Traducción de la 1ra ED, España.
AviSilberschatz, Hank Korth, S. Sudarshan (2010) “FUNDAMENTOS DE BASE DE
DATOS”, printed in Spain,6ta ED, España.
Dolores Cuadra, Elena Castro, Ana Iglesias, Palomo Martínez, Francisco Javier Calle,
Cesar de Pablo, Harith al-Jumaily, Lourdes Moreno, (2009) “DESARROLLO DE BASE
DE DATOS: CASOS PRÁCTICOS DESDE EL ANÁLISIS A LA
IMPLEMENTACIÓN” Alfaomega grupo editor S.A. de C.V.,1ra ED, México
Eduardo Guarniz I (2009) “ADOBE PHOTOSHOP CS3”,Grupo Editorial MegaByte,1ra
ED, Lima – Perú
Jesús Costas Santos (2011) “SEGURIDAD INFORMÁTICA” editorial RA-MA 1ra
edición España
Jane P. Laudon, (2010) “SISTEMAS DE INFORMACIÓN”, Editorial Pearson, 2da
edición, México
Cesar Pérez, (2010) “MYSQL PARA WINDOWS Y LINUX”, Editorial Alfaomega.
2da edición, México
212
6.2.- LINKOGRAFIA
CreativeCommons(2009) “SISTEMA DE INFORMACIÓN”
http://es.wikipedia.org/wiki/Sistema_de_informaci%C3%B3n
Patricia Acevedo (2009) ” RELACIÓN PLANIFICACIÓN ESTRATÉGICA Y
PLANIFICACIÓN INFORMÁTICA” http://es.scribd.com/doc/3965430/RELACION-
PLANIFICACION-ESTRATEGICA-Y-PLANIFICACION-INFORMATICA
Zoraida Bolívar (2009) “FUNDAMENTOS DE LOS SISTEMAS
DE INFORMACIÓN” http://walfaera.wordpress.com/2008/03/10/fundamentos-de-los-
sistemas-de-informacion/
CreativeCommons (2010) “ARQUITECTURA DE LA INFORMACIÓN”
http://es.wikipedia.org/wiki/Arquitectura_de_la_informaci%C3%B3n
CreativeCommons Atribución (2009) “BASE DE DATOS”
http://es.wikipedia.org/wiki/Base_de_datos
HermanosCarrero (2011) “DATA WAREHOUSING”
http://www.programacion.com/articulo/data_warehousing_201/6
213
MANUAL TÉCNICO DEL SISTEMA
1.- CONEXIÓN CON LA BASE DE DATOS.
<? Php
functionconectarse(){
if(!($link=mysql_connect("localhost","root","root"))){
echo "Error en la conexion con el servidor de la Base de Datos";
exit();}
if(!mysql_select_db("bdacademico",$link)){
echo "Error en la conexion con la Base de Datos 'bdacademico'";
exit();}
return $link;
}
?>
Se crea la función de conexión a la base de datos indicando la localización, el usuario y la
contraseña luego se asigna el nombre de la base de datos a la que se quiere conectar.
2.- LLAMADA A LA FUNCIÓN SESIÓN
<?
session_start();
include ("seguridad_sesion.php");
?>
214
Inicia la sesión para poder controlar el tipo de usuario y hace la llamada a la sesión.
3.- LLAMADA AL TÍTULO DE PÁGINA
Fig. 1 – Llamada al título de la página – Fuente: Autores
1002569737 modelo Nokia 3220 paquete si
<?phpinclude("../informativa/informacion_title.php");?>
4.- LLAMADA PERIODO LECTIVO
Fig. 2 – Llamada al periodo lectivo – Fuente: Autores
?php include("dato_periodolectivo.php"); ?>
Llama a la función de periodo lectivo para dar a conocer las fechas de inicio y finalización del
periodo lectivo.
215
5.- LLAMADA A LA ANIMACIÓN
Fig. 3 – Llamada a la animación – Fuente: Autores
<?php include("dato_animacionflash.php"); ?></div>
Incluye a la función de animación de la página web
6.- LLAMADA A LA CONEXIÓN
require("conexionbd.php");
Hace una llamada a la función conexión para contactar a la base de datos.
7.- LLAMADA AL MENSAJE DE ERROR
Fig. 4 – Mensaje de error – Fuente: Autores
<? include('dato_mensaje_error.php'); ?>
Llama al mensaje de error cuando algún dato que se registre sea invalido.
216
8.- LLAMADA A SEGURIDAD
Fig. 5 – Llamada a la seguridad de la sesión – Fuente: Autores
<?php include("seguridad_perfil_administracion.php"); ?>
Llama al menú de acuerdo al tipo de usuario que se encuentre en el sistema aplicando las
seguridades correspondientes.
9.- LLAMADA A LA INFORMACIÓN DEL PERFIL
Fig. 6 – Llamada a la información del perfil – Fuente: Autores
<?php include("dato_perfil.php"); ?>
Llama a la función de información del perfil del usuario y su nombre.
217
10.- LLAMADA A AUTOR
Fig. 7 – Llamada a las referencias del autor –Fuente: Autores
<? include("dato_autor.php"); ?>
Permite llamar a un link que permite conocer información sobre las desarrolladoras de la
aplicación.
218
11.- SELECCIÓN DE DATOS DE LA AGENDA
Fig. 8 – Reporte de la agenda – Fuente: Autores
$sqln= mysql_query("SELECT *from agenda, anio_lec where cod_al = cod_al_agenda and
estado_al = 'activo'",$link);
if ($row = mysql_fetch_array($sqln))
{
$fechai1 = $row["fecha_ini_n1"]; $fechaf1 = $row["fecha_fin_n1"]; $fechai2 =
$row["fecha_ini_n2"];
$fechaf2 = $row["fecha_fin_n2"]; $fechai3 = $row["fecha_ini_n3"]; $fechaf3 =
$row["fecha_fin_n3"];
219
$fechas1 = $row["fecha_ini_supl"]; $fechas2 = $row["fecha_fin_supl"]; $minpase =
$row["notaminpase"];
$minsupl = $row["notaminsupl"]; $nesc = $row["nota_esc"];
}
Permite seleccionar datos de la tabla agenda siempre y cuando el código de la tabla año
lectivo sea igual al campo anio_lectivo_agenda y el estado del año lectivo se encuentre en
activo también permite asignar estos datos a variables para poder realizar procesos
posteriores.
12.-REGISTRO DE DATOS.
Fig. 9 – Registro de parciales – Fuente: Autores
for($co=1;$co<$txtc;$co++)
220
{
$n1 = $_GET['txtn1'.$cont]; $n2 = $_GET['txtn2'.$cont]; $n3 = $_GET['txtn3'.$cont];
$fj1 = $_GET['txtfj1'.$cont]; $fj2 = $_GET['txtfj2'.$cont]; $fj3 = $_GET['txtfj3'.$cont];
$fi1 = $_GET['txtfi1'.$cont]; $fi2 = $_GET['txtfi2'.$cont]; $fi3 = $_GET['txtfi3'.$cont];
$co1 = $_GET['txtco1'.$cont]; $co2 = $_GET['txtco2'.$cont]; $co3 = $_GET['txtco3'.$cont];
$ca = $_GET['cod'.$cont]; $distr = $_REQUEST['txtdis'];
Ingresa a un bucle que inicia en uno hasta llegar al límite mientras se cumpla esta condición
se asigna a variables los datos de las cajas de texto del formulario anterior.
if(($fechasis>=$fechai1) && ($fechasis<=$fechaf1))
{
if(($n1!="") && ($fj1!="") && ($fi1!="") && ($co1!="") &&($ca!="") && ($distr!=""))
{
$sqlp = mysql_query("select cod_nota from notas, alumno, distributivo where
cod_distributivo_n='$distr' and cod_alumno_n ='$ca' and cod_alumno = cod_alumno_n and
cod_distributivo = cod_distributivo_n",$link);
Evalúa si la fecha del sistema es mayor igual que la fecha de inicio de ingreso de registro de
un trimestre y si la fecha del sistema es menor que la fecha de finalización de la agenda y si
esta pregunta se cumple evalúa que los datos que se vayan a registrar no sean nulos luego de
haber comprobado esta segunda pregunta evalúa que los datos no se encuentren ya registrados
para que no haya una duplicación de los mismos.
if ($row = mysql_fetch_array($sqlp))
221
{$valor = $row["cod_nota"]; }
if($valor=="")
{
$sql="INSERTINTO notas VALUES('' , '$ca', '$distr', '$n1', 'NULL', 'NULL', '$co1',
'NULL', 'NULL', '$fi1', 'NULL', 'NULL', '$fj1', 'NULL', 'NULL', 'NULL', 'NULL')";
$cont++;
$Ins= mysql_query($sql);
Si se comprueba que los datos no se encuentran registrado se realiza el registro
Caso contrario se informa que los datos ya se encuentran registrados y no se vuelve a registrar
dicha información
13.-FORMULARIO
<form name="formregnot" action="administracion_guardarnotas.php" method="post">
echo"<table>";
echo"<tr>";
echo'<td><input name = txtprofesorreadonly = true type = text size = 15 value =
"'.mysql_result($Ins,0,'apellidos_d').'"></td></tr></table>’;
</form>
Se crea un formulario asignándole un nombre, el método y el formulario al cual se va a dirigir
dentro de este se crea una tabla y dentro de la tabla una caja de texto a la que se le asigna un
nombre un tamaño un valor extraído de la base de datos el que no puede ser modificado.
Luego de esto se cierra la tabla y el formulario.
222
14.- SCRIPT
<script type="text/javascript" src="calendario/mootools.js"></script>
<script type="text/javascript" src="calendario/DatePicker.js"></script>
<script type="text/javascript" src="alumno_funciones.js"></script>
Permite hacer la llamada a los archivos javascript para poder hacer uso del calendario y a las
funciones de alumno para poder realizar la búsqueda inteligente de los alumnos.
15.- FUNCIÓN VALIDAR
function validar(formestudiante)
{
varemailRegEx = /^((\w|\.){2,}@)\w{3,}\.\w{2,4}((\.(\w{2}))?)?$/
Convierte a fecha la cadena ingresada desde el formulario
varfecha_naci=convertirAFecha(formestudiante.txtfecha_nac.value);
var fechasis= new Date();
var fecha_naci2=fecha_naci.getFullYear();
Permite almacenar el año de la fecha de nacimiento.
var fechasis2= fechasis.getFullYear();
Permite almacenar el año actual.
var resultado= fechasis2-fecha_naci2;
if(formestudiante.txtced.value!="")
{ if(validarcedula()==false) {
formestudiante.txtced.focus();
223
mostrar("EL número de cedula registrado es invalido.");
return false; }
}
Valida que la caja de texto de la cedula no se encuentre vacía luego que el valor registrado de
la cedula sea válido.
if(formestudiante.txtnombres.value == "") {
formestudiante.txtnombres.focus();
mostrar("El campo 'Nombres' es obligatorio!");
return false; }
Valida que la caja de texto del nombre no se encuentre vacía y en caso de estar vacía envía un
mensaje de que es obligatorio ingresar esta información.
if(formestudiante.txtapellidos.value == "") {
formestudiante.txtapellidos.focus();
mostrar("El campo 'Apellidos' es obligatorio!");
return false; }
Valida que la caja de texto del apellido no se encuentre vacía y en caso de estar vacía envía un
mensaje de que es obligatorio ingresar esta información.
if(formestudiante.txtfecha_nac.value == "" || resultado<4) {
formestudiante.txtfecha_nac.focus();
mostrar("El campo 'Fecha de Nacimiento' es obligatorio. El Estudiante debe ser
mayor de 4 años.");
return false; }
Valida que la caja de texto de la fecha de nacimiento no se encuentre vacía y en caso de estar
vacía envía un mensaje de que es obligatorio ingresar esta información además de que la
información debe ser menor a 4 años de la fecha actual.
224
16.- LISTA DE OPCIONES
<selectname="txtocupadre" id="txtocupadre" title="Seleccione ocupación del padre.">
<option>Comerciante</option> <option>Agricultor</option>
<option>Jornalero</option> <option>Policía</option>
<option>Albañil</option> <option>Chofer</option>
<option>Otros</option>
Creación de lista de opciones asignándole un nombre y las respectivas opciones de la lista.
17.- MODIFICACIÓN DE DATOS.
Fig. 10 – Modificación de datos –Fuente: Autores
225
$link=conectarse();
$codf=$_REQUEST['cod'];
$sql="update matrícula, general, alumno, anio_lec, agenda set estado_mat='retirado',
estado_a='ausente' wherecod_alumno_mat='$codf' AND cod_alumno=cod_alumno_mat AND
estado_al='activo' AND cod_al=cod_al_gen AND cod_al=cod_al_agenda AND
cod_general=cod_general_mat;";
if(($Ins= mysql_query($sql)))
{echo ” modificación realizada exitosamente ”; }
Hace la llamada a la función conectarse con la base de datos y luego de eso una actualizacion
de los datos especificando los campos.
18.- FUNCIÓN BÚSQUEDA DEL ALUMNO
Fig. 11 – Función búsqueda de alumnos – Fuente: Autores
226
functionalum_busqueda(){
resul = document.getElementById('resultado_busqueda');
bus=document.frm_alumbusqueda.nombres_cc.value;
ajax=nuevoAjax();
ajax.open("POST", "alumno_busqueda.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
resul.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("busqueda="+bus)
}
Realiza la llamada a formulario alumbusqueda y a la caja de texto donde se ingresa los datos
del alumno y luego llama al formulario de búsqueda del alumno y se repite el proceso cada
vez que se aumenta una letra en la caja de texto de referencia para la búsqueda.
19.- TRASPASO DE DATOS
$Ins = mysql_query("selectcod_alumno, concat(apellidos_a, ' ', nombres_a) as datos from
alumno wherecod_alumno= '$cod'",$link);
$sql = $Ins;
$row = mysql_fetch_array($sql);
$numfilas=mysql_num_rows($sql);
227
if ($numfilas>0)
{
echo "<p align=center><imgsrc='imagen/guardar.gif' width=18 height=18/>
<a href=alumno_restaurar.php?cod=".$row[0]."><strong>Si</strong></a> --
<imgsrc='imagen/actualizar.gif' width=18 height=18/>
<a href=alumno.php><strong>No</strong></a></p>";
}
Se crea un párrafo el cual va a tener unas imágenes con las respectivas medidas y hace la
llamada a un archivo alumno_restaurar.php al cual se le envía con la referencia del primer
campo de la tabla alumnos si escoge la opción si y si escoge la opción no le envía al archivo
alumno.php sin referencia.
20.- ELIMINACIÓN DEL ALUMNO.
Fig. 12 – Eliminación de datos – Fuente: Autores
$sql="update matrícula, general, alumno, anio_lec, agenda set estado_mat='retirado',
estado_a='ausente' wherecod_alumno_mat='$codf' AND cod_alumno=cod_alumno_matAND
228
estado_al='activo' AND cod_al=cod_al_gen AND cod_al=cod_al_agenda AND
cod_general=cod_general_mat;";
if(($Ins= mysql_query($sql)))
{
echo "<p align=center>- REGISTRO ELIMINADO EXITOSAMENTE –
<imgsrc='imagen/ok.gif' alt='ok' width='16' height='16' /></p>";
}
Considerando que la información que contiene el sistema es muy importante y que cuando los
estudiantes se retiran la institución suelen ir a pedir información, certificaciones pero no se les
deben asignar reportes y demás procesos del periodo lectivo.
Cuando un alumno se retira de la institución se le cambia el estado del alumno de presente a
ausente y el estado de la matrícula del alumno de presente a ausente o retirado. Seleccionando
los datos pertinentes se hace que se lleve a cabo la ejecución de la sentencia SQL. Y se
confirme con el mensaje pertinente.
21.- CAMBIO DE MAYÚSCULAS A MINÚSCULAS
echo"<tr><tdalign=right> Nombres(*)</td>
<td><input type=textname=txtnombres id=txtnombresmaxlength=25 size=35
value='".$row[1]."' title='Ingrese los nombres del estudiante, máximo 30 caracteres, es
obligatorio.' onKeyUp = 'formmody.txtnombres.value =
formmody.txtnombres.value.toUpperCase();' /></td></tr>";
229
Teniendo previamente creada una tabla se crea una celda en la cual se pone el título de
nombre y en la celda continua se crea una caja de texto donde se puede asignar hasta 25
caracteres y tiene un tamaño de 35 pixeles, título de la caja de texto y la función UpperCase()
que hace que cuando se ingrese la información en letras minúsculas automáticamente el
sistema las transforme en mayúsculas.
22.- FUNCIÓN VALIDAR PERIODO_LECTIVO
validaplectivo = function()
{
Asigna a las variables los valores de las cajas de texto del formulario
varini_c=document.getElementById('txtfecha_ini').value;
varfin_c=document.getElementById('txtfecha_fin').value;
varaniobd=document.getElementById('fanio').value;
varmesbd=document.getElementById('fmes').value;
vardiabd=document.getElementById('fdia').value;
varanioibd=document.getElementById('fanioi').value;
varmesibd=document.getElementById('fmesi').value;
vardiaibd=document.getElementById('fdiai').value;
Convierte a fecha la cadena ingresada desde el formulario
varfechaini=convertirAFecha(ini_c);
varfechafin=convertirAFecha(fin_c);
Convierte en numeros la fecha inicial y final seleccionada
230
vardia_i=fechaini.getDate();
varmes_i=fechaini.getMonth();
varanio_i=fechaini.getFullYear();
vardia_f=fechafin.getDate();
varmes_f=fechafin.getMonth();
varanio_f=fechafin.getFullYear();
Proceso de cálculo para determinar el lapso de meses para el periodo academico
varvalorf=(mes_f+(anio_f*12));
varvalori=(mes_i+(anio_i*12));
varmeseslapso=valorf-valori;//Tiempo de Año Lectivo superior a 8 meses
23.- FUNCIÓN CONTROL DE USUARIOS.
<?
include("conexBD.php");
$conn = conectarse();
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT *FROM user WHERE user='$login' and password='$pass'";
Valores de las variables para comparar si no estanvacías.
$usuario=$_REQUEST['login'];
$clave=$_REQUEST['pass'];
231
Ejecuto la sentencia
$rs = mysql_query($ssql,$conn);
Confirmamos si el usuario y contraseña es válido, si la ejecución de la sentencia SQL nos da
algún resultado y si existe esa combinación usuario/contraseña
if((mysql_num_rows($rs)!=0) && ($usuario!="" && $clave!="")){
usuario y contraseña válidos y se defino una sesión y guardo datos
session_start();
$_SESSION['usuario']=$usuario;
session_register("autentificado");
$autentificado="SI";
Defino la sesión que demuestra que el usuario está autorizado
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
defino la fecha y hora de inicio de sesión en formato aaaa-mm-ddhh:mm:ss
header ("Location: index1.php?user=$usuario");
}
Else
{
si no existe le mando otra vez a la portada
header("Location: ../acceso_user.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
232
?>
24.- FUNCIÓN USUARIOS CON PERFIL
Fig. 13 – Función de los usuarios con el respectivo perfil – Fuente: Autores
<?
session_start();
include("conexionbd.php");// mysql ----
$conn = conectarse();
Se inicia la sesion y se realiza la conexion con la base de datos
$usuario=$_REQUEST['txtlogin'];
$clave=$_REQUEST['txtclave'];
$clave_md5=md5($clave);
Se asigna a las variables los valores y a la clave se le pone MD5
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT * FROM usuario, tipo_usuariowherecod_tipousuario_u=cod_tipousuario
and usuario_u='$usuario' and clave_u='$clave_md5'";
$result = mysql_query($ssql, $conn);
if($row = mysql_fetch_array($result))
233
{
Defino la sesión que demuestra que el usuario está autorizado
$perfil=$row['nombre_tipo_u'];
Se verifica si el usuario es un tipo administrador y se le permite logearse asignarle el detalle
de la sesion y del usuario y la fecha y hora de ingreso
if($perfil=='ADMINISTRADOR')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "ADMINISTRADOR";
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
echo "<script>location.href='index1.php' </script>";
}
else
{
Si el usuario no es tipo administrador se verifica si es director y se realiza el mismo proceso
que del administrador de acuerdo a las caracteristicas correspondientes.
if($perfil=='DIRECTOR')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "DIRECTOR";
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
echo "<script>location.href='index1.php' </script>";
}
234
else
{
if($perfil=='SECRETARIA')
{
$_SESSION['tipo_sesion'] = "logeado";
$_SESSION['detalle_sesion'] = "SECRETARIA";
$_SESSION['detalle_usuario'] = $usuario;
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
<script>location.href='index1.php' </script>";
}}} }
else
{echo "<script>location.href='autentificacion_usuario.php?errorusuario=si' </script>";}
Se evalúa los diferentes tipos de usuarios y si los datos registrados no son válidos se envía un
mensaje de error y que vuelva a ingresar la información de claves y usuarios.
25.- FUNCIÓN USUARIO DOCENTE
Fig. 14 – Registro del usuarios y contraseñas del docente – Fuente: Autores
<?include("conexionbd.php");
235
$conn = conectarse();
Sentencia SQL para buscar un usuario con esos datos
$ssql = "SELECT *FROM docente WHERE apellidos_d='$login' and cod_docente='$pass'";
Valores de las variables para comparar si no estanvacias.
$usuario=$_REQUEST['login'];
$clave=$_REQUEST['pass'];
Ejecución de la sentencia
$rs = mysql_query($ssql,$conn);
Verificación si el usuario y contraseña es válido, si la ejecución de la sentencia SQL nos da
algún resultado y si existe esa combinación de usuario y contraseña
if((mysql_num_rows($rs)!=0) && ($usuario!="" && $clave!="")){
usuario y contraseña válidos, definición de la sesión y guardo datos
session_start();
session_register("autentificado");
$autentificado="SI";
Definición de la sesión que demuestra que el usuario está autorizado
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
Definición de la fecha y hora de inicio de sesión en formato aaaa-mm-ddhh:mm:ss
header ("Location: ../registrar_datosnotas.php?login=$usuario,clave=$clave");
}else {
Si no existe le mando otra vez a la portada
236
header("Location: ../online_registrarnotas.php?errorusuario=si");
}
mysql_free_result($rs);
mysql_close($conn);
Resultado de la conexión y se cierra la conexión con la base de datos.
26.- MENÚ
Fig. 15 – Menú de las opciones del administrador– Fuente: Autores
<a href="aniolectivo.php" title="Permite ingresar a los datos de los elementos del año lectivo
vigente">Año Lectivo</a><imgsrc = "imagen/usuarios.gif"alt = "ueach3" width =
"18" height ="18"/><linea>|</linea>
<a href="matrícula1.php" title="Permite conocer datos de los alumnos
matrículados">Matrículas</a><imgsrc="imagen/procesos.gif" alt="ueach2" width =
"22" height = "22" /><linea> | </linea>
<a href="alumno.php" title="Permite registrar datos de los alumnos nuevos, consultar y
matrícular estudiantes">Estudiantes</a><imgsrc="imagen/estudiantes.gif" alt="ueach3"
width="18" height="18"/><linea> | </linea>
<a href="docente.php" title="Permite registrar datos de los Docentes y personal y
consultar">Docentes</a><imgsrc="imagen/docentes.gif" alt="ueach4" width="18" height =
"18"/><linea> | </linea>
237
<a href="especialidad.php" title="Permite registrar y modificar datos de las especialidades">
Especialidades</a><imgsrc="imagen/especialidades.gif" alt="ueach2" width="18" height =
"18"/><br />
<a href="materia.php" title="Permite crear materias para asignar a cursos y docentes">
Materias</a> <imgsrc="imagen/materias.gif" alt="ueach3" width="18" height =
"18"/><linea> | </linea>
<a href="distributivocurso.php" title="Permite consultar, registrar los cursos, paralelos y
especialidades del año lectivo vigente">Distributivo-Cursos</a><imgsrc =
"imagen/cursos.gif" alt = "ueach4" width = "18" height = "18"/><linea> | </linea>
<a href="distributivodocente.php"title="Permite consultar, registrar las materias que dictaran
los docentes en el año lectivo vigente">Distributivo-Docentes</a><imgsrc =
"imagen/distributivo.gif" alt="ueach4" width="18" height="18"/><linea> | </linea>
<a href="mapas_aplicacion.php" title="Permite consultar información sobre el
funcionamiento, procesos y partes que consta en el sistema">Site Map</a><imgsrc =
"imagen/datos.gif" alt="ueach4" width="18" height="18" /><linea> | </linea>
<a href="ayuda_sistema.php" title="Permite leer una guia del funcionamiento del sistema" >
Ayuda</a><imgsrc="imagen/ayuda.gif" alt="ueach4" width="18" height="18" /><linea> |
</linea>
<a href="reportes.php" title="Permite consultar información registrada en el sistema">
Reportes </a><imgsrc="imagen/reporte.gif" alt="ueach3" width="18" height="18" /><linea>
| </linea>
<a href="administracion.php" title="Permite sacar/insertar respaldo de la base de datos,
control de notas y usuarios ">Administración y Seguridad</a>
238
Se crea un hipervínculo hacia el link del menú correspondiente asignándole la imagen
respectiva a cada uno de los links.
27.- FUNCIÓN IMPRIMIR
Fig. 16– Impresión de un reporte – Fuente: Autores
<script type="text/javascript">
functionimprimir(){
window.print();
}
</script>
Permite abrir la pantalla de impresión para ver las páginas que se va a imprimir y el tipo de
impresión.
239
28.-FUNCIÓN POPUP
functionpopUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0, scrollbars=1, location=0,
statusbar=0, menubar=0, resizable=1, width=815, height=900');");
}
Permite abrir el vínculo en una nueva ventana del explorador web
29.- VALIDACIÓN PASES DE AÑOS
if($fechasis > $fechaf3)
{ $sql2="update notas set observacion_n='aprobado' where nota1+nota2+nota3>='$apr' and
cod_distributivo_n = '$dis'";
$Ins2=mysql_query($sql2);
$sql3="update notas set observacion_n='reprobado' where nota1+nota2+nota3<'$rep' and
cod_distributivo_n='$dis'";
$Ins3=mysql_query($sql3);
$sql4="update notas set observacion_n='supletorio' where nota1+nota2+nota3>='$rep' and
nota1+nota2+nota3<'$apr' and cod_distributivo_n='$dis'";
$Ins4=mysql_query($sql4);
echo "<INPUT type = submit value = 'Retornar' >";}
240
Si se encuentra en un fecha superior a la del final del ingreso de la parcial del tercer trimestre
se calcula si los alumnos al sumar las 3 notas tienen un valor superior al del pase del año se
asigna en la observación aprobado si se encuentra con un valor menor al de pase de año y
mayor al de supletorio se pone en la observación supletorio y si el valor es menor al de
supletorio la observación es de reprueba.
30.- FUNCIÓN VALIDAR CEDULA
Fig. 17 – Validación de la cedula – Fuente: Autores
validarcedula = function()
{numero = document.getElementById('txtced').value;
var suma = 0; var residuo = 0; varpri = false;
var pub = false; varnat = false; varnumeroProvincias = 22;
var modulo = 11;
Se verifica que el campo no contenga letras
var ok=1;
for (i=0; i<numero.length&& ok==1 ; i++){
var n = parseInt(numero.charAt(i));
if (isNaN(n)) ok=0;
241
}
if (ok==0){
alert("NO PUEDE INGRESAR CARACTERES EN EL CAMPO");
return false;
}
Valida que el campo no tenga mas de 10 digitos
if (numero.length< 10 ){
alert('EL NUMERO DE CEDULA INGRESADO ES INVALIDO');
return false;
}
Los primeros dos digitos corresponden al codigo de la provincia */
provincia = numero.substr(0,2);
if (provincia < 1 || provincia >numeroProvincias){
alert('EL CÓDIGO DE LA PROVINCIA (DOS PRIMEROS DÍGITOS) ES INVALIDO');
return false;
}
Aqui almacenamos los digitos de la cedula en variables.
d1 =numero.substr(0,1); d2 = numero.substr(1,1);
d3 =numero.substr(2,1); d4 = numero.substr(3,1);
d5 =numero.substr(4,1); d6 = numero.substr(5,1);
d7 =numero.substr(6,1); d8 = numero.substr(7,1);
d9 =numero.substr(8,1); d10 = numero.substr(9,1);
Si el tercer digito es 9 para sociedades privadas y extranjeros 6 para sociedades públicasy
menor que 6 (0,1,2,3,4,5) para personas naturales
if (d3==7 || d3==8){
242
alert('EL TERCER DIGITO INGRESADO ES INVÁLIDO');
return false;
}
/* Solo para personas naturales (modulo 10) */
if (d3 < 6){
nat = true;
p1 = d1 * 2; if (p1 >= 10) p1 -= 9; p2 = d2 * 1; if (p2 >= 10) p2 -= 9;
p3 = d3 * 2; if (p3 >= 10) p3 -= 9; p4 = d4 * 1; if (p4 >= 10) p4 -= 9;
p5 = d5 * 2; if (p5 >= 10) p5 -= 9; p6 = d6 * 1; if (p6 >= 10) p6 -= 9;
p7 = d7 * 2; if (p7 >= 10) p7 -= 9; p8 = d8 * 1; if (p8 >= 10) p8 -= 9;
p9 = d9 * 2; if (p9 >= 10) p9 -= 9;
modulo = 10;
}
Solo para sociedades públicas (modulo 11) Aquí el digito verificador está en la posición 9, en
las otras 2 en la pos. 10
else if(d3 == 6){
pub = true;
p1 = d1 * 3; p2 = d2 * 2; p3 = d3 * 7; p4 = d4 * 6; p5 = d5 * 5;
p6 = d6 * 4; p7 = d7 * 3; p8 = d8 * 2; p9 = 0;
} Solo para entidades privadas (modulo 11)
else if(d3 == 9) {
pri = true;
p1 = d1 * 4; p2 = d2 * 3; p3 = d3 * 2; p4 = d4 * 7; p5 = d5 * 6;
p6 = d6 * 5; p7 = d7 * 4; p8 = d8 * 3; p9 = d9 * 2; }
suma = p1 + p2 + p3 + p4 + p5 + p6 + p7 + p8 + p9;
243
residuo = suma % modulo;
Si residuo=0, dig.ver.=0, caso contrario 10 – residuo
digitoVerificador = residuo==0 ? 0: modulo - residuo;
Ahora comparamos el elemento de la posicion 10 con el dig. Ver.
if (pub==true){
if (digitoVerificador != d9){
alert('EL RUC PÚBLICO ES INCORRECTO');
return false;
}
El ruc de las empresas del sector publico terminan con 0001*/
if ( numero.substr(9,4) != '0001' ){
alert('EL RUC PÚBLICO DEBE TERMINAR CON 0001');
return false; }
}
else if(pri == true){
if (digitoVerificador != d10){
alert('EL RUC PRIVADO ES INCORRECTO');
return false }
if ( numero.substr(10,3) != '001' ){
alert('EL RUC PRIVADO DEBE TERMINAR CON 001');
return false;
}
}
else if(nat == true){
if (digitoVerificador != d10){
244
alert('EL NUMERO DE CEDULA DE LA PERSONA ES INCORRECTO');
return false; }
if (numero.length>10 &&numero.substr(10,3) != '001' ){
alert('EL RUC DE LA PERSONA DEBE TERMINAR CON 001');
return false; }
}
return true;//veficar
}
31.- FUNCIÓN VALIDAR LETRAS
function letras(e) { // 1
tecla = (document.all) ? e.keyCode :e.which; // 2
if (tecla==8) return true; // 3
patron =/[A-Za-z\s]/; // 4
te = String.fromCharCode(tecla); // 5
returnpatron.test(te); // 6
}
Valida que en un campo solo se ingresen letras sean mayúsculas o minúsculas pero no
símbolos ni números ni tampoco la letra ñ.
32.- FUNCIÓN VALIDAR NÚMEROS
functionnumeros(e) { // 1
tecla = (document.all) ? e.keyCode :e.which; // 2
245
if (tecla==8) return true; // 3
patron =/[0-9\s]/; // 4
te = String.fromCharCode(tecla); // 5
returnpatron.test(te); // 6
}
Valida que los datos ingresados en la caja de texto que llama a esta función sean solo números
y no acepta letras ni símbolos.
33.- IMPRESIÓN DE DATOS DE LA BASE DE DATOS EN LA TABLA.
while($row = mysql_fetch_array($result))
{ echo" <tr>
<td>".$row['cod_docente']."</td>
<td>".$row['docentes']."</td></tr>";
$i++; $cont++;
}
Se realiza la selección de datos mediante el uso de la sentencia SQL y si se encuentra
información con la función mysql_fetch_array se crea la tabla y las celdas y dentro de la celda
se hace la llamada a la variable row especificando el campo de la tabla a la cual pertenece la
información.
34.- LLAMADA A LOS ESTILOS
<link rel="stylesheet" type="text/css" href="../estilos/styleueach.css" media="screen" />
246
Se realiza un link al estilo especificado el tipo de archivo y la dirección donde está ubicado
35.- VALIDACIÓN DE FECHAS PARA REGISTRO DE NOTAS.
Fig. 18 – Validación de las fechas de registro de notas – Fuente: Autores
validapnotas1 = function()
{var tfechafin_aniolectivo=document.getElementById('ffin_aniolectivo').value;
vartfechai_mat=document.getElementById('finicio_mat').value;
vartfechaf_mat=document.getElementById('ffin_mat').value;
var tfechai_n1=document.getElementById('txtfechai').value;
var tfechaf_n1=document.getElementById('txtfechaf').value;
varnotamin=document.getElementById('txtnotamin').value;
varnotasup=document.getElementById('txtnotasup').value;
Convierte a fecha la cadena ingresada desde el formulario
247
varfechafin_aniolectivo= convertirAFecha(tfechafin_aniolectivo);
varfechaf_mat= convertirAFecha(tfechaf_mat);
var fechai_n1= convertirAFecha(tfechai_n1);
var fechaf_n1= convertirAFecha(tfechaf_n1);
Proceso de cálculo para determinar el lapso de días para el periodo académico
varresul=restarfecha(fechai_n1,fechaf_n1);
vardiamin=5;
vardiamax= 15;
Condiciones de validacion.
if(notamin=="Seleccione")
{
alert('SELECCIONE LA SUMATORIA DE NOTAS TRIMESTRALES MÍNIMA PARA
APROBAR EL AÑO LECTIVO');
return false;
}
if(notasup=="Seleccione")
{ alert('SELECCIONE LA SUMATORIA DE NOTAS TRIMESTRALES MÍNIMA PARA
RENDIR SUPLETORIOS');
return false;}
if(fechai_n1<=fechaf_mat || fechai_n1>=fechafin_aniolectivo || fechai_n1>=fechaf_n1)
{ document.formperiodonotas1.txtfechai.focus();
alert('ESCOJA BIEN LA FECHA DE INICIO DEL PERIODO DE INGRESO DE NOTAS.
LA FECHA INGRESADA ES MENOR AL PERÍODO DE FINALIZACIÓN DE
MATRÍCULAS ORDINARIAS O TAL VEZ LA FECHA ESPECIFICADA ESTÁ FUERA
DEL AÑO LECTIVO VIGENTE.');
248
return false;
}
if(fechaf_n1<fechaf_mat || fechaf_n1>=fechafin_aniolectivo || fechaf_n1<=fechai_n1)
{ document.formperiodonotas1.txtfechaf.focus();
alert('ESCOJA BIEN LA FECHA DE FINALIZACIÓN DEL PERIODO DE INGRESO DE
NOTAS. LA FECHA INGRESADA ES MENOR AL PERÍODO DE FINALIZACIÓN DE
MATRÍCULAS ORDINARIAS O TAL VEZ LA FECHA ESPECIFICADA ESTÁ FUERA
DEL AÑO LECTIVO VIGENTE.');
return false;}
if(resul<=diamax&&resul>=diamin)
{ alert('NUMERO DE DÍAS SELECCIONADOS PARA EL INGRESO DE NOTAS DEL
PRIMER TRIMESTRE: '+ resul + ' días.');
return true; }
if(resul>diamax || resul<=diamin)
{alert('NUMERO DE DÍAS SELECCIONADOS PARA EL INGRESO DE NOTAS DEL
PRIMER TRIMESTRE ES INVÁLIDO: '+ resul + ' días.');
return false; }
else
return true;
return true;}
Permite verificar si se encuentra en el periodo de registro de parciales.
ANEXO 5 MANUAL TÉCNICO
1.- Conexión con la base de datos. 213
2.- Llamada a la función sesión 213
3.- Llamada al título de página 214
4.- Llamada periodo lectivo 214
5.- Llamada a la animación 215
6.- Llamada a la conexión 215
7.- Llamada al mensaje de error 215
8.- Llamada a seguridad 216
9.- Llamada a la información del perfil 216
10.- Llamada a autor 217
11.- Selección de datos de la agenda 218
12.- Registro de datos. 219
13.- Formulario 221
14.- Script 222
15.- Función validar 222
16.- Lista de opciones 224
17.- Modificación de datos. 224
18.- Función búsqueda del alumno 225
19.- Traspaso de datos 226
20.- Eliminación del alumno. 227
21.- Cambio de mayúsculas a minúsculas 228
22.- Función validar periodo_lectivo 229
23.- Función control de usuarios. 230
24.- Función usuarios con perfil 232
25.- Función usuario docente 234
26.- Menú 236
27.- Función imprimir 238
28.- Función popup 239
29.- Validación pases de años 239
30.- Función validar cedula 240
31.- Función validar letras 244
32.- Función validar números 244
33.- Impresión de datos de la base de datos en la tabla. 245
34.- Llamada a los estilos 245
35.- Validación de fechas para registro de notas. 246
ÍNDICE DE GRÁFICOS
Fig. 1 – Llamada al título de la página 2
Fig. 2 - Llamada al periodo lectivo 2
Fig. 3 – Llamada a la animación 3
Fig. 4 – Mensaje de error 3
Fig. 5 – Llamada a la seguridad de la sesión 4
Fig. 6 – Llamada a la información del perfil 4
Fig. 7 – Llamada a las referencias del autor 5
Fig. 8 – Reporte de la agenda6
Fig. 9 – Registro de parciales 7
Fig. 10 – Modificación de datos 12
Fig. 11 – Función búsqueda de alumnos 13
Fig. 12 – Eliminación de datos 15
Fig. 13 – Función de los usuarios con el respectivo perfil20
Fig. 14 – Registro del usuario y contraseña del docente 22
Fig. 15 – Menú de las opciones del administrador24
Fig. 16– Impresión de un reporte26
Fig. 17 – Validación de la cedula 28
Fig. 18 – Validación de las fechas de registro de notas 34