ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE...

160
ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE NOTAS Y CERTIFICADOS DEL COLEGIO SIERRA MORENA SEDE A RODRIGO BERNAL ABRIL SERGIO HERNANDEZ ABAUNZA UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA SISTEMATIZACION DE DATOS BOGOTÁ 2016

Transcript of ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE...

Page 1: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE NOTAS Y CERTIFICADOS DEL COLEGIO SIERRA MORENA SEDE A

RODRIGO BERNAL ABRIL SERGIO HERNANDEZ ABAUNZA

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA

SISTEMATIZACION DE DATOS BOGOTÁ

2016

Page 2: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE NOTAS Y CERTIFICADOS DEL COLEGIO SIERRA MORENA SEDE A

RODRIGO BERNAL ABRIL SERGIO HERNANDEZ ABAUNZA

Proyecto de grado presentado para optar por el título de Tecnólogo en Sistematización de Datos

Tutor

Gerardo Castang Montiel

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS FACULTAD TECNOLOGICA

SISTEMATIZACION DE DATOS BOGOTÁ

2016

Page 3: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

3

Nota de aceptación

__________________________

__________________________

__________________________

__________________________

__________________________

__________________________

__________________________

Firma del Tutor

__________________________

Firma del jurado

__________________________

Firma del jurado

Bogotá, 22 de Junio de 2016

Page 4: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

4

DEDICATORIA

Primero que todo quiero dedicar este logro a nuestro padre celestial, a Dios todo

poderoso, a mi hermano Esteban Bernal Abril (Q.E.P.D), a mi papá Ernesto Bernal

Bermúdez (Q.E.P.D) quienes me apoyaron en todo momento, también a mi mamá

Maria del Carmen Abril Carreño quien ha estado en todo momento acompañándome

y dándome consejo para continuar adelante.

Rodrigo Bernal Abril

A DIOS por brindarme la oportunidad de vida, gozar de salud, por guiarme,

porque aun en los momentos difíciles siempre me dio esperanzas de vida y de

fortaleza para seguir adelante.

A mis padres JAIME HERNANDEZ BARBOSA (Q.E.P.D.) y EDUVIGES ABAUNZA

PINZON por su apoyo incondicional, por sus enseñanzas, por creer en mí,

Sergio Hernandez Abaunza

Page 5: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

5

AGRADECIMIENTOS

Los autores expresan sus agradecimientos a:

Dios por la iluminación para realizar este proyecto, quiero darle gracias a mi novia

Gloria Hidalgo Cañon docente del distrito, quien me animo y oriento en la parte

pedagógica y organizacional. A mi tutor el profesor Gerardo Castang quien ha sido

muy paciente con nosotros y nos ha brindado su guía y apoyo para sacar adelante

este proyecto.

Rodrigo Bernal Abril

Mi tutor de proyecto Gerardo Castang por guiarnos, por su paciencia, por sus

aportes de conocimiento y consejos de vida, a cada uno de los docentes que a

través de sus conocimientos aportaron a lo largo de estos semestres en mi

crecimiento profesional y personal.

A mi compañero de proyecto RODRIGO BERNAL ABRL, más que un compañero

de estudio es para mí una gran persona no solo me deja enseñanzas y consejos si

no también lecciones de vida y que solo espero seguir compartiendo con el mas

momentos de crecimiento espiritual y profesional.

Sergio Hernandez Abaunza

A la señora rectora Esperanza Gómez del colegio Sierra Morena IED quien nos

abrió las puertas de su colegio para trabajar allí nuestro proyecto, al secretario

académico Genaro Gonzales quien nos brindó su hospitalidad, su apoyo y la

información para desarrollar este proyecto.

Page 6: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

6

CONTENIDO

Pág.

INDICE DE GRAFICAS 8

INDICE DE TABLAS 10

RESUMEN 11

ABSTRACT 12

INTRODUCCION 14

1. FASE DE DEFINICION, DISEÑO Y ORGANIZACION 15

1.1. TITULO 15

1.2. TEMA 15

1.3. PLANTEAMIENTO DEL PROBLEMA 15 1.3.1. Descripción 15 1.3.2. Formulación del Problema 16

1.4. ALCANCES Y DELIMITACIONES 16 1.4.1. Alcances del proyecto 16 1.4.2. Delimitaciones del proyecto 17

1.5. OBJETIVOS 17 1.5.1. Objetivo General 17 1.5.2. Objetivos Específicos 18

1.6. JUSTIFICACION 18

1.7. MARCO DE REFERENCIA 19 1.7.1. Marco Teórico 19 1.7.1.1. Lenguaje PHP 20 1.7.1.2. Programación Orientada a Objetos POO 21 1.7.1.3. MySQL 21 1.7.1.4. Base de datos 22 1.7.1.5. Sistema de Información 22

1.8. FACTIBILIDAD 24 1.8.1. Factibilidad Técnica 24 1.8.2. Factibilidad Económica 26 1.8.3. Factibilidad Operativa 26 1.8.4. Factibilidad Legal 26

1.9. CRONOGRAMA DE ACTIVIDADES 30

2. FASE DE ANALISIS 31

2.1. ANALISIS DE REQUERIMIENTOS 31 2.1.1. Gestión de Estudiantes 31 2.1.2. Gestión docente 32 2.1.3. Gestión de Notas 33 2.1.4. Gestión de informes o reporte 34 2.1.5. Diagrama contexto del sistema 35

Page 7: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

7

2.1.6. Requerimiento de Software 36 2.1.7. Requerimiento de Hardware 36

2.2. DIAGRAMA DE FUNCIONES 37 2.2.1. Caso de Uso General SIEMOR 37 2.2.2. Caso de uso Estudiante 38 2.2.3. Caso de uso Docente 39 2.2.4. Caso de uso Notas 40 2.2.5. Diagrama de Dominio 41

2.3. DIAGRAMA DE SECUENCIAS 48 2.3.1. Secuencia de sesión 48 2.3.2. Secuencia de administrador CRUD 49 2.3.3. Secuencia Coordinador Modificar/Consultar 50 2.3.4. Secuencia docente notas 51

3. FASE DE DISEÑO 52

3.1. DISEÑO MODELO ENTIDAD/RELACION 52 3.1.1. Diccionario de datos 60

3.2. DISEÑO PROCEDIMENTAL 64 3.2.1. Conexión a la Base de Datos 65 3.2.2. Inicio de Sesión 65 3.2.3. Validación de perfiles y respectivo direccionamiento 66 3.2.4. Restricción de páginas 68 3.2.5. Inserción de datos a la Base de Datos 71 3.2.6. Búsqueda de registros 73 3.2.7. Generación de reporte en PDF 74

3.3. DISEÑO DE INTERFAZ 79

3.3.1. DISEÑO INTERFAZ USUARIO 79 3.3.1.1. Inicio de sesión y página principal 79 3.3.1.2. Creación de formularios para insertar datos 81 3.3.1.3. Mejora de Diseño de Interfaz 83

4. FASE DE IMPLEMENTACION 85

4.1. CRUD, FPDF Y CARGUE DE DATOS CON ARCHIVO CSV 85

5. FASE DE PRUEBAS 93

5.1. FALLAS PRESENTADAS 93

5.2. MEJORAS Y CAMBIO DEL DISEÑO 94

6. FASE DE IMPLANTACION 96

6.1. DESPLIEGUE 96

CONCLUSIONES 103

RECOMENDACIONES 104

BIBLIOGRAFIA 105

CIBERGRAFIA 106

ANEXOS 108

Page 8: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

8

INDICE DE GRAFICAS

Pág.

Ilustración 1 Gestión Estudiantes ................................................................................................. 32

Ilustración 2 Gestión Docentes ..................................................................................................... 33

Ilustración 3 Gestión de Notas...................................................................................................... 34

Ilustración 4 Gestión de Informe .................................................................................................. 34

Ilustración 5 Contexto del Sistema ............................................................................................... 35

Ilustración 6 Caso de Uso General ................................................................................................ 37

Ilustración 7 Caso de uso Estudiante ............................................................................................ 38

Ilustración 8 Caso de uso Docente ................................................................................................ 39

Ilustración 9 Caso de uso Notas .................................................................................................... 40

Ilustración 10 Diagrama ............................................................................................................... 41

Ilustración 11 secuencia de sesión ................................................................................................ 48

Ilustración 12 Administrador CRUD .............................................................................................. 49

Ilustración 13 MODIFICAR/CONSULTAR ........................................................................................ 50

Ilustración 14 Docente Notas ....................................................................................................... 51

Ilustración 15 Modelo E/R ............................................................................................................ 52

Ilustración 16 Tablas sin normalizar .............................................................................................. 53

Ilustración 17 Tabla Alumnos normalizada ................................................................................... 54

Ilustración 18 Tablas usuario y perfil no normalizadas ................................................................. 55

Ilustración 19 Tablas usuario y perfil usuario y perfil normalizadas ............................................... 56

Ilustración 20 Tablas en primera FN ............................................................................................. 57

Ilustración 21 Modelo E/R Primera Forma Normal ....................................................................... 58

Ilustración 22 Tablas Eliminadas ................................................................................................... 58

Ilustración 23 Modelo Normalizado.............................................................................................. 59

Ilustración 24 Diseño Sesión ......................................................................................................... 80

Ilustración 25 Diseño pantalla principal ........................................................................................ 80

Ilustración 26 Formulario 1 registrar alumno ................................................................................ 81

Ilustración 27 formulario insertar docente ................................................................................... 82

Ilustración 28 Interfaz mejorada ................................................................................................... 83

Ilustración 29 Interfaz usuario ...................................................................................................... 84

Ilustración 30 Footer .................................................................................................................... 84

Ilustración 31 Nueva interfaz 2 ..................................................................................................... 87

Ilustración 32 Reporte en PDF ...................................................................................................... 89

Ilustración 33 Cargue de archivo CSV............................................................................................ 92

Ilustración 34 Reporte de grupo y notas ....................................................................................... 92

Ilustración 35 Error 402 ................................................................................................................ 93

Page 9: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

9

Ilustración 36 Error en inserción ................................................................................................... 93

Ilustración 37 Error Carga de Archivo ........................................................................................... 94

Ilustración 38 Cargue de archivo .................................................................................................. 95

Ilustración 39 Vista de los menus ................................................................................................. 95

Ilustración 40 Acceso remoto ....................................................................................................... 96

Ilustración 41 Windows Server 2008 R2........................................................................................ 97

Ilustración 42 IIS Manager. ........................................................................................................... 98

Ilustración 43 Crear el Sitio ........................................................................................................... 98

Ilustración 44 Importación de la BD desde phpMyadmin .............................................................. 99

Ilustración 45 Importación de la BD exitosa .................................................................................. 99

Ilustración 46 Ingreso desde servidor ......................................................................................... 100

Ilustración 47 Navegación por los Menús ................................................................................... 100

Ilustración 48 Ingreso de Usuario ............................................................................................... 101

Ilustración 49 Listado del Grupo asignado .................................................................................. 101

Ilustración 50 Pdf en línea .......................................................................................................... 102

Ilustración 51 Reporte de usuarios ............................................................................................. 102

Page 10: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

10

INDICE DE TABLAS

Pag.

Tabla 1 Recurso Tecnológico ........................................................................................................ 25

Tabla 2 Ficha Técnica ................................................................................................................... 29

Tabla 3 Contexto del Sistema ....................................................................................................... 35

Tabla 4 Caso de Uso General ........................................................................................................ 37

Tabla 5 Caso de uso Gestión Estudiante ....................................................................................... 38

Tabla 6 Caso de uso Gestión Docente .......................................................................................... 39

Tabla 7 Caso de uso Notas ............................................................................................................ 40

Tabla 8 Dominio General .............................................................................................................. 42

Tabla 9 Entidad Alumnos .............................................................................................................. 42

Tabla 10 Entidad Docente ............................................................................................................ 43

Tabla 11 Entidad Matricula........................................................................................................... 43

Tabla 12 Entidad Promoción......................................................................................................... 43

Tabla 13 Entidad Usuario ............................................................................................................. 44

Tabla 14 Entidad Perfil ................................................................................................................. 44

Tabla 15 Entidad Dcargo y Tipcontrato ......................................................................................... 45

Tabla 16 Entidad Asignacionmat ................................................................................................... 45

Tabla 17 Entidad Notas_area ........................................................................................................ 45

Tabla 18 Entidad Area .................................................................................................................. 46

Tabla 19 Entidad Grupos .............................................................................................................. 46

Tabla 20 Entidad Ciclo .................................................................................................................. 46

Tabla 21 Entidad Grado ................................................................................................................ 47

Tabla 22 Entidad Jornada ............................................................................................................. 47

Tabla 23 Entidad Sede .................................................................................................................. 47

Page 11: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

11

RESUMEN

En el presente trabajo se pretende dar razón de la importancia del diseño e implementación de un “Sistema de notas y certificados que agilice los procesos académicos y administrativos de una institución educativa, buscando ante todo que se facilite la labor del personal administrativo y docente, además de ahorrar tiempo en la búsqueda de información y en la elaboración de reportes. Para lograr desarrollar este trabajo fue necesario establecer en un primer momento las necesidades de la comunidad educativa frente al problema planteado y de allí empezar a realizar el análisis de la situación, para tratar de dar solución a la misma. En el diseño de la aplicación web se utilizó lenguaje PHP, motor de bases de datos MYSQL, los cuales se desplegaron en un servidor Windows 2008 server, con el servicio de internet informatión server (IIS). Vale la pena señalar que se consideró pertinente utilizar para el desarrollo del presente proyecto la metodología RUP.

Page 12: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

12

ABSTRACT

In the present paper aims to account for the importance of design and implementation of a " system of notes and certificates streamline academic and administrative processes of an educational institution , seeking above all the work of the staff and faculty to facilitate further to save time in finding the information and reporting. Order to develop this work was necessary to establish at first the needs of the education community to the problem and from there start the analysis of the situation , to try to solve it. PHP , MYSQL database engine data, which is deployed on a Windows Server 2008 server , the Internet Information Server (IIS ) was used in the design of the Web application. It is worth noting that it was considered appropriate to use for the development of this project, the RUP methodology.

Page 13: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

13

Page 14: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

14

INTRODUCCION

En este trabajo se expone los pasos que se siguieron para la elaboración de un

sistema de información que abarca los aspectos de ingreso de datos, generación

de reportes y acceso de usuario, para este caso se aplicó para el colegio SIERRA

MORENA IED Sede A.

Se elaboró basado en la metodología RUP, la cual permitió ir desarrollando e

interactuando con el cliente, realizando iteraciones con las que se podían ir

retroalimentando y al final ver el producto final ya desarrollado.

Se documentó con diagramas para realizar el análisis, diseño e implementación del

producto, que dio como resultado una aplicación WEB accedida desde la intranet

del colegio.

Page 15: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

15

1. FASE DE DEFINICION, DISEÑO Y ORGANIZACION

1.1. TITULO

Análisis, Diseño e implementación del sistema Web de notas y certificados del

colegio Sierra Morena IED sede A.

1.2. TEMA

Desarrollar un sistema WEB para el cargue de notas y generación de reportes.

1.3. PLANTEAMIENTO DEL PROBLEMA

1.3.1. Descripción

