UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ÁNDES UNIANDES FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS TESIS DE GRADO PREVIO A LA OBTENCIÓN AL TITULO DE INGENIERO EN SISTEMAS E INFORMÁTICA TEMA Desarrollo de Aplicación Web de Matrículas y Calificaciones para la Unidad Educativa Miguel Ángel Samaniego Jiménez. AUTOR Tec. Livintong Jefferson Franco García TUTOR Lic. Franklin Montecé Mosquera, MSc. AÑO – 2014 DECLARACIÒN DE TUTORIA El suscrito, Lic. Franklin Montecé Mosquera, MSc., Docente de la Universidad Regional Autónoma de los Andes “UNIANDES” certifica que el Egresado LIVINTONG JEFFERSON FRANCO GARCIA realizó la tesis de grado previo a la obtención del título de Ingeniero en Sistemas e informática “Desarrollo de Aplicación Web de Matriculas y Calificaciones para la Unidad Educativa Miguel Ángel Samaniego Jiménez”. Bajo mi dirección, habiendo cumplido con todas las disposiciones reglamentarias establecidas para el efecto. Babahoyo, 29 de julio del 2014 I DECLARACIÒN DE AUTORÌA Yo LIVINTONG JEFFERSON FRANCO GARCIA, C.I Nº 120666662-8 declaro que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentado para ningún grado o calificación profesional y que he consultado las referencias bibliográficas que se incluyen en este documento. La Universidad Regional Autónoma de los Andes “UNIANDES”, puede hacer uso de los derechos correspondientes a este trabajo, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente. II DEDICATORIA A Dios, por ser el ser supremo que me permitirme seguir en esta lucha por el cumplimiento de mis metas. A mi madre Lilia García, que mediante su apoyo, me enseñaron que debo cumplir con los objetivos que me propongo para de esta manera poder ser una persona útil a la sociedad. A mi familia, como es mi padre Víctor Franco Troya mi hermano Víctor Franco, y nuevamente mi madre que mediante su comprensión, apoyo y cariño me ayudaron a la realización y culminación de este trabajo, así mismo con el largo camino que me permitió llegar a la realización de mis aspiraciones a ellos les dedico este trabajo, porque sé que mi esfuerzo, servirá para darles un futuro mejor. Tec. Livintong Franco García. III AGRADECIMIENTO El autor deja constancia de su agradecimiento: A nuestro creador Jesucristo por permitirme cada día seguir con el cumplimiento de mis objetivos. A la Universidad Regional Autónoma de los Andes “UNIANDES”, digna institución de enseñanza e investigación, que a través de una de sus unidades de estudios, me recibió como estudiante. Ing. Rosalía Ordoñez, Rectora de UNIANDES Babahoyo, que dirige con acertada gestión académica. A todos los educadores de UNIANDES Babahoyo que por su dedicación a la constancia y formación de los profesionales de este centro de estudio, han permitido poder alcanzar este objetivo. A mis padres por ser las personas que me dieron la vida y apoyo constante en cada cumplimiento de mis metas propuestas. A la Unidad Educativa Miguel Ángel Samaniego Jiménez quienes me facilitaron todas las instalaciones de su propiedad para la realización de este trabajo de grado. Y además a mi tutor guía el Lic. Franklin Montecé Mosquera, MSc, que mediante sus conocimientos me ayudo para la realización efectiva de este trabajo. IV INDICE DECLARACIÒN DE TUTORIA _______________________________________ I DECLARACIÒN DE AUTORÌA _______________________________________ II DEDICATORIA __________________________________________________ III AGRADECIMIENTO ______________________________________________ IV INDICE __________________________________________________________ V RESUMEN EJECUTIVO __________________________________________ VIII ABSTRACT _____________________________________________________ IX INTRODUCCIÓN _________________________________________________ 10 Antecedentes ________________________________________________________________ 10 Situación problemática ________________________________________________________ 12 PROBLEMA CIENTÍFICO ______________________________________________________ 12 LÍNEA DE INVESTIGACIÓN ____________________________________________________ 13 Principal objetivo _____________________________________________________________ 13 Objetivos específicos: ________________________________________________________ 13 Hipótesis_____________________________________________________________________ 13 Variable dependiente: _________________________________________________________________ 13 Variable independiente:________________________________________________________________ 13 La metodología a emplear _____________________________________________________ 14 Esquema de contenidos: ______________________________________________________ 15 Elementos de novedad, aporte teórico y significación PRÁCTICA ________________ 18 CAPÍTULO I.MARCO TEÓRICO _____________________________________ 19 1.1. Origen y evolución del objeto de investigación. _____________________________ 19 Que es un portal web _________________________________________________________ 19 ¿Es lo mismo Internet que página Web? ________________________________________ 19 Funciones y objetivos _________________________________________________________ 20 V Servicios adicionales __________________________________________________________________ 20 Un portal es mucho más que una página web, ___________________________________________ 21 Teoría de portales ____________________________________________________________ 21 1.2. Análisis de las distintas posiciones teóricas sobre el objeto de investigación. ___________________________________________________ 22 Tipos de Portales _____________________________________________________________ 22 Portales horizontales __________________________________________________________________ Portales Verticales ____________________________________________________________________ Portales diagonales ___________________________________________________________________ Portales Especializados _______________________________________________________________ Portales corporativos __________________________________________________________________ Portales Móviles ______________________________________________________________________ 22 23 23 23 23 24 Metodología de desarrollo de software UWE.-________________________________________ 24 Aplicación web _______________________________________________________________ 25 Cómo funcionan las aplicaciones web ________________________________________________ 25 Interfaz ______________________________________________________________________ 26 Ventajas_____________________________________________________________________________ 26 Lenguajes de programación __________________________________________________________ 27 Un Servidor Web o servidor HTTP______________________________________________ 28 Modelo cliente – servidor ______________________________________________________ 28 Servidor apache _____________________________________________________________ 29 Ventajas_____________________________________________________________________________ 30 Módulos _____________________________________________________________________ 30 Procesamiento de páginas dinámicas __________________________________________ 31 Acceso a una base de datos ___________________________________________________ 31 Introducción a las bases de datos______________________________________________ 32 Base de datos MySQL _________________________________________________________ 33 PHP _________________________________________________________________________ 34 Ajax. _________________________________________________________________________ 36 JavaScript _____________________________________________________________________ 36 Conexión PHP con MySql _________________________________________________________ 38 Css. __________________________________________________________________________ 39 Animación ___________________________________________________________________ 40 El servidor WAMP ____________________________________________________________ 40 VI ¿Para qué sirve un Servidor WAMP? ___________________________________________ 41 Configuración del Servidor WAMP ______________________________________________________ 42 La Matricula __________________________________________________________________ 43 Requisitos ___________________________________________________________________ 43 La evaluación, calificación y promoción de los estudiantes ______________________ 44 Procedimientos institucionales para la evaluación ______________________________ 47 El control adecuado de un grupo puede hacerse en base a: ____________________________________ 48 Aspectos a controlar: ___________________________________________________________________ 48 Registro de calificaciones: _______________________________________________________________ 48 1.3 valoracion CRÍTICA de los conceptos principales de las distintas posiciones sobre el objeto de investigacion. _________________________ 49 1.4 conclusiones parciales del capítulo. _____________________________ 50 CAPÍTULO II.MARCO METODOLÓGICO Y PLANTEAMIENTO DE LA PROPUESTA ____________________________________________________ 52 2.1. Características del sector, rama, empresa, contexto institucional o problema seleccionado para la investigación. ____________________________________________ 52 2.2 Descripción del procedimiento metodológico para el desarrollo de la investigación (que conducen al resultado que da la solución al problema científico). ______________________________________________________________________________ 52 2.3. Propuesta del investigador modelo, sistema, metodología, procedimiento, entre otros que realice el investigador. ______________________________________________ 67 2.4. Conclusiones parciales del capítulo ________________________________________ 83 CAPITULO III. VALIDACION Y/O EVALUACION DE RESULTADOS DE SU APLICACION ____________________________________________________ 84 3.1. Procedimiento de la aplicación de los resultados de la investigación _________ 84 3.2. Análisis de los resultados finales de la investigación ________________________ 85 3.3 conclusiones parciales deL capítulo ________________________________________ 86 CONCLUSIONES GENERALES _____________________________________ 87 RECOMENDACIONES ____________________________________________ 88 VII RESUMEN EJECUTIVO En el mundo moderno las instituciones indistintamente que sean públicas o privadas requieren ir de la mano con los adelantos tecnológicos, en las instituciones educativas la necesidad es mayor y la implementación de la tecnología en los procesos administrativos y educativos es inminente ya que las leyes que rigen el sistema educativo nacional exigen estos cambios. Es necesario señalar que la importancia de este trabajo radica en la optimización en los procesos relacionados con la matriculación de estudiantes y el control de calificaciones, ahorrando tiempo y recursos a la institución, proyectando hacia la sociedad una imagen de vanguardia y eficiencia, la metodología de investigación a emplear es la cuali-cuantitativa con el predominio de la modalidad cualitativa. Se considera como línea de investigación al Desarrollo de Software y Programación de Sistemas, debido a que el resultado final de este trabajo será la implementación y puesta en marcha de una aplicación web dedicada a realizar de forma automatizada la Matriculación de estudiantes y Registro de Calificaciones para la Unidad Educativa Miguel Ángel Samaniego Jiménez, permitiendo que las actividades antes señalados se los realice de forma rápida y confiable, logrando resultados efectivos tanto para los docentes de la institución, como para los padres de familia que podrán tener un mayor control sobre el rendimiento y conducta del estudiante sin necesidad de acercarse constantemente al plantel. La validación permanente de los datos que entran al sistema, permite obtener información efectiva de los procesos. VIII ABSTRACT In today’s world, public or private institutions need to work up-to-date with technology. In educational institutions the necessity is bigger and the implementation of the technology in the administrative and educational processes is important, because laws from the national educational system demand it. It should be noted that the importance of this work is on the optimization of the processes related to student enrollment and grade control, saving time and resources for the institution, projecting and image of modernism and efficiency. The research methodologies used are qualitative and quantitative with the predominance of a qualitative mode. It is considered as a line of research the Software Development and Systems Programming, because the final result of this work will be the implementation and launch of a web application for the Automatic Student Enrollment and the Grade Registration for the Unidad Educativa Miguel Angel Samaniego Jimenez. This will allow a fast and trustable development of the before mentioned activities, achieving effective results for both teachers of the institution, and for parents who may have a greater control over the students performance and behavior without the necessity of visiting the institution. The ongoing validation of data entering to the system, allows getting effective information from the processes. IX INTRODUCCIÓN ANTECEDENTES Desde que los sistemas informáticos aparecieron, estos se han establecido como una valiosa herramienta dentro del campo empresarial debido a la facilidad que se presenta en su manejo, a la seguridad brindada mediante clave de acceso y quizás la más importante, su gran capacidad de almacenamiento de datos. Se puede establecer de igual manera lo trascendente que sería que una aplicación de un sistema automatizado ejecute de forma ágil y segura los diferentes procesos y actividades dentro de una institución. Del mismo modo que se ha incorporado la tecnología de la información a la vida cotidiana, el ser humano ha tomado amplia conciencia de los retos que implica para un futuro el uso del computador, La fabricación está pasando de ser un arte a ser una ciencia y por esto existe mayor necesidad de talentos de ingeniería y matemáticas en el diseño y la puesta en marcha de sistemas automatizados. Luego de realizar una revisión en la biblioteca de UNIANDES sobre las Tesis de Grado presentadas en Ingeniería de Sistemas se encontró el trabajo de la Ingeniera en Sistemas e Informática María Piedad Valverde Franco con el tema “Sistema informático de matrículas y calificaciones para la escuela de Educación Básica Miguel de Cervantes” presentado en el año 2013. Este trabajo resalta “La Web se ha convertido en una parte integral de la vida diaria. Cada día las aplicaciones Web van en aumento y son más grandes e importantes. Sin embargo el modelado de aplicaciones Web es todavía una disciplina muy joven, de hecho, los métodos y los lenguajes existentes, no brindan un apoyo suficiente en su diseño” En la tesis “Desarrollo e implantación de un sistema automatizado de control de matrículas, pensiones y notas para la Unidad Educativa González Suárez”, de Gladys Inés Martínez Barreno, estudiante de la Carrera de Ingeniería en Sistemas Computacionales e Informáticos, de la Facultad de Ingeniería en Sistemas, Universidad Técnica de Ambato se resalta que “El Sistema de Matrículas es el que 10 permite, en primera instancia, a una alumna y a sus padres, vincularse formalmente como integrantes de la comunidad educativa. Esta vinculación se establece mediante un contrato de servicios educativos, en el cual se enuncian los derechos, deberes y obligaciones económicas de los contratantes”. El Análisis Crítico de la tesis “Desarrollo e implantación de un sistema automatizado de control de matrículas, pensiones y notas para la Unidad Educativa González Suárez”, de Gladys Inés Martínez Barreno, estudiante de la Carrera de Ingeniería en Sistemas Computacionales e Informáticos, de la Facultad de Ingeniería en Sistemas, Universidad Técnica de Ambato indica: “El desconocimiento de nuevas tecnologías, la falta de capacitación y la falta de recursos económicos, han causado el difícil acceso a los datos, falta de organización en la información y en otras actividades; trayendo como consecuencias que la atención sea deficiente, lo cual conlleva la pérdida de tiempo, pérdida económica, pérdida de recursos y perdida de información”. La propuesta de solución fue plasmada en la elaboración del sistema informático para el control académico, este sistema fue implementado en la Institución y es utilizado hasta la actualidad, el programa ha pasado por una serie de mejoras considerables y adaptado estrictamente a los requerimiento institucionales, es por ello que se determina que los sistemas informáticos son de amplia utilidad en el ámbito educativo, dando seguridad en el respaldo y difusión de la información. 11 SITUACIÓN PROBLEMÁTICA Al realizar un análisis de la situación actual se determina que el problema que afecta a la institución y principalmente a la secretaria es que la mayoría de los procesos se realizan de forma manual y algunos otros a través de la aplicación Excel esto conlleva a correr el riesgo de perder información, así como, la desorganización de la misma ya que se tienen datos de un mismo estudiante duplicados, de la misma forma se pierde tiempo al momento de realizar el proceso de ingreso de datos (alumnos, docentes, matriculas, calificaciones, etc.), además existe la inseguridad de que cualquier persona no autorizada acceda y manipule estos datos, los cuales son confidenciales para la institución. La Unidad Educativa Miguel Ángel Samaniego Jiménez actualmente, debido a su enseñanza técnica cuenta con un número de estudiantes superior a los 400; al llevar los registros en forma manual provoca que en periodo de matrículas se produzca errores en la recopilación de datos e inscripciones de los alumnos, creando aglomeración de padres de familia y representantes debido a la lentitud con que se realiza el trabajo. El proceso de inscripción o matriculación se lo realiza manualmente: a) Se verifica la totalidad de los documentos, b) Se recolectan los datos a través de una ficha denominada libro de vida con el fin de crear expedientes del alumno y c) Se le anexan los documentos exigidos (partida de nacimiento, certificado de salud, certificado de notas, cédula de identidad, fotografías, carta de buena conducta). En tiempos de evaluaciones, los docentes pasan sus calificaciones en hojas (actas) produciendo atrasos y errores en la generación de los registros generales de calificaciones, así como, atrasos en la entrega de las calificaciones a los padres de familia y/o representantes. PROBLEMA CIENTÍFICO Se formula de la siguiente forma: ¿Cómo realizar de forma eficaz y eficiente las gestiones de matrículas y calificaciones de la Unidad Educativa Miguel Ángel Samaniego Jiménez? 12 OBJETO DE ESTUDIO Y CAMPO DE ACCIÓN Objeto de estudio: Desarrollo de Aplicaciones Web Campo de Acción: gestión matrículas y calificaciones. LÍNEA DE INVESTIGACIÓN Que se utilizara en este trabajo será: Desarrollo de Software y Programación de Sistemas. PRINCIPAL OBJETIVO Desarrollar una Aplicación Web de Matrículas y Calificaciones para la Unidad Educativa Miguel Ángel Samaniego Jiménez. Además, se establecen los siguientes OBJETIVOS ESPECÍFICOS: 1. Fundamentar teóricamente las herramientas para la realización del sistema informático así como la gestión de matrículas y calificaciones. 2. Identificar el modelo, métodos e indicadores para el desarrollo de la investigación de la gestión de Matrículas y Calificaciones. 3. Diseñar la aplicación web de gestión de matrículas y calificaciones. 4. Validar la aplicación web de gestión de matrículas y calificaciones con ayuda y experiencia de expertos. HIPÓTESIS Con el desarrollo de aplicación web para matrículas y calificaciones se realizaran de forma eficaz y eficiente las gestiones de matrículas y calificaciones de la unidad educativa miguel ángel Samaniego Jiménez. Variable dependiente: Tareas de inscripción, matrículas y calificaciones en el área de secretaria. Variable independiente: Aplicación web para la Gestión de Matrículas y Calificaciones. 13 LA METODOLOGÍA A EMPLEAR Tipo de investigación: El tipo de investigación que se realizara es la aplicada y descriptiva; aplicada porque se aplicaran conocimientos adquiridos en el transcurso de la carrera de Sistemas Mercantiles; así como de los conocimientos investigados sobre los lenguajes de programación como PHP, Java, y el gestor de base de datos MySQL; los que se aplicaran durante el desarrollo de la aplicación web. Es descriptiva porque se detallaran cada uno de los procesos que realizara el sistema desde su inicio hasta su fin. Instrumentos: Búsqueda en internet.- Información sobre las diferentes definiciones, métodos y estrategias utilizados para el desarrollo de la aplicación web y su documentación. Formato impreso o digital.- Se consultara libros para la toma de decisiones sobre el diseño metodológico a utilizar para la elaboración de la aplicación web al igual que consultas de páginas en internet. Guía de entrevista.interrogantes que se le hace al personal para determinar a las Autoridades lo que se desea. 14 ESQUEMA DE CONTENIDOS: Diseño del Sistema Informático CAPITULO I Teoría de Portales Tipos de Portales Portales generales, horizontales o mega portales Portales especializados o temáticos Portales verticales Portales corporativos o institucionales Metodología de desarrollo de software UWE Servidores web Servidor apache Procesamiento de páginas dinámicas Acceso a una base de datos Introducción a las bases de datos Base de datos MySQL PHP PHP Características de PHP Historia Inconvenientes SQLyog Características de SQLyog Componentes Comandos GESTIÓN ACADÉMICA La Matricula Requisitos La evaluación, calificación y promoción de los estudiantes 15 Tipos de evaluación Procedimientos institucionales para la evaluación CAPITULO II Metodologías de investigación Técnicas de investigación Desarrollo de la propuesta de la aplicación web CAPITULO III Formulario inicio de sesión Formulario menú de inicio Menú Formulario Sistema UEMASJ Formulario mantenimiento usuario Mantenimiento usuario nuevo Mantenimiento usuario buscar Mantenimiento usuario editar Mantenimiento usuario actualizar Mantenimiento usuario eliminar Menú parámetros de la institución Formulario mantenimiento institución Mantenimiento institución nuevo Mantenimiento institución buscar Mantenimiento institución editar Mantenimiento institución actualizar Mantenimiento institución eliminar Formulario profesión Formulario asignatura-materia Menú docente Formulario mantenimiento docente Mantenimiento docente nuevo Mantenimiento docente buscar 16 Mantenimiento docente editar Mantenimiento docente actualizar Mantenimiento docente eliminar Menú cursos Formulario cursos-especialización Menú matricula Formulario mantenimiento matricular Mantenimiento matricular nuevo Mantenimiento matricular buscar Mantenimiento matricular editar Mantenimiento matricular actualizar Mantenimiento matricular eliminar Menú Calificaciones Formulario ingreso notas Formulario modificar notas Formulario eliminar notas Formulario consultar notas Menú reportes Ciclo básico Formulario reportes notas I quimestre Formulario reportes notas II quimestre Ciclo diversificado Formulario reportes notas I quimestre Formulario reportes notas II quimestre Formulario Libreta de calificaciones 17 ELEMENTOS DE NOVEDAD, APORTE TEÓRICO Y SIGNIFICACIÓN PRÁCTICA Aporte teórico.- La información que se producirá luego de haber realizado la investigación necesaria, servirá de bibliografía para futuros trabajos referente al tema aquí expuesto, de la misma manera, coadyuvará a la información sobre desarrollo de aplicaciones web basadas en software libre. Significación práctica.- Se aplicará lo aprendido en las aulas de clases, se llevara lo empírico a lo real, lo teórico a lo práctico para de esta forma llevar a cabo el desarrollo de la aplicación web que beneficiara a la realización de varias tareas de la Unidad Educativa Miguel Ángel Samaniego Jiménez. 18 CAPÍTULO I. MARCO TEÓRICO 1.1. ORIGEN Y EVOLUCIÓN DEL OBJETO DE INVESTIGACIÓN. QUE ES UN PORTAL WEB1 Un Portal es el punto de entrada a Internet donde se organizan y concentran los contenidos del propietario del mismo. El objetivo principal del Portal es ayudar a los usuarios a encontrar lo que necesitan sin salir del mismo fidelizándoles e incentivándoles a utilizarlo de forma continuada. Los 3 pilares fundamentales de un Portal para atraer la atención del usuario y son: 1. Información (Buscadores, directorios, noticias, catálogos y servicios) 2. Participación (E-mail, foros, chat) 3. Comodidad (brindar la mayor cantidad de información en un solo espacio y tenerlo todo a mano) ¿ES LO MISMO INTERNET QUE PÁGINA WEB?2 No, Internet es más que una página Web. Una página Web es parte de uno de los varios servicios que permite Internet. Internet incluye, los siguientes servicios básicos: Correo electrónico (mailto://) Intercambio de archivos (ftp://) Acceso remoto (telnet://) Navegación textual (gopher://) Noticias (usernet://) Web (http://) 1 BUYTO “Qué es y para que sirve un portal web Madrid, zona Norte, zona Sur, zona Centro, zona Este, zona Oeste”, España 2009 (marca registrada de PAVI S.L., CIF B-84127109). 2 Ezio Quispe Fernández “Concepto de Portal en Internet Teoría Informática.html”,Febrero 2011 19 FUNCIONES Y OBJETIVOS3 Un portal de Internet puede ser, por ejemplo, un Centro de contenido intermediario entre compradores y vendedores de rubros específicos, estos se pueden complementar con herramientas que le ayuden a identificar empresas que satisfagan necesidades de un comprador, visualizar anuncios de vendedores, ofrecer cotizaciones, brindar correos electrónicos, motores de búsqueda, etc. El portal es considerado un intermediario de información que tiene como fuente de ingreso la de tener una forma simple de acceder a toda y no sólo a una parte de la información referida al tema del mismo. Toda esta información no necesariamente está contenida dentro del mismo portal, porque el portal, normalmente, se encarga de centralizar enlaces en una forma fácil y organizada que facilite la navegación dentro de un tema. Dependiendo de la complejidad y heterogeneidad de la información existente, podría tomar meses y hasta años en lograrlo Servicios adicionales Un portal opcionalmente podría ofrecer: Servicios de búsqueda que incluye mecanismos de búsqueda, directorios y páginas amarillas para localizar negocios o servicios. Contenidos. Es decir, información de varios temas como noticias, deportes, pronósticos de clima, listas de eventos locales, mapas, opciones de entretenimiento, juegos, ligas a estaciones de radio y a otros sitios con contenido especial en ciertas áreas de interés como coches, viajes y salud entre otros. Facilidades de comercialización: anuncios clasificados para trabajos, coches y casas; subastas, pequeños agregados de vendedores y ligas a otros sitios que también se dedican a la venta. 3 Creative Commons Atribución Compartir Igual 3.0, “Portal (Internet) - Wikipedia, la enciclopedia libre.htm”, febrero 2014 20 Un portal es mucho más que una página web, Porque es completamente dinámico, este dinamismo depende del tipo de información, grado de participación y el número de usuarios finales. Un portal no solo provee al usuario información, sino que la recopila, lo que se espera es que éste interactúe con la empresa. Un portal normalmente está desarrollado en algún lenguaje más poderoso y complejo que HTML, puede ser PHP o Java, y normalmente está asociado a una base de datos que almacena tanto la información que se quiere presentar como la que se obtiene del usuario del portal. Dicha información es totalmente aprovechable y en el caso de la empresa, la información que queremos presentar se debe poder administrar desde un área diseñada para que un usuario común dentro de nuestra empresa, pueda actualizarla, modificarla, añadir nuevo contenido, de tipo que sea, sin necesidad de expertos ya que entre otros el concepto de usuario abarca también a nuestro personal interno. TEORÍA DE PORTALES4 Los portales nacen de la necesidad que se presenta en el nuevo modelo de la economía, la cual nos enseña una guía de bienvenida con información detallada cada día. Portal es un término el cual hace referencia a un Sitio Web el cual pretende servir como un sitio principal de partida para las personas las cuales se conectan a la World Wide Web. Los portales tienen un gran reconocimiento en el Internet por el poder de influencia que tienen sobre grandes comunidades a nivel mundial. El objetivo principal de emplear un portal es el de localizar información, es un servicio de valor añadido que ofrece al usuario la posibilidad de personalizar al máximo su 4 QUERO Katalina, “Mantenimiento de portales de la información”,EditorialAgapea, Madrid-España, 2009 21 página Web, indicando qué quiere encontrar o los campos en los que esté interesado5. Entre las características principales que podemos encontrar en todos los portales de acceso a Internet tenemos: Páginas llenas de anuncios publicitarios. Correo electrónico gratuito. Información sobre la actualidad (noticias, etc.). Sistema de búsqueda: por categorías (directorio); por palabra clave (motor de búsqueda) o ambos. Información sobre el tiempo (clima, etc.) Selección de recursos de interés. Varias opciones de personalización del acceso a Internet. 1.2. Análisis de las distintas posiciones teóricas sobre el objeto de investigación. TIPOS DE PORTALES Portales horizontales6 Es un portal con contenidos de carácter general orientado a todo tipo de usuario. Incluye servicios tal cómo: Comunidades virtuales, Chat, e-mail, Espacio web gratuito, Foros de discusión, Noticias, Información, Buscadores. Son portales para usuarios no muy experimentados en el mundo de Internet a los que se les brinda una gran gama de información y servicios sin obligarles a navegar por varios sitios para obtenerlos. Estos sitios casi han desaparecido en detrimento de los Portales Especializados. 5 QUERO Katalina, “objetivo principal de un portal web”,EditorialAgapea, Madrid-España, 2009 QUERO Katalina, “tipos de portales”, Editorial Agapea, Madrid-España, 2009 BUYTO “Qué es y para que sirve un portal web Madrid, zona Norte, zona Sur, zona Centro, zona Este, zona Oeste”, España 2009 (marca registrada de PAVI S.L., CIF B-84127109). 6 22 Como ejemplo de portales de esta categoría están: Terra, AOL, AltaVista, UOL, Lycos, Yahoo, MSN. Portales Verticales Es un sitio web que provee de información y servicios a un sector en particular, con contenidos concretos y centrados en un tema como puede ser un portal de música, empleo, inmobiliario, un portal de finanzas, arte o deportes. Portales diagonales Se trata de una mezcla entre el portal horizontal y el vertical. Utilizan redes sociales o aplicaciones generalistas como Facebook, Linkedin, Flickr o YouTube, complementadas con contenidos y/o utilidades dirigidas a un público muy concreto. Portales Especializados Surgen a partir de la demanda de los usuarios de un sitio más especializado en sus áreas de interés tanto particulares como profesionales y que los Portales horizontales y verticales no son capaces de llenar por tener contenidos demasiados generales o superficiales. Hoy en día existen infinidad de Portales exclusivos en temas específicos como, educación, zonas geográficas, aficiones, deportes, conocimiento, etc. Portales corporativos Son una prolongación de la intranet de las empresas, donde se potencia el acceso a la información de la organización, contacto con clientes y proveedores, material de trabajo a sus trabajadores, cuidando mucho el tipo de información a presentar en función del tipo de usuario que la solicita por ser muchas veces confidencial proveen de información de la empresa a sus empleados así como también acceso a web públicas u otros sectores de portales verticales incluyen ayudas internas para buscar documentación, personalizar el portal para diferentes grupos de usuarios, etc. 23 Portales Móviles Son sitios que permiten la conexión de los usuarios tanto desde Internet como de un teléfono móvil o PDA. Dichos portales se están abriendo camino a nivel de empresas para realizar negocios ofreciendo productos o servicios a los usuarios. En la actualidad no existen muchos portales móviles, pero con la cantidad de móviles existentes será uno de los modelos que crezca en la red durante estos años. Metodología de desarrollo de software UWE7. La Web se ha convertido en una parte integral de la vida diaria. Cada día las aplicaciones Web van en aumento y son más grandes e importantes. Sin embargo el modelado de aplicaciones Web es todavía una disciplina muy joven, de hecho, los métodos y los lenguajes existentes, no brindan un apoyo suficiente en su diseño. UWE8 (UML-Based Web Engineering) es una propuesta basada en UML y en el proceso unificado para modelar aplicaciones web. Esta propuesta está formada por una notación para especificar el dominio (basada en UML) y un modelo para llevar a cabo el desarrollo del proceso de modelado. Los sistemas adaptativos y la sistematización son dos aspectos sobre los que se enfoca UWE. Además de estar considerado como una extensión del estándar UML, también se basa en otros estándares como por ejemplo: XMI como modelo de intercambio de formato, MOF para el metamodelado, los principios de modelado de MDA, el modelo de transformación del lenguaje QVT y XML. 7 GALEANO Luis, “Proyecto web”, http://elproyectodeluisgaliano.blogspot.com/2012/11/metodologia-uweaplicada-mi-solucion.html, 2008, Colombia 8 KIMMEL Paul, “Manual de UML”, Prentice-Hall, Madrid-España, 2010 24 APLICACIÓN WEB9 Una aplicación web es un conjunto de páginas que interactúan unas con otras y con diversos recursos en un servidor web, incluidas bases de datos. Esta interacción permite implementar características en su sitio como catálogos de productos virtuales y administradores de noticias y contenidos. Adicionalmente podrá realizar consultas a bases de datos, registrar e ingresar información, solicitudes, pedidos y múltiples tipos de información en línea en tiempo real. Cómo funcionan las aplicaciones web Los administradores de contenidos vía web almacenan los datos en BASES DE DATOS (BD). Estas BD están formadas por un número variable de tablas que contienen columnas y filas, estas tablas se componen del contenido que ha sido previamente cargado en ellas a través de formularios. En estas tablas llamamos al nombre de cada columna campo. Y a cada fila registro. Ambos en el sistema poseen números de id (identificación) que son únicos para cada uno de ellos. Las páginas que se generan a partir de esos contenidos son llamadas dinámicas. En este contexto el término dinámico no indica movimiento o animación, sino que hace referencia al hecho de que las páginas dinámicas de un sitio web se generan a partir de una SOLICITUD o CONSULTA que realiza una máquina CLIENTE a un SERVIDOR WEB (en este caso). Se podría decir que la página dinámica no existe hasta que no es solicitada por el navegante. Cuando el navegante la solicita oprimiendo alguno de los comandos disponibles se dispara la consulta a la BASE DE DATOS, y el sistema MUESTRA una página web con el contenido que este programado en la consulta. 9 Sergio Luján Mora, “Aplicación web- beneficios-funcionamiento-aplicaciones-web.asp.htm” ,España 2002 25 Interfaz10 Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-soltar que no están soportadas por las tecnologías web estándar. Los desarrolladores web generalmente utilizan lenguajes interpretados (scripts) en el lado del cliente para añadir más funcionalidades, Especialmente para ofrecer una experiencia interactiva que no requiera recargar la página cada vez (lo que suele resultar molesto a los usuarios). Recientemente se han desarrollado tecnologías para coordinar estos lenguajes con las tecnologías en el lado del servidor. Como ejemplo, AJAX es una técnica de desarrollo web que usa una combinación de varias tecnologías Ventajas Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa. No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas. No ocupan espacio en nuestro disco duro. Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando nos conectamos estamos usando siempre la última versión que haya lanzado. Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en nuestro ordenador, muchas de las tareas que realiza el software no consumen recursos nuestros porque se realizan desde otro ordenador. Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener un navegador. 10 Sergio Luján Mora (en español, libro completo gratuito en pdf). “Programación de aplicaciones web: historia, principios básicos y clientes web (1ª edición)”. 2002 Editorial Club Universitario. http://hdl.handle.net/10045/16995. 26 Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil...) porque se accede a través de una página web (sólo es necesario disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de estos usuarios. La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo. Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación. Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido, por ejemplo, en aplicaciones online de calendarios u oficina. Los navegadores ofrecen cada vez más y mejores funcionalidades para crear aplicaciones web Lenguajes de programación Existen numerosos lenguajes de programación empleados para el desarrollo de aplicaciones web en el servidor, entre los que destacan: PHP Java, con sus tecnologías Java Servlets y JavaServer Pages (JSP) Javascript Perl Ruby Python C# y Visual Basic con sus tecnologías ASP/ASP.NET 27 Un Servidor Web o servidor HTTP11 Es un programa que implementa el protocoloHTTP (hypertext transfer protocol). Este protocolo está diseñado para transferir lo que llamamos hipertextos, páginas Web o páginas HTML (hyper text markup language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de sonidos. Sin embargo, el hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. HTML es un formato de archivo y HTTP es un protocolo. Según: "http://www.ecured.cu/index.php/Servidores_Web" Es la tecnología que tiene implícito programas informáticos que procesan aplicaciones realizando conexiones bidireccionales y/o unidireccionales y síncronas o asíncronas con el cliente, generando o cediendo una respuesta en cualquier lenguaje o aplicación del lado del cliente. Modelo cliente – servidor Cliente: Es el ordenador que pide información a otro, mediante la aplicación de un programa llamado cliente. Este contacta con el servidor: Da formato a la petición de la información. Da formato a la respuesta. Servidor: Es el ordenador que ofrece la información mediante la aplicación de un programa llamado servidor. 11 Recibe la información y la procesa. Responde enviando la petición al cliente. SES Mexico, 2008 “Servidor Apache web”, http://ses2.sep.gob.mx/site_desc/cinco.htm 28 SERVIDOR APACHE12 El servidor HTTP Apache es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.11 y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf eligió ese nombre porque quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor "parcheado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características mensajes de error altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas históricas y de uso diario proporcionadas por Netcraft ). La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o 11 SES Mexico, “Servidor Apache”, http://ses2.sep.gob.mx/site_desc/cinco.htm 29 explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache13. Ventajas14 Modular Código abierto Multi-plataforma Extensible Popular (fácil conseguir ayuda/soporte) MÓDULOS La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y diversos módulos que aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Algunos de estos módulos son: mod_ssl - Comunicaciones Seguras vía TLS. mod_rewrite - reescritura de direcciones (generalmente utilizado para transformar páginas dinámicas como php en páginas estáticas html para así engañar a los navegantes o a los motores de búsqueda en cuanto a cómo fueron desarrolladas estas páginas). mod_dav - Soporte del protocolo WebDAV (RFC 2518). mod_deflate - Compresión transparente con el algoritmo deflate del contenido enviado al cliente. mod_auth_ldap - Permite autentificar usuarios contra un servidor LDAP. mod_proxy_ajp - Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets y JSP). 13 14 mod_cfml - Conector CFML usado por Railo. PAVON Jacobo, “Creación de portales web con Php y MySql”, Editorial Agapea, Madrid-España, 2009 “McCool, Robert, Servidor HTTP Apache - Wikipedia, la enciclopedia libre.htm”, 2007 30 El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se encuentran: mod_cband - Control de tráfico y limitador de ancho de banda. mod_perl - Páginas dinámicas en Perl. mod_php - Páginas dinámicas en PHP. mod_python - Páginas dinámicas en Python. mod_rexx - Páginas dinámicas en REXX y Object REXX. mod_ruby - Páginas dinámicas en Ruby. mod_aspdotnet - Páginas dinámicas en .NET de Microsoft(Módulo retirado). mod_mono - Páginas dinámicas en Mono mod_security - Filtrado a nivel de aplicación, para seguridad. PROCESAMIENTO DE PÁGINAS DINÁMICAS Cuando un servidor Web recibe una petición para mostrar una página Web estática, el servidor la envía directamente al navegador que la solicita. Cuando el servidor Web recibe una petición para mostrar una página dinámica, sin embargo, reacciona de distinta forma: transfiere la página a un software especial encargado de finalizar la página. Este software especial se denomina servidor de aplicaciones. El servidor de aplicaciones lee el código de la página, finaliza la página en función de las instrucciones del código y elimina el código de la página. El resultado es una página estática que el servidor de aplicaciones devuelve al servidor Web, que a su vez la envía al navegador solicitante. Lo único que el navegador recibe cuando llega la página es código HTML puro. A continuación se incluye una vista de este proceso: ACCESO A UNA BASE DE DATOS Un servidor de aplicaciones le permite trabajar con recursos del lado del servidor, como una base de datos. Por ejemplo, una página dinámica puede indicar al servidor de aplicaciones que extraiga datos de una base de datos y los inserte en el código HTML de la página. Para más información, consulte el apéndice “Guía de bases de datos para principiantes” en el apartado Utilización de Dreamweaver de la Ayuda. 31 La instrucción para extraer datos de una base de datos recibe el nombre de consulta de base de datos. Una consulta consta de criterios de búsqueda expresados en un lenguaje de base de datos denominado SQL (StructuredQueryLanguage, lenguaje de consulta estructurado). La consulta SQL se escribe en los scripts o etiquetas del lado del servidor de la página. INTRODUCCIÓN A LAS BASES DE DATOS Una base de datos es un programa residente en memoria que se encarga de gestionar todo el tratamiento de entrada, salida, seguridad y almacenamiento de la información que él manipula15. Aunque aparentemente podamos pensar que una base de datos son ficheros donde se almacena la información, en realidad esto no es así. El corazón de una base de datos es el motor máquina para que es el programa que debe estar ejecutándose en una gestionar los datos. Además de este programa y los archivos con datos existen otras utilidades auxiliares como programas para realizar copias de seguridad, interpretes SQL, etc. Las bases pueden clasificarse desde el punto de vista de organización lógica: Jerárquica (Progress) Relacionales (Oracle, Access, Sybase. Mysql) Desde el punto de vista de la arquitectura y él número de usuarios: De escritorio (Dbase, Access, Paradox) 15 FERRER Juan, “Aplicaciones web”, Prentice-Hall, Barcelona-España, 2009 32 Cliente-Servidor (Oracle, Sybase, Mysql). BASE DE DATOS MYSQL MySQL16 es un sistema de administración de base de datos relacionales (SGBDR) rápido, robusto y fácil de usar. Se adapta bien a la administración de datos en un entorno de red, especialmente en arquitecturas cliente/servidor. Se proporciona con muchas herramientas y es compatible con muchos lenguajes de programación. Es el más célebre SGBDR del mundo Open Source, en particular gracias a su compatibilidad con el servidor de páginas Web Apache y el lenguaje de páginas Web dinámicas PHP.Este servidor de base de datos es interrogable por SQL (StructuredQueryLanguaje), el lenguaje estándar más popular para interrogar base de datos. SQL permite manipular los datos muy fácilmente. La versión 5 de MySQL cuenta con muchas novedades que hace de ésta versión una de las más importantes e innovadoras, tal vez la que más. Esta nueva versión lleva MySQL a un nivel de concurrencia nunca visto antes. Resulta una alternativa aún más plausible frente a los grandes sistemas de base de datos como son DB2, Oracle o SQL Server. La lista siguiente presente las principales características del servidor MySQL: Está escrito en C/C++ y probado con numerosos compiladores. Funciona con muchos sistemas operativos. Soporta muchas API como C, C++, PHP, Perl, Eiffel, Python, Java, Tcl. Las utilidades clientes y de administración utilizan los sockets TCP/IP, los sockets Unix o los canales con nombre NT (Named Pipes). 16 THIBAUD Cyril, “Mysql 5 Instalación, administración, programación”, Ediciones ENI, Barcelona-España, 2006 33 Dispone de un driver ODBC (Open DatabaseConnectivity) para Windows lo que le aporta compatibilidad con la mayoría de lenguajes disponibles en este sistema operativo. Es totalmente multithread, lo que aumenta enormemente el rendimiento del servidor, MySQL está previsto para funcionar en entornos multiprocesador. Dispone de un sistema de administración de la memoria extremadamente potente. La cantidad de memoria tiene una incidencia directa sobre el rendimiento de MySQL. Si un servidor presenta fallos de rendimiento, suele bastar con añadir memoria RAM para mejorar sensiblemente su rendimiento. Se puede interrogar con el lenguaje SQL, lo que garantiza una mejor compatibilidad con otros SGBDR. Todos los scripts SQL escritos para otro SGDBR que respeten el SQL estándar pueden utilizarse con MySQL. El código MySQL está totalmente comprobado con Purify, una herramienta comercial, que permite verificar las pérdidas de memoria. También está comprobado con Valgrind, una herramienta de licencia GPL. PHP17 PHP es un lenguaje interpretado del lado del servidor que se caracteriza por su potencia, versatibilidad, robustez y modularidad. Los programas escritos en PHP son embebidos directamente en el código HTML y ejecutados por el servidor web a través de un intérprete antes de transferir al cliente que lo ha solicitado un resultado en forma de código HTML puro. Al ser un lenguaje que sigue la corrienteopen source, tanto el intérprete como su código fuente son totalmente accesibles de forma gratuita en la red. PHP es el heredero de un producto anterior, llamado PHP/FI. PHP/FI fue creado por RasmusLerdorf en 1995, inicialmente como un simple conjunto de scripts de Perl para controlar los accesos a su trabajo online. Llamó a ese conjunto de scripts’ 17 COBO Angel, GOMEZ Patricia, “PHP yMYSQL, Tecnologías para desarrollar aplicaciones web”,Ediciones Dias de Santos, Madrid-España, 2005 34 Personal Home Page Tools'. Según se requería más funcionalidad, Rasmus fue escribiendo una implementación C mucho mayor, que era capaz de comunicarse con bases de datos, y permitía a los usuarios desarrollar sencillas aplicaciones Web dinámicas. Rasmus eligió liberar el código fuente de PHP/FI para que cualquiera pudiese utilizarlo, así como arreglar errores y mejorar el código. PHP es un lenguaje multiplataforma; los programas funcionan igual sobre diferentes plataformas, trabajando sobre la mayoría de servidores web y estando preparado para interactuar con más de 20 tipos de bases de datos. No obstante, al ser un lenguaje inicialmente concebido para entornos Unix, es sobre este sistema operativo sobre el que se pueden aprovechar mejor sus prestaciones. En comparación con otro tipo de tecnologías similares, PHP resulta más rápido, independiente de la plataforma y más sencillo de aprender y utilizar. Inicialmente diseñado para realizar poco más que contadores y libros de visita de páginas, en la actualidad PHP permite realizar una multitud de tareas útiles para el desarrollo web. Por ejemplo, dispone entre otras cosas, de: Funciones de correo electrónico que pueden ser utilizadas para programar completos sistemas de correo electrónico vía web. Funciones de administración y gestión de bases de datos específicas para la mayoría de gestores comerciales y funciones para conexiones ODBC con bases de datos en sistemas Microsoft. Funciones de gestión de directorios y ficheros, incluso para la transferencia mediante FTP. Funciones de tratamiento de imágenes y librerías de funciones gráficas. Funciones de generación y lectura de cookies. Funciones para la generación de documentos PDF. La actual versión del lenguaje, PHP 5 fue lanzada oficialmente en septiembre de 2011. Hoy en día se estima que PHP es usado por cientos de miles de programadores y que está presente en más del 20% de los servidores web en Internet. 35 Ajax. El autor Javie Mellado en su obra “Ajax” publicada en el 2011 manifiesta que : “AJAX es el acrónimo de Asynchronous JavaScript and XML, y hace referencia a una combinación de tecnologías que facilitan el diseño de aplicaciones Web con ciertas características avanzadas. Proporciona a los desarrolladores la capacidad de crear interfaces de usuario más sofisticadas y con respuesta casi inmediata. Ajax parece ser la palabra de moda en el mundo del desarrollo de aplicaciones Web, Ajax no es una tecnología, sino la unión de varias tecnologías que juntas puede lograr cosas realmente impresionantes18. Hace un tiempo AJAX parece ser la palabra de moda en el “mundo” del desarrollo de aplicaciones Web; de hecho muchos lo escuchan nombrar pero pocos saben que es realmente y, menos aún, saben en dónde buscar información clara sobre que es esta nueva “maravilla” de la tecnología que Jesse James Garret publicó en un artículo en Inglés excelente que vale la pena traducir por completo. ¿Por qué es tan interesante AJAX? Porque en realidad AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes como Google Maps, Gmail el Outlook Web Access o algunas otras aplicaciones muy conocidas. AJAX, en resumen es el acrónimo para Asynchronous JavaScript + XML y el concepto es: Cargar y rende rizar una página, luego mantenerse en esa página mientras scripts y rutinas van al servidor buscando, en background, los datos que son usados para actualizar la página solo re-rende rizando la página y mostrando u ocultando porciones de la misma. JavaScript Java Script es un lenguaje interpretado, multiplataforma, orientado a eventos con manejo de objetos, cuyo código se incluye directamente en el mismo documento, usado para el desarrollo de aplicaciones cliente-servidor en páginas HTML. Originalmente denominado Live Script, fue introducido por Netscape, mediante su 18 MELLADO Javier, “Ajax”, Editorial Anaya, Madrid-España, 2008 36 Navigator 2.0. Poco tiempo después aparece el VBScript (Visual Basic Script) de Microsoft, un buen competidor. Hasta entonces ya se usaba HTML y JAVA, pero la aparición del JAVA Script produjo una importante revolución, ya que dio al usuario la posibilidad crear aplicaciones "on-line”, modificar páginas web en tiempo real, sin usar CGI´s.19 Las principales características del JAVA Script son: Es simple, no hace falta tener unos amplios conocimientos de programación para poder hacer un programa en JAVA Script. Está orientado a objetos de forma limitada ya que no maneja los conceptos como la herencia, los métodos,… como el C++. Pero al fin y al cabo podemos definir un objeto dentro de nuestra página web y sobre ese objeto definimos diferentes eventos que producirán una salida, como por ejemplo: presionar un botón, pasar el puntero del mouse sobre un determinado texto o el simple hecho de cargar la página web,… eventos que nos darán una gran versatilidad a la hora de crear programas en JAVA Script. Es dinámico, como hemos dicho antes JAVA Script lo que hace es responder a eventos, esos eventos son producidos por el propio usuario y el JAVA Script reacciona a ellos en tiempo real. Por ejemplo, podemos cambiar totalmente el aspecto de nuestra página al gusto del usuario, evitándonos tener en el servidor un página para cada gusto, hacer cálculos en base a variables cuyo valor es determinado por el usuario. Si bien hoy en día, JAVA Script, es un lenguaje muy usado, sus principales aplicaciones son: Responder a eventos locales dentro de la página, como apretar un botón La realización de cálculos en tiempo real. La validación de formularios dentro de una página. La personalización de la página por el usuario, que le permitirá tener una página web a su medida. 19 GAMPER Joseph, “Java Script Gran libro”, Editorial Marcombo, Madrid-España, 2007 37 La inclusión de datos del propio sistema, como son la hora y la fecha. Conexión PHP con MySql20 Para obtener los datos desde MySQL necesitamos una conexión (una forma de enlazar o comunicarse), la cual nos permitirá extraer datos de la misma. Para ello PHP tiene una serie de funciones exclusivamente para interactuar con mysql. Entonces para la conexión utilizaremos la funciónmysql_connect y luego mysql_select_db el cual nos permite definir a que base de datos del servidor deseamos conectarnos. $conexion = mysql_connect("localhost", "usuario", "clave"); mysql_select_db("demo", $conexion); Obteniendo registros de la Base de Datos Una vez que tenemos una conexión lo siguiente es extraer los datos, esto lo hacemos enviando consultas SQL mediante la función mysql_query. También obtenemos el número total de registros devueltos por nuestra consulta. $queEmp = "SELECT * FROM empresa ORDER BY nombre ASC"; $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error()); $totEmp = mysql_num_rows($resEmp); Mostrando los resultados. Finalmente mostramos los resultados obtenidos de nuestra consulta, para ello extraemos cada resultado utilizando la función mysql_fetch_assoc la cual devuelve una matriz asociativa utilizando los nombres de los campos de la tabla. if ($totEmp> 0) { 20 UNIJAMPE, 2005 Madrid España Conectar PHP y Mysql, http://blog.unijimpe.net/conectar-php-con-mysql/ 38 while ($rowEmp = mysql_fetch_assoc($resEmp)) { echo "<strong>".$rowEmp['nombre']."</strong><br>"; echo "Direccion: ".$rowEmp['direccion']."<br>"; echo "Telefono: ".$rowEmp['telefono']."<br><br>"; }} Notar que primero se ha verificado si existen resultados y luego verificamos en cada pasada de la sentencia While si existe el siguiente resultado para luego mostrarlo. Así como hemos consultado registros, podemos insertar, editar y eliminar registros enviando sentencias SQL a la base de datos. Para finalizar les dejo el ejemplo funcionando y también los archivos para descargar. Css. El autor Oscar Peña señala en su obra “CSS”, 2009: “Las hojas de estilo en cascada se han convertido en un recurso imprescindible en el diseño Web. Entre sus principales virtudes se encuentra la reducción del peso global de una página Web, su independencia con respecto al código, y su flexibilidad para aportar estilos para diferentes medios, como pantallas de ordenador, dispositivos móviles, impresoras o dispositivos de Braille, entre otros Es el lenguaje de hojas de estilos en cascada, que describe cómo se va a mostrar un documento en la pantalla, o cómo se va a imprimir, o incluso cómo va a ser pronunciada la información presente en ese documento a través de un dispositivo de lectura. Es la tecnología desarrollada por el World Wide Web Consortium (W3C) con el fin de separar la estructura o contenido de la presentación, controlando la apariencia de una página web21. 21 PEÑA Oscar, “CSS”, Editorial Anaya, Barcelona-España, 2009 39 Animación En la interpolación de movimiento, se definen propiedades tales como la posición, el tamaño y la rotación de una instancia, un grupo o un bloque de texto en un instante específico, y después estas propiedades se pueden cambiar en otro momento. También se puede crear una interpolación de movimiento a lo largo de un trazado. En la interpolación de formas, se dibuja una forma en un instante específico y después se modifica o se dibuja otra forma en otro instante. Flash interpola los valores o formas de los fotogramas intermedios para crear la animación. La animación interpolada es una forma eficaz de crear movimiento y realizar cambios, ya que reduce al mínimo el tamaño del archivo. En esta animación, Flash sólo guarda los valores de los cambios producidos entre fotogramas. Para preparar rápidamente los elementos de un documento para crear una animación interpolada, distribuya los objetos en capas. Puede aplicar una animación interpolada a un objeto de una capa de máscara para crear una máscara dinámica. EL SERVIDOR WAMP El autor RUIZ Alberto (2008) señala los siguientes conceptos sobre el servidor wamp: “Un servidor WAMP es un PC con Windows que dispone de un servidor Apache, un gestor de bases de datos MySQL y el lenguaje de programación PHP” Las siglas WAMP son un acrónimo de Windows + Apache + MySQL + PHP. Al igual que WAMP, también existen los servidores LAMP que son lo mismo pero en un sistema Linux. La terna Apache + PHP + MySQL es la base para instalar infinidad de aplicaciones web Instalar y configurar un servidor Apache, un servidor MySQL y el lenguaje PHP, así como configurarlo para que interrelacionen entre ellos y el servidor funcione perfectamente, es una tarea compleja que solo pueden acometer informáticos profesionales. Para simplificar la tarea de instalar Apache + PHP + MySQL en Windows y acercar al gran público la posibilidad de disfrutar de estos servicios, 40 existen los llamados paquetes WAMP que instalan y configuran automáticamente dichas aplicaciones para Windows y que proporcionan: Servidor Web Apache Base de datos MySQL Lenguaje de programación PHP Accesos para el arranque y la parada de los servicios Facilidades para la configuración de los servicios Otros servicios ¿PARA QUÉ SIRVE UN SERVIDOR WAMP22? Disponer de un Servidor WAMP, permite instalar aplicaciones web accesibles desde nuestra red local, y si abrimos el puerto 80 de nuestro router, también serán accesibles desde Internet. La gran mayoría de las aplicaciones web libres existentes, requieren de Apache + MySQL + PHP para funcionar. Podemos instalar estas aplicaciones por separado y después configurarlas, pero instalando un paquete WAMP se instalan y configuran automáticamente dichas aplicaciones para Windows. Apache + MySQL + PHP son la base para poder instalar infinidad de aplicaciones web libres, entre las que destacamos: Gestores de Contenidos orientados a sitios web: Joomla, Drupal,... Gestores de Contenidos orientados a educación: Claroline, Moodle, Dokeos, MediaWiki,... Blogs: WordPress, Serendipity,... Wikis: Mediawiki, Tikiwiki, Dokuwiki,... Foros: phpBB, myBB,... Galerías de imágenes: Gallery, Coppermine,... 22 RUIZ Alberto,”Servidoreswamp” 2010, http://recursostic.educacion.es/observatorio/web/es/software/servidores/800-monografico-servidores-wamp 41 Si se desea instalar en la red local cualquiera de las aplicaciones citadas anteriormente, previamente se debe instalar un paquete WAMP en nuestro servidor. Existen multitud de paquetes WAMP, pero en el siguiente artículo analizaremos cuatro de los más populares y haremos una comparativa de las características principales de cada uno de ellos: Easyphp XAMPP AppServ WampServer Configuración del Servidor WAMP Normalmente, la configuración del servidor WAMP se hace a dos niveles: Configuración general del servidor WAMP.- La configuración general del servidor WAMP normalmente se hace vía web, a través de un panel de control o mediante accesos directos desde un icono en la parte derecha de la barra de tareas. Los aspectos generales se refieren a configuraciones como: arranque del servidor al iniciar el sistema, modo de funcionamiento de los servicios, actualizaciones, etc... Configuración particular de cada servicio. Suele hacerse editando directamente los archivos de configuración de los servicios, vía web, a través de un panel de control o mediante accesos directos. Cada servicio admite múltiples configuraciones, aunque para una utilización normal, apenas hay que cambiar parámetros de configuración. En la configuración del servidor web Apache se suele establecer un nombre del servidor, definir servidores virtuales si los vamos a necesitar y definir alias de acceso a las aplicaciones que instalemos si queremos cambiar la ruta de acceso, aunque Apache tiene cientos de parámetros configurables. En la configuración del servidor de bases de datos MySQL, normalmente solo hay que establecer la contraseña del usuario administrador -llamado root- de la base de datos. 42 LA MATRICULA23 Art. 158.- Matrícula. La matrícula es el registro mediante el cual se legaliza el ingreso y la Permanencia del estudiante en un establecimiento educativo durante un año lectivo. La matrícula del estudiante puede ser de tres (3) tipos: ordinaria, extraordinaria y excepcional. Art. 159.-Matrícula ordinaria. El período de matrícula ordinaria inicia quince (15) días antes del primer día del año lectivo y termina con el inicio del año escolar. Art. 160.- Matrícula extraordinaria. La matrícula extraordinaria será autorizada por el Rector o Director de la institución educativa, en el transcurso de los primeros treinta (30) días del año lectivo, cuando no se hubiere efectuado en el período ordinario por causas de fuerza mayor previamente justificadas. Art. 161.- Matrícula excepcional. La matrícula excepcional debe ser autorizada por el Nivel Distrital, mediante resolución administrativa, hasta noventa (90) días después de iniciado el año escolar, a los estudiantes que desearen continuar sus estudios en instituciones educativas de distinto régimen por razones de movilidad dentro del país o que provinieren de otros países, previo cumplimiento del procedimiento respectivo en la unidad de Régimen Escolar. REQUISITOS24 Art. 162.-Requisitos. Para la concesión de matrícula excepcional, los interesados deben presentar, al Nivel Distrital, la solicitud con los siguientes documentos: 1. Certificados de matrícula y promoción de los años de estudio realizados; 2. Aceptación de la institución educativa en la que continuará sus estudios; y, 3. Informes y convenios, si los hubiere, en el caso de estudiantes que provengan del exterior. Art. 163.-Segunda y tercera matrícula. El Rector o Director de la institución 23 CORREA Rafael, “Manual de MARCO LEGAL EDUCATIVO-Capítulo III de las Matriculas”, Quito-Ecuador, 2012 24 CORREA Rafael, “Manual de MARCO LEGAL EDUCATIVO-Capítulo III de las Matriculas”, QuitoEcuador, 2012 43 educativa tiene la obligación de conceder hasta la segunda matrícula a cualquier estudiante que deba repetir el grado o curso. Para conceder la tercera matrícula, se requiere la autorización del Director Distrital. Art. 164.-Matrícula automática. Una vez terminado el año lectivo, los Rectores o Directores de los establecimientos educativos públicos y fisco misionales deben proceder a matricular automáticamente en el curso inmediato superior a aquellos estudiantes que hubieren apro-bado el año escolar y cuyos representantes no hubieren manifestado su deseo expreso de cambiarlos de establecimiento. Este procedimiento es optativo para el caso de los planteles particulares y requiere la autorización expresa de los representantes legales de los estudiantes. LA EVALUACIÓN, CALIFICACIÓN Y PROMOCIÓN DE LOS ESTUDIANTES25 Art. 184.- Definición. La evaluación estudiantil es un proceso continuo de observación, valoración y registro de información que evidencia el logro de objetivos de aprendizaje de los estudiantes y que incluye sistemas de retroalimentación, dirigidos a mejorar la metodología de estudiante y el aprendizaje Los procesos de evaluación estudiantil no siempre deben incluir la emisión de notas o calificaciones. Lo esencial de la evaluación es proveerle retroalimentación al estudiante para que este pueda mejorar y lograr los mínimos establecidos para la aprobación de las asignaturas del currículo y para el cumplimiento de los estándares nacionales. La evaluación debe tener como propósito principal que el docente oriente al estudiante de manera oportuna, pertinente, precisa y detallada, para ayudarlo a lograr los objetivos de aprendizaje. Art. 185.- Propósitos de la evaluación. La evaluación debe tener como propósito principal que el docente oriente al estudiante de manera oportuna, pertinente, precisa y detallada, para ayudarlo a lograr los objetivos de aprendizaje; como propósito subsidiario, la evaluación debe inducir al docente a un proceso de análisis y reflexión valorativa de su gestión como facilitador de los procesos de aprendizaje, con el objeto de mejorar la efectividad de su gestión. 25 Reglamento de la ley Orgánica de educación Intercultural pag 193 Año 2012 44 En atención a su propósito principal, la evaluación valora los aprendizajes en su progreso y resultados; por ello, debe ser formativa en el proceso, sumativa en el producto y orientarse a: -Reconocer y valorar las potencialidades del estudiante como individuo y como actor dentro de grupos y equipos de trabajo; -Registrar cualitativa y cuantitativamente el logro de los aprendizajes y los avances en el desarrollo integral del estudiante; -Retroalimentar la gestión estudiantil para mejorar los resultados de aprendizaje evidenciados durante un periodo académico; y, Estimular la participación de los estudiantes en las actividades de aprendizaje. Art. 186.- Tipos de evaluación. La evaluación estudiantil puede ser de los siguientes tipos, según su propósito:26 Diagnóstica: Se aplica al inicio de un período académico (grado, curso, quimestre o unidad de trabajo) para determinar las condiciones previas con que el estudiante ingresa al proceso de aprendizaje; Formativa: Se realiza durante el proceso de aprendizaje para permitirle al docente realizar ajustes en la metodología de enseñanza, y mantener informados a los actores del proceso educativo sobre los resultados parciales logrados y el avance en el desarrollo integral del estudiante; y, Sumativa: Se realiza para asignar una evaluación totalizadora que refleje la proporción de logros de aprendizaje alcanzados en un grado, curso, quimestre o unidad de trabajo. Art. 194.- Escala de calificaciones. Las calificaciones hacen referencia al cumplimiento de los objetivos de aprendizaje establecidos en el currículo y en los estándares de aprendizaje nacionales. Las calificaciones se asentarán según la 26 Reglamento de la ley Orgánica de educación Intercultural pag 194 Año 2012 45 siguiente escala:27 ESCALA CUALITATIVA ESCALA CUANTITATIVA Supera los aprendizajes requeridos. 10 Domina los aprendizajes adquiridos 9 Alcanza los aprendizajes requeridos 7- 8 Esta próximo a alcanzar los aprendizajes 6- 5 adquiridos No alcanza los aprendizajes adquiridos <-4 Art. 195.- Promoción. Se entiende por “promoción” al paso de los estudiantes de un grado o curso al inmediato superior. Art. 196.- Requisitos para la promoción. La calificación mínima requerida para la promoción, en cualquier establecimiento educativo del país, es de siete sobre diez (7/10). En los subniveles de Básica Elemental y Básica Media, para la promoción al siguiente grado, se requiere una calificación promedio de siete sobre diez (7/10) en cada una de las siguientes asignaturas: Matemática, Lengua y Literatura, Ciencias Naturales y Estudios Sociales, y lograr un promedio general de todas las asignaturas de siete sobre diez (7/10). En el subnivel de Básica Superior y el nivel de Bachillerato, para la promoción al siguiente grado o curso, se requiere una calificación promedio de siete sobre diez (7 /10) en cada una de las asignaturas del currículo nacional. Las asignaturas adicionales al currículo nacional que cada establecimiento definiere en su Proyecto Educativo Institucional, correspondientes a la innovación curricular que estuviere debidamente aprobada por el Nivel Zonal respectivo, serán requisitos 27 Reglamento de la Ley Orgánica de Educación Intercultural pag 196 Año 2012 46 para la promoción dentro del establecimiento; sin embargo, no lo serán si el estudiante continúa sus estudios en otra institución educativa. PROCEDIMIENTOS INSTITUCIONALES PARA LA EVALUACIÓN28 Art. 216.-Normas para la entrega de informes quimestrales e informes anuales. La entrega de los informes quimestrales e informes anuales se sujeta a las siguientes normas: 1. Cada docente debe llevar a la Junta de Docentes de Grado o Curso los informes de aprendizaje de sus estudiantes. Esta Junta los conocerá y hará las recomendaciones que fueren del caso; 2. Los informes de aprendizaje quimestrales y finales de los estudiantes deben ser entregados por los tutores de grado o curso a sus representantes legales dentro de los ocho (8) días posteriores a la realización de la Junta de Docentes de Grado o Curso; 3. Dentro de ocho (8) días posteriores a la realización de la Junta de Docentes de Grado o Curso, el tutor de grado o curso debe entregar en Secretaría los informes de aprendizaje aprobados por la Junta de Docentes de Grado o Curso y el acta correspondiente; 4. Las calificaciones, una vez anotadas en Secretaría, no pueden ser alteradas. Solo en caso de error de cálculo o de apreciación, o de recalificación justificada y aprobada, el Rector o Director puede autorizar el cambio del registro de las calificaciones; y, 5. Al finalizar el año lectivo, el Rector o Director del establecimiento debe autorizarle a la Secretaría el ingreso de las calificaciones de los estudiantes en el sistema automatizado, diseñado para el efecto por el Nivel Central de la 28 Reglamento de la ley Orgánica de educación Intercultural pag 203 Año 2012 47 Autoridad Educativa Nacional.29 El control adecuado de un grupo puede hacerse en base a: No olvidar detalles sobre mi alumno Justificar las evaluaciones y calificaciones que se den. Elaborar informes o reportes objetivos. Coordinar acciones para mejorar diferentes aspectos del proceso educativo de los alumnos. Colaborar con datos pertinentes sobre los alumnos a mi cargo. Aspectos a controlar: Asistencia Inasistencia Salida de alumnos del colegio Puntualidad Uniforme Tareas Trabajo en clase Exámenes. Comunicados Conducta, actitudes y valores Reportes Informes Bitácora de clase Bitácora de alumnos Registro de calificaciones: Tareas Trabajos 29 Reglamento de la Ley Orgánica de Educación Intercultural pag 204 Año 2012 48 Pruebas parciales Pruebas mensuales Pruebas bimestrales Trabajos especiales Concursos 1.3 VALORACIÓN CRÍTICA DE LOS CONCEPTOS PRINCIPALES DE LAS DISTINTAS POSICIONES SOBRE EL OBJETO DE INVESTIGACIÓN. El proyecto tiene como objetivo automatizar los procesos de gestión académica a través de un sistema que permita cubrir los procesos de Matriculación y Calificaciones, en la Unidad Educativa Miguel Ángel Samaniego Jiménez de tal manera que se permita disminuir el tiempo que se emplea para realizar el proceso de matriculación, facilitar el proceso de registro de calificaciones, se mejore el procesos de entrega de reportes de calificaciones. Para el desarrollo del sistema se utilizó herramientas de desarrollo Servidor Apache, MySql y PHP. Anteriormente se detalla el planteamiento del problema a resolver, la situación en la que actualmente se encuentra la unidad educativa. Servidor http apache.- Es un software (libre) servidor HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP. Mysql.- Es un sistema de gestión de base de datos relacional, multihilo y multiusuario. PHP.- Es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. 49 Se tiene la finalidad de agradar y proporcionar un mejor servicio mejorado a los representantes del alumnado; así como también optimizar la manera en que el que control de calificaciones se lleva a cabo. Motivo por el cual es la falta de agilidad en los procesos de matriculación y manejo de las calificaciones Con este proyecto pretendemos ayudar a la unidad educativa en la actualización en la manera de entregar las calificaciones al alumnado agilitando así el proceso. En calidad de alumnos, creemos que este sistema ayudara en muchos aspectos el desarrollo académico de los alumnos en todo sentido y del personal de la institución. Realizamos esta propuesta con esfuerzo, dedicación y organización para alcanzar beneficios que permitiría mejorar y colaborar con la calidad de servicios. 1.4 CONCLUSIONES PARCIALES DEL CAPÍTULO. De la fundamentación teórica planteada, se establecen las siguientes conclusiones: Los portales web son en la actualidad el medio de enlace entre el usuario y una entidad indistintamente sea el servicio que ofrezca, permitiendo un ágil acceso a la información y prontitud en los procesos, cuyo objetivo será ofrecer al usuario, de forma fácil e integrada, el acceso a una serie de recursos a través de Internet, son documentos electrónicos que contienen textos o gráficos y que pueden encontrarse a través de un buscador o navegador web. El desarrollo de una aplicación web plantea el uso de una serie de herramientas informáticas ya sean están definidas como de tipo libre como de tipo privada o con licencia. Resulta complicado solo utilizar un tipo de ellas, ya que según el campo de acción de la herramienta que se esté desarrollando, todas son necesarias. Así por ejemplo es muy usual el uso de elementos del software libre como PHP, MySql y Apache pero estas herramientas se complementan con elementos tales con dreamweaver, flash que son programas con licencia requerida. 50 Las bases de datos facilitan no solo el registro de gran cantidad de datos son también el acceso a los mismos, lo cual permite ahorrar tanto espacio físico como tiempo al momento de consultar información contenida en ellas. En la actualidad, las bases de datos son el elemento fundamental en las aéreas que utilizan sistemas computarizados, debido a que permite operar información de manera organizada, segura, confiable y en grandes cantidades. La Gestión Educativa se compone de tres dimensiones: La pedagógica y didáctica, la administrativa, y la socio - humanística o comunitaria, cuyo principio base es la participación de manera colectiva, para lograr involucrar, concientizar y por lo tanto consensuar, y así alcanzar los resultados planeados y deseados. 51 CAPÍTULO II. MARCO METODOLÓGICO Y PLANTEAMIENTO DE LA PROPUESTA 2.1. CARACTERÍSTICAS INSTITUCIONAL DEL O SECTOR, PROBLEMA RAMA, EMPRESA, SELECCIONADO CONTEXTO PARA LA INVESTIGACIÓN. La Unidad Educativa Miguel Ángel Samaniego Jiménez de la parroquia Rural La Unión del Cantón Babahoyo, fue creada el 2 de julio 1979, inicialmente se autorizó su funcionamiento como colegio particular La Unión y luego con el nombre actual y está ubicado en la parroquia la Unión cantón Babahoyo, Provincia de Los Ríos. Se solicitó mediante el cambio de denominación del plantel, de conformidad a lo que establece el acuerdo ministerial N°491-12. En uso de las atribuciones legales que le confiere el artículo 42 del estatuto orgánico de gestión organizacional por procesos del ministerio de educación, literal u, y el articulo 4 y 5 del artículo N° 0407-12, de fecha 24 de septiembre de 2012, firmado por la ministra de educación Dra. Gloria Vidal. 2.2 DESCRIPCIÓN DEL PROCEDIMIENTO METODOLÓGICO PARA EL DESARROLLO DE LA INVESTIGACIÓN (QUE CONDUCEN AL RESULTADO QUE DA LA SOLUCIÓN AL PROBLEMA CIENTÍFICO). La modalidad investigativa que se ha utilizado en esta tesis es la denominada cualicuantitativa. La investigación cualitativa es el procedimiento metodológico que se caracteriza por utilizar palabras, textos, discursos, dibujos, gráficos e imágenes para comprender las características generales del problema, en el caso que nos atañe mediante la observación se ha procedido a investigar los aspectos de demoras y el volumen de información en papeles que existe en la Institución, también la entrevista realizada al Director confirmó las características del problema descritas en la parte inicial de este trabajo investigativo. La investigación cuantitativa se caracteriza por recoger, procesar y analizar datos cuantitativos o numéricos sobre variables previamente determinadas. En esta investigación, esta modalidad se aplicó cuando encuestamos a los alumnos y 52 profesores da la Institución y luego dichas encuestas fueron tabuladas en el programa SPSS para posteriormente graficar los resultados en Excel Los tipos de investigación aplicados son: Bibliográfica: Este tipo de investigación se la desarrolla en base a la recopilación de la información de fuentes primarias, se la utilizó para desarrollar el marco teórico orientado esencialmente a herramientas de software libre como Mysql, apache y php. De Campo: se la lleva a cabo en base a encuestas o entrevistas y se la aplico para desarrollar el marco metodológico. Se entrevistó al director, y se encuesto a los profesores así como a los padres de familia La población involucrada en la problemática descrita en el inicio de este trabajo investigativo está estructurada de la siguiente forma: FUNCIÓN NUMERO Director 1 Profesores 18 Padres de familia y alumnos 400 TOTAL 419 Se define como la muestra, a un porcentaje de la población y se la ha calculado en base a la siguiente formula. Población Muestra = --------------------------------------------------(Población – 1) * error ² + 1 Se asume un error del 5% 53 419 Muestra = --------------------------------------------------(419 – 1) * 0,05² + 1 419 Muestra = --------------------------------------------------(418) * 0,0025 + 1 Muestra = 205 La estratificación de la muestra es la siguiente: FUNCIÓN NUMERO Director 1 Profesores 18 Padres de familia y alumnos 186 TOTAL 205 Las técnicas de investigación aplicadas fueron: Entrevista al director de la institución y encuestas tanto a profesores como a padres de familia Los instrumentos utilizados fueron: Cuestionarios específicos para profesores y padres Guía de entrevista para el director. 54 Encuesta a los profesores: Pregunta 1. ¿El proceso de matriculación y asentar las calificaciones en la Unidad educativa es manual? Respuesta Frecuencia Porcentaje Si 18 100% No 0 0% 18 100% Total No 0% Si 100% Análisis: Se manifiesta de forma general que el proceso de matriculación y registro de calificaciones es completamente manual 55 Pregunta 2 ¿El proceso de matriculación es lento? Respuesta Frecuencia Porcentaje Si 18 100% No 0 0% 18 100% Total No 0% Si 100% Análisis: La totalidad de los encuetados manifiesta que la matriculación de los estudiantes es un proceso sumamente lento 56 Pregunta 3. ¿La información almacenada de matrículas y calificaciones ocupa un gran espacio en la secretaria de la unidad educativa? Respuesta Frecuencia Porcentaje Si 14 78% No 4 22% 18 100% Total No 22% Si 78% Análisis: La información de los alumnos matriculados se acumula y ocupa un espacio físico importante 57 Pregunta 4. ¿El proceso para elaborar promedios y pases de año es demorada y sacrificada? Respuesta Frecuencia Porcentaje Si 13 77% No 5 23% 18 100% Total No 23% Si 77% Análisis: La gran mayoría concuerda en que los procesos para el cálculo de promedios y elaboración de pases de año es sumamente sacrificado y demorado, esto debido a que es un proceso manual y por lo tanto propenso a estados de ánimo y a cansancio físico 58 Pregunta 5. ¿Los padres de familia pueden consultar rápida y fácilmente las calificaciones de sus hijos? Respuesta Frecuencia Porcentaje Si 2 10% No 16 90% Total 18 100% Si 10% No 90% Análisis: Se ratifica plenamente que los padres de familia no pueden consultar rápidamente las notas de sus hijos en el avance académico. 59 Pregunta 6 ¿Cree usted necesario la instalación de un sistema para la matriculación y consulta de calificaciones? Respuesta Frecuencia Porcentaje Si 18 100% No 0 0% 18 100% Total No 0% Si 100% Análisis: Se manifiesta totalmente que es necesario instalar un sistema informático de tipo web para que se aceleren los procesos de matriculación y calificaciones respectivas 60 Encuesta a los padres de familia y alumnos Pregunta 1. ¿El proceso de matriculación y notas en la unidad educativa es manual? Respuesta Frecuencia Porcentaje Si 139 81% No 47 19% 186 100% Total Si No 19% 81% Análisis: La gran mayoría señala que el proceso de matriculación es manual y por ende demorado 61 Pregunta 2 ¿La matriculación es lenta? Respuesta Frecuencia Porcentaje Si 157 88% No 29 12% 186 100% Total Si No 12% 88% Análisis: La gran mayoría señala que el proceso de matriculación es demorado 62 Pregunta 3. ¿La información almacenada de matrículas y notas ocupa un gran espacio en la secretaria de la escuela? Respuesta Frecuencia Porcentaje Si 165 92% No 21 8% 186 100% Total Si No 8% 92% Análisis: La información de los alumnos matriculados se acumula y ocupa un espacio físico importante 63 Pregunta 4. ¿Los padres de familia pueden consultar rápida y fácilmente las notas de sus hijos? Respuesta Frecuencia Si Porcentaje 5 2% No 181 98% Total 186 100% Si No 2% 98% Análisis: Actualmente no se puede consultar de manera ágil las notas de los alumnos. 64 Pregunta 5. ¿Les gustaría poder matricularse rápidamente y desde su domicilio? Respuesta Frecuencia Porcentaje Si 149 85% No 37 15% 186 100% Total Si No 15% 85% Análisis: La mayoría de los encuestados manifiesta que sería muy interesante poder matricularse desde su domicilio. 65 Pregunta 6. ¿Les gustaría poder consultar sus notas desde su domicilio vía Internet? Respuesta Frecuencia Porcentaje Si 155 88% No 31 12% 186 100% Total Si No 12% 88% Análisis: La gran mayoría afirma que sería bueno poder consultar las notas de los alumnos vía internet 66 2.3. PROPUESTA DEL INVESTIGADOR MODELO, SISTEMA, METODOLOGÍA, PROCEDIMIENTO, ENTRE OTROS QUE REALICE EL INVESTIGADOR. La propuesta de solución al problema definido en esta investigación es el desarrollo y la implementación de una aplicación con entorno web. El mismo se ha desarrollado bajo los lineamientos estipulados por Roger Pressman (2007) en su tratado referente a Ingeniería del software. En primera instancia, se especifica la metodología de desarrollo de software, para el desarrollo del software se ha considerado el modelo de proceso denominado en cascada. Cada fase es importante y sirve de base para la anterior, primero se analizó las necesidades del usuario final así como los procesos que el mismo realiza. Luego se diseñan las interfaces para el ingreso y salida de datos, así como la base de datos. Como siguiente actividad se procede a la codificación respectiva para finalmente llegar a la implementación con las pruebas respectivas. Flujo de información CASOS DE USO a) Proceso de Matriculación de Estudiantes 67 b) Formación de quimestres académicos c) Entrega de Boletines 68 d) Registro de Calificaciones de los Estudiantes DIAGRAMAS DE SECUENCIA a) Diagrama de secuencia de Matriculación de Estudiantes 69 b) Diagrama de secuencia de formación de semestres Secretaría Secretaria Ingresa datos de nivel validación de niveles Ingresa datos de paralelo validación de paralelos Ingresa datos de secciones validación de secciones Ingresa datos de periodos validación de periodos Ingresa datos de modalidades validación de periodos c) Diagrama de secuencia de entrega de Calificaciones . 70 d) Diagrama de secuencia de registro de notas DIAGRAMA DE CLASES a) Diagrama de clases d Matriculación de Estudiantes Matricula Estudiantes + + + + + + + + + + + + + + + + + + + codigo cedula nombre apellido direccion telefono estado civil sexo fecha nacimiento titulo especialidad fecha registro observacion nombre padre profesion padre nacionalidad padre nombre madre profesion madre nacionalidad madre + + + + registrar () actualizar () eliminar () consultar () : : : : : : : : : : : : : : : : : : : 0..1 0..* + + + + + codigo numero matricula fecha matricula folio periodo + + + + registrar () actualizar () anular () consultar () 0..1 0..* semestre - codigo : + + + + 71 registrar () actulizar () eliminar () consultar () : : : : : b) Diagrama de clases de formación de semestre semestre - codigo : + + + + 0..* 0..1 0..* registrar () actulizar () eliminar () consultar () 0..1 seccion paralelos + codigo : + descripcion : + + + + + codigo : + descripcion : 0..*0..*0..* + + + + registrar () actualizar () eliminar () consultar () registrar () actualizar () eliminar () consultar () periodos + codigo : + descripcion : + + + + cursos + codigo : + descripcion : 0..1 registrar () actualizar () eliminar () consultar () 0..1 0..1 modalidades + codigo : + descripcion : + + + + + + + + registrar () actualizar () eliminar () consultar () registrar () actualizar () eliminar () consultar () c) Diagrama de clases de registro de notas Asi gnaturas + + + + Matri cul a + + + + + codi go numero matri cul a fecha matri cul a fol i o peri odo + + + + regi strar () actual i zar () anul ar () consul tar () : : : : : 0..1 semestre + + + + codi go : regi strar () actul i zar () el i mi nar () consul tar () : : i nt regi strar () actul i zar () el i mi nar () consul tar () Docentes 0..* 0..1 0..1 Notas 0..* 0..* - codi go descri pci ón + + + + + + + + + + + + + nota_deb1 nota_l ec1 nota_pru1 nota_deb2 nota_l ec2 nota_pru2 nota_deb3 nota_l ec3 nota_pru3 promedi o supl etori o promedi o general observaci on + + + regi strar () actul i zar () consul tar () 72 : : : : : : : : : : : : : + + + + + + codi go cedul a apel l i dos nombres ti tul o correo : : : : : : + + + + regi strar () actul i zar () el i mi nar () consul tar () DICCIONARIO DE DATOS SEALU_ALUMNO CAMPO SEALU_APELLI CODIGO SEALU_APELLI TIPO DE DATO Variable characters LONGI PRECIS TUD ION 50 (50) SEALU_BARDIR SEALU_CALDIR SEALU_CANNAC SEALU_CEDULA SEALU_CIUDIR SEALU_BARDI Variable characters R (45) SEALU_CALDI Variable characters R (75) SEALU_CANNA Variable characters C (45) SEALU_CEDUL Variable characters A (13) SEALU_CIUDIR Variable characters 45 75 45 13 50 (50) SEALU_CIUEST SEALU_CODIGO SEALU_CIUES Variable characters T (45) SEALU_CODIG Integer 45 O SEALU_CODIGO SEALU_CODIG Serial (11) 11 SEALU_COLES Variable characters 75 T (75) SEALU_DIREC Variable characters C (50) SEALU_ESPEC Variable characters I (50) O SEALU_COLEST SEALU_DIRECC SEALU_ESPECI 73 50 50 SEALU_ESTACI SEALU_FECHAR SEALU_ESTAC Variable characters I (15) SEALU_FECHA Date 15 R SEALU_FECNAC SEALU_FECNA Date C SEALU_FOTOXX SEALU_NACMAD SEALU_NACPAD SEALU_NOMBRE SEALU_FOTOX Variable characters X (250) SEALU_NACM Variable characters AD (45) SEALU_NACPA Variable characters D (45) SEALU_NOMB Variable characters RE (50) SEALU_NOMMAD SEALU_NOMM SEALU_NOMPAD SEALU_OBSERV SEALU_PARDIR SEALU_PARNAC SEALU_PROMAD SEALU_PRONAC SEALU_PROPAD Variable characters AD (50) SEALU_NOMP Variable characters AD (50) SEALU_OBSER Variable characters V (50) SEALU_PARDI Variable characters R (45) SEALU_PARNA Variable characters C (45) SEALU_PROM Variable characters AD (50) SEALU_PRON Variable characters AC (45) SEALU_PROPA Variable characters D (50) 74 250 45 45 50 50 50 50 45 45 50 45 50 SEALU_RETIRO SEALU_RETIR Byte (1) 1 SEALU_SEXOX Variable characters 1 X (1) SEALU_TELEF Variable characters O (15) SEALU_TELMO Variable characters V (15) SEALU_TITUL Variable characters O (50) O SEALU_SEXOXX SEALU_TELEFO SEALU_TELMOV SEALU_TITULO 15 15 50 SEASI_ASIGNA CAMPO CODIGO TIPO DE DATO SEASI_CODIGO SEASI_CODIGO Integer SEASI_CODIGO SEASI_CODIGO Serial (11) SEASI_CREDITO SEASI_CREDIT Integer S OS SEASI_DESCRI SEASI_DESCRI Variable characters LONGI PRECI TUD SION 11 50 (50) SEASI_MESES SEASI_MESES Integer SEASI_PERIODO SEASI_PERIOD Integer O SECUR_CURSOS CAMPO SECUR_CODIGO CODIGO SECUR_CODIG TIPO DE DATO LONGI PRECI TUD SION Integer O SECUR_CODIGO SECUR_CODIG Serial (11) 75 11 O SECUR_DESCRI SECUR_DESCRI Variable characters 50 (50) SECUR_PERIOD SECUR_PERIOD Integer O O SEDAP_DEASPR CAMPO CODIGO SEDAP_CODCUR SEDAP_CODCU TIPO DE DATO LONGI PRECI TUD SION Integer R SEDAP_CODEAP SEDAP_CODEA Integer P SEDAP_CODEAP SEDAP_CODEA Integer P SEDAP_CODEAP SEDAP_CODEA Serial (11) 11 1 P SEDAP_GRADO SEDAP_GRADO Byte (1) SEDAP_NUMHO SEDAP_NUMHO Integer R R SEDAP_NUMMES SEDAP_NUMME Integer S SENOT_NOTASX CAMPO CODIGO TIPO DE DATO SEDEB_MES1 SEDEB_MES1 Integer SEDEB_MES2 SEDEB_MES2 Integer SEDEB_MES3 SEDEB_MES3 Integer SEDEB_MES4 SEDEB_MES4 Integer 76 LONGI PRECI TUD SION SEDEB_MES5 SEDEB_MES5 Integer SEDEB_MES6 SEDEB_MES6 Integer SEFAL_ATRA SEFAL_ATRA Integer SEFAL_FALT SEFAL_FALT Integer SEFAL_PRES SEFAL_PRES Integer SELEC_MES1 SELEC_MES1 Integer SELEC_MES2 SELEC_MES2 Integer SELEC_MES3 SELEC_MES3 Integer SELEC_MES4 SELEC_MES4 Integer SELEC_MES5 SELEC_MES5 Integer SELEC_MES6 SELEC_MES6 Integer SEPRO_DEBE SEPRO_DEBE Long float SEPRO_GRADO SEPRO_GRADO Integer SEPRO_LECC SEPRO_LECC Long float SEPRO_OBSE SEPRO_OBSE Variable characters 25 (25) SEPRO_PROM SEPRO_PROM Long float SEPRO_PRUE SEPRO_PRUE Long float SEPRO_SUPL SEPRO_SUPL Integer SEPRO_TOTA SEPRO_TOTA Long float SEPRU_MES1 SEPRU_MES1 Integer SEPRU_MES2 SEPRU_MES2 Integer SEPRU_MES3 SEPRU_MES3 Integer SEPRU_MES4 SEPRU_MES4 Integer SEPRU_MES5 SEPRU_MES5 Integer SEPRU_MES6 SEPRU_MES6 Integer CODIGO TIPO DE DATO SEMAT_MATRIC CAMPO 77 LONGI PRECI TUD SEMAT_CODIGO SEMAT_CODIG SION Integer O SEMAT_CODIGO SEMAT_CODIG Serial (11) 11 O SEMAT_CODIGO SEMAT_CODIG Integer O SEMAT_FECMAT SEMAT_FECMA Date & Time T SEMAT_FOLIO SEMAT_FOLIO Integer SEMAT_GRADO SEMAT_GRADO Integer SEMAT_NUMER SEMAT_NUMER Integer O O SEMAT_NUMMAT SEMAT_NUMMA Integer T SEMAT_PERIOD SEMAT_PERIOD O O Integer SEMOD_MODALI CAMPO SEMOD_CODIGO CODIGO SEMOD_CODIG TIPO DE DATO LONGI PRECI TUD SION Integer O SEMOD_CODIGO SEMOD_CODIG Serial (10) 10 SEMOD_DESCR Variable characters 45 I (45) SEMOD_PERIOD SEMOD_PERIO Integer O DO O SEMOD_DESCRI 78 SEPAR_PARALE CAMPO SEPAR_CODIGO CODIGO SEPAR_CODIG TIPO DE DATO Serial (11) LONGI PRECI TUD SION 11 O SEPAR_CODIGO SEPAR_CODIG Integer O SEPAR_DESCRI SEPAR_DESCRI Variable characters 50 (50) SEPAR_PERIOD SEPAR_PERIOD O O Integer SEPER_PERIOD CAMPO SEPER_CODIGO CODIGO SEPER_CODIG TIPO DE DATO Serial (11) LONGI PRECI TUD SION 11 O SEPER_CODIGO SEPER_CODIG Integer O SEPER_DESCRI SEPER_DESCRI Variable characters 50 (50) SESEM_SEMEST CAMPO SESEC_CODIGO CODIGO SESEC_CODIG TIPO DE DATO Serial (11) LONGI PRECI TUD SION 11 O SESEC_CODIGO SESEC_CODIG Integer O SESEC_DESCRI SESEC_DESCRI Variable characters 79 45 (45) SESEC_PERIOD SESEC_PERIOD O O SESEM_CODIGO SESEM_CODIG Integer Serial (11) O SESEM_CODIGO SESEM_CODIG Integer O 80 11 MODELO FÍSICO – MODELO RELACIONAL MODELO CONCEPTUAL sedap_deaspr SEDAP_CODEAP <pi> SEPRO_CODIGO <ai2> SEASI_CODIGO <ai1> SEDAP_CODCUR SEDAP_NUMHOR SEDAP_NUMMES SEDAP_GRADO institucion Código Ruc Nombre Dirección Teléfono Observación Integer Variable Variable Variable Variable Variable characters (13) characters (50) characters (50) characters (20) characters (50) seasi_asigna Serial (11) <M> Integer Integer Integer Integer Integer Byte (1) Key_1 <pi> FK_SR_ASIGNATURAS_DETASIPROF <ai1> FK_SR_ASIGNATURAS_DETASIPROF FK_SR_PROFESORES_DETASIPROF <ai2> SEASI_CODIGO <pi> Serial (11) <M> SEASI_DESCRI Variable characters (50) SEASI_CREDITOS Integer SEASI_MESES Integer SEASI_PERIODO Integer FK_SR_DETAASIPROF__FALTAS Key_1 <pi> sealu_alumno SEALU_CODIGO <pi> Serial (11) <M> sefal_faltas SEALU_CEDULA Variable characters (13) SEALU_NOMBRE Variable characters (50) SEDAP_CODEAP <ai1> Integer SEALU_APELLI Variable characters (50) SEMAT_CODIGO <ai2> Integer SEALU_DIRECC Variable characters (50) SEFAL_PRES Integer SEALU_TELEFO Variable characters (15) SEFAL_ATRA Integer SEALU_ESTACI Variable characters (15) SEFAL_FALT Integer SEALU_SEXOXX Variable characters (1) FK_SR_DETAASIPROF__FALTAS <ai1> SEALU_FECNAC Date FK_SR_MATRICULAS_FALTAS <ai2> SEALU_TITULO Variable characters (50) SEALU_ESPECI Variable characters (50) SEALU_FECHAR Date SEALU_OBSERV Variable characters (50) SEALU_FOTOXX Variable characters (250) SEALU_RETIRO Byte (1) <M> SEALU_PARNAC Variable characters (45) SEALU_CANNAC Variable characters (45) SEALU_PRONAC Variable characters (45) SEALU_COLEST Variable characters (75) SEALU_CIUEST Variable characters (45) SEALU_NOMPAD Variable characters (50) SEALU_NACPAD Variable characters (45) semat_matric FK_SR_ALUMNOS_MATRICULAS SEALU_PROPAD Variable characters (50) SEMAT_CODIGO <pi> Serial (11) <M> SEALU_NOMMAD Variable characters (50) SEALU_CODIGO <ai1> Integer SEALU_NACMAD Variable characters (45) SESEM_CODIGO <ai2> Integer SEALU_PROMAD Variable characters (50) SEMAT_NUMMAT Integer SEALU_CALDIR Variable characters (75) SEMAT_FECMAT Date & Time SEALU_BARDIR Variable characters (45) SEMAT_PERIODO Integer SEALU_PARDIR Variable characters (45) SEMAT_NUMERO Integer SEALU_CIUDIR Variable characters (50) SEMAT_GRADO Integer SEALU_TELMOV Variable characters (15) SEMAT_FOLIO Integer Key_1 <pi> Key_1 <pi> FK_SR_ALUMNOS_MATRICULAS <ai1> FK_SR_SEMESTRES_MATRICULAS <ai2> FK_R_DETAASIPROF_NOTAS senot_notasx SEDAP_CODEAP <ai1> Integer SEMAT_CODIGO <ai2> Integer SEDEB_MES1 Integer SELEC_MES1 Integer SEPRU_MES1 Integer SEDEB_MES2 Integer SELEC_MES2 Integer SEDEB_MES3 Integer SELEC_MES3 Integer SEPRU_MES3 Integer SEPRU_MES2 Integer SEDEB_MES4 Integer SELEC_MES4 Integer SEPRU_MES4 Integer SEPRO_DEBE Long float SEDEB_MES5 Integer SELEC_MES5 Integer SEPRU_MES5 Integer SEPRO_LECC Long float SEPRO_PRUE Long float SEDEB_MES6 Integer SELEC_MES6 Integer SEPRU_MES6 Integer FK_SR_MATRICULAS_NOTAS SEPRO_PROM Long float SEPRO_SUPL Integer SEPRO_TOTA Long float SEPRO_OBSE Variable characters (25) SEPRO_GRADO Integer FK_R_DETAASIPROF_NOTAS <ai1> FK_SR_MATRICULAS_NOTAS <ai2> semod_modali SEMOD_CODIGO <pi> Serial (10) <M> SEMOD_DESCRI Variable characters (45) SEMOD_PERIODO Integer separ_parale Relationship_11 SEPAR_CODIGO <pi> Serial (11) <M> SEPAR_DESCRI Variable characters (50) SEPAR_PERIODO Integer Key_1 <pi> Key_1 <pi> FK_SR_MODALIDAD_SEMESTRES FK_SR_PARALELOS_SEMESTRES sesem_semest SESEM_CODIGO <pi> Serial (11) <M> SECUR_CODIGO <ai1> Integer SEPER_CODIGO <ai3> Integer SEPAR_CODIGO <ai2> Integer SESEC_CODIGO <ai4> Integer seper_period SEMOD_CODIGO <ai5> Integer FK_SR_PERIODOS_SEMESTRES SEPER_CODIGO <pi> Serial (11) <M> Key_1 <pi> SEPER_DESCRI Variable characters (50) FK_SR_CURSOS_SEMESTRES <ai1> FK_SR_PARALELOS_SEMESTRES <ai2> Key_1 <pi> FK_SR_PERIODOS_SEMESTRES <ai3> FK_SR_SECCIONES_SEMESTRES <ai4> FK_SR_MODALIDAD_SEMESTRES <ai5> FK_SR_SECCIONES_SEMESTRES FK_SR_CURSOS_SEMESTRES sesec_seccio SESEC_CODIGO <pi> Serial (11) <M> SESEC_DESCRI Variable characters (45) <M> SESEC_PERIODO Integer <M> Key_1 <pi> secur_cursos SECUR_CODIGO <pi> Serial (11) <M> SECUR_DESCRI Variable characters (50) SECUR_PERIODO Integer Key_1 <pi> 81 MODELO FÍSICO sedap_deaspr SEDAP_CODEAP sea_SEASI_CODIGO SEPRO_CODIGO SEASI_CODIGO SEDAP_CODCUR SEDAP_NUMHOR SEDAP_NUMMES SEDAP_GRADO FK_FK_SR_ASIGNATURAS_DETASIPROF institucion Código Ruc Nombre Dirección Teléfono Observación int varchar(13) varchar(50) varchar(50) varchar(20) varchar(50) int(11) int(11) int int int int int tinyint <pk> <fk> <ak2> <ak1> seasi_asigna SEASI_CODIGO SEASI_DESCRI SEASI_CREDITOS SEASI_MESES SEASI_PERIODO int(11) <pk> varchar(50) int int int FK_FK_R_DETAASIPROF_NOTAS FK_FK_SR_DETAASIPROF__FALTAS senot_notasx sealu_alumno SEALU_CODIGO SEALU_CEDULA SEALU_NOMBRE SEALU_APELLI SEALU_DIRECC SEALU_TELEFO SEALU_ESTACI SEALU_SEXOXX SEALU_FECNAC SEALU_TITULO SEALU_ESPECI SEALU_FECHAR SEALU_OBSERV SEALU_FOTOXX SEALU_RETIRO SEALU_PARNAC SEALU_CANNAC SEALU_PRONAC SEALU_COLEST SEALU_CIUEST SEALU_NOMPAD SEALU_NACPAD SEALU_PROPAD SEALU_NOMMAD SEALU_NACMAD SEALU_PROMAD SEALU_CALDIR SEALU_BARDIR SEALU_PARDIR SEALU_CIUDIR SEALU_TELMOV int(11) <pk> varchar(13) sefal_faltas varchar(50) sed_SEDAP_CODEAP int(11) <fk> varchar(50) SEDAP_CODEAP int <ak1> varchar(50) SEMAT_CODIGO int <ak2> varchar(15) SEFAL_PRES int varchar(15) SEFAL_ATRA int varchar(1) SEFAL_FALT int date varchar(50) varchar(50) date varchar(50) varchar(250) tinyint varchar(45) varchar(45) varchar(45) varchar(75) varchar(45) varchar(50) FK_FK_SR_ALUMNOS_MATRICULAS varchar(45) semat_matric varchar(50) SEMAT_CODIGO int(11) <pk> varchar(50) ses_SESEM_CODIGO int(11) <fk2> varchar(45) sea_SEALU_CODIGO int(11) <fk1> varchar(50) SEALU_CODIGO int <ak1> varchar(75) SESEM_CODIGO int <ak2> varchar(45) SEMAT_NUMMAT int varchar(45) SEMAT_FECMAT datetime varchar(50) SEMAT_PERIODO int varchar(15) SEMAT_NUMERO int SEMAT_GRADO int SEMAT_FOLIO int FK_FK_SR_MATRICULAS_NOTAS sed_SEDAP_CODEAP sem_SEMAT_CODIGO SEDAP_CODEAP SEMAT_CODIGO SEDEB_MES1 SELEC_MES1 SEPRU_MES1 SEDEB_MES2 SELEC_MES2 SEDEB_MES3 SELEC_MES3 SEPRU_MES3 SEPRU_MES2 SEDEB_MES4 SELEC_MES4 SEPRU_MES4 SEPRO_DEBE SEDEB_MES5 SELEC_MES5 SEPRU_MES5 SEPRO_LECC SEPRO_PRUE SEDEB_MES6 SELEC_MES6 SEPRU_MES6 SEPRO_PROM SEPRO_SUPL SEPRO_TOTA SEPRO_OBSE SEPRO_GRADO int(11) int(11) int int int int int int int int int int int int int int double int int int double double int int int double int double varchar(25) int semod_modali separ_parale SEMOD_CODIGO int(10) <pk> SEMOD_DESCRI varchar(45) SEMOD_PERIODO int FK_Relationship_11 SEPAR_CODIGO int(11) <pk> SEPAR_DESCRI varchar(50) SEPAR_PERIODO int FK_FK_SR_MODALIDAD_SEMESTRES FK_FK_SR_PARALELOS_SEMESTRES sesem_semest SESEM_CODIGO sep_SEPER_CODIGO ses_SESEC_CODIGO sep_SEPAR_CODIGO sec_SECUR_CODIGO seper_period FK_FK_SR_PERIODOS_SEMESTRESsem_SEMOD_CODIGO SECUR_CODIGO SEPER_CODIGO int(11) <pk> SEPER_CODIGO SEPER_DESCRI varchar(50) SEPAR_CODIGO SESEC_CODIGO SEMOD_CODIGO int(11) int(11) int(11) int(11) int(11) int(10) int int int int int <pk> <fk4> <fk5> <fk3> <fk1> <fk2> <ak1> <ak3> <ak2> <ak4> <ak5> FK_FK_SR_SECCIONES_SEMESTRES FK_FK_SR_CURSOS_SEMESTRES sesec_seccio SESEC_CODIGO int(11) <pk> SESEC_DESCRI varchar(45) SESEC_PERIODO int secur_cursos SECUR_CODIGO int(11) <pk> SECUR_DESCRI varchar(50) SECUR_PERIODO int 82 <fk1> <fk2> <ak1> <ak2> 2.4. CONCLUSIONES PARCIALES DEL CAPÍTULO De la investigación de campo realizada se pueden obtener las siguientes conclusiones: Se manifiesta de forma general que el proceso de matriculación y registro de calificaciones es completamente manual y es un proceso sumamente lento y la información de los alumnos matriculados se acumula y ocupa un espacio físico importante. Los procesos para el cálculo de promedios y elaboración de pases de año es sumamente sacrificado y demorado, esto debido a que es un proceso manual y por lo tanto propenso a estados de ánimo y a cansancio físico, los padres de familia no pueden consultar rápidamente las notas de sus hijos en el avance académico y es necesario instalar un sistema informático de tipo web para que se aceleren los procesos de matriculación y calificaciones respectivas. El proceso de matriculación es manual y por ende demorado y Actualmente no se puede consultar de manera ágil las notas de los alumnos por lo que sería bueno poder consultar las notas de los alumnos vía internet. 83 CAPITULO III. VALIDACIÓN Y/O EVALUACIÓN DE RESULTADOS DE SU APLICACIÓN 3.1. Procedimiento de la aplicación de los resultados de la investigación Metodología de desarrollo de software Se utilizó la metodología lineal de cascada la cual consta de las siguientes fases: Análisis de requisitos Diseño de Sistema Diseño de Programa Codificación Pruebas Implantación Mantenimiento Análisis de requisitos.- Se analizó las necesidades de los usuarios finales del software para determinar qué objetivos debe cubrir. Diseño de Sistema.- Se organizó el sistema en módulos combinando uno con otro, además realizando la descripción de la estructura relacional del sistema. Diseño de Programa.- En esta fase se realizaron los algoritmos para el cumplimiento de los requerimientos del usuario y también se realizó el análisis necesario para la selección de la herramienta en la etapa de codificación. Codificación.- En esta fase se realiza la construcción del sistema de información y las pruebas relacionadas con dicho proceso, implementando el código fuente haciendo uso de prototipos y pruebas para corregir errores. Pruebas.- En esta etapa se realizaría la instalación del sistema en un entorno de pruebas lo más parecido posible al de producción, realizando las pruebas de implantación y aceptación. 84 Implantación.- en esta etapa se implementa el sistema en los niveles de software y hardware que componen el proyecto. Mantenimiento.- Se verifica el funcionamiento del sistema en esta etapa, para que esté libre de fallos. Al inicio de cada semestre existe una demora en la entrega de listados de los estudiantes, y la revisión de las calificaciones o entrega de boletines era demasiado tedioso, ya que lo realizaban el registro por medio de la hoja electrónica Excel. Al tener la información actualizada permitirá agilizar los procesos académicos de la Institución. 3.2. ANÁLISIS DE LOS RESULTADOS FINALES DE LA INVESTIGACIÓN Realmente el resultado final del presente trabajo de investigación lo constituye la aplicación Web, por lo que se lo somete a la valoración por parte de un profesional del área informática, Las pruebas permanentes durante el desarrollo de la aplicación constituyen un factor importante de mejora continua, el software elaborado ha sido sometido a dos tipos de pruebas que son: Caja Negra: Se constató la idoneidad de los resultados, se generaron los procesos de matriculación con datos reales, luego se aplicó para validar las notas, y luego de los ingresos realizados, se ingresó los datos de los profesores, se hicieron los promedios y se verificaron los resultados respectivos. Caja Blanca: Se pudo verificar la ejecución de los procesos desde el punto de vista lógico, se pudo seguir la secuencia de ejecución para validar la idoneidad de la automatización y obviamente con la correcta emisión de resultados, las boletas de calificaciones y la nómina de los estudiantes. 85 Validaciones Validación técnica Se realizaron las pruebas descritas en los párrafos anteriores, se verificó el funcionamiento adecuado de los diferentes procesos que automatiza el sistema de matriculación y calificaciones. Se ha verificado la entrega correcta de resultados como la obtención del promedio de las calificaciones, la asignación de notas, su validación respectiva y todo lo relacionado estrictamente al funcionamiento técnico del software. Luego que el software ha superado estas pruebas quedó validado técnicamente. Validación operativa En este proceso de validación con relación a la facilidad de manejo y sobre todo a la real concordancia de los procesos automatizados con los procesos manuales que se llevan a cargo en la Institución está dada por la Secretaria del plantel. Se procedió a exponer el software y su funcionamiento directamente a la autoridad involucrada, en este caso la Secretaria manipuló el sistema de manera general, llevo a cabo todo el proceso inscripción, registro, matriculación, asignación de notas y verificación de boletas de calificaciones. Todos estos procesos funcionaron acorde a las exigencias y parámetros establecidos. El software es operativamente viable. 3.3 CONCLUSIONES PARCIALES DEL CAPÍTULO La metodología de desarrollo de software ha permitido una realimentación permanente con el afán de mejorar la calidad del desarrollo, pues al finalizar un módulo y hacer pruebas, estas realimentan su desarrollo produciendo una mejora en la calidad del mismo. La fase de análisis previo es muy importante, ya que se constituye en la base de todo el sistema, el diseño de las interfaces esta en relación directa con el análisis de procesos realizado, y según estos se ha modelado la base de datos. 86 Las herramientas de software libre prestan enormes facilidades en el desarrollo de aplicaciones web, al utilizar controles de validación para el ingreso de datos. El modelado de la base de datos cumple con la normalización mínima en cuanto a redundancia de campos y tablas para con ello evitar problemas de integridad referencial, presenta niveles óptimos de seguridad. CONCLUSIONES GENERALES La automatización de los procesos de matriculación y calificaciones permite que las actividades académicas dentro de la institución fluyan de forma rápida y efectiva, evitando aglomeraciones y largas esperas por parte de los padres de familia. La colaboración de los funcionarios de la institución permitió identificar claramente los nodos críticos existentes con lo que se pudo plasmar de forma precisa a la herramienta Web. Esta herramienta permitirá que los padres de familia o representantes puedan acceder fácilmente a la información concerniente al aprovechamiento y conducta del estudiante Los funcionarios de la institución pueden acceder a la herramienta con facilidad ya que la aplicación es amigable y presenta facilidad de uso.. Los estudiantes pueden realizar la consulta de sus notas por medio del portal web y esto permite subir el nivel académico dentro de la Institución. Los padres de familia o representantes pueden hacer un mejor seguimiento académico a sus hijos ya que podrán conocer sus calificaciones el momento que deseen. 87 RECOMENDACIONES Para que el proceso de transición manual a automatizado es necesario realizar una serie de capacitaciones al personal involucrado de la institución. Contratar un servidor web para el alojamiento del portal web para aumentar el nivel de seguridad de la información ya que en la actualidad el sistema está alojado en un servidor gratuito. Para evitar confusiones, desacuerdos y para que pueda realizar el correcto funcionamiento del mismo es pertinente capacitar a la persona encargada del centro de cómputo de la Institución para que realice el monitoreo de servidores web y aplique el mantenimiento de la base de datos. Sugerir la creación y difusión de un manual de usuario para que las personas involucradas en los procesos de la herramienta informática puedan acceder y administrar el mismo sin complicaciones. 88 1 Bibliografía ATRIBUCION, C. C. (2014). Portal (Internet). La enciclopedia libre. BUYTO. (2009). Que es y para que sirve un portal web . Madrid España : PAVI S.L. COBO, A., & GOMEZ, P. (2005). PHP y MySql. Madrid España: Dias Santos. CORREA, R. (2012). Ley organica de educacion intercultural . Quito Ecuador. CORREA, R. (2012). Ley organica de educacion intercultural pag 196 . Quito Ecuador. CORREA, R. (2012). Ley organica de educacion intercultural pag 203. Quito Ecuador. CORREA, R. (2012). Ley organica de educacion intercultural pag 204. Quito Ecuador. CORREA, R. (2012). Ley organica de educacion intercultural pag. 194. Quito Ecuador. CORREA, R. (2012). Manual de marco legal educativo- capitulo III de las matriculas . Quito Ecuador. FERRER, J. (2009). Aplicacion web. Madrid España: Prentice Hall. GALEANO, L. (2008). Proyecto web . Colombia: el proyecto de luis galeano. GAMPER, J. (2007). Java Script gran libro. Madrid España: Marcombo. KIMMEL, P. (2010). Manual de UML. Madrid España: Prentice-Hall. McCool, R. (2007). Servidor HTTP apache . Madrid España. MELLADO, J. (2008). Ajax. Madrid España: Anaya. MORA, L. S. (2002). Aplicacion Web. Madrid España: Altaria. MORA, L. S. (2002). Programacion de aplicacion web . Madrid España: Club Aniversario. PAVON, J. (2009). Creacion de portales web con php y MySQL. Madrid España: Agapea. PEÑA, O. (2009). CSS. Barcelona España: Anaya. QUERO, K. (2009). El principal objetivo de un portal web. Madrid España: Agapea. QUERO, K. (2009). Mantenimiento de portales de la informacion. Madrid España: Agapea. QUERO, K. (2009). Tipos de portales. Madrid España: Agapea. QUISPE, F. E. (2011). Concepto de portal en internet. Teoria de portal en internet. RUIZ, A. (2010). Servidores Wamp. Madrid España. SES. (2008). Servidor Apache . Mexico. SES. (2008). Servidor Apache Web. Mexico. THIBAUD, C. (2006). MySql 5 instalacion, administracion, programacion . Barcelona España: ENI. UNIJAMPE. (2005). Conectar php y Mysql. Madrid España. ANEXOS Debemos descargar la versión 2.0 damos doble clic en el archivo instalador, nos aparecerá la siguiente ventana Luego aceptamos los términos de licencia, clic en continuar Escogemos la ruta donde guardar los componentes del Wamp server podemos cambiarla si deseamos, clic en continuar. Crearemos un icono en el escritorio, clic en continuar Aparecerá un sumario de la instalación, clic en install . Luego de instalarlo damos clic en el icono, nos aparece la ventana principal del WampServer y veremos que esta correcta la instalación ejecutando en el puerto 443 Instalación del programa SQLyog 5.11 1.- Presione Next 2.- Seleccione la primera opción y luego presione Next 3.- Presione Install Presione OK Instalación del WAMP5 1.- Presione Next 2.- Seleccione la primera opción y luego presione Next 3-. Presione Next 4.- Luego mostrara esta pantalla de instalación 5.- Presione Aceptar 6.- Por ultimo presione Finesh Aplicación Web de Matrículas y Calificaciones Unidad Educativa Miguel Ángel Samaniego Jiménez. Pantalla principal de sitio en la cual tiene las opciones: Administrador, Rector, Secretario, Docente, y estudiante Clic en Administrador Sección activa de administrador: Usuario: admin Clave: admin Pantalla de administrador pestaña sistema Uso de las pestañas de sistemas, usuarios y entidad. Pestaña sistemas: encontramos la información del sistema Pantalla de respaldo de datos: pantalla de respaldo de datos en formato archivo .sql Cierre de sección de la pantalla administrador: en este caso (no o si) salir de la pantalla administrador. Pantalla de administrador Pestaña Usuarios: cambio de clave del administrador, clave anterior admin Pantalla usuarios: crear un usuario ya sea tipo administrador, rector, director, o secretario. Pantalla de crear/consultar: consulta los usuarios registrados ya sean Rector, administrador, secretario o director. Pantalla de usuarios bloqueados/desbloqueados: usuarios en estado activos Pantalla de eliminar usuarios: eliminación de usuarios ya sean de tipo administrador, director, rector o secretario. Pantalla de la identidad de la institución: datos de la unidad educativa referente información ej.: teléfono, dirección etc. Pantalla Rector Sección activa de rector: Usuario: rectora Clave: rectora Pantalla de rector pestaña sistema Uso de las pestañas de sistemas, academia y entidad. Pestaña sistemas: encontramos la información del sistema Pantalla de cambio de clave: cambio de clave del usuario rectora Cierre de sección de la pantalla rector: en este caso (no o si) salir de la pantalla rector Pantalla de permiso de calificación: permiso de calificaciones en este caso solo el rector da el aviso de dar el permiso de visualizar las calificaciones. Pantalla usuarios: crear un usuario ya sea tipo administrador, rector, director, o secretario. Pantalla de crear/consultar: consulta los usuarios registrados ya sean Rector, administrador, secretario o director. Pantalla de usuarios bloqueados/desbloqueados: usuarios en estado activos Pantalla de eliminar usuarios: eliminación de usuarios ya sean de tipo administrador, director, rector o secretario. Pantalla de la identidad de la institución: datos de la unidad educativa referente información ej.: teléfono, dirección etc. Clic en Secretaria Sección activa de secretaria: Usuario: secretario Clave: secretario Pantalla de secretaria pestaña sistema Uso de las pestañas de sistemas, academia y entidad. Pestaña sistemas: encontramos la información del sistema Pantalla de cambio de clave: cambio de clave del usuario secretaria Cierre de sección de la pantalla secretaria: en este caso (no o si) salir de la pantalla secretaria Pantalla de Cursos: ingreso de los cursos, modificación de curso, eliminación y consultas. Ejemplo Primero Wam Pantalla de Carreras: ingreso de las carreras, modificación de carreras, eliminación y consultas. Ejemplo Administración de empresas e informáticas. Pantalla de Asignaturas: ingreso de las asignaturas, modificación de asignaturas, eliminación y consultas. Ejemplo Estudios Sociales. Pantalla de docentes: ingreso de los docentes, modificación de docentes, eliminación y consultas. Ejemplo docente Víctor Franco García Pantalla de distributivos: ingreso de los distributivos, modificación de distributivos, eliminación y consultas. Ejemplo docente Víctor Franco García periodo fecha actual, carrera especificada, curso , el paralelo, sesión , asignatura y las horas semanales Pantalla de estudiante: ingreso de cedula nombre de padre, madre, nombres completos, fecha de nacimiento, lugar de nacimiento entre otros. Consulta de estudiantes por nombres Pantalla de registro de matrículas: número de matrícula, el código de matrícula lo genera automáticamente con la opción Buscar, elección de carrera del estudiante sección, el paralelo y el curso Pantalla de permiso de calificaciones: Pantalla formulario de matriculas: estudiantes ya registrados en la institución Pantalla nomina de docentes: docentes ya registrados en la institución Pantalla de nomina de los estudiantes matriculados: Pantalla de nomina de estudiantes por matriculas: Pantalla de estudiantes por cursos: Pantalla de calificaciones por cursos Clic en Docente Sección activa de docente: Usuario: 1206281550 Clave: 1550 Pantalla del docente pestaña sistema Uso de las pestañas de sistemas, usuarios y entidad. Pestaña sistemas: encontramos la información del sistema Cierre de sección de la pantalla administrador: en este caso (no o si) salir de la pantalla administrador. Pantalla del docente muestra de calificaciones, caso contrario si el tiempo expiro no habrá opción para ingresar calificaciones. Reportes de las calificaciones según el distributivo del docente Clic en Estudiante Sección activa de estudiante: Usuario: 1206666644 Clave: 6644 Pantalla de estudiante pestaña sistema Uso de las pestañas de sistemas, academia y entidad. Pestaña sistemas: encontramos la información del sistema Pantalla de cambio de clave: cambio de clave del usuario estudiante Cierre de sección de la pantalla estudiante: en este caso (no o si) salir de la pantalla estudiante Pantalla de actualización de datos de los estudiantes Pantalla de consultar calificaciones ya sean calificaciones del primer parcial, segundo parcial y tercer parcial Pantalla de Calificaciones según parciales Base de datos UEMASJ create database if not exists `uemasj`; USE `uemasj`; /*Table structure for table `calificaciones` */ DROP TABLE IF EXISTS `calificaciones`; CREATE TABLE `calificaciones` ( `calificacionnummatricula` varchar(4) NOT NULL, `calificacioncodmateria` varchar(10) NOT NULL, `nota1` varchar(2) NOT NULL, `nota2` varchar(2) NOT NULL, `nota3` varchar(2) NOT NULL, `nota4` varchar(2) NOT NULL, `nota5` varchar(2) NOT NULL, `nota6` varchar(2) NOT NULL, `nota7` varchar(2) NOT NULL, `nota8` varchar(2) NOT NULL, `nota9` varchar(2) NOT NULL, `supletorio` varchar(2) NOT NULL, `conducta1` varchar(2) NOT NULL, `conducta2` varchar(2) NOT NULL, `conducta3` varchar(2) NOT NULL, `observacion` varchar(1) NOT NULL, KEY `FK_calificaciones` (`calificacionnummatricula`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `calificaciones` */ /*Table structure for table `cursos` */ DROP TABLE IF EXISTS `cursos`; CREATE TABLE `cursos` ( `codcurso` varchar(2) NOT NULL, `curso` varchar(30) NOT NULL, `cursoestado` varchar(8) NOT NULL, PRIMARY KEY (`codcurso`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `cursos` */ insert into `cursos` (`codcurso`,`curso`,`cursoestado`) values ('01','PRIMERO','Activo'); insert into `cursos` (`codcurso`,`curso`,`cursoestado`) values ('02','TERCERO','Activo'); insert into `cursos` (`codcurso`,`curso`,`cursoestado`) values ('03','CUARTO','Activo'); insert into `cursos` (`codcurso`,`curso`,`cursoestado`) values ('04','QUINTO','Activo'); insert into `cursos` (`codcurso`,`curso`,`cursoestado`) values ('05','SEXTO','Activo'); /*Table structure for table `distributivos` */ DROP TABLE IF EXISTS `distributivos`; CREATE TABLE `distributivos` ( `coddistributivo` varchar(5) NOT NULL, `distributivocoddocente` varchar(3) NOT NULL, `distributivocodperiodo` varchar(3) NOT NULL, `distributivocodmateria` varchar(10) NOT NULL, `distributivocodespecializacion` varchar(2) NOT NULL, `distributivocodcurso` varchar(2) NOT NULL, `distributivoparalelo` varchar(1) NOT NULL, `distributivoseccion` varchar(20) NOT NULL, `distributivoestado` varchar(8) NOT NULL, `distributivonumhora` varchar(5) NOT NULL, PRIMARY KEY (`coddistributivo`), KEY `FK_asignaturasprofesores` (`distributivocodperiodo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `distributivos` */ /*Table structure for table `docentes` */ DROP TABLE IF EXISTS `docentes`; CREATE TABLE `docentes` ( `coddocente` varchar(3) NOT NULL, `docentecedula` varchar(10) NOT NULL, `docenteapadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `docenteamadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `docentenombre` varchar(40) character set utf8 collate utf8_spanish_ci NOT NULL, `docentedomicilio` varchar(60) character set utf8 collate utf8_spanish_ci NOT NULL, `docenteemail` varchar(70) NOT NULL, `docentecelular` varchar(10) default NULL, `docentetelefono` varchar(9) default NULL, `docentetitulos` varchar(200) character set utf8 collate utf8_spanish_ci NOT NULL, `docentegenero` varchar(10) NOT NULL, `docenteestado` varchar(8) NOT NULL, PRIMARY KEY (`coddocente`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `docentes` */ insert into `docentes` (`coddocente`,`docentecedula`,`docenteapadre`,`docenteamadre`,`docentenombre`,` docentedomicilio`,`docenteemail`,`docentecelular`,`docentetelefono`,`docentetitulos`,` docentegenero`,`docenteestado`) values ('001','1203504046','VILLAMAR','COLOMA','MARCO ANTONIO','Primera Peatonal 407 y Sucre','[email protected]','11','11','iii','Masculino','Activo'); insert into `docentes` (`coddocente`,`docentecedula`,`docenteapadre`,`docenteamadre`,`docentenombre`,` docentedomicilio`,`docenteemail`,`docentecelular`,`docentetelefono`,`docentetitulos`,` docentegenero`,`docenteestado`) values ('002','1200920047','HUILCAPI','MASACON','NORA URSULA','CDLA UNIVERSITARIA','[email protected]','0997852877','052731006','Magister en Administraci','Femenino','Activo'); /*Table structure for table `entidad` */ DROP TABLE IF EXISTS `entidad`; CREATE TABLE `entidad` ( `entidad` varchar(200) character set utf8 collate utf8_spanish_ci NOT NULL, `titulo` varchar(150) character set utf8 collate utf8_spanish_ci NOT NULL, `siglas` varchar(15) character set utf8 collate utf8_spanish_ci NOT NULL, `direccion` varchar(150) character set utf8 collate utf8_spanish_ci NOT NULL, `lugar` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `telefono` varchar(20) NOT NULL, `fax` varchar(20) NOT NULL, `email` varchar(50) NOT NULL, `visitas` varchar(10) NOT NULL, PRIMARY KEY (`entidad`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `entidad` */ insert into `entidad` (`entidad`,`titulo`,`siglas`,`direccion`,`lugar`,`telefono`,`fax`,`email`,`visitas`) values ('UNIDAD EDUCATIVA MIGUEL ANGEL SAMANIEGO JIMENEZ','Sistema Inform&aacutetico UEMASJ','UEMASJ','','Parroquia La Unión','','','','0'); /*Table structure for table `especializaciones` */ DROP TABLE IF EXISTS `especializaciones`; CREATE TABLE `especializaciones` ( `codespecializacion` varchar(2) NOT NULL, `especializacion` varchar(100) character set utf8 collate utf8_spanish_ci NOT NULL, `especializacionestado` varchar(8) NOT NULL, PRIMARY KEY (`codespecializacion`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `especializaciones` */ /*Table structure for table `estudiantes` */ DROP TABLE IF EXISTS `estudiantes`; CREATE TABLE `estudiantes` ( `codestudiante` varchar(6) character set utf8 collate utf8_spanish_ci NOT NULL, `cedula` varchar(10) NOT NULL, `apadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `amadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `nombre` varchar(40) character set utf8 collate utf8_spanish_ci NOT NULL, `fechadenacimiento` varchar(10) NOT NULL, `lugarnacimiento` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `genero` varchar(9) NOT NULL, `domicilio` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `plantel` varchar(40) character set utf8 collate utf8_spanish_ci NOT NULL, `celular` varchar(10) NOT NULL, `telefono` varchar(9) NOT NULL, `nombremadre` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `profesionmadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `nombrepadre` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `profesionpadre` varchar(30) character set utf8 collate utf8_spanish_ci NOT NULL, `email` varchar(70) NOT NULL, `estudianteestado` varchar(10) NOT NULL, PRIMARY KEY (`codestudiante`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `estudiantes` */ /*Table structure for table `materias` */ DROP TABLE IF EXISTS `materias`; CREATE TABLE `materias` ( `codmateria` varchar(10) NOT NULL, `materia` varchar(100) character set utf8 collate utf8_spanish_ci NOT NULL, `materiatipo` varchar(15) default NULL, `materiaestado` varchar(8) NOT NULL, PRIMARY KEY (`codmateria`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `materias` */ /*Table structure for table `matriculas` */ DROP TABLE IF EXISTS `matriculas`; CREATE TABLE `matriculas` ( `matriculacodestudiante` varchar(6) NOT NULL, `matriculanummatricula` varchar(4) NOT NULL, `matriculacodperiodo` varchar(3) NOT NULL, `matriculacodespecializacion` varchar(2) NOT NULL, `matriculacodcurso` varchar(2) NOT NULL, `matriculacodusuario` varchar(2) NOT NULL, `matriculafolio` varchar(4) NOT NULL, `matriculafecha` varchar(10) NOT NULL, `matriculaseccion` varchar(15) NOT NULL, `matriculaparalelo` varchar(1) NOT NULL, `matriculatipo` varchar(14) NOT NULL, `matriculaobservacion` varchar(12) NOT NULL, `matriculaestado` varchar(14) NOT NULL, KEY `FK_matriculas` (`matriculacodperiodo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `matriculas` */ insert into `matriculas` (`matriculacodestudiante`,`matriculanummatricula`,`matriculacodperiodo`,`matriculaco despecializacion`,`matriculacodcurso`,`matriculacodusuario`,`matriculafolio`,`matricul afecha`,`matriculaseccion`,`matriculaparalelo`,`matriculatipo`,`matriculaobservacion`,` matriculaestado`) values ('000002','0219','001','02','05','00','0000','03/10/2013','Vespertina','A','','','Activo'); /*Table structure for table `modulos` */ DROP TABLE IF EXISTS `modulos`; CREATE TABLE `modulos` ( `codmodulo` varchar(2) NOT NULL, `modulo` varchar(100) NOT NULL, `modulourl` varchar(30) NOT NULL, `moduloico` varchar(30) NOT NULL, `modulotexto` varchar(150) NOT NULL, `moduloestado` varchar(8) NOT NULL, PRIMARY KEY (`codmodulo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `modulos` */ insert into `modulos` (`codmodulo`,`modulo`,`modulourl`,`moduloico`,`modulotexto`,`moduloestado`) values ('01','Administrador','menu_administrador.php','administrador.png',': Administra en forma general el sistema acad?mico, Crea usuarios, Modulos, etc.','Activo'); insert into `modulos` (`codmodulo`,`modulo`,`modulourl`,`moduloico`,`modulotexto`,`moduloestado`) values ('02','Rector','menu_rector.php','director2.png',': Crea carreras, distributivos, periodos, consulta calificaciones','Activo'); insert into `modulos` (`codmodulo`,`modulo`,`modulourl`,`moduloico`,`modulotexto`,`moduloestado`) values ('03','Secretaria','menu_secretaria.php','secretarias.png',': Gestiona el sistema acad?mico, modifica de calificaciones, documentos y certificados. ','Activo'); insert into `modulos` (`codmodulo`,`modulo`,`modulourl`,`moduloico`,`modulotexto`,`moduloestado`) values ('04','Docente','menu_docente.php','docente.png',': Ingresa las calificaciones v?a internet.','Activo'); insert into `modulos` (`codmodulo`,`modulo`,`modulourl`,`moduloico`,`modulotexto`,`moduloestado`) values ('05','Estudiante','menu_estudiante.php','estudiante.png',': Consulta calificaciones, asistencia e informaciones generales.','Activo'); /*Table structure for table `periodos` */ DROP TABLE IF EXISTS `periodos`; CREATE TABLE `periodos` ( `codperiodo` varchar(3) NOT NULL, `periodo` varchar(50) NOT NULL, `periodoestado` varchar(8) NOT NULL, PRIMARY KEY (`codperiodo`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `periodos` */ insert into `periodos` (`codperiodo`,`periodo`,`periodoestado`) values ('001','20132014','Activo'); /*Table structure for table `permisos` */ DROP TABLE IF EXISTS `permisos`; CREATE TABLE `permisos` ( `codpermiso` varchar(2) NOT NULL, `permisocodigo` varchar(2) NOT NULL, `permiso` varchar(50) NOT NULL, `permisoestado` varchar(8) NOT NULL, PRIMARY KEY (`codpermiso`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `permisos` */ insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('01','T1','Calificaciones del Primer Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('02','T2','Calificaciones del Segundo Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('03','T3','Calificaciones del Tercer Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('04','M1','Mes 1','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('05','M2','Mes 2','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('06','M3','Mes 3','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('07','M4','Mes 4','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('08','M5','Mes 5','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('09','M6','Mes 6','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('10','M7','Mes 7','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('11','M8','Mes 8','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('12','M9','Mes 9','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('13','C1','Conducta Primer Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('14','C2','Conducta Segundo Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('15','C3','Conducta Tercer Trimestre','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('18','SP','Supletorio','Activo'); insert into `permisos` (`codpermiso`,`permisocodigo`,`permiso`,`permisoestado`) values ('19','CF','Calificaciones Finales','Activo'); /*Table structure for table `usuarios` */ DROP TABLE IF EXISTS `usuarios`; CREATE TABLE `usuarios` ( `codusuario` varchar(4) NOT NULL, `login` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `password` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `usuario` varchar(50) character set utf8 collate utf8_spanish_ci NOT NULL, `usuariocargo` varchar(50) NOT NULL, `usuarioacceso` varchar(8) NOT NULL, `usuarioestado` varchar(8) NOT NULL, PRIMARY KEY (`codusuario`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; /*Data for the table `usuarios` */ insert into `usuarios` (`codusuario`,`login`,`password`,`usuario`,`usuariocargo`,`usuarioacceso`,`usuarioest ado`) values ('001','21232f297a57a5a743894a0e4a801fc3','21232f297a57a5a743894a0e4a801fc3 ','Usuario Maestro','Administrador','Inactivo','Activo'); Código de Fuente UEMASJ Académico_estudianteingresar.php <script language="JavaScript"> function ejecuta_estadocivil(codusuario){ document.formulario.action ="academico_estudiantesingresar.php?clic=si&genero="+formulario.genero.value+"& codusuario="+codusuario; document.formulario.submit(); } var nav = window.Event ? true : false; function validacodigo(evt){ var key = nav ? evt.which : evt.keyCode; return ( key == 8 || (key >= 48 && key <= 57)); } function validatexto(evt,texto,limite){ var key = nav ? evt.which : evt.keyCode; if (texto.value.length < limite){ return ((key >= 225 && key <= 250 ) || key == 32 || key == 8 || key == 38 || (key >= 97 && key <= 122) || (key >= 65 && key <= 90) || key == 241 || key == 209); }else{ return ((key == 0)|| (key == 8)); } } function validatext(evt,texto,limite){ var key = nav ? evt.which : evt.keyCode; if (texto.value.length < limite){ return ((key >= 225 && key <= 250 ) || key == 32 || key == 95 || key == 46 || key == 64 || key == 8 || key == 38 || (key >= 97 && key <= 122) || (key >= 65 && key <= 90) || (key >= 48 && key <= 57) || key == 241 || key == 209); }else{ return ((key == 0)|| (key == 8)); } } function corrigefecha(texto){ var fecha=texto.value; var dia=eval(fecha.charAt(0)+fecha.charAt(1)); var mes=eval(fecha.charAt(3)+fecha.charAt(4)); //var anio=parseInt(fecha.charAt(6)+fecha.charAt(7)+fecha.charAt(8)+fecha.charAt(9)); var anio=eval(fecha.charAt(6)+fecha.charAt(7)+fecha.charAt(8)+fecha.charAt(9)); if ((dia >=1)&&(dia <=9)){ dia="0"+dia; } if ((mes >=1)&&(mes <=9)){ mes="0"+mes; } if (texto.value.length == 1 || texto.value.length == 2){ if ((dia>=1) && (dia<=31)){ }else{ if (texto.value.length == 2){ alert("Error, día ingresado es incorrecto"); texto.value=""; texto.focus(); } } } if (texto.value.length == 4 || texto.value.length == 5){ if ((mes>=1) && (mes<=12)){ }else{ if (texto.value.length == 5){ alert("Error, el mes ingresado es incorrecto"); texto.value=dia+"/"; texto.focus(); } } } d = new Date(); if (texto.value.length == 7 || texto.value.length == 10){ if ((anio>=1900) && (anio<=d.getFullYear())){ }else{ if (texto.value.length == 10){ alert("Error, el año ingresado es incorrecto"); texto.value=dia+"/"+mes+"/"; texto.focus(); } } } } function validafecha(evt,texto){ var key = nav ? evt.which : evt.keyCode; if (texto.value.length == 0 || texto.value.length == 1 || texto.value.length == 3 || texto.value.length == 4 || (texto.value.length >= 6 && texto.value.length <= 9)) { return (key <= 13 || (key >= 48 && key <= 57)); }else{ if (texto.value.length ==2 || texto.value.length == 5){ return (key == 8 || key == 13 || key == 47); }else{ return ((key == 0)|| (key == 8)); } } } </script> <?php require("conexion.php"); require("modulo.php"); require("acceso_validar.php"); echo "<body leftmargin=0 topmargin=2 rightmargin=0 bottommargin=0 marginwidth=0 marginheight=0 onLoad='this.document.formulario.cedula.focus();'>"; echo "<form name=formulario method=post action=academico_estudiantesingresar.php?presionado=si&codusuario=$codusuario >"; echo "<center><table width=400 border=0 cellPadding=1 cellSpacing=0 bgcolor=A0522D><tr><td>"; echo "<table border=0 width='100%' cellPadding=2 cellSpacing=0 bgcolor=A0522D>"; echo "<tr height=25><td><span style='font-size:8.0pt;fontfamily:Tahoma;color:#FFFFFF'><b>Registrar Estudiantes</b></span></td></tr></table>"; echo "<table border=0 width='100%' bgcolor=D4D0C8><tr><td>"; echo "<center><table border=0 height=30 bgcolor=D4D0C8><tr>"; if ($presionado=="si"){ echo "<td><a href=academico_estudiantesingresar.php?codusuario=$codusuario class='normal'><img src=image/actualizar.png border=0 alt=' Actualizar '></a></td>"; }else{ echo "<td><center><input type=image src=image/guardar.png name=Submit alt=' Guardar '></center></td>"; } // echo "<td><a href=academico_estudianteseditar.php?codusuario=$codusuario><img src=image/modificar.png border=0 alt=' Modificar '></a></td>"; // echo "<td><a href=academico_estudianteseliminar.php?codusuario=$codusuario><img src=image/eliminar.png border=0 alt=' Eliminar '></a></td>"; echo "<td><a href=academico_estudiantesconsultar.php?codusuario=$codusuario><img src=image/consultar.png border=0 alt=' Consultar '></a></td>"; echo "</tr></table></center>"; echo "</td></tr></table>"; echo "<table border=0 width='100%' cellPadding=1 cellSpacing=0 bgcolor=808080><tr><td></td></tr></table>"; echo "<table border=0 width='100%' cellPadding=1 cellSpacing=0 bgcolor=FFFFFF><tr><td></td></tr></table>"; echo "<table border=0 width='100%' cellPadding=2 cellSpacing=0 bgcolor=D4D0C8>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>C&eacutedula</b></span></td><td><input name=cedula type=text size=10 maxlength=10 onKeyPress='return validacodigo(event)' style='font-size:8.0pt;font-family:Tahoma;color:#000000' value='$cedula'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Apellido Paterno</b></span></td><td><input name=apadre type=text size=35 maxlength=30 style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' onKeyPress='return validatexto(event,apadre,30)' value='$apadre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Apellido Materno</b></span></td><td><input name=amadre type=text size=35 maxlength=30 style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' onKeyPress='return validatexto(event,amadre,30)' value='$amadre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Nombres</b></span></td><td><input name=nombre type=text size=44 maxlength=40 style='font-size:8.0pt;font- family:Tahoma;color:#000000' onKeyPress='return validatexto(event,nombre,40)' value='$nombre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Fecha de Nacimiento</b></span></td><td><input name=fecha type=text size=10 maxlength=10 onKeyPress='return validafecha(event,fecha)' onkeyup='corrigefecha(fecha)' style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' value='$fecha'><span style='font-size:8.0pt;fontfamily:Tahoma;color:#A0522D'><b> Ej: 01/01/2000 (dd/mm/aaaa)</b></span></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Lugar de Nacimiento</b></span></td><td><input name=lugarnacimiento type=text size=44 maxlength=50 onKeyPress='return validatext(event,lugarnacimiento,50)' style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' value='$lugarnacimiento'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Direcci&oacuten</b></span></td><td><input name=domicilio type=text size=44 maxlength=50 onKeyPress='return validatext(event,domicilio,50)' style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' value='$domicilio'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Celular</b></span></td><td><input name=celular type=text size=10 maxlength=10 onKeyPress='return validacodigo(event)' style='font-size:8.0pt;font-family:Tahoma;color:#000000' value='$celular'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Tel&eacutefono</b></span></td><td><input name=telefono type=text size=10 maxlength=9 onKeyPress='return validacodigo(event)' style='font-size:8.0pt;font-family:Tahoma;color:#000000' value='$telefono'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>e-mail</b></span></td><td><input name=email type=text size=44 maxlength=70 style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' onKeyPress='return validatext(event,email,70)' value='$email'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Nombre del Padre</b></span></td><td><input name=padre type=text size=44 maxlength=50 style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' onKeyPress='return validatexto(event,padre,50)' value='$padre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Profesi&oacuten del Padre</b></span></td><td><input name=profesionpadre type=text size=44 maxlength=50 style='font-size:8.0pt;font-family:Tahoma;color:#000000' onKeyPress='return validatexto(event,profesionpadre,50)' value='$profesionpadre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Nombre de la Madre</b></span></td><td><input name=madre type=text size=44 maxlength=50 style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' onKeyPress='return validatexto(event,madre,50)' value='$madre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Profesi&oacuten de la Madre</b></span></td><td><input name=profesionmadre type=text size=44 maxlength=50 style='font-size:8.0pt;font-family:Tahoma;color:#000000' onKeyPress='return validatexto(event,profesionmadre,50)' value='$profesionmadre'></td></tr>"; echo "<tr><td width=100 align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Colegio en que estudio</b></span></td><td><input name=plantel type=text size=44 maxlength=50 onKeyPress='return validatext(event,plantel,50)' style='font-size:8.0pt;fontfamily:Tahoma;color:#000000' value='$plantel'></td></tr>"; //-------------------------------------------------------------------------------------$auxgenero[1]='Femenino'; $auxgenero[2]='Masculino'; echo "<td align=right><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'><b>Genero</b></span></td>"; echo "<td><Select name=genero style='font-size:8.0pt;fontfamily:Tahoma;color:000000'>"; if ($presionado=="si"){ echo "<option Value=$genero>$genero</option>"; } for ($i=1;$i<=2;$i++){ if (strlen($presionado)==0){ echo "<option Value=$auxgenero[$i]>$auxgenero[$i]</option>"; } if ($presionado=="si"){ if ($auxgenero[$i]==$genero){ }else{ echo "<option Value=$auxgenero[$i]>$auxgenero[$i]</option>"; } } } echo "</Select></td></tr>"; echo "</table>"; echo "</td></tr></table></center>"; //-------------------------------------------------------------------------------------if ($presionado=="si"){ $datosllenos='True'; $error=''; if (strlen($cedula)==0){ $error="c&eacutedula - "; $datosllenos="False"; } if (strlen($apadre)==0){ $error="$error Apellido paterno - "; $datosllenos="False"; } if (strlen($nombre)==0){ $error="$error Nombres"; $datosllenos="False"; } if ($datosllenos=="False"){ echo "<br><center><table width=400 border=0 cellPadding=1 cellSpacing=0 bgcolor=A0522D><tr><td>"; echo "<table border=0 width='100%' cellPadding=2 cellSpacing=0 bgcolor=A0522D>"; echo "<tr height=25><td><span style='font-size:8.0pt;fontfamily:Tahoma;color:#FFFFFF'><b>Error...</b></span></td></tr></table>"; echo "<table border=0 width='100%' height=50 cellPadding=2 cellSpacing=0 bgcolor=D4D0C8><tr>"; echo "<td width=40><center><img src=image/error.gif border=0></center></td><td><center><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'>No ingreso dato obligatorio <b>$error</b> presione Actualizar</span></center></td><tr></td></tr></table>"; echo "</td></tr></table>"; }else{ $result = mysql_query("Select * From estudiantes", $link); $row = mysql_num_rows($result); $repetido="falso"; $i=0; while ($row != $i){ if (mysql_result($result,$i,"cedula")==$cedula){ $repetido="Verdadero"; $errorrepetido=mysql_result($result,$i,"cedula"); } if (mysql_result($result,$i,"apadre")==strtoupper($apadre) && mysql_result($result,$i,"amadre")==strtoupper($amadre) && mysql_result($result,$i,"nombre")==strtoupper($nombre)){ $repetido="Verdadero"; $errorrepetido=mysql_result($result,$i,"apadre")." ".mysql_result($result,$i,"amadre")." ".mysql_result($result,$i,"nombre"); } $i++; } if ($repetido=="Verdadero"){ echo "<br><center><table width=400 border=0 cellPadding=1 cellSpacing=0 bgcolor=A0522D><tr><td>"; echo "<table border=0 width='100%' cellPadding=2 cellSpacing=0 bgcolor=A0522D>"; echo "<tr height=25><td><span style='font-size:8.0pt;fontfamily:Tahoma;color:#FFFFFF'><b>Error...</b></span></td></tr></table>"; echo "<table border=0 width='100%' height=50 cellPadding=2 cellSpacing=0 bgcolor=D4D0C8><tr>"; echo "<td width=40><center><img src=image/warning.gif border=0></center></td><td><center><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'>Intenta registrar un estudiante que ya existe <b>$errorrepetido</b> presione el botón Actualizar</span></center></td><tr></td></tr></table>"; echo "</td></tr></table>"; }else{ $result = mysql_query("Select * From estudiantes Order by codestudiante", $link); $row = mysql_num_rows($result); $i=0; if ($row >= 1){ while ($row != $i){ if ((mysql_result($result,$i,"codestudiante")-1)==$i){ $codestudiante=mysql_result($result,$i,"codestudiante")+1; }else{ $codestudiante=$i+1; $i=$row-1; } $i++; } }else{ $codestudiante=1; } $apadre=strtoupper($apadre); $amadre=strtoupper($amadre); $nombre=strtoupper($nombre); $padre=strtoupper($padre); $madre=strtoupper($madre); $profesionpadre=strtoupper($profesionpadre); $profesionmadre=strtoupper($profesionmadre); $plantel=strtoupper($plantel); $codestudiante=crearceros($codestudiante,6); $result = mysql_query("Insert Into estudiantes values ('$codestudiante','$cedula','$apadre','$amadre','$nombre','$fecha','$lugarnacimiento',' $genero','$domicilio','$plantel','$celular','$telefono','$madre','$profesionmadre','$padre ','$profesionpadre','$email','','','','Activo')", $link); //-------------------------------------------------------------------------------------- //------------------------GENERAR USUARIO TIPO DOCENTE---------------------------------//-------------------------------------------------------------------------------------$result = mysql_query("Select * From usuarios Order by codusuario", $link); $row = mysql_num_rows($result); $i=0; if ($row >= 1){ while ($row != $i){ if ((mysql_result($result,$i,"codusuario")-1)==$i){ $codusuario=mysql_result($result,$i,"codusuario")+1; }else{ $codusuario=$i+1; $i=$row-1; } $i++; } }else{ $codusuario=1; } $codusuario=crearceros($codusuario,3); $password=substr($cedula,6,4); $password=md5($password); $login=md5($cedula); $usuario=$apadre." ".$amadre." ".$nombre; $result = mysql_query("Insert Into usuarios (codusuario,usuario,login,password,usuariocargo,usuarioacceso,usuarioestado) values ('$codusuario','$usuario','$login','$password','Estudiante','Inactivo','Activo')", $link); //-------------------------------------------------------------------------------------echo "<br><center><table width=400 border=0 cellPadding=1 cellSpacing=0 bgcolor=A0522D><tr><td>"; echo "<table border=0 width='100%' cellPadding=2 cellSpacing=0 bgcolor=A0522D>"; echo "<tr height=25><td><span style='font-size:8.0pt;fontfamily:Tahoma;color:#FFFFFF'><b>Informaci&oacuten</b></span></td></tr></table> "; echo "<table border=0 width='100%' height=50 cellPadding=2 cellSpacing=0 bgcolor=D4D0C8><tr>"; echo "<td width=40><center><img src=image/guardar.gif border=0></center></td><td><center><span style='font-size:8.0pt;fontfamily:Tahoma;color:#000000'>Datos del Estudiante guardados correctamente. Presione Actualizar</span></center></td><tr></td></tr></table>"; echo "</td></tr></table>"; } } } ?> <br><br></body> </form>