Inicialmente es importante especificar que el colegio Sierra Morena, cuenta con 4 sedes, atendiendo población estudiantil de tres jornadas (mañana, tarde y fines de semana). Las edades de los estudiantes varían desde los 3 a los 19 años aproximadamente (en educación formal) y sin límite de edad en el programa de alfabetización de los fines de semana. Es decir, el colegio debe recibir y atender las necesidades de aproximadamente seis mil (6000) estudiantes. A esta situación se le debe agregar los múltiples asignaciones administrativas con la que el personal de secretaria debe cumplir muchas de ellas casi que de forma inmediata, (informes, seguimientos, diligenciamiento de formatos, comunicados, matriculas, asistencias, planillas de seguimiento académico entre muchas otras funciones). Además de las situaciones antes descritas, es necesario hacer la salvedad de que

el colegio no cuenta con los recursos económicos y materiales suficientes para

buscar un mecanismo eficaz que le facilite agilizar los procesos internos, tanto

académicos como administrativos que diario demanda la institución educativa.

Page 16: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

16

1.3.2. Formulación del Problema

La información de las cuatro sedes del colegio, se recepciona en la Sede A, donde en la actualidad se realiza el procesamiento de notas y certificados mediante la recolección de la información académica de los estudiantes en libros por años, jornadas y grados. Libros que reposan en esta sede obligando de esta manera a los usuarios del colegio a desplazarse hasta allí para solicitar información sobre el historial académico de los alumnos.

Cuando los estudiantes o en su defecto “sus acudientes”, requieren información específica con respecto a notas y/o certificados de estudios entre otros, debe iniciar un proceso de solicitud de los mismos que requiere de un tiempo relativamente largo, debido a la cantidad de registros en los que se debe buscar.

A este proceso se debe agregar el tiempo destinado a la digitación de la información

solicitada en un formato específico, el cual no solo debe llevar la firma del

representante legal de la institución, sino que también debe pasar por un proceso

de verificación de datos, sumando más tiempo a la diligencia realizada por el

usuario.

¿Puede el colegio Sierra Morena sede A acceder a la información de los estudiantes

de una forma más práctica?

¿El colegio cuenta con el recurso tecnológico para implementar un sistema de

información?

¿El secretario académico puede consultar y generar constancias de estudio de un

alumno de forma eficaz?

¿La creación de un sistema de información puede beneficiar al colegio en sus

procesos administrativos?

1.4. ALCANCES Y DELIMITACIONES

1.4.1. Alcances del proyecto

Con el Sistema de Notas y Certificados del Colegio Sierra Morena sede A, los funcionarios encargados del diligenciamiento de los certificados y constancias podrán:

Page 17: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

17

● Registrar y consultar información de estudiantes ● Registrar y consultar información de docentes ● Generar constancias y certificados Los docentes a su vez podrán solamente:

● Registrar las notas de los grupos que tengan asignados ● Consultar los alumnos que tengan asignados

1.4.2. Delimitaciones del proyecto

Pese a que el presente proyecto pretende dar solución a las dificultades que se han presentado con el sistema que genera certificados y constancias de estudio debido a la demora en el trámite por la cantidad de archivos en los que se debe buscar la información, aun no se contempla un sistema que esté conectado en red con las otras sedes. La dificultad radica en que, para hacer un sistema de procesamiento de información en red haría falta un servidor con suficiente capacidad de memoria y almacenamiento que pueda soportar el flujo de información que se maneja en la institución, es decir, el sistema debe contemplar las cuatro sedes con sus jornadas mañana y tarde incluyendo el programa de alfabetización de los fines de semana En el Sistema de Notas y certificados del Colegio Sierra Morena Sede A, no se contemplaron las sedes (B, C y D) por factores adicionales que se tendrían que revisar como la conexión de red de cada sede a la sede principal (sede A), los permisos de usuarios entre otros y que no están planteados dentro de los objetivos del proyecto. También se descartan otras áreas dentro del plantel como pagaduría y biblioteca porque no entran dentro del planteamiento del problema del proyecto.

1.5. OBJETIVOS

1.5.1. Objetivo General

Desarrollar un sistema que genere constancias de estudio y certificados de notas

de fácil manejo para los funcionarios administrativos y docentes que pertenecen al

Colegio Sierra Morena (SEDE A).

Page 18: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

18

1.5.2. Objetivos Específicos

● Diseñar e implementar el modulo para el registro de la información requerida por la institución de cada estudiante.

● Diseñar e implementar el modulo para el registro adecuado de notas suministrado por los docentes a través de cuentas de usuario generadas para garantizar la seguridad.

● Diseñar e implementar el modulo para los funcionarios de la institución que ingresan a través de cuentas de usuario para la consulta del estado de los estudiantes así como la generación de certificados de estudio.

Realizar la fase de pruebas e integración del prototipo según metodología

RUP.

1.6. JUSTIFICACION

Debido a que el colegio Sierra Morena no cuenta con un sistema de almacenamiento y procesamiento de información que cubra las necesidades (en cuanto a documentación se refiere) de la totalidad de la comunidad educativa y en un tiempo mínimo, se presentan dificultades de tipo administrativo debido al tiempo que demanda el proceso de generación de constancias y o certificados de estudio. Vale la pena indicar que la demora en la elaboración de la documentación no solo radica en el gran número de estudiantes que tiene la institución, sino que trasciende en algunas características específicas, tales como: curso, jornada, nombre del docente, número de identificación del grupo, entre otros datos exactos que permiten tener orden y control de la información que se maneja. Desde este punto de vista se hace necesario buscar estrategias que agilicen los procesos administrativos y de generación de información de la institución de tal manera que pueda garantizarse un servicio más eficiente y rápido a la comunidad estudiantil, procurando a su vez que ellos puedan llevar a cabo sus diligencias, sin que el colegio se convierta en un obstáculo para las mismas. Así pues, la propuesta pretende diseñar un sistema más eficiente que permita no solo procesar y guardar información de forma rápida y organizada sino que además ofrezca la posibilidad de filtrar datos característicos de la situación académica del

Page 19: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

19

estudiante de tal manera que permita la elaboración instantánea de certificados y constancias de estudio del mismo. Este sistema permitirá que los funcionarios se dediquen a otros procesos administrativos de la institución, ya que dispondrán de más tiempo debido a la facilidad en el almacenamiento de datos, de esta manera se podrá hacer un seguimiento a otras actividades que requieren de atención y actualización constante, que muchas veces no pueden dejarse para después sino que requieren de una pronta solución. Al implementar un sistema de almacenamiento fundamentado en una base de datos también se está ofreciendo una posibilidad más práctica de actualización de la misma ya que al presentarse un cambio en la información de los estudiantes se puede acudir a la filtración de datos y realizar el ajuste o modificación que se requieran de forma inmediata procurando así mantener el sistema de información actualizado. La pertinencia del sistema de base datos que se pretende implementar, radica en

que aportará mayor orden en el procesamiento de información, lo cual podría

representarse en un ahorro en costos para la institución y en definitiva en un manejo

más productivo de las tareas diarias que realizan los funcionarios al realizarse de

manera más rápida y eficiente los diversos procesos administrativos.

1.7. MARCO DE REFERENCIA

1.7.1. Marco Teórico

En este capítulo se hablará de teorías, presentadas ordenada y coherentemente por un conjunto de conceptos que ubica no solo el problema que se trabajó en una dimensión sino situándolo en un determinado tiempo, por tanto, se relacionan situaciones ocurridas, a fin de caracterizar mejor la problemática.

Así que se acude a las teorías y elementos teóricos existentes, es decir a la información proveniente de distintas fuentes, como artículos, textos o datos científicos en revistas, libros, periódicos o estadísticas entre otros. Además, información empírica primaria o directa obtenida mediante un acercamiento con la realidad, a través de la observación, entrevistas o fuentes clave.

Page 20: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

20

A partir de esto, se analiza los diversos elementos teóricos que intervinieron en la elaboración del presente trabajo con el fin de tener una visión más clara y detallada de la propuesta y de esta manera demarcar un camino claro y definido a seguir. A continuación se detallarán algunos aspectos importantes para la construcción de dicho trabajo.

1.7.1.1. Lenguaje PHP

PHP es considerado como un lenguaje de código abierto, utilizado para el desarrollo de ambientes web y que puede ser utilizado en HTML. Posee una magnifica simplicidad apropiada para alguien que empieza a programar, pero a la vez ofrece un abanico de posibilidades para programadores profesionales que comprenden sus características avanzadas.

Una de las ventajas que posee el lenguaje PHP, es que se enfoca básicamente en

la programación, de tal manera que se puede realizar cualquier acción tal como:

recopilar datos de formularios, generar páginas con contenidos dinámicos o enviar

y recibir cookies, entre muchas otras tareas que pueden realizarse.

Jorge Sánchez 1 dice que PHP apareció en el año 2000. Es el lenguaje script de servidor más popular, incluso se impuso a la tecnología ASP que en ese tiempo era la tecnología de mayor uso. En la actualidad se puede instalar módulos que ayudan a interpretar el lenguaje PHP en la mayoría de servidores que tengan aplicaciones web.

Una de las ventajas que posee el lenguaje PHP, es que se enfoca básicamente en la programación, de tal manera que se puede realizar cualquier acción tal como: recopilar datos de formularios, generar páginas con contenidos dinámicos o enviar y recibir cookies, entre muchas otras tareas que pueden realizarse.

El lenguaje PHP puede emplearse en cualquier sistema operativo y admite cualquier servidor web que pueda utilizar el binario de PHP. Es decir, que se tiene la libertad de elegir el sistema operativo y el servidor web que más se acerque a las necesidades del usuario. Además, se tiene la posibilidad de utilizar programación por procedimientos o programación orientada a objetos (POO), o una mezcla de ambas.

1 http://www.jorgesanchez.net/web/iaw/iaw2.pdf

Page 21: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

21

1.7.1.2. Programación Orientada a Objetos POO

En http://dis.um.es 2 se define como un estilo de programación o técnica, la cual utiliza objetos como elemento esencial de construcción. En este sentido vale la pena señalar que la POO, toma las mejores ideas de la programación estructura y las combinan con diversos y novedosos conceptos que permiten al usuario realizar las tareas de programación de manera más efectiva. Este tipo de programación, facilita que el programador analice y descomponga una situación problema en partes relacionadas al mismo, con el fin de dar especial atención a cada una. Estas partes o unidades son definidas como objetos, quienes hacen parte esencial del proceso de construcción al momento de programar. La POO, en términos de programación es muy utilizada debido a que se hace más fácil trabajar un tema dividido en objetos. El concepto no es nuevo, de hecho se han tomado elementos de técnicas implementadas al principio de los años setenta, sin embargo fue en la década de los noventa donde adquirió mayor fuerza su popularidad en el ambiente informático. Se hace necesario aclarar que un objeto es considerado como una unidad en donde

hay datos y las funciones que operan sobre dichos datos. A su vez un objeto posee

elementos denominados “miembros”, los datos son nombrados “miembros de

datos”, y las funciones que operan sobre los objetos son designadas métodos.

1.7.1.3. MySQL

Este motor de base de datos tiene la ventaja de que es gratuita, no requiere comprar

licencia, hay herramientas para aplicaciones WEB como lo son WAMP, XAMP que

al momento de instalarlos traen por defecto el paquete de MySQL y que al ingresar

a sus sitios de descarga brindan actualizaciones sin costo alguno.

Jacobo Pabon [3], menciona que MySQL es la base de datos elegida por la mayoría

de programadores en PHP. Soporta el lenguaje SQL y la conexión de varios

usuarios, pero en general se utiliza para aplicaciones de tamaño pequeño-medio.

2 http://dis.um.es/~jfernand/0506/dai/poo.pdf. pág. 1 3 JACOBO PABON PUERTAS, (2011), Creación de un portal con PHP y MySQL, México, Alfaomega. Pág. 16

Page 22: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

22

En cuanto a la seguridad MySQL brinda la opción de crear un usuario y contraseña

para acceder a la Base de datos o a varias Bases de datos, dándole mas

confiabilidad y seguridad en la información.

El manejo de registros y tamaño Refman[4], utilizamos MySQL Server con bases de

datos que contienen 50 millones de registros para bases de datos grandes.

También se sabe de usuarios que usan MySQL Server con 200.000 tablas y unos

5000 millones filas.

Con soporte para hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice

puede consistir en 1 a 16 columnas o partes de columnas. El ancho máximo índice

es 767 bytes para tablas InnoDB, o 1000 para MyISAM; antes de MySQL 4.1.2, el

límite es de 500 bytes. Un índice puede usar prefijos de una columna para CHAR,

VARCHAR, tipos BLOB, o TEXT columna.

1.7.1.4. Base de datos

Una base de datos en su forma más simple es un conjunto de datos o registros

almacenados ordenadamente por columnas que contienen las características de los

datos o como se conocen comúnmente Campos y filas la cuales son los registros o

los datos. Como un ejemplo podemos tener una hoja de cálculo de Excel en

Microsoft o de Calc en libreOffice, cuyas columnas representan los campos y filas

representan los datos o registros.

O de una forma más técnica Teaching Soft Group[5], define que es un conjunto de

datos relacionados entre sí, que están estructurados, de forma que puede

accederse a ellos automática e independientemente de los programas que

gestionan esos datos. Y que están formados por uno o varios bloques de

información llamados TABLAS que normalmente tendrán alguna característica en

común.

1.7.1.5. Sistema de Información

Primero vamos a referirnos que es un sistema: es un conjunto de partes que se encuentran integradas con el propósito de cumplir un objetivo o finalidad.

4 http://downloads.mysql.com/docs/refman-5.5-en.a4.pdf. Pág. 7-8 5 TEACHING SOFT GROUP, (2011), ORACLE 11G Curso práctico, México, Alfaomega. Pág. 41

Page 23: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

23

Estos sistemas se aplican a entidades que requieren una accesibilidad a datos para

la ejecución de procesos internos de la compañía.

Sistema de información [66]: es un conjunto de elementos que interactúan entre sí

con el fin de apoyar la finalidad de una empresa u organización, es el Conjunto total

de procedimientos, operaciones, funciones y difusión de datos o información en una

organización.

Pero en las Tecnologías de la Información (TI), le dan una definición más amplia a

este término ya que en la actualidad se busca tener la información mas rápida y

accesible, al punto que compañías han invertido grandes cantidades de dinero para

construir sistemas de información que les un mejor rendimiento en producción,

procesos y económico.

Después de haber comprendido el concepto de SI existe la necesidad de explicar

un concepto todavía más amplio [77]:

La clasificación de los sistemas de información se realiza teniendo en cuenta sus características similares. Esta clasificación permite identificar diferentes sistemas, analizarlos, plantear nuevos sistemas etc. Entre las clasificaciones se encuentran:

Por estructura organizacional: se clasifican a lo largo de líneas estructuradas. Dentro de estos se encuentran los sistemas para divisiones, departamentos, unidades de operación e incluso para empleados individuales.

Por área funcional: para todas las tareas rutinarias o repetitivas que se desarrollan en la empresa y que son esenciales para la operación de la organización. Ejemplo: sistema de información contable, sistema de información de comercialización, sistema de información de recursos humanos.

De acuerdo con la ayuda brindada: apoyan a los gerentes en la toma de decisiones o a empleados administrativos al momento de entregar un informe. Ejemplo gráficas, tablas, etc.

6 http://www.frlp.utn.edu.ar/materias/info2/SI-Sistemas%20de%20Informacion.pdf. p. 4. 7 Ibid., p.8

Page 24: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

24

1.8. FACTIBILIDAD

En la actualidad el colegio SIERRA MORENA atiende en promedio a seis mil (6000)

estudiantes, en sus cuatro sedes, en las jornadas mañana, tarde y fines de semana,

ofreciendo a la comunidad educativa educación en: preescolar, básica primaria,

aceleración, media, secundaria y validación del bachillerato.

Viendo esto y definiendo el planteamiento del problema y las causas que ameritan

implementar un sistema de información se estudia tres factores primordiales; la

factibilidad técnica, operativa y económica para realizar el desarrollo del sistema de

información del colegio SIERRA MORENA sede A.

1.8.1. Factibilidad Técnica

El Colegio Sierra Morena ya cuenta con un equipo servidor en el cual se instalara y se configurará el sistema de notas y certificados.

Para ejecutar el sistema de notas se trabajara en software libre que no requiere

licencia lo cual no entraría dentro de un rubro de gasto.

En este caso en particular, se pretende profundizar en las características del recurso

tecnológico con el que cuenta la institución educativa, para la elaboración de

información concerniente al historial académico de los estudiantes. A continuación,

en la siguiente tabla, se analizaran tales aspectos:

Recurso Tecnológico

Características del

Hadware

El Colegio Sierra Morena cuenta en la actualidad

con un equipo Servidor con las siguientes

características de hardware:

Page 25: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

25

● Equipo Dell Power Edge T300 ● Disco duro de 500 Gigas ● Memoria RAM de 1 Gb DDR2 ● Procesador Intel Xeon E3113 3GHZ ● Tarjeta de red LAN interna 10/100Mb

En este equipo se instalara, configurara y ejecutara

el motor de BD y el servidor WEB, para el sistema

de notas y certificados del plantel educativo.

Configuraciones de

Hadware

La mayoría de equipos de cómputo de la sede

cuentan con varias configuraciones de hardware

las cuales se enumeran:

● Equipos con procesadores Pentium 4 e Intel core i3.

● Equipos con capacidad de almacenamiento entre 80 GB y 1 TB.

● Equipos con capacidad de memoria RAM entre 1 GB y 4GB.

Características de

Software

El servidor cuenta con sistema operativo Windows Server 2008 R2 SP1 con licencia de la Secretaria de Educación Distrital, configurado con IIS (Internet Information Server) para la publicación WEB, PHP 5.4.12, MYSQL 5.6.12.

El cual permite que el servicio de MYSQL y el servicio WEB con el aplicativo estén activos para el uso del usuario.

Mientras los equipos que hacen parte del Colegio Sierra Morena sede A, vienen provistos con sistema operativo Windows 7 profesional, algunos con Windows XP SP3, con browser IE9(Internet Explorer), Chrome, y Firefox todos

con licenciamiento de la Secretaria de Educación Distrital.

Tabla 1 Recurso Tecnológico

Page 26: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

26

1.8.2. Factibilidad Económica

La institución no cuenta con recursos para asumir los costos como son transporte y

alimentación del grupo de trabajo conformado por los estudiantes de la Universidad

Distrital Francisco José de Caldas que trabaja en el sistema de notas ya que la

modalidad de trabajo es pasantía, por lo tanto estos costos los asumen los

estudiantes.

Además la institución se verá beneficiada de dos formas:

Intangibles: donde la institución no tendrá que costear el licenciamiento del software

por que la Secretaria de Educación tiene licencia sobre el Sistema Operativo, y el

software que se instala para la base de datos y el lenguaje de programación son

libres de costo bajo licenciamiento de software libre.

Tangibles: donde la institución no tendrá que costear gastos de hardware ya que

estos son provistos por la Secretaria de Educación.

1.8.3. Factibilidad Operativa

Al implementar un sistema de información para el colegio SIERRA MORENA sede

A, resultan beneficiados los estudiantes quienes tendrán una pronta respuesta de

sus solicitudes de constancias o certificados.

También el personal administrativo quien lleva el diligenciamiento de la información

porque sus procesos serán más eficientes y se les facilitara acceder a la información

cuando la requieran.

1.8.4. Factibilidad Legal

El colegio SIERRA MORENA es un colegio legalmente constituido ante la secretaria

de educación a continuación se realizara una contextualización del mismos.

El presente trabajo tiene como contexto de trabajo el colegio SIERRA MORENA I.E.D., el cual inicio sus actividades académicas como institución integrada en el año 2002, según resolución No. 1899 del 28 de junio del mismo año.

Page 27: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

27

El personal docente y administrativo docente del colegio, con miras a la reinstitucionalización de sus sedes plantearon varias propuestas de trabajo con el fin de garantizar la permanencia de los niveles que conforman el proceso académico formativo de los niños, niñas, jóvenes y adultos. El 26 de septiembre de 2002 se reunió por segunda vez el consejo académico para socializar y analizar los P.E.I. de las sedes con el fin de establecer el cronograma y las metodologías para la articulación del nuevo P.E.I. Desde este punto de vista fue necesario conformar con ayuda de los docentes, comisiones y equipos de trabajo. Se convocó a docentes que quisieran participar de manera voluntaria en la construcción del horizonte institucional del colegio. Este trabajo inició el 22 de octubre de 2002 con el equipo de trabajo conformado, quienes tenían como función reestructurar aspectos del P.E.I. como: visión, Misión, objetivos Generales, perfil del estudiante, y perfil del docente. Gracias al trabajo desarrollado por los docentes que participaron de la reestructuración del P.E.I., como requisito de la Unificación, se logra establecer de manera formal el nombre del colegio como “INSTITUCIÓN EDUCATIVA DISTRITAL SIERRA MORENA” compuesto por tres sedes:

Sede A: (Sierra Morena) Cll 77 A Sur Cra. 65 – 01, Tel: 7171391

Sede B: (Santo Domingo Sabio) Cll 62 B Sur No. 77 – 11, 7184079

Sede C: (Divino Niño) Trv. 46 A No. 46 A – 33/35 7188600 Hasta la fecha se continúa educando a la población estudiantil de sus sedes con solo un Proyecto Educativo Institucional, tan solo en el año 2004 se hizo extensivo el P.E.I. a su nueva sede (Potosí) En el año 2003 se abre el programa de “Aceleración”, según Resolución oficial No. 2273 del 12 de agosto del mismo año. En el año 2005, exactamente el 2 de abril, el colegio “Sierra Morena I.E.D. inicia su proyecto de alfabetización ofreciendo a la comunidad del sector un programa dirigido a jóvenes y adultos el cual funcionaba los fines de semana, debido a la necesidad presentada en la comunidad al detectar un número considerable de personas sin terminar sus estudios de básica secundaria.

Page 28: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

28

Así pues, se da una visión general de los aspectos administrativos y académicos del colegio Sierra Morena, con el fin de contextualizar de manera concreta al lector, sin embargo hay algunos aspectos concretos de los que no se habló anteriormente pero que se detallaran en la tabla que se presenta a continuación:

FICHA TÉCNICA

Nombre de la

institución

COLEGIO SIERRA MORENA I.E.D.

Resolución No. 1899 del 28 de junio del año 2002.

DANE 111001086835

REGISTRO ICFES JM 098723

JT 098327

Nit

CARÁCTER Público

SECTOR Oficial

MODALIDAD Mixto

P.E.I. Líderes del siglo XXI, Una venta al futuro de

Colombia

LOCALIDAD Ciudad Bolívar

UPZ 69

Mail [email protected]

MISION: El colegio Sierra Morena IED. De la localidad 19 de

Ciudad Bolívar, forma líderes mediante estrategias

participativas e innovadoras, potenciando sus

capacidades cognitivas, expresivas y afectivas.

Page 29: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

29

UBICACIÓN

GEOGRAFICA

Se encuentra ubicado al Sur de la Cuidad de Bogotá

más exactamente en la Localidad 19 de CIUDAD

BOLÍVAR en el barrio Sierra Morena, Calle 77ª A Sur

Carrera 65. El cual da una cobertura para los barrios

de Santo Domingo, Cazuca, Sierra Morena, Caracolí,

Jerusalén.

Sedes educativas Sede A: (Sierra Morena) Cll 77 A Sur Cra. 65 – 01, Tel: 7171391

Sede B: (Santo Domingo Sabio) Cll 62 B Sur No. 77 – 11, 7184079

Sede C: (Divino Niño) cll 81 sur No. 79 B – 15 sur

Sede D: (Potosí) Trv. 46 A No. 46 A – 33/35 7188600

Población 1 Rector

5 coordinadores

250 docentes

15 administrativos

4 orientadores

6000 estudiantes

Principios

institucionales

Liderazgo, autonomía, proyección social, trabajo en

equipo, innovación, investigación, tolerancia y

solidaridad.

Tabla 2 Ficha Técnica

Page 30: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

30

1.9. CRONOGRAMA DE ACTIVIDADES

Page 31: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

31

2. FASE DE ANALISIS

En esta fase del proyecto se planteó las necesidades del colegio Sierra Morena

sede A con base a la gestión que ellos efectúan al momento de hacer un proceso

ya sea de registro, de consulta o reporte. En los siguientes apartes se tratan los

requerimientos que ellos estiman primordiales y enfocados a los objetivos y alcance

del proyecto.

2.1. ANALISIS DE REQUERIMIENTOS

En el estudio de análisis del negocio se concluyó que el aplicativo lleva los

siguientes requisitos específicos:

GESTION DE ESTUDIANTES

GESTION DE DOCENTES

GESTION DE NOTAS

GESTION DE INFORMES

2.1.1. Gestión de Estudiantes

Para adquirir los informes de los estudiantes debemos registrar en la base de datos

los campos básicos que identifiquen al estudiante como se muestra en la siguiente

gráfica:

Page 32: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

32

Ilustración 1 Gestión Estudiantes

Todos estos datos quedaran almacenados en la base de datos MYSQL, la cual será

muy útil en el momento de realizar las consultas para sacar los reportes necesarios.

2.1.2. Gestión docente

Para registrar las notas de un alumno necesitamos los registros del docente que

imparta la materia estos informes debemos registrar en la base de datos los campos

básicos que identifiquen al docente como se muestra en la siguiente gráfica:

Page 33: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

33

Ilustración 2 Gestión Docentes

2.1.3. Gestión de Notas

Para registrar las notas de los alumnos y así poder generar los reportes de

certificados y constancias debemos tener los datos del docente y del alumno

tomando de estos los id primary key con la cual las relacionamos en dos tablas,

para crear la consulta necesaria para el reporte de notas como se muestra en las

siguientes graficas:

Page 34: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

34

2.1.4. Gestión de informes o reporte

Para la gestión de los reportes el usuario administrativo toma los datos del

alumno, junto con los datos de las notas, y los de promoción, como se muestran

en las siguientes graficas:

Ilustración 4 Gestión de Informe

Ilustración 3 Gestión de Notas

Page 35: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

35

Con estos requisitos especificos se pretende desarrollar los tres modulos que tendra

el aplicativo, uno es un modulo administrador, modulo coordinador y por ultimo un

modulo docente, como se mostrara en el diagrama del contexto del sistema.

2.1.5. Diagrama contexto del sistema

Contexto del Sistema

Tipo: Public Package

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Contexto del Sistema

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Este paquete contiene una descripción del contexto del sistema realizada

mediante un diagrama simple de casos de uso.

Tabla 3 Contexto del Sistema

Ilustración 5 Contexto del Sistema

Page 36: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

36

2.1.6. Requerimiento de Software

Para la implementación del sistema de información se requiere un equipo servidor

con las siguientes características de software:

El servidor debe contar con un sistema operativo Windows Server 2008 R2 SP1 con licencia de la Secretaria de Educación Distrital, configurado con IIS (Internet Information Server) para la publicación WEB, PHP 5.4.12, MYSQL 5.6.12.

Equipos de escritorio con navegador Google Chrome, Internet Explore 9 o superior.

2.1.7. Requerimiento de Hardware

Para la implementación del sistema de información el equipo debe contar mínimo

con estos requerimientos de hardware:

● Equipo Dell Power Edge T300 ● Disco duro de 500 Gigas ● Memoria RAM de 1 Gb DDR2 ● Procesador Intel Xeon E3113 3GHZ ● Tarjeta de red LAN interna 10/100Mb

Page 37: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

37

2.2. DIAGRAMA DE FUNCIONES

2.2.1. Caso de Uso General SIEMOR

Ilustración 6 Caso de Uso General

Caso de Uso General

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Gestión SIEMOR

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Caso de uso de negocio que representa los actores y sus respectivos

permisos en el aplicativo.

Tabla 4 Caso de Uso General

Page 38: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

38

2.2.2. Caso de uso Estudiante

Ilustración 7 Caso de uso Estudiante

Caso de uso Estudiante

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Gestión Estudiante

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Caso de uso que representa los actores del negocio y sus respectivos

permisos en el aplicativo.

Conexiones

ƒ Association link from actor Administrador

ƒ Association link from actor Coordinador

Tabla 5 Caso de uso Gestión Estudiante

INGRESAR ESTUDIANTE

CONSULTAR

ELIMINAR

MODIFICAR

ADMINISTRADOR

COORDINADOR

DOCENTE

Page 39: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

39

2.2.3. Caso de uso Docente

Ilustración 8 Caso de uso Docente

Caso de uso Docente

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Gestión Docente

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Caso de uso que representa los actores del negocio y sus respectivos

permisos en el aplicativo.

Conexiones

ƒ Association link from actor Administrador

ƒ Association link from actor Coordinador

Tabla 6 Caso de uso Gestión Docente

Page 40: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

40

2.2.4. Caso de uso Notas

Ilustración 9 Caso de uso Notas

Gestion Notas

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Gestión de Notas

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Caso de uso que representa los actores del negocio y sus respectivos permisos

en el aplicativo.

Conexiones

ƒ Association link from actor Administrador

ƒ Association link from actor Coordinador

ƒ Association link from actor Docente Tabla 7 Caso de uso Notas

Page 41: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

41

2.2.5. Diagrama de Dominio

Representación gráfica del dominio general del colegio Sierra Morena IED sede A

que muestra la estructura general de las entidades que van a actuar en la

implementación.

Ilustración 10 Diagrama

Page 42: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

42

Alumnos

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los alumnos del colegio Sierra Morena IED

sede A.

Tabla 9 Entidad Alumnos

Docente

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Dominio General

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Paquete que contiene una descripción genérica de modelo del negocio del

colegio Sierra Morena IED sede A.

Tabla 8 Dominio General

Page 43: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

43

Conjunto de información sobre la planta Docente del colegio Sierra Morena

IED sede A.

Tabla 10 Entidad Docente

Matricula

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los alumnos matriculados del colegio Sierra

Morena IED sede A.

Tabla 11 Entidad Matricula

Promoción

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los alumnos que fueron promovidos para el

siguiente año escolar del colegio Sierra Morena IED sede A.

Tabla 12 Entidad Promoción

Usuario

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Page 44: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

44

Conjunto de información sobre los usuarios, password y perfil de acceso a

la plataforma WEB del colegio Sierra Morena IED sede A.

Tabla 13 Entidad Usuario

Perfil

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los tipos de perfil para acceder a la

plataforma WEB del colegio Sierra Morena IED sede A.

Tabla 14 Entidad Perfil

Dcargo

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre el tipo de cargo del docente y/o administrativo

del colegio Sierra Morena IED sede A.

Tipcontrato

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Page 45: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

45

Conjunto de información sobre el tipo de contrato que tiene un docente del

colegio Sierra Morena IED sede A.

Tabla 15 Entidad Dcargo y Tipcontrato

Asignacionmat

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre las materias, intensidad horaria y grupo

asignados a un docente del colegio Sierra Morena IED sede A.

Tabla 16 Entidad Asignacionmat

Notas_area

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre las notas del alumno del colegio Sierra

Morena IED sede A.

Tabla 17 Entidad Notas_area

Area

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Page 46: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

46

Conjunto de información sobre las áreas de formación del colegio Sierra

Morena IED sede A.

Tabla 18 Entidad Area

Grupos

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los grupos creados del colegio Sierra Morena

IED sede A.

Tabla 19 Entidad Grupos

Ciclo

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre los ciclos que maneja por cada grado del

colegio Sierra Morena IED sede A.

Tabla 20 Entidad Ciclo

Grado

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Page 47: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

47

Conjunto de información sobre los grados que se maneja para cada grupo

del colegio Sierra Morena IED sede A.

Tabla 21 Entidad Grado

Jornada

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre las jornadas que se maneja en el colegio

Sierra Morena IED sede A.

Tabla 22 Entidad Jornada

Sede

Tipo: Public «business use case» Use Case

Estado: Proposed. Version 1.0. Phase 1.0.

Paquete: Diagrama de Dominio

Detalles: Created on 17/09/13. Modified on 17/09/13. Author: RODRIGO

BERNAL ABRIL, SERGIO HERNANDEZ

Conjunto de información sobre las sedes que tiene en el colegio Sierra Morena

IED sede A.

Para el alcance del proyecto se enfocó para la sede principal, sede A.

Tabla 23 Entidad Sede

Page 48: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

48

2.3. DIAGRAMA DE SECUENCIAS

2.3.1. Secuencia de sesión

En la secuencia de sesión se validan las páginas de acceso al aplicativo WEB según

el perfil que tenga el usuario, esta se realiza mediante la función de servidor de PHP

sesión_start(), luego mediante el método POST del formulario de login.php el cual

valida el usuario y la contraseña contra la tabla de la Base de Datos (BD) mediante

una consulta MYSQL, si existe el usuario luego hace una validación mediante la

consulta MYSQL y verifica el tipo ID del perfil y así lo direcciona a la página

correspondiente al perfil, sino existe el usuario este lo devuelve al login para que

vuelva a ingresar los datos del usuario y contraseña correctos.

Como se muestra en la siguiente figura de secuencia de sesión.

Ilustración 11 secuencia de sesión

Page 49: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

49

2.3.2. Secuencia de administrador CRUD

En la secuencia de administrador, este tiene el privilegio sobre los registros de la

BD, donde mediante de un CRUD (Create, Read, Update, Delete) este puede

manipular los registros de alumno, docente, materias y certificados.

En esta secuencia el CRUD contiene varias páginas en las que realiza las consultas

solicitadas por el administrador y van contra las tablas afectadas en la BD, luego de

realizar la respectiva consulta esta regresa a la interfaz del usuario en ese momento.

Como ejemplo tomamos el CRUD insertar como se muestra en la siguiente grafica

de secuencia, el administrador accede a la interfaz e ingresa los datos mediante un

formulario, este realiza una sentencia MYSQL insert into tabla (Campo1,

Campo2,…., Campo n) values (Valor1, Valor2,…., Valor n);. Esta sentencia se utiliza

para insertar los datos ingresados desde el formulario utilizando el método POST,

luego de ser satisfactoria la inserción de la información este retorna a la interfaz

inicial listo para realizar otra petición por parte del usuario. Como se muestra en la

gráfica de secuencia.

Ilustración 12 Administrador CRUD

Page 50: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

50

2.3.3. Secuencia Coordinador Modificar/Consultar

En esta secuencia el coordinador solo puede modificar y consultar la base de datos,

como se puede apreciar maneja el mismo método que en la anterior secuencia con

la diferencia que este no puede insertar registros, como ejemplo podemos utilizar la

sentencia select de MYSQL la cual sirve para traer la información de una tabla o

varias tablas.

SELECT t1.campo1, t2.campo1 FROM tabla1 t1, tabla2 t2 WHERE t1.campo1=

VALOR;

En esta sentencia se puede apreciar dos campos y dos tablas de la BD, donde t1 y

t2 son alias para poder identificar una tabla dentro de la consulta en el caso que

tengamos dos campos iguales de dos tablas diferentes en este caso campo1. Luego

tenemos tabla1 y tabla2 la cual es la procedencia de los datos que seleccionamos

con los alias, enseguida le damos la condición para que se muestren estos valores

por medio del WHERE. En esta última parte de la sentencia valida que los campos

correspondan a un campo, variable o constante para que se pueda ejecutar la

consulta, luego de hacer la consulta nos arroja una interfaz con los resultados de la

misma.

Ilustración 13 MODIFICAR/CONSULTAR

Page 51: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

51

2.3.4. Secuencia docente

En la secuencia de docente esta maneja la misma metodología que en las anteriores

secuencias mediante de sentencias MYSQL que acceden a las tablas de la BD,

siempre los retorna a la interfaz para que el usuario trabaje en esta.

Ilustración 14 Docente Notas

Page 52: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

52

3. FASE DE DISEÑO

3.1. DISEÑO MODELO ENTIDAD/RELACION

En el modelo entidad relación se analizaron las tablas y respectivos campos que se

necesitaba para realizar el sistema de información para el colegio Sierra Morena

sede A. En un principio salieron 25 tablas pero luego de hacer una normalización

más profunda se llegó a 20 tablas.

Ilustración 15 Modelo E/R

Page 53: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

53

Como se observa en la gráfica anterior se tienen tablas relacionadas, y que al

momento de realizar la codificación no arrojaban los datos correctos, además para

cumplir con los objetivos del proyecto eran tablas que no se necesitaban por eso se

decidió integrar los campos entre tablas secundarias y tablas primarias, así

reduciendo el número de llaves foráneas y solo dejando los índices que realmente

se necesitan para la codificación de las consultas dentro del aplicativo.

Para comenzar se normaliza las tablas de alumno y acudiente, las cuales iban

relacionadas por otra tabla que tiene como llaves foráneas los ID de las dos tablas

principales, donde se concluye que para sacar el reporte del estudiante los datos

del acudiente debería ir en una misma tabla como se muestra en la siguientes

gráficas.

Ilustración 16 Tablas sin normalizar

Page 54: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

54

Luego de esto se generalizo los campos de la tabla acudiente hacia la tabla alumno

eliminando la tabla fkalumnoacu quedando así:

Ilustración 17 Tabla Alumnos normalizada

Durante la normalización se ve necesario cambiar la validación de los usuarios por

medio de la tabla usuario, se ve la necesidad de crear un perfil y relacionarlo con

los usuarios que allí inicien sesión pero ahí intervenían tres tablas, la tabla docente,

usuario y perfil, se debe parametrizar en el código para el acceso a las diferentes

páginas, se debe restringir el acceso a cada página. Se toman las tres tablas y se

parametrizan de tal forma que los campos de una de las tablas estuvieran en la

tabla que se iba a tomar para acceder al aplicativo.

Page 55: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

55

Al ver la gráfica se tiene que las tres tablas no están relacionadas, como se encierra

en círculo rojo, y que no se encontró una forma en el código para validar que tipo

de perfil y usuario tiene cada docente o funcionario.

Por lo tanto se toma la tabla usuario y se le agrega como clave foránea el ID primario

de la tabla docente, permitiendo así al momento de crear el usuario dentro del

aplicativo saber a qué funcionario o docente le pertenece el mismo y que tipo de

perfil tiene para darle restricción de acceso, como se muestra en la siguiente gráfica.

Ilustración 18 Tablas usuario y perfil no normalizadas

Page 56: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

56

A continuación en la siguiente grafica se muestra como estaba la base de datos

antes de darle la parametrización de los campos y sus respectivas tablas, allí

podremos ver que las relaciones en algunas entidades están sujetas a entidades

que no son necesarias.

Las entidades presentaban inconsistencias en el momento de codificar,

encontrándose código redundante. Si se necesita asignar una materia a un alumno,

esta entidad repetía registros haciendo demorado el recorrido o tendría que recorrer

varias entidades para validar sus llaves o índices.

Luego de tener todas las llaves primarias en todas las tablas, se empezó a

relacionar cada tabla o tablas específicas con una llave primaria de otra tabla, pero

esta llave no será primaria, sino que se convierte en llave foránea. Un ejemplo claro

de esto lo tenemos con el enunciado al comienzo de este capítulo, donde tenemos

tres tablas alumnos, fkalumnoacu y acudiente.

En estas tablas se tiene la relación entre alumnos y acudiente por medio de la tabla

fkalumnoacu con los ID’s idalumno e idacudiente y se detalla desde el punto de

Ilustración 19 Tablas usuario y perfil usuario y perfil normalizadas

Page 57: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

57

vista de recursividad en función del código al momento de insertar el registro que

este tipo de relaciones no era viable.

Ilustración 20 Tablas en primera FN

Al darle la instrucción en el código para que tome el id del último registro y lo guarde

en una variable, luego se toma esa variable para insertarlo en la tabla fkalumnoacu,

y así lograr la relación entre las dos tablas alumnos y acudiente, concluyendo así

que este método no era viable, por eso se normaliza y se unen todos los campos

de las tablas alumnos y acudiente eliminando la tabla fkalumnoacu en este caso

particular.

Ahora en la siguiente grafica se muestra como se inició el diseño del modelo entidad

relación de la Base de datos, observando que muchas de las tablas tienen campos

repetidos en otras tablas, es decir, que al momento de realizar las consultas el

código tendría que recorrer varias tablas para mostrar el registro que se solicita.

Page 58: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

58

Ilustración 21 Modelo E/R Primera Forma Normal

De este modelo inicial se eliminan varias tablas que en realidad no cumplían con los

objetivos del proyecto al momento de empezar a desarrollar el código, además se

tiene tablas con relaciones uno a muchos y se concluye que resulta un efecto de

cascada en varias tablas, por lo tanto se eliminaron 5 tablas dasignacion,

definitivas, estadoalumno, lista y listado.

Ilustración 22 Tablas Eliminadas

Page 59: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

59

En la siguiente grafica el modelo entidad relación ya se encuentra normalizado

donde el recorrido y las relaciones entre tablas se aminoro y en el momento de

desarrollar el código este es más recursivo.

Ilustración 23 Modelo Normalizado

Viendo este modelo de entidad relación y haciendo las pruebas de escritorio

simulando las situaciones al ingresar al aplicativo se tiene como resultado que el

número de consultas y el código se hace más fácil de plasmar. Comparando las dos

graficas anteriores se detalla la gran diferencia y la necesidad de entender bien el

estado del negocio y como resultado se obtiene un diagrama de dominio más

decantado.

Page 60: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

60

3.1.1. Diccionario de datos

alumnos Comentarios de la tabla: alumnos

Columna Tipo

Nulo Predeterminado Idalumno int(30) No

Tipodoc varchar(255)

No

Documentoalum

varchar(255)

No

Prinombre varchar(255)

No

segnombre varchar(255)

Sí NULL

Priapellido varchar(255)

No

segapellido varchar(255)

Sí NULL

Fechanac date No

Sexo varchar(10) No

Diralumno varchar(255)

No

telresidencia int(11) No

Barrio varchar(255)

No

Estrato int(11) Sí NULL

Localidad varchar(255)

Sí NULL

Psisben int(11) Sí NULL

gsanguineo varchar(255)

Sí NULL

Rh varchar(11) Sí NULL

Nomeps varchar(255)

No

Ips varchar(255)

No

Edad int(11) No

Nomacu varchar(255)

No

documento int(32) Sí NULL

Telacu int(10) Sí NULL

Celacu int(15) Sí NULL

estadoalum int(11) No

Page 61: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

61

Índices

Nombre de la clave

Tipo Único Empaquetado

Columna

Cardinalidad

Cotejamiento

Nulo

PRIMARY

BTREE Sí No idalumno

3116 A No

area Comentarios de la tabla: area

Columna

Tipo

Nulo Predeterminado Idarea int(11) No

Área varchar(50) No

Índices

Nombre de la clave

Tipo Único Empaquetado

Columna

Cardinalidad

Cotejamiento

Nulo

PRIMARY

BTREE Sí No idarea 8 A No

asignacionmat Comentarios de la tabla: asignacionmat

Columna

Tipo

Nulo Predeterminado Idasignaci

on int(11) No

Idarea int(11) Sí NULL

idgrupos int(11) Sí NULL

iddocente int(11) No

intensidadH

int(11) Sí NULL

fechaasig Date Sí NULL

Page 62: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

62

Índices

Nombre de la clave

Tipo Único Empaquetado

Columna Cardinalidad

Cotejamiento

Nulo

PRIMARY BTREE Sí No Idasignacion

4 A No

Idarea BTREE No No Idarea 4 A Sí

Idgrupo BTREE No No Idgrupos 4 A Sí

Iddocente BTREE No No Iddocente 4 A No

ciclo Comentarios de la tabla: ciclo

Columna

Tipo

Nulo Predeterminado idciclo int(11) No

ciclo int(11) No

Índices

Nombre de la clave

Tipo Único

Empaquetado

Columna

Cardinalidad

Cotejamiento

Nulo

PRIMARY BTREE

Sí No idciclo 7 A No

convencionnotas Comentarios de la tabla: convencionnotas

Columna

Tipo

Nulo Predeterminado idnota int(11) No

nota varchar(11) No

Page 63: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

63

Índices

dcargo Comentarios de la tabla: dcargo

Columna

Tipo

Nulo Predeterminado Idcargo int(11) No

Cargo varchar(32) No

Índices

Nombre de la clave

Tipo Único

Empaquetado

Columna

Cardinalidad

Cotejamiento

Nulo

PRIMARY BTREE

Sí No idcargo 4 A No

docente Comentarios de la tabla: docente

Columna Tipo

Nulo Predeterminado Iddocente int(11) No

Idcargo int(11) No

Nombred varchar(255)

No

priapellidod varchar(255)

No

Segapellidod

varchar(255)

Sí NULL

Fechanacd date Sí NULL

Direcciond varchar(255)

Sí NULL

Telefonod int(11) Sí NULL

Celulard int(15) Sí NULL

Nombre de la clave

Tipo Único

Empaquetado

Columna

Cardinalidad

Cotejamiento

Nulo

PRIMARY

BTREE

No

idnota

6

A

No

Page 64: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

64

Emaild varchar(255)

Sí NULL

Idcontrato int(11) Sí NULL

escalafond varchar(255)

Sí NULL

fingresoinst date Sí NULL

Resolucionnom

int(11) Sí NULL

Documentod

int(20) No

fexpedicion date Sí NULL

Índices

Nombre de la clave

Tipo Único Empaquetado Columna Cardinalidad

Cotejamiento Nulo

PRIMARY BTREE Sí No Iddocente 16 A No

idcargo BTREE No No Idcargo 4 A No

idcontrato BTREE No No Idcontrato 4 A Sí

3.2. DISEÑO PROCEDIMENTAL

Luego de tener ya el diseño del modelo entidad relación normalizado, se procede a

atacar los siguientes aspectos:

Conexión a la Base de Datos

Inicio de sesión

Validación de perfiles y respectivo direccionamiento

Restricción de las páginas.

Inserción de datos a la Base de Datos

Búsqueda de registros

Generación de reporte en PDF

Esto utilizando el lenguaje de programación PHP embedido en el código HTML.

Page 65: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

65

3.2.1. Conexión a la Base de Datos

Para poder tener acceso a la base de datos se crea el código de conexión con el

servidor y la base de datos, esto teniendo el nombre del servidor o IP, el nombre de

la base de datos, el nombre de usuario y contraseña para acceder a la base de

datos. Luego de esto almacenamos en una variable la conexión MYSQL, como se

muestra en el siguiente pseudocódigo.

<?php

# FileName="Connection_php_mysql.htm"

# Type="MYSQL"

# HTTP="true"

//Creamos las variables de conexión

$hostname_siemor = "localhost";

$database_siemor = "bdsiemor";

$username_siemor = "root";

$password_siemor = "my4dmin";

//Guardamos en una variable la sentencia SQL para conecarnos a la BD

$siemor = mysql_pconnect($hostname_siemor, $username_siemor,

$password_siemor) or trigger_error(mysql_error(),E_USER_ERROR);

?>

Esta porción de pseudocódigo es guardado en un archivo aparte para luego

invocarlo en todas las páginas que se conecten a la Base de Datos mediante la

siguiente línea

<?php include_once('../iedsierramorena/Connections/siemor.php'); ?>

3.2.2. Inicio de Sesión

El inicio de sesión se realiza mediante un formulario donde se ingresa el usuario y

la contraseña y estos datos se envían por el método POST que es validado por

medio del siguiente pseudocódigo.

Page 66: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

66

if (isset($_POST['login'])) {

$loginUsername=$_POST['login'];

$password=$_POST['password'];

$MM_fldUserAuthorization = "idperfil";

$MM_redirectLoginSuccess = "/iedsierramorena/administrador/admin.php";

$MM_redirectLoginFailed = "/iedsierramorena/index.php";

$MM_redirecttoReferrer = false;

//conexión a la BD

mysql_select_db($database_siemor, $siemor);

//Consulta MYSQL donde comparamos los datos ingresados

$LoginRS__query=sprintf("SELECT login, password, idperfil FROM

usuario WHERE login=%s AND password=%s",

GetSQLValueString($loginUsername,"text"),

GetSQLValueString($password, "text"));

….. mas pseudocódigo

}

Después de realizar la validación valida con el servidor e inicializa las variables de

sesión.

<?php

// *** Validar la solicitud para ingresar a este sitio.

if (!isset($_SESSION)) {

session_start();

}

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_GET['accesscheck'])) {

$_SESSION['PrevUrl'] = $_GET['accesscheck'];

}

3.2.3. Validación de perfiles y respectivo direccionamiento

En la validación del perfil del usuario se confronta con el ID del perfil de la tabla

usuario y de acuerdo al valor este direcciona a la respectiva página, aquí se muestra

ya todo el pseudocódigo.

Page 67: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

67

<?php

// *** Validar la solicitud para ingresar a este sitio.

if (!isset($_SESSION)) {

session_start();

}

$loginFormAction = $_SERVER['PHP_SELF'];

if (isset($_GET['accesscheck'])) {

$_SESSION['PrevUrl'] = $_GET['accesscheck'];

}

if (isset($_POST['login'])) {

$loginUsername=$_POST['login'];

$password=$_POST['password'];

$MM_fldUserAuthorization = "idperfil";

$MM_redirectLoginSuccess = "/iedsierramorena/administrador/admin.php";

$MM_redirectLoginFailed = "/iedsierramorena/index.php";

$MM_redirecttoReferrer = false;

mysql_select_db($database_siemor, $siemor);

//Consulta MYSQL donde comparamos los datos ingresados

$LoginRS__query=sprintf("SELECT login, password, idperfil FROM

usuario WHERE login=%s AND password=%s",

GetSQLValueString($loginUsername, "text"),

GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $siemor) or

die(mysql_error());

$loginFoundUser = mysql_num_rows($LoginRS);

if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'idperfil');

if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else

{session_regenerate_id();}

//declare two session variables and assign them

$_SESSION['MM_Username'] = $loginUsername;

$_SESSION['MM_UserGroup'] = $loginStrGroup;

Page 68: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

68

if ($loginStrGroup == 1){

$MM_redirectLoginSuccess =

"/iedsierramorena/administrador/admin.php";

}else if ($loginStrGroup == 2){

//$MM_redirectLoginSuccess =

"/iedsierramorena/docente/prueba1.php";

}else if ($loginStrGroup == 3){

$MM_redirectLoginSuccess =

"/iedsierramorena/coordinador/coordinador.php";

}else if ($loginStrGroup == 4){

$MM_redirectLoginSuccess =

"/iedsierramorena/docente/prueba1.php";

}else{

$MM_redirectLoginSuccess = "/iedsierramorena/index.php";

}

if (isset($_SESSION['PrevUrl']) && false) {

$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];

}

header("Location: " . $MM_redirectLoginSuccess );

}

else {

header("Location: ". $MM_redirectLoginFailed );

}

}

?>

3.2.4. Restricción de páginas

Para la restricción de las paginas se tomó como validador el número del ID del perfil

este se valida y si un usuario intenta acceder a la página sin loguearse este lo

direcciona a la página de inicio.

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){

Page 69: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

69

//para registrar plenamente un visitante, necesitamos limpiar las varialbles

sesión

$_SESSION['MM_Username'] = NULL;

$_SESSION['MM_UserGroup'] = NULL;

$_SESSION['PrevUrl'] = NULL;

unset($_SESSION['MM_Username']);

unset($_SESSION['MM_UserGroup']);

unset($_SESSION['PrevUrl']);

$logoutGoTo = "/iedsierramorena/index.php";

if ($logoutGoTo) {

header("Location: $logoutGoTo");

exit;

}

}

?>

<?php

if (!isset($_SESSION)) {

session_start();

}

$MM_authorizedUsers = "1";

$MM_donotCheckaccess = "false";

// *** Restringir acceso a la página: conceder o denegar el acceso a esta

página

function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {

// Para mayor seguridad, empezar por asumir que el visitante no está

autorizado.

$isValid = False;

// Cuando un visitante ha accedido a este sitio, la variable de sesión

MM_Username igual a su nombre de usuario.

//Por lo tanto, sabemos que un usuario no se ha logueado en si esa variable

de sesión está en blanco.

if (!empty($UserName)) {

// Además de ser conectado, es posible restringir el acceso sólo a

determinados usuarios en base a una identificación establecida al iniciar la

sesión.

Page 70: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

70

// Analizar las cadenas dentro de los arrays.

$arrUsers = Explode(",", $strUsers);

$arrGroups = Explode(",", $strGroups);

if (in_array($UserName, $arrUsers)) {

$isValid = true;

}

// O bien, puede restringir el acceso sólo a determinados usuarios en

función de su nombre de usuario.

if (in_array($UserGroup, $arrGroups)) {

$isValid = true;

}

if (($strUsers == "") && false) {

$isValid = true;

}

}

return $isValid;

}

$MM_restrictGoTo = "/iedsierramorena/login.php";

if (!((isset($_SESSION['MM_Username'])) &&

(isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'],

$_SESSION['MM_UserGroup'])))) {

$MM_qsChar = "?";

$MM_referrer = $_SERVER['PHP_SELF'];

if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";

if (isset($_SERVER['QUERY_STRING']) &&

strlen($_SERVER['QUERY_STRING']) > 0)

$MM_referrer .= "?" . $_SERVER['QUERY_STRING'];

$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" .

urlencode($MM_referrer);

header("Location: ". $MM_restrictGoTo);

exit;

}

?>

Page 71: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

71

3.2.5. Inserción de datos a la Base de Datos

Mediante un formulario se ingresan los datos para ser registrados, y luego por medio

de una función que toma el dato insertado validando que tipo de datos es, luego por

una variable de formulario se valida si este fue enviado con datos a registrar.

<?php

//Funcion que verifica el tipo de dato enviado por el formulario

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")

{

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ?

mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

Page 72: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

72

}

}

// Verifica por medio de la variable del formulario si este contiene

información

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "regalum")) {

$fecha= GetSQLValueString($_POST['fnac'], "date");

// Inserta por medio de la sentencia MYSQL los datos

$insertSQL = sprintf("INSERT INTO alumnos (tipodoc, documentoalum,

prinombre, segnombre, priapellido, segapellido, fechanac, sexo, diralumno,

telresidencia, barrio, estrato, localidad, psisben, gsanguineo, rh, nomeps,

ips, edad, nomacu, documento, telacu, celacu, estadoalum) VALUES (%s,

%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,

%s, %s, %s, %s, %s, %s)",

GetSQLValueString($_POST['tdocumento'], "text"),

GetSQLValueString($_POST['adoc'], "text"),

GetSQLValueString($_POST['anom1'], "text"),

GetSQLValueString($_POST['anom2'], "text"),

GetSQLValueString($_POST['alapell1'], "text"),

GetSQLValueString($_POST['alapell2'], "text"),

GetSQLValueString($_POST['fnac'], "date"),

GetSQLValueString($_POST['sexo'], "text"),

GetSQLValueString($_POST['diralum'], "text"),

GetSQLValueString($_POST['telalum'], "int"),

GetSQLValueString($_POST['barrioalum'], "text"),

GetSQLValueString($_POST['estrato'], "int"),

GetSQLValueString($_POST['loc'], "text"),

GetSQLValueString($_POST['sisbenalum'], "int"),

GetSQLValueString($_POST['gsanguineo'], "text"),

GetSQLValueString($_POST['rh'], "text"),

GetSQLValueString($_POST['epsalum'], "text"),

GetSQLValueString($_POST['ipsalum'], "text"),

GetSQLValueString($_POST['edadalum'], "int"),

GetSQLValueString($_POST['nomacu'], "text"),

GetSQLValueString($_POST['docacu'], "int"),

GetSQLValueString($_POST['telacu'], "int"),

GetSQLValueString($_POST['celacu'], "int"),

GetSQLValueString($_POST['estado'], "int"));

Page 73: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

73

mysql_select_db($database_siemor, $siemor);

$Result = mysql_query($insertSQL, $siemor) or die(mysql_error());

$insertGoTo = "regalumno.php";

if (isset($_SERVER['QUERY_STRING'])) {

$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";

$insertGoTo .= $_SERVER['QUERY_STRING'];

}

header(sprintf("Location: %s", $insertGoTo));

}

3.2.6. Búsqueda de registros

Para la búsqueda de algún registro, en este caso del alumno, docente o funcionario,

este se realiza mediante de un formulario ingresando el documento a buscar.

//Se inicializa la variable

$colname_modificarAlum = "-1";

// Se pregunta si el dato fue enviado y se asigna a la variable

if (isset($_POST['txtdocu'])) {

$colname_modificarAlum = $_POST['txtdocu'];

}

//Se realiza consulta MYSQL

mysql_select_db($database_siemor, $siemor);

$query_modificarAlum = sprintf("SELECT * FROM alumnos WHERE

alumnos.documentoalum = %s",

GetSQLValueString($colname_modificarAlum, "text"));

$query_limit_modificarAlum = sprintf("%s LIMIT %d, %d",

$query_modificarAlum, $startRow_modificarAlum,

$maxRows_modificarAlum);

$modificarAlum = mysql_query($query_limit_modificarAlum, $siemor) or

die(mysql_error());

$row_modificarAlum = mysql_fetch_assoc($modificarAlum);

Page 74: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

74

3.2.7. Generación de reporte en PDF

Dentro del desarrollo la generación de reporte se realiza por medio de una consulta

mysql y la impresión en pantalla se hace en formato PDF, esta última se hace

descargando una librería para PHP llamada FPDF, a continuación se muestra el

pseudocódigo de la plantilla para sacar los reportes.

<?php

//Se llama la librería fpdf.php

include_once('../../certificados/fpdf.php');

?>

<?php

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "",

$theNotDefinedValue = "")

{

if (PHP_VERSION < 6) {

$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

}

$theValue = function_exists("mysql_real_escape_string") ?

mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {

case "text":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

break;

case "long":

case "int":

$theValue = ($theValue != "") ? intval($theValue) : "NULL";

break;

case "double":

$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";

break;

case "date":

$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

Page 75: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

75

break;

case "defined":

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

break;

}

return $theValue;

}

}

class PDF extends FPDF

{

var $B;

var $I;

var $U;

var $HREF;

function PDF($orientation='P', $unit='mm', $size='A4')

{

// Llama al constructor de la clase padre

$this->FPDF($orientation,$unit,$size);

// Iniciaci�n de variables

$this->B = 0;

$this->I = 0;

$this->U = 0;

$this->HREF = '';

}

function WriteHTML($html)

{

// Interprete de HTML

$html = str_replace("\n",' ',$html);

$a = preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);

foreach($a as $i=>$e)

{

if($i%2==0)

{

// Text

if($this->HREF)

$this->PutLink($this->HREF,$e);

else

Page 76: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

76

$this->Write(5,$e);

}

else

{

// Etiqueta

if($e[0]=='/')

$this->CloseTag(strtoupper(substr($e,1)));

else

{

// Extraer atributos

$a2 = explode(' ',$e);

$tag = strtoupper(array_shift($a2));

$attr = array();

foreach($a2 as $v)

{

if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))

$attr[strtoupper($a3[1])] = $a3[2];

}

$this->OpenTag($tag,$attr);

}

}

}

}

function OpenTag($tag, $attr)

{

// Etiqueta de apertura

if($tag=='B' || $tag=='I' || $tag=='U')

$this->SetStyle($tag,true);

if($tag=='A')

$this->HREF = $attr['HREF'];

if($tag=='BR')

$this->Ln(5);

}

function CloseTag($tag)

{

// Etiqueta de cierre

if($tag=='B' || $tag=='I' || $tag=='U')

Page 77: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

77

$this->SetStyle($tag,false);

if($tag=='A')

$this->HREF = '';

}

function SetStyle($tag, $enable)

{

// Modificar estilo y escoger la fuente correspondiente

$this->$tag += ($enable ? 1 : -1);

$style = '';

foreach(array('B', 'I', 'U') as $s)

{

if($this->$s>0)

$style .= $s;

}

$this->SetFont('',$style);

}

function PutLink($URL, $txt)

{

// Escribir un hiper-enlace

$this->SetTextColor(0,0,255);

$this->SetStyle('U',true);

$this->Write(5,$txt,$URL);

$this->SetStyle('U',false);

$this->SetTextColor(0);

}

}

$txt1 = 'COLEGIO SIERRA MORENA

Resolucion 7561 de Noviembre 24 de 1998 y 8627 de Noviembre 29 de

2001 de Preescolar a 11 Resolución de Integracion No. 1899 del 28 de

Junio de 2002

Resolucion Nombre definitivo No.720 del 05 de marzo de 2003 Resolucion

Apertura Programa Aceleracion No. 2273 del 12 de agosto de 2003

Resolución 19194 ampliación educación formal de jóvenes y adultos

Jornada Fin de Semana

Page 78: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

78

NIT 830.039.235-4 DANE 11100186839

ICFES JM 098723 JT 098327 FDS 160663

Email: [email protected]';

$txt2='LA RECTORA Y EL SECRETARIO ACADEMICO';

$txt3='CERTIFICAN';

$hostname_siemor = "localhost";

$database_siemor = "bdsiemor";

$username_siemor = "root";

$password_siemor = "my4dmin";

$siemor = mysql_pconnect($hostname_siemor, $username_siemor,

$password_siemor) or trigger_error(mysql_error(),E_USER_ERROR);

//Aquí se empieza a formar el PDF

$pdf = new PDF();

$pdf->AddPage();

$pdf->SetFont('Arial','',7);

$pdf->SetTextColor(140,140,146);

$pdf->SetLeftMargin(38);

$pdf->MultiCell(140,4, utf8_decode($txt1), 0,'C' ,0);

$pdf->SetFont('Arial','',12);

$pdf->Ln(5);

$pdf->Cell(155,4,utf8_decode($txt2),0,0,'C');

$pdf->Ln(5);

$pdf->SetLeftMargin(30);

$pdf->Cell(155,4,utf8_decode($txt3),0,0,'C');

$pdf->Ln(8);

$pdf->SetTextColor(0,0,0);

$pdf->MultiCell(155,4, utf8_decode($txt4),0,'J',0);

$pdf->Ln(5);

//$pdf->WriteHTML($Phtml);

$pdf->Cell(20,7,utf8_decode('Nombre'),'TRB',0,'L' );

$pdf->Cell(30,7,utf8_decode('ApellidoPat'),'TRB',0,'L' );

$pdf->Cell(30,7,utf8_decode('ApellidoMat'),'TRB',0,'L' );

$pdf->Cell(30,7,utf8_decode('Matricula'),'TRB',0,'L' );

$pdf->Cell(30,7,utf8_decode('Puesto'),'TRB',0,'L' );

$pdf->Ln(8);

Page 79: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

79

$pdf->Image('../sm.gif',10,12,30,0,'','http://www.fpdf.org');

$pdf->SetFontSize(14);

mysql_select_db($database_siemor, $siemor);

$query_prueba = "SELECT alumnos.documentoalum, alumnos.prinombre,

alumnos.segnombre, alumnos.priapellido, alumnos.segapellido FROM

alumnos WHERE alumnos.idalumno=15";

$prueba = mysql_query($query_prueba, $siemor) or die(mysql_error());

$row_prueba = mysql_fetch_assoc($prueba);

$totalRows_prueba = mysql_num_rows($prueba);

$pdf->Cell(30,5,$row_prueba['documentoalum'],1,1,'C');

$pdf->Cell(30,5,$row_prueba['prinombre'],1,1,'C');

$pdf->Cell(30,5,$row_prueba['segnombre'],1,1,'C');

$pdf->Cell(30,5,$row_prueba['priapellido'],1,1,'C');

$pdf->Cell(30,5,$row_prueba['segapellido'],1,1,'C');

//Se cierra el PDF

$pdf->Output();

?>

<?php

mysql_free_result($prueba);

?>

3.3. DISEÑO DE INTERFAZ

3.3.1. DISEÑO INTERFAZ USUARIO

3.3.1.1. Inicio de sesión y página principal

En el diseño del aplicativo, se empieza con un diseño sencillo para el inicio de sesión

donde va el logo de la compañía en este caso el del Colegio Sierra Morena IED, y

un formulario para ingresar el usuario y la contraseña, como se muestra en la

siguiente figura.

Page 80: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

80

Ilustración 24 Diseño Sesión

Después de validar el usuario contra la Base de Datos y que mostrara una página

de prueba, se prosigue a diseñar la página principal del usuario donde pudiera

navegar dentro de una misma ventana, es decir, sin tener que abrir varias ventanas

por cada acceso que él quisiera, en el primer diseño fue utilizado frames y los

colores institucionales como se muestra en la siguiente figura.

En la figura anterior se tiene el acceso a la página principal, con los frames que le

brindan al usuario una vista distribuida de la información en una misma ventana.

Ilustración 25 Diseño pantalla principal

Page 81: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

81

Al lado derecho se creó un menú desplegable con acceso a las diferentes páginas

las cuales se direccionan al frame que se encuentra en el centro de la misma página

principal.

3.3.1.2. Creación de formularios para insertar datos

Se empezó a diseñar varios formularios para la digitación de la información por parte

del usuario para que esta fuera almacenada en la Base de Datos, se hicieron varios

diseños con pruebas de inserción de datos a la Base de Datos, como se muestran

en las siguientes figuras.

Formulario para registrar Alumno

Ilustración 26 Formulario 1 registrar alumno

Page 82: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

82

Al comienzo se ensayó con algunos diseños básicos para probar la funcionalidad al momento de insertar los datos a la base de datos, luego de esto se inicío con la implementación de plantillas CSS para darle un entorno más agradable al usuario.

Ilustración 27 formulario insertar docente

Page 83: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

83

3.3.1.3. Mejora de Diseño de Interfaz

Luego de probar varios estilos de plantillas CSS, se buscó para el usuario un entorno más agradable y fácil de navegar, se dejó atrás los colores fuertes y las tablas sin formato ahora se le presenta al usuario un entorno más agradable, como se muestra a continuación el inicio de sesión después de aplicarle una plantilla CSS. Se desarrolló el inicio de sesión con colores más agradables a la vista, los logos del colegio en la barra de título del navegador, en la pantalla de inicio y página principal. Dejando a un lado los frame y agregando iframe para la vista del contenido en una sola página y navegador, utilizando etiquetas de HTML 5 en el código para tener más dinamismo al momento de aplicar las plantillas CSS. En seguida se muestra en la siguiente grafica el inicio de sesión y la página principal.

Ilustración 28 Interfaz mejorada

Page 84: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

84

En la página principal se cambió la posición de los menús en el anterior diseño se utilizó un menú desplegable vertical, en esta otra versión se diseñó un menú horizontal y con efectos más agradables para el usuario.

Se le agrego a la página una etiqueta header y una footer, combinado con una etiqueta section para aplicarle las etiquetas CSS que les dio ese estilo moderno como se aprecia en los gráficos.

Ilustración 29 Interfaz usuario

Ilustración 30 Footer

Page 85: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

85

4. FASE DE IMPLEMENTACION

4.1. CRUD, FPDF y cargue de Datos con archivo CSV

Dentro de esta fase se comenzó con la creación de los CRUD (Create, Read, Update, Delete) para el usuario administrador el cual serviría de plantilla para los demás usuarios, como se vio en el capítulo de análisis en el aparte de secuencia de estado, el usuario realiza la consulta a la Base de Datos y este le retorna un resultado. También dentro de la implementación en todas la paginas que llevan un formulario ya sea para buscar, eliminar, insertar o consultar tiene una función que valida que tipo de dato fue el ingresado al formulario, para luego invocarlo en la sentencia MYSQL.

<?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined":

Page 86: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

86

$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } }

Esta función en el momento de invocarla es cuando se envía por método POST a una variable y esta la pasa a la función y empieza a validar combinando la sentencia con instrucciones MYSQL, veamos siguientes líneas de código que reciben los valores por el método POST para actualizar la tabla alumnos.

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "frmModificarA")) { $updateSQL = sprintf("UPDATE alumnos SET tipodoc=%s, documentoalum=%s, prinombre=%s, segnombre=%s, priapellido=%s, segapellido=%s, fechanac=%s, sexo=%s, diralumno=%s, telresidencia=%s, barrio=%s, estrato=%s, localidad=%s, psisben=%s, gsanguineo=%s, rh=%s, nomeps=%s, ips=%s, edad=%s, prinomacu=%s, segnomacu=%s, priapellidoacu=%s, segapellidoacu=%s, documento=%s, telacu=%s, celacu=%s WHERE idalumno=%s", GetSQLValueString($_POST['tdocumento'], "text"), GetSQLValueString($_POST['adoc'], "text"), GetSQLValueString($_POST['anom1'], "text"), GetSQLValueString($_POST['anom2'], "text"), GetSQLValueString($_POST['alapell1'], "text"), GetSQLValueString($_POST['alapell2'], "text"), GetSQLValueString($_POST['fnac'], "date"), GetSQLValueString($_POST['sexo'], "text"), GetSQLValueString($_POST['diralum'], "text"), GetSQLValueString($_POST['telalum'], "int"), GetSQLValueString($_POST['barrioalum'], "text"), GetSQLValueString($_POST['estrato'], "int"), GetSQLValueString($_POST['loc'], "text"), GetSQLValueString($_POST['sisbenalum'], "int"), GetSQLValueString($_POST['gsanguineo'], "text"), GetSQLValueString($_POST['rh'], "text"), GetSQLValueString($_POST['epsalum'], "text"), GetSQLValueString($_POST['ipsalum'], "text"), GetSQLValueString($_POST['edadalum'], "int"), GetSQLValueString($_POST['nomacu'], "text"), GetSQLValueString($_POST['nomacu2'], "text"), GetSQLValueString($_POST['apeacu'], "text"),

Page 87: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

87

GetSQLValueString($_POST['nomacu2'], "text"), GetSQLValueString($_POST['docacu'], "int"), GetSQLValueString($_POST['telacu'], "int"), GetSQLValueString($_POST['celacu'], "int"), GetSQLValueString($_POST['MM_clave'], "int")); mysql_select_db($database_siemor, $siemor); $Result1 = mysql_query($updateSQL, $siemor) or die(mysql_error());

En esta porción de pseudocódigo los valores que entran por método POST por la función GetSQLValueString quien identifica el tipo de dato, son los valores asignados a los campo por medio por formato de cadena %s. Ejemplo Tenemos el argumento hasta dónde va la coma

$updateSQL = sprintf("UPDATE alumnos SET tipodoc=%s, Luego tenemos este otro

GetSQLValueString($_POST['tdocumento'], "text"), Esto nos indica que al primer campo de la tabla se le pasa un dato que fue enviado por el método POST desde el formulario pero este valor no pasa directamente al campo sino que pasa a ser evaluado por la función y este determina qué tipo de dato es y lo devuelve como un String, al asignárselo al campo con el formato o expresión de cadena %s. En la siguiente grafica esto se muestra

Ilustración 31 Nueva interfaz 2

Page 88: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

88

Una parte importante en la fase de implementación y el cual tuvo sus inconvenientes era la de buscar la forma de generar un PDF en línea; gracias al lenguaje PHP hay librerías muy útiles y que ayudan a construir este tipo de documentos, cuya programación es orientada a objetos. En este caso dentro del código PHP crea una clase constructora y esta se extiende a la librería fpdf(), cada parte de código tiene su programación.

En los siguientes pseudocódigos veremos cómo se construye la clase constructora

class PDF extends FPDF //en esta línea de código se crea la clase

{ var $B; var $I; var $U; var $HREF; function PDF($orientation='P', $unit='mm', $size='A4') { // Llama al constructor de la clase padre $this->FPDF($orientation,$unit,$size); // Iniciación de variables $this->B = 0; $this->I = 0; $this->U = 0; $this->HREF = ''; }

A continuación el siguiente código es el que nos muestra en el navegador el contenido de nuestro PDF, sin este no se podría ver contenido de la página en el formato.

$pdf = new PDF(); //Creamos un objeto $pdf para la clase PDF $pdf->AddPage(); $pdf->SetFont('Arial','',7); $pdf->SetTextColor(140,140,146); $pdf->SetLeftMargin(38); $pdf->MultiCell(140,4, utf8_decode($txt1), 0,'C' ,0); $pdf->SetFont('Arial','',12); $pdf->Ln(5);

Page 89: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

89

$pdf->Cell(155,4,utf8_decode($txt2),0,0,'C'); $pdf->Ln(5); $pdf->SetLeftMargin(30); $pdf->Cell(155,4,utf8_decode($txt3),0,0,'C'); $pdf->Ln(8); $pdf->SetTextColor(0,0,0); $pdf->MultiCell(155,4, utf8_decode($txt4),0,'J',0); $pdf->Ln(5); $pdf->Ln(8); $pdf->Image('../sm.gif',10,12,30,0,'','http://www.fpdf.org'); $pdf->SetFontSize(14); $pdf->Output();//Cerramos el constructor ?>

Todo este código muestra este resultado.

Ilustración 32 Reporte en PDF

Page 90: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

90

Dentro de la implementación uno de los aspectos que estuvo sujeta a varias modificaciones fue el cargue de notas por parte del docente, se buscó la manera de desarrollar una forma tal que el docente no tuviera que digitar alumno por alumno lo cual era bastante dispendioso para el docente, entonces se optó por un cargue masivo de datos desde el aplicativo, investigando se encontró una forma de subir datos desde un archivo plano con extensión csv que lo que hace es tomar los datos del archivo y por medio de un algoritmo recorrer los datos del archivo mediante un arreglo. A continuación se presenta el pseudocódigo que realiza la lectura del archivo y el cargue respectivo a la Base de Datos.

/// INICIAMOS PARA SUBIR EL ARCHIVO //Subimos el fichero csv que viene del formulario if (!mysql_select_db($database_siemor, $siemor)) die("base de datos no existe"); if(isset($_POST['submit'])) { if(!empty($totalRows_notas)){ echo "ya hay registros-"; ///header ('Location: subirnotas.php?success=1'); die; //ACTUALIZA LOS DATOS $fname = $_FILES['sel_file']['name']; echo 'Cargando nombre del archivo: '.$fname.' '; $chk_ext = explode(".",$fname); if(strtolower(end($chk_ext)) == "csv") { //si es correcto, entonces damos permisos de lectura para subir $filename = $_FILES['sel_file']['tmp_name']; $handle = fopen($filename, "r"); while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { //Insertamos los datos con los valores... //echo "sql: ".$sql; mysql_query($sql) or die(mysql_error()); } //cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo" fclose($handle); echo "Importación exitosa!"; header('Location: prueba1.php?success=1'); //die; } else

Page 91: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

91

{ //si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para //ver si esta separado por " , " echo "Archivo invalido!"; } //}/// }//fin //Aquí es donde seleccionamos nuestro csv $fname = $_FILES['sel_file']['name']; echo 'Cargando nombre del archivo: '.$fname.' '; $chk_ext = explode(".",$fname); if(strtolower(end($chk_ext)) == "csv") { //si es correcto, entonces damos permisos de lectura para subir $filename = $_FILES['sel_file']['tmp_name']; $handle = fopen($filename, "r"); while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { //Insertamos los datos con los valores... $sql = "INSERT into notas_area(id, idalumno, idgrupos, idasignacion, p1, p2, p3, p4, nf, vigencia, observacion) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]')"; //echo "sql: ".$sql; mysql_query($sql) or die(mysql_error()); } //cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo" fclose($handle); echo "Importación exitosa!"; header('Location: prueba1.php?success=1'); //die; } else { //si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para //ver si esta separado por " , " echo "Archivo invalido!"; } } ?>

Page 92: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

92

En el aplicativo tenemos un formulario en el cual hacemos el respectivo cargue de datos mediante un botón que lo que hace es abrir un fichero para buscar el archivo a importar como se muestra en la siguiente gráfica.

Ilustración 33 Cargue de archivo CSV

Luego de subir el archivo nos muestra una consulta con los nombres de los estudiantes que se les subió nota como podemos ver en la siguiente gráfica.

Ilustración 34 Reporte de grupo y notas

Page 93: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

93

5. FASE DE PRUEBAS

5.1. FALLAS PRESENTADAS

Durante el desarrollo del sistema de información se creó un entorno de pruebas con los diseños iniciales donde el usuario manifestó que al momento de registrar la información sacaba errores como datos en campos que no deberían ir, fallas en la conexión registros que no coincidían con los que se digitaba.

Ilustración 35 Error 402

Se le solicito al usuario enviar los errores que presentaba por medio de pantallazos para así saber en qué parte del código se encontraba el error.

Ilustración 36 Error en inserción

Page 94: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

94

Ilustración 37 Error Carga de Archivo

También durante las pruebas el usuario manifestó que el entorno grafico no era agradable no era vistoso y poco práctico al momento de la navegación por los menús.

5.2. MEJORAS Y CAMBIO DEL DISEÑO

Se procedió a reestructurar el diseño desde el modelo entidad relación suprimiendo tablas que no estaban haciendo alguna función. Adicionalmente se cambia el directorio raíz de SIEMOR por el de iedsierramorena, organizando el árbol de acceso al aplicativo en el servidor. Se retoma de nuevo el diseño de la interfaz del usuario por un entorno más agradable aplicando hojas de estilo, mejorando la programación del código fuente. Se mejora el cargue de datos para las notas como se muestra en la siguiente figura.

Page 95: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

95

Ilustración 38 Cargue de archivo

Se observa en el siguiente grafico como se cambió el entorno grafico tanto para la página principal como sus menús.

Ilustración 39 Vista de los menus

Page 96: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

96

6. FASE DE IMPLANTACION

En la elaboración del desarrollo del sistema de información para el colegio SIERRA MORENA IED Sede A, se optó por instalar las siguientes herramientas y actualizaciones para la ejecución en producción del aplicativo WEB, herramienta manejada desde la intranet del colegio con una proyección más allá de las instalaciones de este. Se monta este aplicativo WEB en un servidor provisto por el colegio con un sistema operativo Windows server 2008 R2, se instala el paquete de actualización de PHP para Windows. Se descarga una herramienta de software libre phpmyadmin, se instala todo el paquete de MYSQL, servidor Apache, se crea el directorio raíz donde se instala todas las carpetas de acceso al aplicativo WEB. Se debe tener una conexión por red LAN al equipo servidor para que los equipos de los usuarios del colegio se puedan conectar a esta.

6.1. DESPLIEGUE

Después de haber realizado la fase de pruebas, se procede a realizar el despliegue

de la aplicación. Primero se ingresa al servidor y se crea el sitio.

Ilustración 40 Acceso remoto

Page 97: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

97

Paso seguido se ingresa al administrador de IIS y se detiene el servicio de la página

de pruebas, seguido se crea un nuevo sitio y este queda ya listo para hacer pruebas,

se va al administrador de la base de datos y se renombra la base de datos, se crea

una nueva base de datos y se importan los datos de los nuevos alumnos y docentes.

Ilustración 41 Windows Server 2008 R2

Page 98: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

98

Ilustración 42 IIS Manager.

Ilustración 43 Crear el Sitio

Page 99: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

99

Ilustración 44 Importación de la BD desde phpMyadmin

Ilustración 45 Importación de la BD exitosa

Page 100: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

100

Ilustración 46 Ingreso desde servidor

Ilustración 47 Navegación por los Menús

Page 101: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

101

Ilustración 48 Ingreso de Usuario

Ilustración 49 Listado del Grupo asignado

Page 102: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

102

Ilustración 50 Pdf en línea

Ilustración 51 Reporte de usuarios

Page 103: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

103

CONCLUSIONES

El sistema de información implementado en el colegio Sierra Morena (sede

A), contribuyó de manera significativa en los procesos de sistematización al facilitar y agilizar la recopilación de datos.

Fue necesario realizar un análisis previo del proceso de recopilación de datos que el colegio utiliza y de cómo se generan documentos con esa información con el fin de realizar un sistema que contribuya a agilizar los procesos académicos de la institución.

El “Sistema de Notas y Certificados del Colegio Sierra Morena (Sede A)”, generó una gran expectativa y buena acogida, ya que agiliza procesos de tipo administrativo y académicos facilitando la labor de administrativos y docentes.

Al analizar la experiencia que el usuario administrativo tuvo con el anterior proceso de manejo de información, se pudo detectar algunas dificultades que se trataron de solucionar con el nuevo sistema de notas y certificados.

Con la elaboración de un sistema de almacenamiento y generación de información que agilice los procesos institucionales, se hace un aporte importante en la medida que el tiempo que se ahorre en estos procesos se podrá utilizar adelantando otras actividades propias de la institución.

El diseño del sistema de información del colegio Sierra Morena, es de fácil acceso, es decir, que el usuario podrá navegar en el sin dificultad gracias a su agradable entorno gráfico, a la practicidad de los menús y si llegara a tener dudas la aplicación tiene un manual del usuario que podrá consultar.

Una de las dificultades presentadas en la ejecución del aplicativo fue que el servidor del colegio, no tenía la capacidad para administrar los datos de toda la institución, solo daba abasto con la información de la sede A, debido a que para manejar la información de todo el colegio se requiere de un servidor con mejor capacidad de memoria, almacenamiento y procesamiento de datos.

En la actualidad la aplicación web del sistema de información se está

ejecutando en la sede A del colegio Sierra Morena, pero se pretende que a futuro pueda implementarse en todas las sedes de la institución

Page 104: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

104

RECOMENDACIONES

El sistema de información desarrollado para el colegio SIERRA MORENA SEDE A,

puede dar pie para más desarrollos, ya que solo se deja la base para que otros

desarrolladores aporten su grano de arena en la aplicación de las TI, en los colegios

distritales.

Este aplicativo le puede brindar a la institución una mejor visión de cómo se pueden

implementar las TI en los colegios distritales y servir como ejemplo para otras

instituciones.

Para lograr a futuro una mejor cobertura de la información de la base de datos

instalada en el servidor, se recomienda mejorar las capacidades de

almacenamiento, memoria y procesamiento, al equipo servidor.

Cuando se quiera desarrollar un proyecto de grado o cualquier tipo de desarrollo,

siempre se debe fijar en los alcances y delimitaciones del proyecto junto con los

objetivos del mismo para no caer en requerimientos no funcionales para los

objetivos del proyecto.

Page 105: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

105

BIBLIOGRAFIA

JACOBO PABON PUERTAS, (2011), Creación de un portal con PHP y MySQL, México, Alfaomega.

JOSE LUIS RAYA- JOSE A. MORENO- ANTONIO LOPEZ, (1999), HTML 4 Guía de Referencia y Tutorial, México, Alfaomega.

TEACHING SOFT GROUP, (2011), ORACLE 11G Curso práctico, México, Alfaomega.

Page 106: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

106

CIBERGRAFIA

Sesiones en PHP online: disponible:

http://www.slideshare.net/fabiangm/sesiones-en-php

PHP on Windows online: disponible:

http://www.microsoft.com/web/platform/phponwindows.aspx

Referencia del Lenguaje PHP online: disponible en:

http://php.net/manual/es/langref.php

MySQL 5.6 Reference Manual online: disponible:

http://dev.mysql.com/doc/refman/5.6/en/index.html

Lenguaje SQL usuarios y privilegios online: disponible en:

http://mysql.conclase.net/curso/index.php?cap=013#

HTML5 Rich-text editing: Editor de textos HTML online: disponible:

http://www.desarrolloweb.com/articulos/html5-rich-text-editing-editor-textos-

html.html

Como crear y eliminar esquemas en MySQL video online: disponible: https://www.youtube.com/watch?v=u7jCtSZqw8c&list=PL51F989BE4116D25A&index=1

CSS básico video online: disponible: https://www.youtube.com/watch?v=1tMRLPQmL0Y&list=PL51F989BE4116D25A&index=3

Page 107: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

107

Diseño de Base de datos video online: disponible: https://www.youtube.com/watch?v=IPKl19SbiYQ&list=PL51F989BE4116D25A&index=7

Creando PDF con PHP y My SQL Parte 01 video online: disponible:

https://www.youtube.com/watch?v=BJluaLErono&index=16&list=PL51F989BE4116D25A

Creando PDF con PHP y My SQL Parte 02 video online: disponible:

https://www.youtube.com/watch?v=7UeBQJPmhOE&list=PL51F989BE4116D25A&index=17

Creando PDF con PHP y My SQL Parte 03 video online: disponible:

https://www.youtube.com/watch?v=9gCOIktPBQM&list=PL51F989BE4116D25A&index=18

Page 108: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

108

ANEXOS

ANEXO A- Aplicacion y BD

ANEXO B- Diccionario de datos - phpMyAdmin 4.0.pdf

ANEXO C- MODELO ER MODIFICADO_v2.pdf

ANEXO D- MODELO ER MODIFICADO_v4.pdf

ANEXO E- cronograma 2014 v2.mpp

ANEXO F- MANUAL DEL USUARIO.docx

Page 109: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

alumnos

Comentarios de la tabla: alumnos

Columna Tipo Nulo Predeterminado Comentariosidalumno int(30) Notipodoc varchar(255) Nodocumentoalum varchar(255) Noprinombre varchar(255) Nosegnombre varchar(255) Sí NULLpriapellido varchar(255) Nosegapellido varchar(255) Sí NULLfechanac date Nosexo varchar(10) Nodiralumno varchar(255) Notelresidencia int(11) Nobarrio varchar(255) Noestrato int(11) Sí NULLlocalidad varchar(255) Sí NULLpsisben int(11) Sí NULLgsanguineo varchar(255) Sí NULLrh varchar(11) Sí NULLnomeps varchar(255) Noips varchar(255) Noedad int(11) Nonomacu varchar(255) Nodocumento int(32) Sí NULLtelacu int(10) Sí NULLcelacu int(15) Sí NULLestadoalum int(11) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idalumno 3116 A No

area

Comentarios de la tabla: area

Columna Tipo Nulo Predeterminado Comentariosidarea int(11) No

NEO
Texto tecleado
NEO
Texto tecleado
MODELO DE DATOS
Page 110: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

area varchar(50) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idarea 8 A No

asignacionmat

Comentarios de la tabla: asignacionmat

Columna Tipo Nulo Predeterminado Comentariosidasignacion int(11) Noidarea int(11) Sí NULLidgrupos int(11) Sí NULLiddocente int(11) NointensidadH int(11) Sí NULLfechaasig date Sí NULL

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idasignacion 4 A Noidarea BTREE No No idarea 4 A Síidgrupo BTREE No No idgrupos 4 A Síiddocente BTREE No No iddocente 4 A No

ciclo

Comentarios de la tabla: ciclo

Columna Tipo Nulo Predeterminado Comentariosidciclo int(11) Nociclo int(11) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idciclo 7 A No

convencionnotas

Comentarios de la tabla: convencionnotas

Columna Tipo Nulo Predeterminado Comentarios

Page 111: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

idnota int(11) Nonota varchar(11) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idnota 6 A No

dcargo

Comentarios de la tabla: dcargo

Columna Tipo Nulo Predeterminado Comentariosidcargo int(11) Nocargo varchar(32) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idcargo 4 A No

docente

Comentarios de la tabla: docente

Columna Tipo Nulo Predeterminado Comentariosiddocente int(11) Noidcargo int(11) Nonombred varchar(255) Nopriapellidod varchar(255) Nosegapellidod varchar(255) Sí NULLfechanacd date Sí NULLdirecciond varchar(255) Sí NULLtelefonod int(11) Sí NULLcelulard int(15) Sí NULLemaild varchar(255) Sí NULLidcontrato int(11) Sí NULLescalafond varchar(255) Sí NULLfingresoinst date Sí NULLresolucionnom int(11) Sí NULLdocumentod int(20) Nofexpedicion date Sí NULL

Índices

Page 112: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No iddocente 16 A Noidcargo BTREE No No idcargo 4 A Noidcontrato BTREE No No idcontrato 4 A Sí

grado

Comentarios de la tabla: grado

Columna Tipo Nulo Predeterminado Comentariosidgrado int(11) Noidjornada int(11) Noidciclo int(11) Nogrado varchar(11) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idgrado 18 A Noidciclo BTREE No No idciclo 18 A Noidjornada BTREE No No idjornada 4 A No

grupos

Comentarios de la tabla: grupos

Columna Tipo Nulo Predeterminado Comentariosidgrupos int(11) Noidsede int(11) Noidjornada int(11) Noidgrado int(11) Nogrupo int(11) Nocupo int(11) Novigenciagrupo year(4) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idgrupos 22 A Noidgrado BTREE No No idgrado 4 A Noidjornada BTREE No No idjornada 4 A Noidsede BTREE No No idsede 2 A No

jornada

Page 113: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Comentarios de la tabla: jornada

Columna Tipo Nulo Predeterminado Comentariosidjornada int(11) Nojornada varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idjornada 4 A No

matricula

Comentarios de la tabla: matricula

Columna Tipo Nulo Predeterminado Comentariosidmatricula int(11) Noidalumno int(30) Noidgrupos int(11) Noestado_alum varchar(11) Nofasignacion date Sí NULLfasistencia date Sí NULLobservaciones varchar(255) Sí NULLdocpendientes varchar(255) Sí NULLcoordinador varchar(255) Sí NULLdirecgrupo varchar(255) Sí NULLfechamatricula date No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idmatricula 15 A Noidalumno BTREE No No idalumno 15 A Noidgrupos BTREE No No idgrupos 2 A No

notas_area

Comentarios de la tabla: notas_area

Columna Tipo Nulo Predeterminado Comentariosid int(11) Noidalumno int(30) Noidgrupos int(11) Noidasignacion int(11) No

Page 114: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

p1 varchar(11) Sí NULLp2 varchar(11) Sí NULLp3 varchar(11) Sí NULLp4 varchar(11) Sí NULLnf varchar(11) Sí NULLvigencia year(4) Noobservacion varchar(255) Sí NULL

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No id 15 A Noidalumno BTREE No No idalumno 15 A Noidasignacion BTREE No No idasignacion 2 A No

perfil

Comentarios de la tabla: perfil

Columna Tipo Nulo Predeterminado Comentariosidperfil int(11) Nopernombre varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idperfil 4 A No

promocion

Comentarios de la tabla: promocion

Columna Tipo Nulo Predeterminado Comentariosidpromocion int(11) Noidalumno int(30) Noestado int(2) Sí NULLvigenciapro year(4) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idpromocion 0 A Noidalumno BTREE No No idalumno 0 A No

proyecto

Page 115: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Comentarios de la tabla: proyecto

Columna Tipo Nulo Predeterminado Comentariosidproyecto int(11) Noidtipo int(11) Nopnombre varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idproyecto 0 A No

sede

Comentarios de la tabla: sede

Columna Tipo Nulo Predeterminado Comentariosidsede int(11) Nosede varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idsede 4 A No

tipcontrato

Comentarios de la tabla: tipcontrato

Columna Tipo Nulo Predeterminado Comentariosidcontrato int(11) Nocontrato varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idcontrato 2 A No

tipoid

Comentarios de la tabla: tipoid

Columna Tipo Nulo Predeterminado Comentariosidtipo int(11) Notipodoc varchar(50) No

Page 116: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idtipo 7 A No

tipoproy

Comentarios de la tabla: tipoproy

Columna Tipo Nulo Predeterminado Comentariosidptipo int(11) Notipo int(50) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idptipo 0 A No

usuario

Comentarios de la tabla: usuario

Columna Tipo Nulo Predeterminado Comentariosidusuario int(11) Noidperfil int(11) Noiddocente int(11) Nologin varchar(255) Nopassword varchar(255) No

Índices

Nombre de la clave Tipo Único Empaquetado Columna Cardinalidad Cotejamiento Nulo ComentarioPRIMARY BTREE Sí No idusuario 2 A Noidperfil BTREE No No idperfil 2 A Noiddocente BTREE No No iddocente 2 A No

Page 117: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

alumnos

idalumno INT(30)

tipodoc VARCHAR(255)

documentoalum VARCHAR(2…

prinombre VARCHAR(255)

segnombre VARCHAR(255)

priapellido VARCHAR(255)

19 more...

Indexes

area

idarea INT(11)

area VARCHAR(50)

Indexes

asignacionmat

idasignacion INT(11)

idarea INT(11)

idsede INT(11)

idjornada INT(11)

idgrado INT(11)

idgrupos INT(11)

iddocente INT(11)

intensidadH INT(11)

fechaasig DATE

Indexes

ciclo

idciclo INT(11)

ciclo INT(11)

Indexes

convencionnotas

dcargo

idcargo INT(11)

cargo VARCHAR(32)

Indexes

docente

iddocente INT(11)

idcargo INT(11)

nombred VARCHAR(255)

priapellidod VARCHAR(255)

segapellidod VARCHAR(255)

fechanacd DATE

direcciond VARCHAR(255)

telefonod INT(11)

celulard INT(15)

emaild VARCHAR(255)

idcontrato INT(11)

escalafond VARCHAR(255)

fingresoinst DATE

resolucionnom INT(11)

documentod INT(20)

fexpedicion DATE

Indexes

grado

idgrado INT(11)

idjornada INT(11)

idciclo INT(11)

grado VARCHAR(11)

Indexes

grupos

idgrupos INT(11)

idsede INT(11)

idjornada INT(11)

idgrado INT(11)

grupo INT(11)

2 more...

Indexes

jornada

idjornada INT(11)

jornada VARCHAR(255)

Indexes

matricula

idmatricula INT(11)

idalumno INT(30)

idsede INT(11)

idjornada INT(11)

idgrado INT(11)

idgrupos INT(11)

estado_alum VARCHAR(11)

fasignacion DATE

fasistencia DATE

observaciones VARCHAR(255)

docpendientes VARCHAR(255)

coordinador VARCHAR(255)

direcgrupo VARCHAR(255)

fechamatricula DATE

Indexes

notas_area

id INT(11)

idalumno INT(30)

idgrupos INT(11)

iddocente INT(11)

p1 INT(11)

p2 INT(11)

p3 INT(11)

p4 INT(11)

nf VARCHAR(11)

2 more...

Indexes

perfil

idperfil INT(11)

pernombre VARCHAR(255)

Indexes

promocion

idpromocion INT(11)

idalumno INT(30)

estado INT(2)

Indexes

proyecto

sede

idsede INT(11)

sede VARCHAR(255)

Indexes

tipcontrato

idcontrato INT(11)

contrato VARCHAR(255)

Indexes

tipoid

tipoproyusuario

idusuario INT(11)

idperfil INT(11)

iddocente INT(11)

2 more...

Indexes

Page 118: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

alumnos

idalumno INT(30)

tipodoc VARCHAR(255)

documentoalum VARCHAR(255)

prinombre VARCHAR(255)

segnombre VARCHAR(255)

priapellido VARCHAR(255)

segapellido VARCHAR(255)

fechanac DATE

sexo VARCHAR(10)

diralumno VARCHAR(255)

telresidencia INT(11)

barrio VARCHAR(255)

estrato INT(11)

localidad VARCHAR(255)

psisben INT(11)

gsanguineo VARCHAR(255)

rh VARCHAR(11)

nomeps VARCHAR(255)

ips VARCHAR(255)

edad INT(11)

nomacu VARCHAR(255)

documento INT(32)

telacu INT(10)

celacu INT(15)

estadoalum INT(11)

Indexes

area

idarea INT(11)

area VARCHAR(50)

Indexes

asignacionmat

idasignacion INT(11)

idarea INT(11)

idgrupos INT(11)

iddocente INT(11)

intensidadH INT(11)

fechaasig DATE

Indexes

ciclo

idciclo INT(11)

ciclo INT(11)

Indexes

convencionnotas

idnota INT(11)

nota VARCHAR(11)

Indexes

dcargo

idcargo INT(11)

cargo VARCHAR(32)

Indexes

docente

iddocente INT(11)

idcargo INT(11)

nombred VARCHAR(255)

priapellidod VARCHAR(255)

segapellidod VARCHAR(255)

fechanacd DATE

direcciond VARCHAR(255)

telefonod INT(11)

celulard INT(15)

emaild VARCHAR(255)

idcontrato INT(11)

escalafond VARCHAR(255)

fingresoinst DATE

resolucionnom INT(11)

documentod INT(20)

fexpedicion DATE

Indexes

grado

idgrado INT(11)

idjornada INT(11)

idciclo INT(11)

grado VARCHAR(11)

Indexes

grupos

idgrupos INT(11)

idsede INT(11)

idjornada INT(11)

idgrado INT(11)

grupo INT(11)

cupo INT(11)

fechacreacion INT(11)

Indexes

jornada

idjornada INT(11)

jornada VARCHAR(255)

Indexes

matricula

idmatricula INT(11)

idalumno INT(30)

idgrupos INT(11)

estado_alum VARCHAR(11)

fasignacion DATE

fasistencia DATE

observaciones VARCHAR(255)

docpendientes VARCHAR(255)

coordinador VARCHAR(255)

direcgrupo VARCHAR(255)

fechamatricula DATE

Indexes

notas_area

id INT(11)

idalumno INT(30)

idgrupos INT(11)

idasignacion INT(11)

p1 VARCHAR(11)

p2 VARCHAR(11)

p3 VARCHAR(11)

p4 VARCHAR(11)

nf VARCHAR(11)

vigencia YEAR

observacion VARCHAR(255)

Indexes

perfil

idperfil INT(11)

pernombre VARCHAR(255)

Indexes

promocion

idpromocion INT(11)

idalumno INT(30)

estado INT(2)

vigenciapro YEAR

Indexes

proyecto

idproyecto INT(11)

idtipo INT(11)

pnombre VARCHAR(255)

Indexes

sede

idsede INT(11)

sede VARCHAR(255)

Indexes

tipcontrato

idcontrato INT(11)

contrato VARCHAR(255)

Indexes

tipoid

idtipo INT(11)

tipodoc VARCHAR(50)

Indexes

tipoproy

idptipo INT(11)

tipo INT(50)

Indexes

usuario

idusuario INT(11)

idperfil INT(11)

iddocente INT(11)

login VARCHAR(255)

password VARCHAR(255)

Indexes

Page 119: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Id Modo de tarea

Nombre de tarea Duración Comienzo Fin

1 Analisis 75 días lun 04/11/13 vie 14/02/14

2 Requerimientos del usuario

3 días lun 04/11/13 mié 06/11/13

3 Levantamiento de informacion

5 días lun 11/11/13 vie 15/11/13

4 Requerimientos Tecnicos 1 día lun 18/11/13 lun 18/11/13

5 Elaboracion de Primer documento

2 días mar 19/11/13 mié 20/11/13

6 Correcciones de documento

1 día jue 21/11/13 jue 21/11/13

7 Retroalimentacion de requerimientos y correcciones

1 día vie 22/11/13 vie 22/11/13

8 Analisis modelo entidad/relacion

5 días lun 25/11/13 vie 29/11/13

9 Diseño 25 días lun 13/01/14 vie 14/02/14

10 Diseño modelo Entidad-Relacion

1 día lun 13/01/14 lun 13/01/14

11 Diseño modular 5 días mar 14/01/14 lun 20/01/14

12 Diseño del Aplicativo 15 días mar 21/01/14 lun 10/02/14

13 Retroalimentacion conel usuario final

4 días mar 11/02/14 vie 14/02/14

14 Desarrollo 50 días lun 17/02/14 vie 25/04/14

15 Desarrollo Base de datosen MySQL

15 días lun 17/02/14 vie 07/03/14

16 Desarrollo Pagina Web y Consultas

25 días lun 10/03/14 vie 11/04/14

17 Retroalimentacion con elusuario y mejoras del aplicativo

10 días lun 14/04/14 vie 25/04/14

18 Implementacion 95 días lun 12/05/14 vie 19/09/14

19 Instalacion y configuracion Servidor

5 días lun 12/05/14 vie 16/05/14

D L Mnoviembre

Página 1

Page 120: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Id Modo de tarea

Nombre de tarea Duración Comienzo Fin

20 Prueba piloto 15 días lun 19/05/14 vie 06/06/14

21 Correcciones a fallos 20 días vie 06/06/14 jue 03/07/14

22 Despliegue y pruebas 10 días vie 04/07/14 jue 17/07/14

23 Elaboracion y correcciones de documento final

15 días lun 01/09/14 vie 19/09/14

24

D L Mnoviembre

Página 2

Page 121: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

M X J V S D L M X J V S D L M X J V S D L M X J V Snoviembre

Página 3

Page 122: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

M X J V S D L M X J V S D L M X J V S D L M X J V Snoviembre

Página 4

Page 123: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

S D L M X J V S D L M X J V S D L M X J V S D L M Xnoviembre diciembre

Página 4

Page 124: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

S D L M X J V S D L M X J V S D L M X J V S D L M Xnoviembre diciembre

Página 5

Page 125: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

X J V S D L M X J V S D L M X J V S D L M X J V S Ddiciembre enero

Página 5

Page 126: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

X J V S D L M X J V S D L M X J V S D L M X J V S Ddiciembre enero

Página 6

Page 127: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

D L M X J V S D L M X J V S D L M X J V S D L M X Jenero febrero

Página 6

Page 128: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

D L M X J V S D L M X J V S D L M X J V S D L M X Jenero febrero

Página 7

Page 129: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

J V S D L M X J V S D L M X J V S D L M X J V S D Lfebrero marzo

Página 7

Page 130: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

J V S D L M X J V S D L M X J V S D L M X J V S D Lfebrero marzo

Página 8

Page 131: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

L M X J V S D L M X J V S D L M X J V S D L M X J Vmarzo abril

Página 8

Page 132: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

L M X J V S D L M X J V S D L M X J V S D L M X J Vmarzo abril

Página 9

Page 133: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

V S D L M X J V S D L M X J V S D L M X J V S D L Mabril

Página 9

Page 134: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

V S D L M X J V S D L M X J V S D L M X J V S D L Mabril

Página 10

Page 135: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

M X J V S D L M X J V S D L M X J V S D L M X J V Sabril mayo

Página 10

Page 136: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

M X J V S D L M X J V S D L M X J V S D L M X J V Sabril mayo

Página 11

Page 137: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

S D L M X J V S D L M X J V S D L M X J V S D L M Xmayo junio

Página 12

Page 138: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

S D L M X J V S D L M X J V S D L M X J V S D L M Xmayo junio

Página 13

Page 139: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

X J V S D L M X J V S D L M X J V S D L M X J V S Djunio julio

Página 14

Page 140: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

X J V S D L M X J V S D L M X J V S D L M X J V S Djunio julio

Página 15

Page 141: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

D L M X J V S D L M X J V S D L M X J V S D L M X Jjulio agosto

Página 16

Page 142: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

D L M X J V S D L M X J V S D L M X J V S D L M X Jjulio agosto

Página 17

Page 143: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

J V S D L M X J V S D L M X J V S D L M X J V S D Lagosto septiembre

Página 18

Page 144: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

J V S D L M X J V S D L M X J V S D L M X J V S D Lagosto septiembre

Página 19

Page 145: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

L M X J V S D L M X J V S D L M X J V S D L M X J Vseptiembre

Página 20

Page 146: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

L M X J V S D L M X J V S D L M X J V S D L M X J Vseptiembre

Página 21

Page 147: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

MANUAL DEL USUARIO

INGRESO A LA APLICACIÓN

Se ingresa con la dirección http://10.86.146.66/iedsierramorena, ahí se coloca el usuario y la

contraseña.

Para el usuario administrador, en este se encuentra los menus de CRUD de estudiantes y docentes,

para ingresar los datos, y también cuenta con los reportes de estudiantes y usuarios.

Para ir al CRUD (registrar, modificar, borrar), vamos a la opción alumnos y desplegamos el menú

para trabajar con las diferentes opciones.

Page 148: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Para registrar el alumno hacemos clic en la opción del menú, Registrar Alumno y nos aparecerá en

el centro de la ventana el formulario para ingresar los datos.

Después de ingresar los datos completos sin dejar en blanco, se hace clic en el botón Registrar

Alumno.

Para realizar una modificación o eliminación del estudiante el entorno es el mismo. Se hace clic en

modificar alumno y luego nos aparecerá la siguiente página.

Digitamos el numero de documento del alumno en el campo documento alumno y luego le damos

click en el botón Buscar.

Page 149: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Luego en la tabla de abajo, aparecerá los datos del alumno

En este cuadro le podemos dar click en editar o eliminar, le damos click en Editar. Nos aparecerá el

mismo formulario de ingresar alumno, pero con la salvedad de que los datos del alumno están en

los campos listos para ser modificados.

Para el usuario del docente se pensó en un cargue masivo de datos, se realiza mediante un archivo

plano csv. En la tabla inferior aparecen los grupos asignados al docente, este solo hace click en el

código de la asignación y le mostrara el listado de los estudiantes.

El docente copia la tabla estudiantes y la pega en un archivo de Excel, luego de haber ingresado los

datos. A la tabla elimina las columnas de los datos del alumno como nombres y apellidos y la fila

con el nombre de los campos.

Page 150: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Para subir el archivo hacemos click en el botón Seleccionar archivo, luego nos aparecerá un cuadro

de exploración para buscar el archivo, después de seleccionar el archivo hacemos click en el botos

submit, y nos cargara los datos de los estudiantes como se muestra en el listado.

Page 151: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

MANUAL DE INSTALACION

Se procede a descargar la herramienta WAMP desde la página http://www.wampserver.com/en/

Se descarga el instalador, y se procede a iniciar el asistente de instalación

Page 152: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Paso seguido se da en next hasta finalizar.

Page 153: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,
Page 154: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Luego de haber instalado la aplicación vamos a la barra de tareas y verificamos que el programa

este corriendo y en color verde como se muestra en la figura.

Luego hacemos click en phpMyAdmin y nos ingresa por localhost a la herramienta de

administración, allí creamos nuestra base de datos para luego importar el sql de la base de datos

Page 155: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Luego de ya creada nuestra base de datos nos ubicamos en la pestaña de importar, para allí subir el

archivo sql con la data de la base de datos.

Page 156: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Hacemos click en el botón de donde nos abre una ventana para seleccionar el

archivo.

Page 157: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

Le damos click en aceptar, luego le damos click en continuar en la ventana inferior de la pagina. Y

este empieza el proceso de importación de la base de datos.

Después nos debe ya mostrar todas las tablas de la base de datos.

Page 158: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

CONFIGURACION DE USUARIO ROOT

Para poder acceder a la aplicación este esta validado con el usuario root y su respectivo password,

para ello debemos configurar en el archivo config.inc.php las siguientes líneas, el cual se encuentra

en la siguiente ruta C:\wamp\apps\phpmyadmin4.0.4., donde queda alojada la instalación.

Page 159: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,
Page 160: ANALISIS, DISEÑO E IMPLEMENTACION DEL SISTEMA WEB DE …repository.udistrital.edu.co/bitstream/11349/3233/1... · MYSQL, los cuales se desplegaron en un servidor Windows 2008 server,

MODELO ENTIDAD RELACION NORMALIZADO