universidad michoacana de san nicolÁs de hidalgorochoa/cosas/ger_mayo_02_paco.pdf · para todos...
TRANSCRIPT
UNIVERSIDAD MICHOACANA
DE SAN NICOLÁS DE HIDALGO
FACULTAD DE INGENIERÍA ELÉCTRICA
TESIS
“Diseño e implementación de un sistema web para facilitar el
desarrollo de los concursos de oposición dentro de la FIE”
PRESENTA:
Gerardo Lorenzo Cruz
Matricula: a1141646D
PARA OBTENER EL TÍTULO DE:
INGENIERO EN COMPUTACIÓN
ASESOR:
M.C. JOSÉ RAFAEL RODRÍGUEZ OCHOA
MORELIA, MICHOACÁN. MARZO DEL 2019
ii
AGRADECIMIENTOS
A Dios por cuidarme día a día, gracias por permitir cumplir mis sueños,
gracias por sus bendiciones.
A mis padres Efraín Lorenzo Martínez y Paula Cruz Mateo por su gran
apoyo y cariño incondicional en el transcurso de mi carrera y toda mi vida
para dicho logro.
A mis hermanos por su gran apoyo incondicional.
A mis amigos que prestaron atención y ayuda en el momento que lo
necesite.
Al M.C. Rafael Rodríguez Ochoa por su tiempo y apoyo que me brindo
durante el asesoramiento de la tesis.
A las instituciones educativas las cuales son parte de mi desarrollo
académico, ya que también fueron parte esencial para lograr esta nueva
meta (mi titulación por tesis).
Primaria
Secundaria
Preparatoria
Facultad de Ingeniería Eléctrica.
Universidad Michoacana de San Nicolás de Hidalgo.
iii
DEDICATORIA
A Dios por cuidarme y darme sus bendiciones día a día.
A mis padres por el apoyo en los momentos buenos o malos para concluir este proyecto.
A mis hermanos por el apoyo que me brindan día a día.
A mis amigos por la atención y tiempo brindado en tiempos desfavorables.
iv
ÍNDICE
AGRADECIMIENTOS .............................................................................................. ii
DEDICATORIA ........................................................................................................ iii
ÍNDICE .................................................................................................................... iv
RESUMEN ............................................................................................................ viii
PALABRAS CLAVE ............................................................................................... viii
ABSTRACT ............................................................................................................. ix
KEYWORDS ........................................................................................................... ix
LISTA DE FIGURAS ............................................................................................... x
LISTA DE TABLAS ................................................................................................ xiii
GLOSARIO DE TÉRMINOS .................................................................................. xiv
CAPÍTULO 1 INTRODUCCIÓN ............................................................................... 1
1.1- INTRODUCCIÓN AL SISTEMA .................................................................... 1
1.2- PROBLEMA A RESOLVER .......................................................................... 2
1.3- SOLUCIÓN PROPUESTA ............................................................................ 2
1.4- OBJETIVO GENERAL .................................................................................. 2
1.5- OBJETIVOS PARTICULARES ..................................................................... 2
1.6- JUSTIFICACIÓN ........................................................................................... 2
1.7- MARCO TEÓRICO ....................................................................................... 3
1.7.1- SISTEMAS OPERATIVOS PARA DESARROLLO WEB ....................... 3
1.7.1.1- WINDOWS ...................................................................................... 3
1.7.1.2- MAC OS X ....................................................................................... 4
1.7.1.3- LINUX .............................................................................................. 4
1.7.2- DOMINIO ............................................................................................... 5
1.7.3- HOSTING (ALOJAMIENTO WEB) ......................................................... 5
1.7.4- PYTHON ................................................................................................ 5
1.7.5- DJANGO ................................................................................................ 5
1.7.6- ENTORNOS VIRTUALES EN PYTHON CON VIRTUALENV ................ 6
1.7.7- BOOTSTRAP ......................................................................................... 6
1.7.8- jQuery .................................................................................................... 6
1.7.9- MySQL ................................................................................................... 7
v
1.7.10- SISTEMAS GESTORES DE BASE DE DATOS (DBMS) ..................... 7
1.7.10.1- BASE DE DATOS (DATABASE DB) ............................................. 7
CAPÍTULO 2 MANUAL DE CONFIGURACIÓN Y USO DE DJANGO ................ 9
2.1- ORIGEN DE DJANGO .................................................................................. 9
2.2- VENTAJAS DE DJANGO ............................................................................. 9
2.3- INSTALACIÓN DE DJANGO EN LINUX CON PIP DESDE TERMINAL ....... 9
2.4- VIRTUALENV ............................................................................................. 10
2.5- CREAR PROYECTO CON DJANGO ......................................................... 11
2.5.1- COMANDOS PARA CREAR PROYECTO ........................................... 11
2.5.2- COMANDOS PARA CREAR APLICACIÓN ......................................... 13
2.5.3- ARCHIVO SETTINGS.PY .................................................................... 13
2.5.4- INSTRUCCIONES PRINCIPALES A CONFIGURAR .......................... 13
2.5.4.1- CODIFICACIÓN DE CARACTERES ............................................. 13
2.5.4.2- RUTA DEL PROYECTO ................................................................ 14
2.5.4.3- CONFIGURACIÓN DE LA BASE DE DATOS ............................... 14
2.5.4.4- ZONA HORARIA ........................................................................... 15
2.5.4.5- CONFIGURACIÓN DEL IDIOMA .................................................. 15
2.5.4.6- APLICACIONES INSTALADAS ..................................................... 15
2.5.4.7- CREACIÓN DE LA BASE DE DATOS .......................................... 16
2.5.5- ENTENDIENDO COMO TRABAJA DJANGO ...................................... 16
2.5.5.1- EL MODELO EN DJANGO ............................................................ 17
2.5.5.2- LA VISTA EN DJANGO ................................................................. 18
2.5.5.3- LA TEMPLATE EN DJANGO ........................................................ 18
2.5.5.4- LA CONFIGURACIÓN DE LAS RUTAS ........................................ 19
2.5.5.5- LOS ARCHIVOS PREDETERMINADOS ...................................... 19
2.5.5.6- EL MODELO DE DATOS .............................................................. 20
2.5.5.7- EL SHELL DE DJANGO ................................................................ 20
2.5.5.8- LOS FORMULARIOS .................................................................... 21
CAPÍTULO 3 DISEÑO DE LAS PLANTILLAS (LAYOUT) DEL SISTEMA ............ 23
3.1- PANTALLA PRINCIPAL ............................................................................. 23
3.1.1- BOTÓN (ENTRAR) .............................................................................. 25
3.1.2- NIVEL ACADÉMICO ........................................................................... 28
vi
3.1.2.1- ESTUDIOS DE LICENCIATURA Y POSGRADO EN EL ÁREA
QUE SE CONTRATA ................................................................................. 29
3.1.2.2- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL .......................................................................................... 32
3.1.2.3- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PEDAGÓGICA ........................................................................................... 33
3.1.3- DISEÑO Y CREACIÓN DE TABLAS .................................................. 37
CAPÍTULO 4 DESARROLLO Y PRUEBAS DEL SISTEMA .................................. 40
4.1- USUARIOS ................................................................................................. 40
4.1.1- ACCEDER COMO PROFESOR ......................................................... 40
4.1.2- INGRESO DE INFORMACIÓN ACADÉMICA ..................................... 41
4.1.2.1- ESTUDIOS DE LICENCIATURA Y POSGRADO ......................... 42
4.1.2.2- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL .......................................................................................... 44
4.1.2.3- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PEDAGÓGICA ........................................................................................... 44
4.1.3- EXPERIENCIA ACADÉMICA .............................................................. 45
4.1.3.1- IMPARTICIÓN DE CURSOS CURRICULARES ........................... 45
4.1.3.2- IMPARTICIÓN DE TALLERES O SEMINARIOS .......................... 46
4.1.3.3- MATERIALES DIDÁCTICOS ........................................................ 47
4.1.4- EXPERIENCIA PROFESIONAL.......................................................... 47
4.1.4.1- DIRECTOR EN PROYECTOS EJECUTIVOS .............................. 48
4.1.4.2- PARTICIPACIÓN EN PROYECTOS DE INVESTIGACIÓN ......... 48
4.1.4.3- ANTIGÜEDAD EN DOCENCIA, INDUSTRIA O ÁREA DE SU
PROFESIÓN .............................................................................................. 49
4.1.4.4- ANTIGÜEDAD EN INDUSTRIA O ÁREA DE SU PROFESIÓN ... 50
4.1.5- PUBLICACIONES ............................................................................... 50
4.1.5.1- LIBROS ........................................................................................ 51
4.1.5.2- CAPÍTULOS DE LIBRO ............................................................... 52
4.1.5.3- MANUALES O NOTAS ................................................................. 52
4.1.5.4- ARTÍCULOS SOBRE ESPECIALIDAD O ÁREA PROFESIONAL 53
4.1.5.5- ARTÍCULOS DE DIVULGACIÓN O PERIODÍSTICO ................... 54
4.1.5.6- EXPOSICIONES Y EVENTOS ..................................................... 54
4.1.5.7- PONENCIAS EN CONGRESOS O SIMPOSIUM ......................... 55
vii
4.1.5.8- CONFERENCIAS ......................................................................... 55
4.1.6- LABOR ACADÉMICA .......................................................................... 56
4.1.6.1- TUTORÍAS A ESTUDIANTES ...................................................... 57
4.1.6.2- ASESORÍA DE TESIS, TRABAJOS DE TITULACIÓN O TESINAS
................................................................................................................... 58
4.1.6.3- REVISIÓN DE TESIS, TRABAJOS DE TITULACIÓN COMO
SINODAL .................................................................................................... 58
4.1.6.4- ASESORÍA A ALUMNOS DE SERVICIO SOCIAL ....................... 59
4.1.6.5- COORDINACIÓN DE CÍRCULOS DE ESTUDIO Y ACTIVIDADES
REMEDIALES ............................................................................................ 60
4.1.6.6- REVISIÓN Y ACTUALIZACIÓN DE PROGRAMAS DE LAS
MATERIAS ................................................................................................. 60
4.1.6.7- CARGOS Y RESPONSABILIDADES DE ACADÉMICAS ............ 61
4.1.6.8- COMISIONES DE TRABAJO REFERIDAS A PLANES DE
ESTUDIO .................................................................................................... 61
4.1.6.9- PARTICIPACIÓN EN CUERPOS COLEGIADOS ........................ 62
4.1.6.10- DISTINCIONES ACADÉMICAS ................................................. 63
4.1.7- ADMINISTRADOR .............................................................................. 63
4.1.7.1- ACCEDER COMO ADMINISTRADOR ......................................... 63
4.1.7.2- CREAR USUARIO (PROFESOR) ................................................ 65
4.1.7.3- EDITAR USUARIO (PROFESOR) ................................................ 67
4.1.7.4- ELIMINAR USUARIO (PROFESOR) ............................................ 67
4.1.7.5- HISTORIAL DE USUARIOS (PROFESORES) ............................. 68
4.1.8- COMISIÓN ACADÉMICA .................................................................... 69
4.1.8.1- ACCEDER COMO COMISIÓN ACADÉMICA............................... 69
4.1.8.2- VER USUARIOS E HISTORIAL ................................................... 70
4.1.8.3- HISTORIAL................................................................................... 70
4.1.8.4- NIVEL ACADÉMICO .................................................................... 71
4.1.8.5- CALIFICAR ................................................................................... 73
4.1.8.5.4- RESULTADOS DE EXÁMENES ............................................... 75
CAPÍTULO 5 CONCLUSIONES Y TRABAJOS FUTUROS .................................. 78
5.1- CONCLUSIONES ...................................................................................... 78
5.2- IDEAS PARA EL SISTEMA WEB EN UN FUTURO .................................. 78
BIBLIOGRAFÍA ..................................................................................................... 79
viii
RESUMEN
La presente tesis presenta el diseño y desarrollo de un sistema web con Python y
Django que facilita la evaluación de los expedientes para los concursos de
oposición, que es un procedimiento selectivo en el que varios profesores
participan para impartir alguna materia, estos se realizan en la facultad de
Ingeniería eléctrica de la Universidad Michoacana de San Nicolás de Hidalgo.
Teniendo diferentes tipos de usuarios como:
(a) Administrador.
(b) Integrante de comisión académica dictaminadora.
(c) Concursante (posible profesor).
Cada uno tendrá acceso solamente de acuerdo a su tipo de usuario para
garantizar el buen funcionamiento del organigrama.
Así como con un conjunto de funciones como lo son: Tener de manera pública, los
concursos de oposición en turno, interno o abierto, registro de profesores que
tienen la intención de impartir alguna de las materias o bien cubrir alguna plaza
vacante dentro de la Facultad de Ingeniería Eléctrica, subir la documentación
(archivos pdf) que el concursante considere adecuado como comprobante de su
capacidad académica. Así mismo, los resultados de los concursos quedan
almacenados para llevar un historial y que los futuros concursos, donde esté
involucrada la misma persona, no sea complicada su evaluación ya que se
consideraría sólo lo realizado recientemente por la persona.
El desarrollo del sistema es una herramienta que facilita el control tanto por parte
de la administración, de la comisión académica encargada y de la persona
interesada en cubrir la plaza o materia vacante.
PALABRAS CLAVE
Django, Sistema web, Proyecto, Aplicación, Entornos virtuales, Virtualenv, Model,
Template, Vista.
ix
ABSTRACT
This thesis presents the design and development of a system with Python and Django that facilitates the evaluation of the files for the opposition competitions, which is a selective procedure in which several teachers participate to teach some subject, these are done in the faculty of Electrical Engineering from the Michoacán University of San Nicolás de Hidalgo. Having different types of users such as: (a) Administrator. (b) Member of the academic advisory committee. (c) Contestant (possible teacher). Each one will have access only according to their type of user to guarantee the correct functioning of the organization chart. As well as with a set of functions such as: Having publicly, opposition competitions in turn, internal or open, registration of professors who intend to teach any of the subjects or cover a vacancy within the Faculty of Electrical Engineering, upload the documentation (pdf files) that the contestant considers appropriate as proof of their academic capacity. Likewise, all the results of the contests are stored to keep a record and that future contests, where the same person is involved, are not complicated to evaluate as it would only consider what was recently done by the person. The development of the system is a tool that facilitates control by both the administration, the academic commission in charge and the person interested in filling the vacancy or vacancy.
KEYWORDS
Django, Sistema web, Proyecto, Aplicación, Entornos virtuales, Virtualenv, Model,
Template, Vista.
x
LISTA DE FIGURAS
FIGURA 2.1- SERVIDOR CORRIENDO .............................................................. 11
FIGURA 2.2- PROYECTO EN DJANGO CREADO CORRECTAMENTE ............ 12
FIGURA 2.3- PUERTO OCUPADO ...................................................................... 12
FIGURA 2.4- NUEVO PUERTO DESOCUPADO ................................................. 12
FIGURA 2.5- FUNCIONAMIENTO DEL MTV DE DJANGO ................................. 17
FIGURA 2.6- FUNCIONAMIENTO DEL MTV DE DJANGO Y SU URLCONF ..... 19
FIGURA 3.1- PANTALLA PRINCIPAL DEL SISTEMA ......................................... 23
FIGURA 3.2- CODIGO PARA VISUALIZAR CONVOCATORIAS ....................... 24
FIGURA 3.3- GENERAR BOTÓN ENTRAR ......................................................... 24
FIGURA 3.4- ACCESO AL SISTEMA .................................................................. 25
FIGURA 3.5- CODIGO PARA GENERAR EL FORMULARIO PARA EL ACCESO
AL SISTEMA ......................................................................................................... 25
FIGURA 3.6- URL DEL LOGIN ............................................................................ 26
FIGURA 3.7- VISTA PARA VALIDAR USUARIOS REGISTRADOS .................... 27
FIGURA 3.8- PANTALLA CON LOS ASPECTOS A EVALUAR ........................... 27
FIGURA 3.9- CODIGO PARA CREAR BARRA DE NAVEGACIÓN ..................... 28
FIGURA 3.10- MENÚ DEL NIVEL ACADÉMICO ................................................ 28
FIGURA 3.11- CODIGO PARA CREAR MENU DE NIVEL ACADEMICO ........... 29
FIGURA 3.12- PANTALLA DE CAPTURA DE INFORMACIÓN DE ESTUDIOS
FORMALES REALIZADOS EN LICENCIATURA Y POSGRADO EN EL AREA
QUE SE CONTRATA ............................................................................................ 29
FIGURA 3.13- CODIGO PARA CREAR EL FORMULARIO DE PUNTOS POR
CONCEPTO PARA ESTUDIOS DE LICENCIATURA Y POSGRADO .................. 31
FIGURA 3.14- VISTA DE NIVEL ACADEMICO PARA MOSTRAR EL ASPECTO A
EVALUAR Y LOS PUNTOS POR CONCEPTO EN EL TEMPLATE ..................... 31
FIGURA 3.15- TEMPLATE NIVEL_ACADEMICO_FORMA.HTML ...................... 32
FIGURA 3.16- PANTALLA DE CAPTURA DE INFORMACIÓN PARA CURSOS,
TALLERES O SEMINARIOS DE ACTUALIZACIÓN PROFESIONAL ................... 32
FIGURA 3.17- PANTALLA DE CAPTURA DE INFORMACÓN PARA CURSOS,
TALLERES O SEMINARIOS DE ACTUALIZACIÓN PEDAGÓGICA .................... 33
FIGURA 3.18- SUBIR PDF................................................................................... 34
FIGURA 3.19- URL PARA CARGAR PDF ........................................................... 35
FIGURA 3.20- VISTA PARA CARGAR PDF ........................................................ 35
FIGURA 3.21- FORMULARIO PARA DOCUMENTOS_NIVEL_A ........................ 36
FIGURA 3.22- ARCHIVO UPLOAD.HTML ........................................................... 36
FIGURA 3.23- PANTALLA GENERADA CON EL CODIGO QUE SE MUESTRA
EN LA FIGURA 3.22 ............................................................................................. 36
xi
FIGURA 4.1- PANTALLA INICIAL ........................................................................ 40
FIGURA 4.2- ACCESO AL SISTEMA .................................................................. 41
FIGURA 4.3- PANTALLA DE PROFESORES ...................................................... 41
FIGURA 4.4- MENÚ DE NIVEL ACADÉMICO ..................................................... 42
FIGURA 4.5- PANTALLA DE CAPTURA DE ESTUDIOS DE LICENCIATURA Y
POSGRADO .......................................................................................................... 42
FIGURA 4.6- SUBIR PDF..................................................................................... 43
FIGURA 4.7- DOCUMENTO NO SELECCIONADO ............................................ 43
FIGURA 4.8- PANTALLA DE CAPTURA DE CURSOS, TALLERES O
SEMINARIOS DE ACTUALIZACIÓN PROFESIONAL .......................................... 44
FIGURA 4.9- PANTALLA DE CAPTURA DE CURSOS, TALLERES O
SEMINARIOS DE ACTUALIZACIÓN PEDAGÓGICA ........................................... 45
FIGURA 4.10- MENÚ DE EXPERIENCIA ACADÉMICA ....................................... 45
FIGURA 4.11- PANTALLA DE CAPTURA DE IMPARTICIÓN DE CURSOS
CURRICULARES .................................................................................................. 46
FIGURA 4.12- PANTALLA DE CAPTURA DE IMPARTICIÓN DE TALLERES O
SEMINARIOS ........................................................................................................ 46
FIGURA 4.13- PANTALLA DE CAPTURA DE MATERIALES DIDÁCTICOS ....... 47
FIGURA 4.14- MENÚ DE EXPERIENCIA PROFESIONAL .................................. 48
FIGURA 4.15- PANTALLA DE CAPTURA DE DIRECTOR EN PROYECTOS
EJECUTIVOS ........................................................................................................ 48
FIGURA 4.16- PANTALLA DE CAPTURA DE PARTICIPACIÓN EN PROYECTOS
DE INVESTIGACIÓN ............................................................................................ 49
FIGURA 4.17- PANTALLA DE CAPTURA DE ANTIGÜEDAD EN DOCENCIA,
INDUSTRIA O ÁREA DE SU PROFESIÓN ........................................................... 49
FIGURA 4.18- PANTALLA DE CAPTURA DE ANTIGÜEDAD EN INDUSTRIA O
ÁREA DE SU PROFESIÓN................................................................................... 50
FIGURA 4.19- MENÚ PUBLICACIONES ............................................................. 51
FIGURA 4.20- PANTALLA DE CAPTURA DE LIBROS ....................................... 51
FIGURA 4.21- PANTALLA DE CAPTURA DE CAPÍTULOS DE LIBRO .............. 52
FIGURA 4.22- PANTALLA DE CAPTURA DE MANUALES O NOTAS ................ 53
FIGURA 4.23- PANTALLA DE CAPTURA DE ARTÍCULOS SOBRE
ESPECIALIDAD O ÁREA PROFESIONAL ........................................................... 53
FIGURA 4.24- PANTALLA DE CAPTURA DE ARTÍCULOS DE DIVULGACIÓN O
PERIODÍSTICO ..................................................................................................... 54
FIGURA 4.25- PANTALLA DE CAPTURA DE EXPOSICIONES Y EVENTOS .... 54
FIGURA 4.26- PANTALLA DE CAPTURA DE PONENCIAS EN CONGRESOS O
SIMPOSIUM .......................................................................................................... 55
FIGURA 4.27- PANTALLA DE CAPTURA DE CONFERENCIAS ........................ 56
FIGURA 4.28- MENÚ LABOR ACADÉMICA ........................................................ 57
FIGURA 4.29- PANTALLA DE CAPTURA DE TUTORÍAS A ESTUDIANTES ..... 57
FIGURA 4.30- PANTALLA DE CAPTURA DE ASESORÍA DE TESIS, TRABAJOS
DE TITULACIÓN O TESINAS ............................................................................... 58
xii
FIGURA 4.31- PANTALLA DE CAPTURA DE REVISIÓN DE TESIS, TRABAJOS
DE TITULACIÓN COMO SINODAL ...................................................................... 59
FIGURA 4.32- PANTALLA DE CAPTURA DE ASESORÍA A ALUMNOS DE
SERVICIO SOCIAL ............................................................................................... 59
FIGURA 4.33- PANTALLA DE CAPTURA DE COORDINACIÓN DE CÍRCULOS
DE ESTUDIO Y ACTIVIDADES REMEDIALES .................................................... 60
FIGURA 4.34- PANTALLA DE CAPTURA DE REVISIÓN Y ACTUALIZACIÓN DE
PROGRAMAS DE LAS MATERIAS ...................................................................... 60
FIGURA 4.35- PANTALLA DE CAPTURA DE CARGOS Y
RESPONSABILIDADES DE ACADÉMICAS ......................................................... 61
FIGURA 4.36- PANTALLA DE CAPTURA DE COMISIONES DE TRABAJO
REFERIDAS A PLANES DE ESTUDIO ................................................................ 62
FIGURA 4.37- PANTALLA DE CAPTURA DE PARTICIPACIÓN EN CUERPOS
COLEGIADOS ....................................................................................................... 62
FIGURA 4.38- PANTALLA DE CAPTURA DE DISTINCIONES ACADÉMICAS .. 63
FIGURA 4.39- PANTALLA INICIAL PARA ADMINISTRADOR ............................ 64
FIGURA 4.40- LOGIN .......................................................................................... 64
FIGURA 4.41- ADMINISTRADOR ........................................................................ 65
FIGURA 4.42- PROFESORES REGISTRADOS .................................................. 65
FIGURA 4.43- CREAR CUENTA DE USUARIO .................................................. 66
FIGURA 4.44- PROFESORES REGISTRADOS .................................................. 66
FIGURA 4.45- EDITAR PROFESOR ................................................................... 67
FIGURA 4.46- ELIMINAR PROFESOR ................................................................ 68
FIGURA 4.47- PROFESORES REGISTRADOS .................................................. 68
FIGURA 4.48- HISTORIAL DE EL PROFESOR .................................................. 68
FIGURA 4.49- PANTALLA INICIAL PARA COMISIÓN ACADÉMICA .................. 69
FIGURA 4.50- LOGIN REVISORA ACADÉMICA ................................................. 69
FIGURA 4.51- COMISIÓN ACADÉMICA ............................................................. 70
FIGURA 4.52- PROFESORES REGISTRADOS .................................................. 70
FIGURA 4.53- HISTORIAL DE RENÉ .................................................................. 71
FIGURA 4.54- ASPECTOS A EVALUAR ............................................................. 71
FIGURA 4.55- ESTUDIOS DE LICENCIATURA Y POSGRADO ......................... 72
FIGURA 4.56- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL ..................................................................................................... 72
FIGURA 4.57- CALIFICAR ................................................................................... 73
FIGURA 4.58- CALIFICAR EXAMEN ORAL ........................................................ 74
FIGURA 4.59- CALIFICAR DESARROLLO DEL TEMA ....................................... 74
FIGURA 4.60- CALIFICAR EXPOSICIÓN ............................................................ 75
FIGURA 4.61- RESULTADOS DE EXAMEN ORAL ............................................. 76
FIGURA 4.62- RESULTADOS DEL DESARROLLO POR ESCRITO .................. 76
FIGURA 4.63- RESULTADOS DE LAS EXPOSICIONES .................................... 77
xiii
LISTA DE TABLAS
Tabla 1.1- Ejemplo de tabla con 3 campos ............................................................ 7
Tabla 1.2- Ejemplo de tabla con 2 registros ........................................................... 8
Tabla 1.3- Ejemplo de clave primaria ..................................................................... 8
Tabla 2. 1- Relación entre MVC Y MTV ............................................................... 16
Tabla 3.1- Diseño de la tabla profesor ................................................................. 37
Tabla 3.2- Diseño de la tabla puntos por concepto .............................................. 37
Tabla 3.3- Diseño de la tabla PDF ....................................................................... 38
Tabla 3.4- Rediseño de la tabla puntos por concepto .......................................... 39
Tabla 3.5- Rediseño de la tabla PDF ................................................................... 39
xiv
GLOSARIO DE TÉRMINOS
Concurso de oposición Es un procedimiento selectivo en el que varios profesores participan para impartir alguna materia dentro de la Facultad de Ingeniería eléctrica. Teniendo en cuenta que hay concurso de oposición interno y abierto, tomando en cuenta que estos dependen de un reglamento.
XAMPP Es un servidor independiente de software libre que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.
WAMP Este el acrónimo usado para describir un sistema de infraestructura de internet que usa las siguientes herramientas: WINDOWS como sistema operativo, APACHE como servidor web, MySQL como servidor web y PHP, Perl o Python como lenguajes de programación.
PIP Es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python.
1
CAPÍTULO 1
INTRODUCCIÓN
1.1- INTRODUCCIÓN AL SISTEMA En la Facultad de Ingeniería Eléctrica, se tiene el problema de hacer, de manera
práctica, la evaluación de los expedientes de los profesores, necesarios para el
buen desarrollo de los concursos de oposición.
Cuando se lleva a cabo un concurso de oposición, es necesario que la persona
interesada en participar en él, presente su currículum vitae con la documentación
que compruebe lo ahí indicado. Son muchos los casos en donde la documentación
probatoria es voluminosa. Por tal motivo, surge la necesidad de utilizar las nuevas
tecnologías para agilizar el proceso y evitar realizar el mismo trabajo repetidas
veces al revisar el mismo expediente en diferentes concursos de posición.
El propósito entonces, es la de crear un sistema web que almacene la información,
tanto en puntaje como en documentos de las personas interesadas en concursar
por una materia o plaza. Así mismo, que permita la asignación de puntaje por
parte de los integrantes de la comisión académica. Como resultado de ello, la
comisión académica podría no revisar el expediente ya revisado, en concursos
anteriores, y continuar con el proceso del concurso.
Dado que solamente se almacenan los datos del concurso de cada persona, no es
necesario hacer un diseño bien elaborado de base de datos, ya que la información
en caso de que exista, es considerada a criterio de la comisión académica.
En este trabajo se propone desarrollar un sistema web que permita cubrir las
siguientes necesidades:
(1) Permitir diferentes tipos de usuarios:
(d) Administrador.
(e) Integrante de comisión académica dictaminadora.
(f) Concursante (posible profesor).
Cada uno de los usuarios, tendrán acceso solamente de acuerdo a su tipo
de usuario para garantizar el buen funcionamiento del organigrama.
(2) Tener información de manera pública, de los concursos de oposición en turno,
interno o abierto.
(3) Permitir subir la documentación (archivos pdf) que el concursante considere
adecuado como comprobante de su capacidad académica.
(4) Almacenar la documentación y el puntaje del participante en turno.
2
1.2- PROBLEMA A RESOLVER Es tedioso y cansado revisar cada documento de cada profesor que participa en el
concurso de oposición para impartir, una materia cada semestre, más cuando se
tiene una gran cantidad de cursos, investigaciones, etc.
Actualmente el tiempo para seleccionar un maestro, es muy complicado, ya que se
tiene una gran cantidad de documentos que revisar.
1.3- SOLUCIÓN PROPUESTA La propuesta de solución es, el desarrollo de un sistema web que permita cubrir
las siguientes necesidades:
1. Registro de usuarios.
2. Mostrar convocatorias de materia vacantes.
3. Subir comprobantes de cursos en pdf.
4. Almacenar los datos del concurso.
1.4- OBJETIVO GENERAL Proporcionar un sistema web que permita almacenar los resultados del concurso
de cada posible profesor.
1.5- OBJETIVOS PARTICULARES Diseñar y desarrollar un sistema web amigable con los usuarios.
Proporcionar resultados de cada profesor del concurso de oposición en
turno.
1.6- JUSTIFICACIÓN Se busca facilitar el proceso de selección de futuros profesores durante los
concursos de oposición. Estos concursos se llevan a cabo en todas las
dependencias de la Universidad Michoacana. Dicho trabajo se centra en un
sistema web que funcione como facilitador en el proceso de los concursos de
oposición dentro de la Facultad de Ingeniería Eléctrica.
Dentro de la Facultad de Ingeniería Eléctrica, el proceso durante los concursos de
oposición puede no ser homogéneo, lo que da cabida a una no uniformidad en los
formatos que se presentan a la administración por parte de las comisiones
académicas. Con este trabajo, se intenta lograr esa uniformidad.
Para ello, se va a diseñar y a desarrollar un sistema web que permita llevar a cabo
los concursos de una manera más simple, dinámica y homogénea.
3
Esto es posible debido a que se podrá automatizar el llenado de las tablas de
valoración respectivas, por lo que se podrá considerar los resultados de los
participantes de concursos anteriores y no será necesario volver a revisar dichos
aspectos considerados.
1.7- MARCO TEÓRICO En el capítulo se describe la teoría necesaria para el desarrollo web, así como
también contiene información general de los sistemas operativos utilizados para
desarrollo web, hosting, dominio, Python, Django, entornos virtuales, bootstrap,
jQuery y MySQL.
1.7.1- SISTEMAS OPERATIVOS PARA DESARROLLO WEB
1.7.1.1- WINDOWS
Windows es la solución más usual para los usuarios de PC, ya que normalmente
la mayoría de las personas pueden utilizarlo.
Si lo que se busca es el diseño web prácticamente todos los programas como
XAMPP o WAMP están disponibles para Windows, ya sea a nivel gráfico como a
nivel de código.
A nivel de desarrollo en principio Windows no era el mejor sistema operativo
debido a su falta de compatibilidad con los lenguajes que se usan en web y había
que recurrir a herramientas como Xampp o Wamp, pero desde la inclusión del
subsistema de Linux (una consola) se ha avanzado mucho en este campo[1].
Ventajas de utilizar Windows:
Ubuntu integrado, con todas las herramientas.
Desventajas de utilizar Windows:
Incómodo a la hora de instalar software de servidor (Apache, postgreSQL).
Es propenso a los virus[2].
4
1.7.1.2- MAC OS X
Si se tiene un ordenador Apple se encuentra, ya que viene instalado. También es
posible instalarlo en un PC, pero ya es bastante más complicado, ya que se tiene
una serie de componentes muy específicos o hay que montarlo en una máquina
virtual, donde no funciona tan bien.
La optimización es muy buena, por lo que el rendimiento de todos los programas
es excelente.
A nivel de desarrollo web tiene una ventaja de ser un sistema operativo
descendiente de Unix, cuenta con una consola y las posibilidades que
encontraríamos por ejemplo en un Linux, como poder instalar directamente
Apache. También podemos usar otras soluciones como Mamp[1].
Ventajas de usar MAC OS X:
Terminal Unix.
Brew, instalación cómoda de software.
Buenas GUIs, como MacVim y para Emacs.
Desventajas de usar MAC OS X:
Xcode: Si se quiere desarrollar para Mac se tendrá que pasar por Mac
desde ir a comprarte un equipo hasta aprender a utilizar el Xcode y no es
un programa sencillo a la hora de desplegar. Además, los emuladores de
iOS son lentos.
La RAM se llena muy rápido[2].
1.7.1.3- LINUX
Internet es Linux en su mayoría, por lo que es el entorno más natural sobre todo
para el desarrollo web.
Es el mejor sistema operativo para desarrollo web, ya que la mayoría de los
servidores son Linux. Todos los servicios que se encuentran en Internet funcionan
de forma nativa y no son complicados de instalar, incluso actualmente hay
asistentes que lo hacen de forma bastante automatizada[1].
Ventajas de usar Linux:
Gestión cómoda de instalación y actualización de software.
Magnífico rendimiento.
5
Desventajas de usar Linux:
Mayor tiempo para instalar servicios o realizar configuraciones en el sistema
Linux por medio de la terminal lo que en otros sistemas operativos se hace
con un solo clic[2].
1.7.2- DOMINIO Un dominio es el nombre único y exclusivo que se le da a un sitio web en Internet
para que cualquier persona y desde cualquier lugar pueda acceder a el sitio
web[4].
1.7.3- HOSTING (ALOJAMIENTO WEB) El hosting, es un servicio al que se puede asociar un dominio. Si se tiene un
dominio, lo más probable es que se quiera para tener una página web.
El hosting son los servicios que se necesitan para tener un sitio web.
Hosting es tener espacio en el disco duro de un servidor, que está preparado con
los programas necesarios para que poder subir un sitio web[3].
1.7.4- PYTHON Python es un lenguaje de programación de alto nivel interpretado para
programación de propósito general. Python tiene una filosofía de diseño que
enfatiza la legibilidad del código, notablemente utilizando espacios en blanco
significativos. Proporciona construcciones que permiten una programación clara
en escalas pequeñas y grandes.
Python presenta un sistema de tipo dinámico y administración de memoria
automática. Admite múltiples paradigmas de programación, incluidos los
orientados a objetos, imperativos, funcionales y de procedimiento, y tiene una
biblioteca estándar amplia y completa[5].
1.7.5- DJANGO Django es un framework web Python de alto nivel, que fomenta un desarrollo
rápido, un diseño limpio y pragmático. Se encarga de gran parte de las
complicaciones del desarrollo web.
6
Rápido:
Django fue diseñado para ayudar a los desarrolladores a llevar las
aplicaciones desde el concepto hasta su finalización lo más rápido posible.
Tranquilo y seguro:
Django toma en serio la seguridad y ayuda a los desarrolladores a evitar
muchos errores comunes de seguridad.
Extremadamente escalable:
Algunos de los sitios más ocupados de la Web aprovechan la capacidad de
Django para escalar de forma rápida y flexible[6].
1.7.6- ENTORNOS VIRTUALES EN PYTHON CON VIRTUALENV Un entorno virtual es un ambiente creado con el objetivo de aislar recursos como
librerías, programas, o módulos necesarios que se necesitan instalar para el
funcionamiento del sistema web. Se pueden tener varios entornos distintos,
instalando en cada uno los módulos necesarios, sin que unos entornos afecten a
los otros[7].
Algunas veces es necesario tener varios entornos de trabajo distintos, con
distintas versiones del intérprete, distintas librerías, etc. Por lo cual lo más común
es tener varios ordenadores o máquinas virtuales con instalaciones diferentes.
Python brinda “Virtualenv”, herramienta simple y útil para facilitar ese trabajo.
Virtualenv es un programa que permite crear entornos virtuales de Python.
1.7.7- BOOTSTRAP Bootstrap es un framework para diseñar sitios web y aplicaciones web. Contiene
plantillas de diseño basadas en HTML y CSS para tipografía, formularios, botones,
navegación y otros componentes de la interfaz, así como extensiones de Java
Script opcionales[8].
1.7.8- jQuery jQuery es una biblioteca de Java Script rápida, pequeña y rica en funciones. Hace
cosas como el recorrido y manipulación de documentos HTML, manejo de
eventos, animación, y Ajax mucho más simple con una API fácil de usar que
funciona en una multitud de navegadores. Con una combinación de versatilidad y
extensibilidad, jQuery ha cambiado la forma en que millones de personas escriben
Java Script[9].
7
1.7.9- MySQL MySQL es un sistema de gestión de bases de datos relacionales de código abierto
(RDBMS) pero sobre todo gratuito. Su nombre es una combinación de "Mi", el
nombre de la hija del cofundador Michael Widenius, y "SQL", la abreviatura de
Structured Query Language (lenguaje de consulta estructurado). El proyecto de
desarrollo de MySQL ha hecho que su código fuente esté disponible bajo los
términos de la Licencia Pública General de GNU, así como bajo una variedad de
acuerdos de propiedad. MySQL era propiedad y estaba patrocinado por una sola
empresa con fines de lucro, la empresa sueca MySQL AB, ahora propiedad de
Oracle Corporation.
MySQL es un componente central de la pila de software de aplicaciones web de
código abierto LAMP (y otras pilas "AMP").
LAMP es un acrónimo de "Linux, Apache, MySQL, Perl / PHP / Python"[10].
1.7.10- SISTEMAS GESTORES DE BASE DE DATOS (DBMS) Los programas denominados Sistemas Gestores de Base de Datos, abreviados
SGDB, en ingles Data Base Management System (DBMS), permiten almacenar y
posteriormente acceder a los datos de forma rápida y estructurada. Las
propiedades de estos, así como su utilización y administración se utilizan dentro
del ámbito de la informática.
1.7.10.1- BASE DE DATOS (DATABASE DB)
Es un almacén de datos con diferentes modos de organización, para poder
almacenar, gestionar, actualizar y acceder a los datos fácilmente. Una base de
datos representa algunos aspectos del mundo real, aquellos que le interesan al
usuario. Y que almacenan datos con un propósito específico. Con palabras “datos”
se hace referencia a hechos conocidos que pueden registrarse, como números
telefónicos, direcciones, nombres, etc.
1.7.10.1.1- CAMPO
En las bases de datos un campo es la mínima unidad de información a la que se
puede acceder, así como también es un espacio de almacenamiento para un dato
en particular, como puede ser el nombre de una persona, apellido paterno,
apellido materno, edad, etc. A continuación, en la Tabla se muestra un ejemplo
que contiene una tabla con 3 campos: Nombre, Apellido, Edad.
Tabla 1.1- Ejemplo de tabla con 3 campos
Nombre Apellido Edad
Juan Linares 20
8
1.7.10.1.2- REGISTRO
También llamado renglón o Tupla, el cual representa un conjunto de datos
relacionados que son parte de una tabla, A continuación, en la Tabla 1.2 se
muestra una tabla con 3 campos y dos registros.
1.7.10.1.3- TABLA
Tabla en base de datos se refiere al tipo de modelado de datos, donde se guardan
y almacenan los datos recogidos. Las tablas se usan para visualizar y representar
la información, como se ve en la Tabla1.2.
Tabla 1.2- Ejemplo de tabla con 2 registros
Nombre Apellido Edad
Juan Linares 20
Ana Morales 17
1.7.10.1.4- CLAVE PRIMARIA (PRIMARY KEY)
La clave primaria es un atributo o campo que identifica de forma exclusiva cada
registro en una determinada tabla.
Las reglas son:
Única
Inalterable
Nunca nula
Se puede tomar como ejemplo la lista de profesores que imparten clases en una
determinada escuela, en ocasiones hay dos profesores que tienen el mismo
nombre y lo único que los diferencia es el número en la lista, como se observa en
la Tabla 1.3.
Tabla 1.3- Ejemplo de clave primaria
Clave Primaria
Nombre Apellido Paterno Apellido Materno
01 Fernanda Linares Lozano
02 José Morales Romero
03 Juan López Pérez
04 Juan López Ruiz
9
CAPÍTULO 2
MANUAL DE CONFIGURACIÓN Y USO DE DJANGO
2.1- ORIGEN DE DJANGO Django nace como un proyecto para publicación de noticias de Lawrence Journal-
World4. Lo interesante de Django es, que, desde un principio, fue construido como
una herramienta para resolver problemas reales en un entorno empresarial. Fue
diseñado para optimizar el tiempo de desarrollo y los requerimientos exigentes de
los desarrolladores web. El nombre de Django es en honor al famoso músico
francés Django Reinhardt.
2.2- VENTAJAS DE DJANGO Django impulsa el desarrollo de código limpio al promover buenas prácticas de
desarrollo web, sigue el principio DRY (Don‟t repeat yourself - no te repitas). Usa
una modificación de la arquitectura MVC (Modelo-Vista-Controlador), llamada MTV
(Model-Template–View), está forma de trabajar permite que sea pragmático.
2.3- INSTALACIÓN DE DJANGO EN LINUX CON PIP DESDE
TERMINAL
1) sudo apt-get install python3-pip
2) Esto creará una nueva carpeta llamada pip3, que para hacer un uso de la
herramienta PIP más ágil, estableceremos un enlace hacia PIP:
which pip3
ln –s /usr/bin/pip3 /usr/bin/pip
3) Para comprobar la versión de PIP instalada se teclea el comando:
pip –V
4) Ya que se instaló pip, ya se puede usar esta aplicación para instalar Django:
pip3 install django==1.9
Con „django==1.9‟ se especifica qué versión se desea obtener, por lo que si se
desea alguna versión diferente, sólo se cambia el número de versión (por ejemplo,
django==1.7; django==1.8…)
10
5) Revisar la versión instalada con el comando:
django-admin - -versión
6) Para comprobar que todo está correctamente instalado mediante un pequeño
script incluido con las dependencias de Django:
python3
import django
print(django.get_version())
2.4- VIRTUALENV Se trata de un creador de entornos útiles cuando en Python se desea aislar un
entorno con unas librerías determinadas de otro.
pip install virtualenv
Al igual que con django en el caso de pip, aquí también se puede seleccionar qué
versión de Python se desea descargar e instalar; pudiendo aplicar diferentes
versiones a distintos entornos:
virtualenv --python=python3.4nombre_entorno
Este comando creará una nueva carpeta llamada “nombre_entorno” que contendrá
los directorios bin y lib. Ahora se puede activar el entorno para poder instalar las
herramientas deseadas, en nuestro caso Django, para empezar se activa el
entorno virtual con el comando siguiente:
Source nombre_entorno/bin/actívate
nombre_entorno/bin/actívate #usar este comando en caso de no
tener el comando source
Dentro del entorno virtual descargar e instalar Django:
pip install django==1.9
Para comprobar que todo está correcto, se usa el comando que permite ver la
versión.
django-admin --versión
11
2.5- CREAR PROYECTO CON DJANGO Abrir una terminal y colocarse en la carpeta donde se desea crear el proyecto y
escribir:
Virtualenv -p python3 env(env→ Nombre del entorno virtual).
source env/bin/actívate→ Activar entorno virtual.
deactivate→ Desactiva entorno virtual.
pip install django→ Instalar django en el entorno virtual.
2.5.1- COMANDOS PARA CREAR PROYECTO django-admin start project “nombre del Proyecto”
Esta instrucción creará dos directorios con el nombre del proyecto y 4 archivos
distribuidos de la siguiente manera:
manage.py
nombre Proyectó
__init__.py
settings.py
urls.py
wsgi.py
Para verificar que el proyecto está funcionando correctamente en la terminal se
escribe:
Python manage.py runserver
FIGURA 2.1- SERVIDOR CORRIENDO
Abrir en el navegador web la dirección http://127.0.0.1:8000/ y se podrá observar
la siguiente imagen como la que se muestra en la FIGURA 2.2:
12
FIGURA 2.2- PROYECTO EN DJANGO CREADO CORRECTAMENTE
Hasta el momento ya se tiene el proyecto creado. En el caso de que salga un error
porque el puerto asignado está en uso como se observa en la FIGURA 2.3:
FIGURA 2.3- PUERTO OCUPADO
Sólo es necesario indicar qué puerto usaremos para lanzar el servicio, por
ejemplo, si se desea usar el puerto 8888 entonces se tendría que colocar dicho
puerto:
python manage.py runserver 8888
Se usa la dirección http://127.0.0.1:8888/ para verificar que el puerto puesto no
esté ocupado y se debe obtener un resultado como lo muestra la FIGURA 2.4:
FIGURA 2.4- NUEVO PUERTO DESOCUPADO
13
2.5.2- COMANDOS PARA CREAR APLICACIÓN Cada proyecto necesita de aplicaciones donde se puedan gestionar los modelos
que se describen en el apartado 2.5.5.1y las vistas en el apartado 2.5.5.2.
Un proyecto puede tener muchas aplicaciones.
Para crear la primera aplicación, desde la terminal y en la carpeta del proyecto, se
debe escribir:
python manage.py start app “nombre Aplicación”
Esto creará un directorio y cuatro archivos más, por lo que se obtiene una
estructura de archivos como esta:
manage.py
nombre Proyecto
__init__.py
settings.py
urls.py
wsgi.py
nombre Aplicación
__init__.py
models.py
test.py
views.py
2.5.3- ARCHIVO SETTINGS.PY
El archivo settings.py es una parte muy importante del proyecto, el cual
permite configurar la conexión a la base de datos, la zona horaria, el idioma, los
directorios principales del proyecto, las aplicaciones del proyecto, etc.
2.5.4- INSTRUCCIONES PRINCIPALES A CONFIGURAR
2.5.4.1- CODIFICACIÓN DE CARACTERES
El idioma que se utiliza está lleno de caracteres especiales como las tildes y las
eñes que son las más comunes, para manejar esto eficientemente en Django es
agregar la siguiente línea al archivo settings.py:
#encoding:utf-8
14
2.5.4.2- RUTA DEL PROYECTO
Permite lanzar la aplicación desde cualquier directorio y mover el proyecto a
cualquier computador con Django instalado. Para es necesario escribir las
siguientes líneas en el archivo settings.py:
# Identificando la ruta del proyecto
import os
RUTA_PROYECTO = os.path.dirname(os.path.realpath(__file__))
NOTA:
Si no se configura la ruta del proyecto, cada vez que se cambia de
directorio o de PC, se tendrá que cambiar las rutas de las plantillas,
archivos estáticos y directorio de subida de contenido de los usuarios.
2.5.4.3- CONFIGURACIÓN DE LA BASE DE DATOS
También se puede configurar la conexión a la base de datos según las
necesidades que se tangan, Django soporta de manera predeterminada la
conexión con postgresql, MySQL, sqlite3.
Conexión con sqlite3.
Buscar la sección de DATABASES en el archivo settings.py y dejarla de la
siguiente manera:
DATABASES = {
‘default’: {
‘ENGINE’:‘django.db.backends.sqlite3’,#Add
‘postgresql_psycopg2’,mysql’, ‘sqlite3’ or ‘oracle’.
‘NAME’: ‘recetario.db’, # Or path to database file
if using sqlite3.
‘USER’: ‘’, # Not used with sqlite3.
‘PASSWORD’: ‘’, # Not used with sqlite3.
‘HOST’: ‘’, # Set to empty string for local host. Not
used with sqlite3.
‘PORT’: ‘’, # Set to empty string for default. Not
used with sqlite3.
}}
15
2.5.4.4- ZONA HORARIA
Cuando el soporte para zonas horarias está habilitado, Django almacena
información de fecha y hora en UTC (Universal Time Coordinated – Tiempo
Coordinado Universal) en la base de datos, utiliza objetos de fecha y hora
reconocidos por la zona horaria internamente y los traduce a la zona horaria del
usuario final en platillas y formularios.
Esto es útil si los usuarios viven en más de una zona horaria y desea mostrar la
fecha y hora de acuerdo con el reloj de cada usuario.
En este caso se configuro a la zona horaria UTC.
TIME_ZONE = ‘UTC’
2.5.4.5- CONFIGURACIÓN DEL IDIOMA
Django también permite configurar el idioma que se usará de manera
predeterminada para su funcionamiento, para configurarlo se debe buscar lo
siguiente:
LANGUAGE_CODE = ‘en-us’
Para este proyecto se configuro de la siguiente forma ya que se desea tener el
idioma en español en México:
LANGUAGE_CODE = 'es-mex'
2.5.4.6- APLICACIONES INSTALADAS
Un proyecto en Django necesita de aplicaciones. Algunas ya vienen configuradas
de manera predeterminada. Para habilitar las aplicaciones creadas por el
desarrollador se debe buscar la siguiente sección, que se encuentra en el archivo
settings.py y agregar cada aplicación creada como se muestra continuación.
INSTALLED_APPS= (
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.sites’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘django.contrib.admin’,
16
‘django.contrib.admindocs’,
‘nombre Aplicación’,)
2.5.4.7- CREACIÓN DE LA BASE DE DATOS
Hasta el momento no se ha creado la base de datos o las tablas predeterminadas
del proyecto, solo se han configurado los parámetros de conexión. Para crear la
base de datos, se debe colocar desde la terminal las siguientes instrucciones
(recordando que todo se realiza en la carpeta de proyecto):
python manage.py makemigrations
python manage.py migrate
2.5.5- ENTENDIENDO COMO TRABAJA DJANGO
Funcionamiento del patrón MVC:
Modelo Vista Controlador (MVC) es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos.
El Modelo del patrón MVC que contiene una representación de los datos que maneja el sistema, su lógica de negocio, y sus mecanismos de persistencia.
La Vista del patrón MVC, o interfaz de usuario, que compone la información que se envía al cliente y los mecanismos interacción con éste.
El Controlador del patrón MVC, que actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada uno.
Django es un framework que trabaja con el patrón MTV (una modificación del
patrón MVC), esto se debe a que los desarrolladores no tuvieron la intención de
seguir algún patrón de desarrollo, sino hacerlo lo más funcional posible.
Para empezar a entender el patrón MTV con el que trabaja Django se debe fijar la
relación con el patrón MVC.
Tabla 2. 1- Relación entre MVC Y MTV
MVC DJANGO (MTV)
Modelo Modelo
Vista Témplate (Plantilla)
Controlador Vista
17
Para entender mejor el funcionamiento de MTV de Django, se observar en la
FIGURA 2.5, que el navegador manda una solicitud, de acuerdo a la URL que se
coloca en el navegador, esta busca la vista que le corresponda e interactúa con el
modelo para obtener los datos correspondientes, una vez obtenidos los datos, la
vista llama a la Template (Plantilla) y está renderiza la respuesta a la solicitud del
navegador.
FIGURA 2.5- FUNCIONAMIENTO DEL MTV DE DJANGO
2.5.5.1- EL MODELO EN DJANGO
Un modelo es la fuente única y definitiva de información sobre sus datos. Contiene los campos y comportamientos esenciales de los datos que está almacenando. En general, cada modelo se asigna a una única tabla de base de datos, donde cada modelo es una clase de Python de subclases django.db.models.Model
También posee métodos o funciones los cuales permiten asignar valores a los campos del modelo. Este modelo de ejemplo define una persona, que tiene un nombre, apellido y fecha
de registro, así como un método llamado Registro:
from django.db import models
from django.utils import timezone
class Persona(models.Model):
Nombre = models.CharField(max_length=30)
Apellido = models.CharField(max_length=30)
Registro_Fecha=models.DateTimeField(blank=True,null=True)
#metodo para asignar la fecha a el campo Registro_Fecha
def Registro(self):
self. Registro_Fecha = timezone.now()
self.save()
18
Donde el Nombre, Apellido y Registro Fecha son campos del modelo. Cada campo se especifica como un atributo de clase, y cada atributo se asigna a una columna de base de datos.
2.5.5.2- LA VISTA EN DJANGO
Una función de vista, o vista para abreviar, es simplemente una función de Python que toma una solicitud web y devuelve una respuesta web, esto quiere decir que
su propósito es determinar qué datos serán visualizados. El ORM (Object-Relational Mapper o "Mapeador") de Django permite escribir código Python en lugar de SQL para hacer las consultas que necesita la vista. La vista también se encarga de tareas conocidas como el envío de correo electrónico, la autenticación con servicios externos y la validación de datos a través de formularios. Lo más importante a entender con respecto a la vista es que no tiene nada que ver con el estilo de presentación de los datos, sólo se encarga de los datos, la presentación es tarea de la Template. Por ejemplo, una vista que devuelve la fecha y hora actual, como un documento HTML:
from django.http import HttpResponse
import datetime
def fecha_hora(request):
actual = datetime.datetime.now()
html = "<html><body>Fecha y hora actual %s.</body></html>" %
actual
return HttpResponse(html)
2.5.5.3- LA TEMPLATE EN DJANGO
El template (plantilla) es básicamente una página HTML con algunas etiquetas
extras propias de Django, en sí, no solamente crea contenido en HTML (también
XML, CSS, Java script,CSV, etc).
La plantilla recibe los datos de la vista y luego los organiza para la presentación al
navegador web. Las etiquetas que Django usa para las plantillas; permiten que
sea flexible para los diseñadores del frontend. Incluso tiene estructuras de control
datos como if, por si es necesaria una presentación lógica de los datos. Estas
estructuras son limitadas para evitar un desorden, poniendo cualquier tipo de
19
código Python. Esto permite que la lógica del sistema siga permaneciendo en la
vista.
2.5.5.4- LA CONFIGURACIÓN DE LAS RUTAS
Django posee un mapeo de URLS que permite controlar el despliegue de las
vistas. Esta configuración es conocida como URLConf. El trabajo del URLConf es
leer la URL que el usuario solicitó, encontrar la vista apropiada para la solicitud y
pasar cualquier variable que la vista necesite para completar su trabajo. El
URLConf está construido con expresiones regulares en Python.
FIGURA 2.6- FUNCIONAMIENTO DEL MTV DE DJANGO Y SU URLCONF
2.5.5.5- LOS ARCHIVOS PREDETERMINADOS
Son los archivos que se crean de manera predeterminada, los cuales son:
2.5.5.5.1- ARCHIVOS DEL PROYECTO __init__.py: Es un archivo vacío que le dice a Python que debe considerar
este directorio como un paquete de Python
manage.py: Contiene una porción de código que permite interactuar con el
proyecto de Django de muchas formas.
settings.py: Contiene todas las configuraciones para el proyecto
urls.py: Contiene las rutas que están disponibles en el proyecto,
manejado por URLCONF.
2.5.5.5.2- ARCHIVOS DE LA APLICACIÓN __init__.py: Es un archivo vacío que le dice a Python que debe considerar
este directorio como un paquete de Python
models.py: Se declaran las clases del modelo.
20
views.py: Se declaran las funciones de la vista.
test.py: Se declaran las pruebas necesarias para la aplicación.
2.5.5.6- EL MODELO DE DATOS
Una vez que se tiene instalado Django, y ya se creó el proyecto es necesario
definir el modelo de datos para la aplicación.
2.5.5.6.1- EL MODELO
Un modelo es la representación de los datos de la aplicación. Contiene los
campos básicos y el comportamiento de los datos que serán almacenados. Por lo
general, cada modelo se convierte en una tabla de la base de datos.
2.5.5.6.2- LO FUNDAMENTAL
Cada modelo es una subclase de django.db.models.Model .
Cada atributo de un modelo representa a un campo de una tabla.
Django automáticamente da acceso a la base de datos.
2.5.5.7- EL SHELL DE DJANGO
Los modelos permiten manipular los datos: registrarlos, editarlos, actualizar
consultar, eliminarlos y realizar procesos con ellos. Toda esta manipulación se
reflejará en las vistas y posteriormente en las plantillas para mostrar los resultados
en el navegador, esta manipulación se le conoce generalmente como: Consultas.
2.5.5.7.1- EL SHELL
Es el intérprete interactivo de Python, que permite probar los modelos, hacer
consultas, analizar resultados, antes de elaborar las vistas. Es muy útil si se desea
ahorrar tiempo al momento de responder a los requerimientos que los usuarios de
la aplicación puedan necesitar.
Para acceder al Shell, se abre una terminal o ventana de comandos, ubicarse en
la carpeta del proyecto (en donde se encuentre el archivo manage.py) y escribir
el comando:
python manage.py shell
21
2.5.5.7.2- LAS CONSULTAS
Las consultas en base a los modelos de Django son la base de todo el desarrollo
en este framework, estas consultas permiten saber la información que se ha
almacenado de acuerdo a los modelos.
Las consultas son el paso previo a trabajar con las vistas y las plantillas, ya que
permiten entregar la información que se desea.
2.5.5.8- LOS FORMULARIOS
Los formularios permiten el ingreso de datos para su procesamiento, ya sea para
crear nuevos contenidos, para modificar el contenido que ya está registrado
previamente y hasta para realizar búsquedas.
NOTA:
Para crear formularios se usa por convención un archivo nuevo llamado:
forms.py que se ubicará en la carpeta de la aplicación, esa misma donde se
encuentran los archivos: models.py y views.py. Sin embargo, esto no es
obligatorio, pueden crearse también en el archivo models.py.
Primeras líneas:
from django import forms
from django.forms import ModelForm
from nombreAplicacion.models import (nombre de modelos a
usar separados por comas)
Las líneas mencionadas anteriormente permiten usar los elementos ya declarados
o construidos en los modelos de cualquier aplicación del proyecto, por lo que es
necesario, primero importar los forms, ModelForm o nombre de los
modelos a usar de la aplicación, tomando en cuenta estas funciones:
ModelForm para usar los modelos ya declarados.
forms para declarar nuevas reglas para un formulario.
2.5.5.8.1- OBJETOS FORMULARIO
Un objeto formulario en Django es una secuencia de campos y reglas de
validación, que permiten depurar la información requerida y procesarla
eficientemente. Estos campos y reglas deben ser declarados en el orden que se
desea que aparezcan. Las clases formulario son creadas como subclases de
22
django.forms.Form y tienen un estilo de declaración muy similar a los modelos
de Django.
23
CAPÍTULO 3
DISEÑO DE LAS PLANTILLAS (LAYOUT) DEL SISTEMA
3.1- PANTALLA PRINCIPAL El desarrollo del sistema consta principalmente de una pantalla de inicio como la
que se muestra en la FIGURA 3.1.
FACULTAD DE INGENIERÍA ELÉCTRICA
CONVOCATORIAS.PDF
Usuarios registrados:
Entrar
GERARDO LORENZO CRUZ
FIGURA 3.1- PANTALLA PRINCIPAL DEL SISTEMA
La pantalla de la FIGURA 3.1, que se mencionó anteriormente brinda las
siguientes funciones:
Visualizar las convocatorias de los concursos de oposición.
CONVOCATORIAS.PDF: Al dar clic sobre esta, muestra él pdf en el cual se
especifica los requisitos referentes a la convocatoria para los concursos de
oposición, así como las tablas de valoración correspondientes.
Para llevar a cabo la función, visualizar convocatorias en el archivo
index.html que se encuentra en la carpeta de templates del proyecto tesis,
se agrega el código que se muestra en la FIGURA 3.2.
24
FIGURA 3.2- CODIGO PARA VISUALIZAR CONVOCATORIAS
Para generar el Botón Entrar el cual, permite ingresar al sistema a los usuarios
como los es (Profesor, Revisor académica, Administrador) que ya se encuentran
registrados.
En el archivo index.html que se encuentra en la carpeta de templates del
proyecto tesis, se agrega el código que se muestra en la FIGURA 3.3, observando
el elemento <aside></aside>, que permite representar una sección en la
pantalla principal, así como el elemento <a></a>, que permite crea un enlace a
la URL para validar los usuarios y dentro de este elemento una clase
class=”btn btn-primary btn-sm” para generar el botón pequeño de color
zul.
FIGURA 3.3- GENERAR BOTÓN ENTRAR
25
3.1.1- BOTÓN (ENTRAR) Para generar el Botón Entrar, se coloca el código en el archivo index.html que
se observa en la FIGURA 3.3. Una vez creado el Botón Entrar, es necesario crear
el login, como se observa en la FIGURA 3.4, que permite acceder al sistema
dependiendo si eres un usuario (Profesor, revisor académica o Administrador).
En este caso se accede como Profesor para poder ingresar la información
académica, por lo que es necesario colocar el nombre de usuario y contraseña
correspondiente. Tomando en cuenta que se hace de la misma forma para
acceder como otro usuario diferente.
Login:
Nombre de usuario: Contraseña:
Ingresar
FIGURA 3.4- ACCESO AL SISTEMA
El código que se utiliza para generar el login de la FIGURA 3.4, en la cual se
visualiza el formulario para acceder al sistema, es el que se muestra en FIGURA
3.5.
FIGURA 3.5- CODIGO PARA GENERAR EL FORMULARIO PARA EL ACCESO AL SISTEMA
26
También para la función del login se creó una aplicación en el proyecto tesis
llamada autentificación, la cual contiene los archivos urls.py,
views.py.
Para la configuración del archivo urls.py, queda como se observa en la
FIGURA 3.6, en la cual se observar que la URL
url(r‘usuario’,ingresar_views), va interactuar con la función
ingresar_views que permite validar a los usuarios registrados, esta función se
encuentra en el archivo views.py de la aplicación autentificación.
FIGURA 3.6- URL DEL LOGIN
La configuración del archivo views.py de la aplicación autentificación,
queda como se observa en la FIGURA 3.7, en el cual se observa una función
ingresar_views, en la cual se obtienen los datos de usuario y contraseña
escritos en el formulario que se mencionó en la FIGURA 3.4, dichos datos se
validan, esto quiere decir que se encuentren en la tabla de usuarios (Profesor).
27
FIGURA 3.7- VISTA PARA VALIDAR USUARIOS REGISTRADOS
Si el profesor ya se encuentra registrado, accede al sistema y observa una
pantalla como la FIGURA 3.8, con los siguientes elementos:
Usuario: Nombre del profesor que accedió al sistema.
Aspecto: Aspectos que son evaluados, nivel académico, experiencia académica,
experiencia profesional, publicaciones, labor académica, resultados de exámenes.
Usuario
Usuario Serrar sesión
Nivel académico
Experiencia académica
Experiencia Profesional
Publicaciones Labor académica
FIGURA 3.8- PANTALLA CON LOS ASPECTOS A EVALUAR
Para generar la FIGURA 3.8, en la carpeta de templates que se encuentra dentro
del proyecto tesis, se creó una carpeta llamada profesor en la cual se crea un
archivo llamado pantalla2.html, este archivo se conforma principalmente de
estructura html, en este caso para la barra de navegación se utiliza el código que
se muestra en la FIGURA 3.9, ya que este permite crear una barra de navegación
de bootstrap, se puede observar la etiqueta nav, dentro de esta se coloca la lista
de elementos que se desee que aparezcan en el menú de navegación .
28
FIGURA 3.9- CODIGO PARA CREAR BARRA DE NAVEGACIÓN
Es necesario mencionar que se realizará solo un ejemplo con el aspecto “Nivel
académico” que se menciona en la FIGURA 3.8, de cómo se verá el ingreso de
los datos de los aspectos a considerar en el sistema, ya que todos los
procedimientos de los aspectos a evaluar son similares.
3.1.2- NIVEL ACADÉMICO Nivel académico despliegan las opciones del menú que se ven en la FIGURA
3.10, las cuales indican los aspectos que son evaluados para el nivel académico.
Usuario Usuario Serrar sesión
Nivel académico Experiencia académica
Experiencia Profesional
Publicaciones Labor académica
Estudios de licenciatura y posgrado en el área que se contrata.
Cursos, Talleres o Seminarios de actualización profesional Cursos, Talleres o Seminarios de actualización pedagógica
FIGURA 3.10- MENÚ DEL NIVEL ACADÉMICO
29
Para crear la pantalla de la FIGURA 3.10, se coloca el código que se ve en la
FIGURA 3.11, dentro de la etiqueta nav, que se mencionó anteriormente en la
FIGURA 3.9. Observando que es una lista de etiquetas de enlace para hacer
referencia a los aspectos a considerar de nivel académico.
FIGURA 3.11- CODIGO PARA CREAR MENU DE NIVEL ACADEMICO
3.1.2.1- ESTUDIOS DE LICENCIATURA Y POSGRADO EN EL ÁREA QUE SE
CONTRATA
La opción Estudios de licenciatura y posgrado en el área que se contrata del
menú Nivel académico de la FIGURA 3.10, permite visualizar una pantalla como
la que se muestra en la FIGURA 3.12, la cual permite registrar la información
correspondiente.
Nivel académico A
Aspectos a considerar Documentos probatorios
Puntos por concepto
Estudios formales realizados de licenciatura y posgrado en el área que se contrata.
Documentos probatorios (en el área que se contrata)
Subir pdf
Licenciatura: O Especialidad: O Candidato maestro: O Maestría: O Candidato Doctor: O Doctorado: O
Guardar
FIGURA 3.12- PANTALLA DE CAPTURA DE INFORMACIÓN DE ESTUDIOS FORMALES REALIZADOS EN LICENCIATURA Y POSGRADO EN EL AREA QUE SE CONTRATA
30
Crear pantalla de captura de información para los puntos por concepto
Tomando en cuenta que es el mismo procedimiento para crear todas las pantallas
de captura de información para las opciones de cada menú mostradas en la
FIGURA 3.10, de los aspectos a considerar, por lo que es necesario realizar este
mismo procedimiento, solo se especifica la creación de la pantalla de captura de
información de estudios formales realizados en licenciatura y posgrado en el
área que se contrata por lo que es necesario realizar lo siguiente.
En la aplicación (carpeta) profesores_asignatura se crea un archivo llamado
urls.py, en el cual se colocan las url correspondientes para interactuar con las
vistas.
Lo primero a realizar es importar de django la url con la instrucción siguienete:
from django.conf.urls import url
Importar de la aplicación profesores_asignatura la vista a utilizar en este
caso sería nivel_académico:
from profesores_asignatura.views import nivel_académico
Agregar al archivo la instrucción siguiente, dentro de esta instrucción se colocan
todas las url de la aplicación profesores_asignatura en este caso solo se
agrega la url de nivel_académico.
urlpatterns = [
url(r’nuevo’,nivel_academico,name=’a’),
]
Para que esta o estas url sean reconocidas en el proyecto es necesario
agregarlas dentro del archivo principal urls.py del proyecto tesis, dentro de
urlpatterns se colocan las url que se utilizan en las aplicaciones de la
siguiente manera solo especificando a que aplicación pertenece y agregando un
nombre (namespace) para identificarla la url, en este caso se agrega la url
de la aplicación profesores_asignatura con el nombre de crear.
from django.conf.urls import url,include
urlpatterns = [
url(r’crear’,include(‘profesores_asignatur.urls’),namespace=’
crear’)),
]
31
Una vez creada la url, en el archivo views.py que se encuentra en la aplicación
profesores_asignatura, se crea la función nivel_académico como se
muestra en la FIGURA 3.14, esta función lo que hace es obtener el aspecto a
evaluar de la tabla nivel, así como obtener el pk del usuario, asignarlo al modelo
puntos_conceptoA y validar el formulario que se observa en la FIGURA 3.13,
que se encuentra en el archivo forms.py dentro de la aplicación
profesores_asignatura.
Una vez validado el formulario, se manda a la template
nivel_academico_forma.html que se encuentra en la carpeta templates del
proyecto tesis, en la aplicación (carpeta) profesor, el aspecto a evaluar y el
formulario de puntos por concepto, mediante un diccionario llamado parámetros.
Estos datos son recibidos en la template como se observa en la FIGURA 3.15,
para poder visualizar la pantalla como se observa en la FIGURA 3.12.
FIGURA 3.13- CODIGO PARA CREAR EL FORMULARIO DE PUNTOS POR CONCEPTO PARA ESTUDIOS DE LICENCIATURA Y POSGRADO
FIGURA 3.14- VISTA DE NIVEL ACADEMICO PARA MOSTRAR EL ASPECTO A EVALUAR Y LOS PUNTOS POR CONCEPTO EN EL TEMPLATE
32
FIGURA 3.15- TEMPLATE NIVEL_ACADEMICO_FORMA.HTML
3.1.2.2- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL
La opción Cursos, Talleres o Seminario de actualización profesional del menú
Nivel académico de la FIGURA 3.10, permite visualizar una pantalla como la que
se muestra en la FIGURA 3.16, la cual permite registrar la información
correspondiente.
Nivel académico B
Aspectos a considerar Documentos probatorios
Puntos por concepto
Cursos, Talleres o Seminarios de actualización profesional.
Documentos probatorios
Subir pdf
Evento finB: O Evento no afinB: O
Guardar
FIGURA 3.16- PANTALLA DE CAPTURA DE INFORMACIÓN PARA CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN PROFESIONAL
Para crear la pantalla de captura de información para Cursos, Talleres o
Seminario de actualización profesional, es el mismo procedimiento que se
mencionó anteriormente en el apartado 3.1.2.1, Crear pantalla de captura de
información para los puntos por concepto.
33
3.1.2.3- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PEDAGÓGICA
La opción Cursos, Talleres o Seminario de actualización pedagógica del menú
Nivel académico de la FIGURA 3.10, permite visualizar una pantalla como la que
se muestra en la FIGURA 3.14, la cual permite registrar la información
correspondiente.
Nivel académico C
Aspectos a considerar Documentos probatorios
Puntos por concepto
Cursos, Talleres o Seminarios de actualización pedagógica.
Documentos probatorios
Subir pdf
Evento finC: O Evento no afinC: O
Guardar
FIGURA 3.17- PANTALLA DE CAPTURA DE INFORMACÓN PARA CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN PEDAGÓGICA
Para crear la pantalla de captura de información para Cursos, Talleres o
Seminario de actualización pedagógica, es el mismo procedimiento que se
mencionó anteriormente en el apartado 3.1.2.1, Crear pantalla de captura de
información para los puntos por concepto.
Subir documentos PDF
Como se puede observar en las FIGURAS 3.12, 3.16, 3.17, mencionadas
anteriormente es necesario subir el pdf que avale cada aspecto a considerar.
Es por ello que se observa un botón de Subir pdf que permite ver una pantalla
como la FIGURA 3.18, la cual permite selecciona y subir el pdf con el cual se
comprueba dicho aspecto.
34
Subir Documento Probatorio
Selecciona un archivo
Examinar
Submit
FIGURA 3.18- SUBIR PDF
Examinar: Al dar clic, en este botón permite seleccionar el pdf correspondiente a
cada punto por concepto seleccionado.
Submit: Al dar clic, en este botón permite guardar el pdf previamente
seleccionado, en caso de que no se seleccionó el documento aparecerá un
mensaje el cual indica que es necesario selecciona documento correspondiente.
Para generar esta función de Subir pdf, se creó una aplicación
profesores_asignatura en el proyecto tesis, en esta aplicación se tiene los
archivos models.py, urls.py, views.py, forms.py los cuales es
necesario agregar el código que se muestra en las figuras siguientes. Así como
también dentro de la carpeta templates, se encuentra otra carpeta llamada
profesor, en la cual se crea un archivo upload.html.
Configuración del archivo urls.py que se encuentra en la aplicación
profesores_asignatura para la configuración de las URL, para subir el pdf
correspondientes al aspecto Estudios de licenciatura y posgrado
correspondiente al nivel académico.
Se puede observar en la FIGURA 3.19, la url hace referencia a la vista
upload_file_NA_a, que quiere decir cargar el pdf que corresponde a estudios
de licenciatura y posgrado del aspecto Nivel Académico, dicha vista se encuentra
en el archivo views.py.
35
FIGURA 3.19- URL PARA CARGAR PDF
La configuración del archivo views.py como lo muestra la FIGURA 3.20, en el
cuan se encuentra la función upload_file_NA_a, la cual permite validar el
formulario y asignarle el nombre del pdf de acuerdo al aspecto que se esté
evaluando.
FIGURA 3.20- VISTA PARA CARGAR PDF
Configuración del archivo forms.py como lo muestra la FIGURA 3.21, en el cual
se observa la clase documentos_nivel_aForm, esta clase quiere decir que del
modelo documentos_nivel_a de la aplicación profesores_asignatura que
se encuentra en el archivo models.py, se van a mostrar solo el campo pdf y
se excluyen nombre, id_isuario, ya que estos valores son asignados desde
la vista correspondiente.
36
FIGURA 3.21- FORMULARIO PARA DOCUMENTOS_NIVEL_A
Configuración del archivo upload.html que se encuentra en la aplicación
como se muestra en la FIGURA 3.22, el cual contiene los campos del formulario y
un botón para guardar los valores, que es el template al cual se direcciona desde
la vista como se observa en la FIGURA 3.20, obteniendo la pantalla como la
FIGURA 3.23, en el navegador.
FIGURA 3.22- ARCHIVO UPLOAD.HTML
FIGURA 3.23- PANTALLA GENERADA CON EL CODIGO QUE SE MUESTRA EN LA FIGURA 3.22
37
3.1.3- DISEÑO Y CREACIÓN DE TABLAS Para diseñar las tablas a utilizar para almacenar la información, es necesario
identificar las entidades (Tabla), que no es más que un objeto como una persona,
lugar o cosa, así como sus atributos (campos) que son las propiedades o
características de la entidad.
Analizando las funciones que ese requieren es necesario, la entidad de Profesor
para almacenar la información que corresponda a cada profesor que desee cubrir
alguna materia vacante, por lo que son necesarios los atributos de Id_profesor,
Nombre_Profesor, Apellido_Paterno, Apellido_Materno, Email, Contraseña. El
diseño se muestra en la Tabla 3.1.
Tabla 3.1- Diseño de la tabla profesor
Para la Tabla 3.1, e toma como llave primaria el campo Id_profesor, debido a que
es único e irrepetible entre los profesores.
La entidad puntos por concepto en la cual se almacenan los valores de los
puntos por concepto de los aspectos a evaluar, teniendo en cuenta que en esta
entidad son diferentes los puntos por concepto a evaluar ya que depende del
aspecto que se esté evaluando, se toman como ejemplo los atributos de,
Id_PuntosXConcepto, Licenciatura, Especialidad, Candidato_maestro, Maestría,
Candidato_doctor, Doctorado, Profesor. El diseño se muestra en la Tabla 3.2.
Tabla 3.2- Diseño de la tabla puntos por concepto
38
Para la Tabla 3.2, se toma como llave primaria el campo Id_PuntosXConcepto y
estará compuesto por un número entero de 1 a n. Los campos Licenciatura,
Especialidad, Candidato_maestro, Maestría, Candidato_doctor, Doctorado, son los
campos sé que cambian de acuerdo a el aspecto que se esté evaluando y el
campo Profesor es fijo para las tablas, este campo sirve para identificar a que
profesor corresponde la información de estos puntos por concepto evaluados.
Teniendo en cuenta que para cada punto por concepto de debe subir un pdf, es
necesario crear la entidad PDF la cual permite almacenar el documento que avale
el punto por concepto seleccionado, teniendo como atributo, Id_pdf, Nombre_pdf,
pdf, Profesor. El diseño se muestra en la Tabla 3.3.
Tabla 3.3- Diseño de la tabla PDF
Para la Tabla 3.3, se toma como llave primaria el Id_pdf, ya que es un valor único,
no se repite y no es nulo. En el campo Nombre_pdf se coloca el nombre del
aspecto a evaluar, por ejemplo: Del aspecto nivel académico se evalúan los
estudios formales realizados de licenciatura y posgrado en el área que se
contrata. El nombre del pdf que es asignado por el sistema automáticamente es
NA_ELP. El campo Profesor sirve para identificar a que profesor corresponde el
documento guardado.
En las tablas que se crearon cada una tiene su llave primaria, por lo que ya
estarían en la 1FN, aun así existe redundancia entre las tablas ya que hay
campos repetidos en las tablas, por lo cual es necesario normalizar para evitar
esta redundancia y poder relacionarla de manera correcta.
En las Tablas 3.2 y 3.3, se puede observar que tienen un campo en común
Profesor, con la Tabla 3.1, por lo que se puede observar que es posible relacionar
estas tablas, utilizando la llave primaria de profesor de la Tabla 3.1 como llave
foránea en las tablas puntos por concepto y la tabla pdf, así como se muestra en
la Tabla 3.4 y 3.5.
39
Tabla 3.4- Rediseño de la tabla puntos por concepto
Tabla 3.5- Rediseño de la tabla PDF
Ahora con el campo Profesor_Id_profesor de la tabla 3.4 y 3.5, se puede saber a
qué profesor corresponde los puntos por concepto y el pdf, con esto se está
obteniendo la dependencia funcional y así las tablas de la figura 3.4 y 3.5 están en
la 2FN. De tal manera que no hay ningún atributo no primario de la tabla que
dependa transitivamente de una llave primaria, por lo que así toma la 3FN.
40
CAPÍTULO 4
DESARROLLO Y PRUEBAS DEL SISTEMA
4.1- USUARIOS Como se puede observar en la FIGURA 4.1, se muestra la pantalla inicial del
sistema, en la cual se puede ingresar como usuarios (Profesor, Administrador y
Revisor académica).
FIGURA 4.1- PANTALLA INICIAL
Se puede ver que en la parte izquierda de la pantalla, existe un apartado donde se
visualiza las convocatorias, así como en la parte derecha un apartado de usuarios
registrados para poder acceder al sistema.
4.1.1- ACCEDER COMO PROFESOR Como se observa en la FIGURA 4.1, hay un botón de Entrar, al dar clic sobre él
botón, se visualiza una pantalla como la que se muestra en la FIGURA 4.2, en la
cual, es necesario colocar el usuario y contraseña para poder acceder al sistema.
41
FIGURA 4.2- ACCESO AL SISTEMA
Una vez ingresado el usuario, contraseña y que los datos son correctos, se puede
visualizar una pantalla como la que se muestra en la FIGURA 4.3, en la cual se
puede observar en la parte superior derecha el nombre del profesor que ingresó al
sistema, así como los aspectos (Nivel académico, Experiencia académica,
Experiencia profesional, Publicaciones, Labor académica y Resultados de
exámenes) que se consideran para la evaluación.
FIGURA 4.3- PANTALLA DE PROFESORES
4.1.2- INGRESO DE INFORMACIÓN ACADÉMICA Al dar clic sobre el aspecto a considerar “Nivel académico”; se despliega
(Estudios de licenciatura y posgrado. Cursos, Talleres o seminarios de
actualización profesional y Cursos, Talleres o seminarios de actualización
pedagógica) como se muestra en la FIGURA 4.4.
42
FIGURA 4.4- MENÚ DE NIVEL ACADÉMICO
4.1.2.1- ESTUDIOS DE LICENCIATURA Y POSGRADO
Al dar clic en la opción de Estudios de Licenciatura y Posgrado del menú Nivel
Académico mostrado en la FIGURA 4.4 , se visualiza una pantalla como la FIGURA
4.5, la cual permite registrar la información correspondiente.
FIGURA 4.5- PANTALLA DE CAPTURA DE ESTUDIOS DE LICENCIATURA Y POSGRADO
Se puede observar que es necesario subir el archivo pdf, que avale cada aspecto
a considerar, para obtener un resultado satisfactorio y teniendo en cuenta que
para todos los aspectos a considerar es necesario subir el pdf. Se explica a
continuación solo el procedimiento de subir el pdf, de estudios formales
realizados de licenciatura y posgrado en el área que se contrata, ya que es el
mismo procedimiento de subir pdf para cualquier otro aspecto.
43
Procedimiento para subir pdf:
Observando un botón de Subir pdf, que al darle clic permite visualizar una
pantalla como la que se muestra en la FIGURA 4.6, la cual permite subir el pdf con
el cual comprobamos dicho aspecto que se está evaluando.
FIGURA 4.6- SUBIR PDF
Se da clic al botón Examinar que se puede ver en la FIGURA 4.6, para que sea
posible explorar los documentos almacenados, y poder seleccionar el archivo de
interés para el profesor. Una vez seleccionado el archivo, es necesario tener a la
vista una operación para guardarlo, esta se realiza dando clic en el botón Submit.
En caso de no haber seleccionado el documento y se le da clic al botón Submit,
se ve una pantalla como la que se observa en la FIGURA 4.7, la cual indica que
no se seleccionó ningún documento pdf por lo que es necesario seleccionar uno.
FIGURA 4.7- DOCUMENTO NO SELECCIONADO
Teniendo en cuenta que en el apartado de puntos por concepto se muestra una
serie de opciones que el profesor podrá seleccionar, tomando en cuenta que por
cada opción seleccionada deberá subir un pdf que avale dicho concepto.
44
Una vez seleccionadas las opciones de puntos por concepto, dar clic en el botón
Guardar, para guardar los valores seleccionados, para que se almacenen en la
tabla correspondiente.
4.1.2.2- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL
Al dar clic en la opción Cursos, Talleres o Seminarios de actualización
profesional del menú Nivel Académico mostrado en la FIGURA 4.4, se visualiza
una pantalla la FIGURA 4.8, la cual permite registrar la información
correspondiente.
FIGURA 4.8- PANTALLA DE CAPTURA DE CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN PROFESIONAL
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.2.3- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PEDAGÓGICA
Al dar clic en la opción Cursos, Talleres o Seminarios de actualización
pedagógica del menú Nivel Académico mostrado en la FIGURA 4.4, se visualiza
una pantalla como la FIGURA 4.9, la cual permite registrar la información.
45
FIGURA 4.9- PANTALLA DE CAPTURA DE CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN PEDAGÓGICA
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.3- EXPERIENCIA ACADÉMICA Al dar clic sobre el aspecto a considerar “Experiencia académica” se observa
que se despliega Impartición de Cursos Curriculares, Impartición de Talleres o
Seminario, Materiales Didácticos, como se muestra en la FIGURA 4.10.
FIGURA 4.10- MENÚ DE EXPERIENCIA ACADÉMICA
4.1.3.1- IMPARTICIÓN DE CURSOS CURRICULARES
Al dar clic en la opción Imparticion de Cursos Curriculares del menú
Experiencia Académica mostrada en la FIGURA 4.10, se visualiza una pantalla
como la FIGURA 4.11, la cual permite registrar la información.
46
FIGURA 4.11- PANTALLA DE CAPTURA DE IMPARTICIÓN DE CURSOS CURRICULARES
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.3.2- IMPARTICIÓN DE TALLERES O SEMINARIOS
Al dar clic en la opción Impartición de talleres o seminario del menú Experiencia
Académica mostrada en la FIGURA 4.10, se visualiza una pantalla como la FIGURA
4.12, la cual permite registrar la información.
FIGURA 4.12- PANTALLA DE CAPTURA DE IMPARTICIÓN DE TALLERES O SEMINARIOS
47
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.3.3- MATERIALES DIDÁCTICOS
Al dar clic en la opción Materiales didácticos del menú Experiencia Académica
mostrada en la FIGURA 4.10, se visualiza una pantalla como la que se muestra en
la FIGURA 4.13, la cual permite registrar la información.
FIGURA 4.13- PANTALLA DE CAPTURA DE MATERIALES DIDÁCTICOS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.4- EXPERIENCIA PROFESIONAL Al dar clic sobre el aspecto a considerar “Experiencia profesional” se observa
que se despliega, Director en proyectos ejecutivos, Participación en proyectos de
investigación, Antigüedad en docencia, industria, o área de su profesión,
Antigüedad en industria o área de su profesión, como se muestra en la FIGURA
4.14.
48
FIGURA 4.14- MENÚ DE EXPERIENCIA PROFESIONAL
4.1.4.1- DIRECTOR EN PROYECTOS EJECUTIVOS
Al dar clic en la opción Director en proyectos ejecutivos del menú Experiencia
profesiona mostrada en la FIGURA 4.14, se visualiza una pantalla como la FIGURA
4.15, la cual permite registrar la información.
FIGURA 4.15- PANTALLA DE CAPTURA DE DIRECTOR EN PROYECTOS EJECUTIVOS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.4.2- PARTICIPACIÓN EN PROYECTOS DE INVESTIGACIÓN
Al dar clic en la opción participacion en proyectos de investigacion del menú
Experiencia profesiona mostrada en la FIGURA 4.14, se visualiza una pantalla
como la FIGURA 4.16, la cual permite registrar la información.
49
FIGURA 4.16- PANTALLA DE CAPTURA DE PARTICIPACIÓN EN PROYECTOS DE INVESTIGACIÓN
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.4.3- ANTIGÜEDAD EN DOCENCIA, INDUSTRIA O ÁREA DE SU
PROFESIÓN
Al dar clic en la opción antiguedad en docencia, industria o area de su
profesion del menú Experiencia profesiona mostrada en la FIGURA 4.14, se
visualiza una pantalla como la FIGURA 4.17, la cual permite registrar la
información.
FIGURA 4.17- PANTALLA DE CAPTURA DE ANTIGÜEDAD EN DOCENCIA, INDUSTRIA O ÁREA DE SU PROFESIÓN
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
50
4.1.4.4- ANTIGÜEDAD EN INDUSTRIA O ÁREA DE SU PROFESIÓN
Al dar clic en la opción antiguedad en industria o area de su profesion del
menú Experiencia profesiona mostrada en la FIGURA 4.14, se visualiza una
pantalla como la FIGURA 4.18, la cual permite registrar la información que
corresponde a cada aspecto como son los documentos probatorios y puntos por
concepto.
FIGURA 4.18- PANTALLA DE CAPTURA DE ANTIGÜEDAD EN INDUSTRIA O ÁREA DE SU PROFESIÓN
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5- PUBLICACIONES Al dar clic sobre el aspecto a considerar “Publicaciones”; se observa que se
despliega, Libros, Capítulos de o libro, Manuales o notas, Artículos sobre
(especialidad o área de su profesión), Artículos de (divulgación o periodístico),
Exposiciones y eventos, Ponencia en congreso o simposium, Conferencias, como
se muestra en la FIGURA 4.19.
51
FIGURA 4.19- MENÚ PUBLICACIONES
4.1.5.1- LIBROS
Al dar clic en la opción Libros del menú publicaciones mostrada en la FIGURA
4.19, se visualiza una pantalla como la FIGURA 4.20, la cual permite registrar la
información correspondiente a cada aspecto, así como los documentos y puntos
por concepto.
FIGURA 4.20- PANTALLA DE CAPTURA DE LIBROS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
52
4.1.5.2- CAPÍTULOS DE LIBRO
Al dar clic en la opción Capitulos de Libros del menú publicaciones mostrada en
la FIGURA 4.19, se visualiza una pantalla como la FIGURA 4.21, la cual permite
registrar la información correspondiente al aspecto, así como documentos y
puntos por concepto.
FIGURA 4.21- PANTALLA DE CAPTURA DE CAPÍTULOS DE LIBRO
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5.3- MANUALES O NOTAS
Al dar clic en la opción Manuales o Notas del menú publicaciones mostrada en la
FIGURA 4.19, se visualiza una pantalla como la FIGURA 4.22, la cual permite
registrar la información correspondiente, así como documentos y puntos por
concepto.
53
FIGURA 4.22- PANTALLA DE CAPTURA DE MANUALES O NOTAS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5.4- ARTÍCULOS SOBRE ESPECIALIDAD O ÁREA PROFESIONAL
Al dar clic en la opción Articulos sobre Especialidad o Area Profesional del
menú publicaciones mostrada en la FIGURA 4.19, se visualiza una pantalla como
la FIGURA 4.23, la cual permite registrar la información correspondiente al aspecto,
así como documentos y puntos por concepto.
FIGURA 4.23- PANTALLA DE CAPTURA DE ARTÍCULOS SOBRE ESPECIALIDAD O ÁREA PROFESIONAL
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
54
4.1.5.5- ARTÍCULOS DE DIVULGACIÓN O PERIODÍSTICO
Al dar clic en la opción Articulos de Divulgación o Periodístico del menú
publicaciones mostrada en la FIGURA 4.19, se visualiza una pantalla como la
FIGURA 4.24, la cual permite registrar la información correspondiente al aspecto y
documentos correspondientes a los puntos por concepto.
FIGURA 4.24- PANTALLA DE CAPTURA DE ARTÍCULOS DE DIVULGACIÓN O PERIODÍSTICO
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5.6- EXPOSICIONES Y EVENTOS
Al dar clic en la opción Exposisiones y Eventos del menú publicaciones
mostrada en la FIGURA 4.19, se visualiza una pantalla como la FIGURA 4.25, la
cual permite registrar la información correspondiente al aspecto y documentos que
avalen a los puntos por concepto.
FIGURA 4.25- PANTALLA DE CAPTURA DE EXPOSICIONES Y EVENTOS
55
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5.7- PONENCIAS EN CONGRESOS O SIMPOSIUM
Al dar clic en la opción Ponencias en congresos o Simposium del menú
publicaciones mostrada en la FIGURA 4.19, se visualiza una pantalla como la
FIGURA 4.26, la cual permite registrar la información correspondiente a ponencia
en congresos o simposium, así como documentos que avalen los puntos por
concepto seleccionados.
FIGURA 4.26- PANTALLA DE CAPTURA DE PONENCIAS EN CONGRESOS O SIMPOSIUM
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.5.8- CONFERENCIAS
Al dar clic en la opción Conferencias del menú publicaciones mostrada en la
FIGURA 4.19, se visualiza una pantalla como la FIGURA 4.27, la cual permite
registrar la información que corresponde a las conferencias, así como los
documentos que avalen los puntos por concepto.
56
FIGURA 4.27- PANTALLA DE CAPTURA DE CONFERENCIAS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6- LABOR ACADÉMICA Al dar clic a la opción del aspecto a considerar “labor académica”; se puede
observar que se despliegan las siguientes opciones:
Tutorías a estudiantes.
Asesorías (tesis, trabajos de titulación o tesinas).
Revisión (tesis y trabajos de titulación como sinodal).
Asesoría (alumnos de servicio social).
Coordinación (círculos de estudio y actividades remédiales).
Revisión y actualización de programas de materias.
Cargos y responsabilidades de académicas.
Comisiones de trabajo referidas a (planes de estudio).
Participación en cuerpos colegiados.
Distinciones académicas.
Como se muestra en la FIGURA 4.28.
57
FIGURA 4.28- MENÚ LABOR ACADÉMICA
4.1.6.1- TUTORÍAS A ESTUDIANTES
Al dar clic en la opción Tutorias a estudiantes del menú Labor académica
mostrada en la FIGURA 4.28, se visualiza una pantalla como la FIGURA 4.29, la
cual permite registrar la información que corresponde a las tutorías impartidas a
estudiantes por parte del profesor, así como los documentos que avalen los
puntos por concepto.
FIGURA 4.29- PANTALLA DE CAPTURA DE TUTORÍAS A ESTUDIANTES
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
58
4.1.6.2- ASESORÍA DE TESIS, TRABAJOS DE TITULACIÓN O TESINAS
Al dar clic en la opción Asesoría de Tesis, Trabajos de Titulación del menú
Labor académica mostrada en la FIGURA 4.28, se visualiza una pantalla como la
FIGURA 4.30, la cual permite registrar la información, así como los documentos
que avalen los puntos por concepto.
FIGURA 4.30- PANTALLA DE CAPTURA DE ASESORÍA DE TESIS, TRABAJOS DE TITULACIÓN O TESINAS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.3- REVISIÓN DE TESIS, TRABAJOS DE TITULACIÓN COMO SINODAL
Al dar clic en la opción Revisión de tesis, Trabajos de titulación como sinodal
del menú Labor académica mostrada en la FIGURA 4.28, se visualiza una pantalla
como la FIGURA 4.31, la cual permite registrar la información, así como los
documentos que avalen los puntos por concepto.
59
FIGURA 4.31- PANTALLA DE CAPTURA DE REVISIÓN DE TESIS, TRABAJOS DE TITULACIÓN COMO SINODAL
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.4- ASESORÍA A ALUMNOS DE SERVICIO SOCIAL
Al dar clic en la opción Asesoría a alumnos de servicio social del menú Labor
académica mostrada en la FIGURA 4.28, se visualiza una pantalla como la FIGURA
4.32, la cual permite registrar la información, así como los documentos que avalen
los puntos por concepto.
FIGURA 4.32- PANTALLA DE CAPTURA DE ASESORÍA A ALUMNOS DE SERVICIO SOCIAL
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
60
4.1.6.5- COORDINACIÓN DE CÍRCULOS DE ESTUDIO Y ACTIVIDADES
REMEDIALES
Al dar clic en la opción Coordinacion de circulos de estudio y actividades
remediales del menú Labor académica mostrada en la FIGURA 4.28, se visualiza
una pantalla como la FIGURA 4.33, la cual permite registrar la información, así
como los documentos que avalen los puntos por concepto.
FIGURA 4.33- PANTALLA DE CAPTURA DE COORDINACIÓN DE CÍRCULOS DE ESTUDIO Y ACTIVIDADES REMEDIALES
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.6- REVISIÓN Y ACTUALIZACIÓN DE PROGRAMAS DE LAS MATERIAS
Al dar clic en la opción Revisión y actualización de programas de las materias
del menú Labor académica mostrada en la FIGURA 4.28, se visualiza una pantalla
como la FIGURA 4.34, la cual permite registrar la información, así como los
documentos que avalen los puntos por concepto.
FIGURA 4.34- PANTALLA DE CAPTURA DE REVISIÓN Y ACTUALIZACIÓN DE PROGRAMAS DE LAS MATERIAS
61
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.7- CARGOS Y RESPONSABILIDADES DE ACADÉMICAS
Al dar clic en la opción Cargos y responsabilidades de academicas del menú
Labor académica mostrada en la FIGURA 4.28, se visualiza una pantalla como la
FIGURA 4.35, la cual permite registrar la información, así como los documentos
que avalen los puntos por concepto.
FIGURA 4.35- PANTALLA DE CAPTURA DE CARGOS Y RESPONSABILIDADES DE ACADÉMICAS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.8- COMISIONES DE TRABAJO REFERIDAS A PLANES DE ESTUDIO
Al dar clic en la opción Comisiones de trabajo referidas a planes de estudio del
menú Labor académica mostrada en la FIGURA 4.28, se visualiza una pantalla
como la FIGURA 4.36, la cual permite registrar la información, así como los
documentos que avalen los puntos por concepto.
62
FIGURA 4.36- PANTALLA DE CAPTURA DE COMISIONES DE TRABAJO REFERIDAS A PLANES DE ESTUDIO
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.9- PARTICIPACIÓN EN CUERPOS COLEGIADOS
Al dar clic en la opción participación en cuerpos colegiados del menú Labor
académica mostrada en la FIGURA 4.28, se visualiza una pantalla como la FIGURA
4.37, la cual permite registrar la información, así como los documentos que avalen
los puntos por concepto.
FIGURA 4.37- PANTALLA DE CAPTURA DE PARTICIPACIÓN EN CUERPOS COLEGIADOS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
63
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.6.10- DISTINCIONES ACADÉMICAS
Al dar clic en la opcion Distinciones académicas del menú Labor académica
mostrada en la FIGURA 4.28, se visualiza una pantalla como la FIGURA 4.38, la
cual permite registrar la información, así como los documentos que avalen los
puntos por concepto.
FIGURA 4.38- PANTALLA DE CAPTURA DE DISTINCIONES ACADÉMICAS
Se puede observar que es necesario subir el pdf, que avala cada aspecto a
considerar, es por eso que se sigue el mismo procedimiento para subir pdf que se
mencionó anteriormente en Estudios de Licenciatura y Posgrado para subir los
pdf correspondientes a cada aspecto a evaluar.
4.1.7- ADMINISTRADOR La función del administrador es crear el registro de Profesores, para poder asignar
usuario y contraseña a cada profesor para que pueda ingresar al sistema y este
pueda registrar sus datos, así como realizar las siguientes funciones:
Editar los datos de los profesores.
Eliminar profesores.
Ver historial de los profesores.
4.1.7.1- ACCEDER COMO ADMINISTRADOR
Como se observar en la FIGURA 4.39, se muestra la pantalla inicial del sistema, en
la cual se puede ingresar como administrador, por lo que es necesario dar clic en
el botón Entrar que se puede visualizar en dicha figura.
64
FIGURA 4.39- PANTALLA INICIAL PARA ADMINISTRADOR
Al dar clic en el botón Entrar que se visualiza en la pantalla que se muestra en la
FIGURA 4.39, se puede ver una pantalla como la que observa en la FIGURA 4.40,
en la cual se coloca el usuario y contraseña.
Usando los datos para ingresar como administrador ya que solo existe un
administrador en este sistema:
Usuario: Gerardo
Contraseña: admin_gerardo
FIGURA 4.40- LOGIN
Una vez que se accede al sistema se verá la pantalla que se muestra en FIGURA
4.41. En el cual se observan dos botones con las funciones: Crear Usuario, Ver
Usuarios, así como en la parte derecha superior se puede observar el nombre del
administrador; en el cual al darle clic, se despliega una opción para cerrar la
sesión.
65
FIGURA 4.41- ADMINISTRADOR
4.1.7.2- CREAR USUARIO (PROFESOR)
La función principal, es poder registrar a los profesores, dándole un usuario y
contraseña, para poder ingresar al sistema.
Para verificar que se crea el usuario correctamente, se da clic en Ver Usuarios y
se podrán ver a los usuarios que ya se encuentran registrados en el sistema
como se ve en la FIGURA 4.42. Por lo tanto, ya pueden registrar su información
correspondiente:
FIGURA 4.42- PROFESORES REGISTRADOS
Para registrar a un nuevo profesor (José) se da clic en botón Crear Usuario.
Con esto se obtiene una pantalla como la FIGURA 4.43, en la cual, es necesario
ingresar los datos, como son: nombre de usuario, apellidos, correo y contraseña.
66
FIGURA 4.43- CREAR CUENTA DE USUARIO
Ya que se han ingresado los datos de los campos Nombre de Usuario, Apellidos,
Correo y Contraseña, dar clic en el botón Guardar y con esto se da por terminado
el registro, por lo tanto, se visualizara la pantalla de la FIGURA 4.41.
Para verificar que el profesor se registró correctamente, se da clic en el botón Ver
Usuarios, pudiendo visualizar a los profesores ya registrados como se ve en la
FIGURA 4.44, observando que ya se encuentra el nombre del profesor el cual se
registró.
FIGURA 4.44- PROFESORES REGISTRADOS
67
4.1.7.3- EDITAR USUARIO (PROFESOR)
Esta función se utiliza, en el caso que de haber registrado la información del
profesor erróneamente o para actualizar su información como correo, contraseña,
dándole clic al botón Editar, que corresponda al profesor que se desee modificar
su información como es:
Nombre
Apellidos
Correo
Contraseña
Ejemplo: Editar los datos que corresponden a la profesora María Pérez Martínez.
Al dar clic en el botón Editar. Se observan los campos nombre, apellidos, correo,
y contraseña como se muestra en la FIGURA 4.45, para modificar la información
deseada, es necesario dar clic en el botón Guardar.
FIGURA 4.45- EDITAR PROFESOR
4.1.7.4- ELIMINAR USUARIO (PROFESOR)
Al dar clic en el botón Eliminar que se observa en la FIGURA 4.44, que
corresponda a algún profesor no deseado, se elimina el registro del profesor de la
base de datos, entonces dicho profesor ya no tendrá acceso al sistema.
Ejemplo: Eliminar a la profesora María Pérez Martínez.
Al dar clic en el botón Eliminar, se observa una pantalla como la FIGURA 4.45, la
cual es una solicitud de si se desea eliminar a María Pérez Martínez.
68
FIGURA 4.46- ELIMINAR PROFESOR
Al dar clic en (Si, Eliminar), se elimina a María Pérez Martínez como se puede
observar a continuación en la FIGURA 4.47; en la cual se puede observar que la
profesora María Pérez Martínez fue eliminada de la base de datos. Con esto ya no
tendrá acceso al sistema hasta que se registre nuevamente.
FIGURA 4.47- PROFESORES REGISTRADOS
4.1.7.5- HISTORIAL DE USUARIOS (PROFESORES)
Dando clic en el botón Historial de José que se ve en la FIGURA 4.47, permite
visualizar una pantalla como la que se muestra en la FIGURA 4.48. En ella, se
observa la información correspondiente a José, como: nivel académico,
experiencia académica, experiencia profesional, publicaciones, labor académica,
resultados de exámenes. Al dar clic sobre las opciones se ve toda la información
registrada por José.
FIGURA 4.48- HISTORIAL DE EL PROFESOR
69
4.1.8- COMISIÓN ACADÉMICA La función de la comisión académica es poder visualizar la información que fue
registrada por cada profesor, para poder asignarles un puntaje de acuerdo a los
puntos por concepto y documentos que se registraron.
4.1.8.1- ACCEDER COMO COMISIÓN ACADÉMICA
Como se puede observar en la FIGURA 4.49, se muestra la pantalla inicial del
sistema, en la cual se puede ingresar como comisión académica. Para lo que es
necesario dar clic en el botón Entrar.
FIGURA 4.49- PANTALLA INICIAL PARA COMISIÓN ACADÉMICA
Al dar clic en el botón Entrar, se ve la pantalla que se muestra en la FIGURA 4.50,
en la cual se coloca el usuario y contraseña.
Datos para ingresar como comisión académica:
Usuario: Paco
Contraseña: academica_paco
FIGURA 4.50- LOGIN REVISORA ACADÉMICA
70
Una vez que se ingresa al sistema, se obtiene la pantalla que se muestra en
FIGURA 4.51. En ella se visualiza un botón con las funciones de VER USUARIOS
E HISTORIAL. En la parte superior derecha se ve el nombre del revisor
académico en el cual al darle clic se despliega una liga para cerrar la sesión.
FIGURA 4.51- COMISIÓN ACADÉMICA
4.1.8.2- VER USUARIOS E HISTORIAL
Al dar clic en el botón ver usuarios e historial, se ve una pantalla como la que se
muestra en la FIGURA 4.51. En ella se visualizan los profesores registrados, así
como un botón de Historial.
FIGURA 4.52- PROFESORES REGISTRADOS
4.1.8.3- HISTORIAL
Al dar clic en el botón Historial de René, se visualiza una pantalla como la que se
muestra en la FIGURA 4.53. En ella se puede ver en la parte superior, el nombre
del usuario: René; de quien está viendo su historial, así como los aspectos que
son evaluados: nivel académico, experiencia académica, experiencia profesional,
publicaciones, labor académica. La opción calificar se refiere a la asignación de
una calificación a los aspectos que se están evaluando, se compone de dos
partes: Examen oral sobre la materia, Desarrollo del tema de concurso, Exposición
del tema frente al grupo, que sirven para evaluar a el profesor que está
participando por alguna materia o plaza vacante dentro de la Facultad de
71
Ingeniería Eléctrica y resultados de exámenes para ver el historial de los
profesores de los resultados de exámenes anteriores.
FIGURA 4.53- HISTORIAL DE RENÉ
Puede observar los datos registrados por el profesor, dando clic en cada aspecto
correspondiente.
4.1.8.4- NIVEL ACADÉMICO
Al dar clic sobre Nivel académico se obtiene una pantalla como la que se observa
en la FIGURA 4.54. En ella se ven los aspectos a evaluar (estudios de licenciatura
y posgrado, Cursos, talleres o seminarios de actualización profesional, Cursos,
talleres o seminarios de actualización pedagógica).
FIGURA 4.54- ASPECTOS A EVALUAR
Tomando en cuenta que es el mismo procedimiento para cada aspecto a
considerar (nivel académico, experiencia académica, experiencia profesional,
publicaciones, labor académica). Solo se presenta un ejemplo de cómo se vería la
pantalla si tuviera datos registrados o no. Se observan las pantallas como se
mencionan a continuación, solo variando los aspectos a considerar y los valores
correspondientes.
72
4.1.8.4.1- ESTUDIOS DE LICENCIATURA Y POSGRADO
Al dar clic en la opción Estudios de licenciatura y posgrado, se obtiene la
pantalla como la FIGURA 4.55. En ella se ve que ya tiene datos registrados en
este aspecto, como lo es el documento que avala los estudios realizados de
licenciatura y posgrado.
FIGURA 4.55- ESTUDIOS DE LICENCIATURA Y POSGRADO
4.1.8.4.2- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN
PROFESIONAL
Al dar clic en la opción Cursos, talleres o seminarios de actualización
profesional, se ve la pantalla de la FIGURA 4.56. En ella se puede observar que
no tiene datos registrados en este aspecto.
FIGURA 4.56- CURSOS, TALLERES O SEMINARIOS DE ACTUALIZACIÓN PROFESIONAL
73
4.1.8.5- CALIFICAR
La opción Calificar se compone de 3 aspectos a evaluar y la probabilidad de ver
el registro de cada aspecto. Las opciones a calificar son: el examen oral,
desarrollo del tema y exposición frente al grupo. Adicionalmente se presenta la
opción RESULTADOS DE EXAMENES de cada aspecto, como se observa en la
FIGURA 4.57, está opción al darle clic despliega las opciones: Examen oral sobre
(materia o área académica), Desarrollo del tema del concurso, Exposición del
tema frente al grupo con cada aspecto y calificación correspondiente como se
observa en las FIGURAS (4.61, 4.62 y 4.63).
FIGURA 4.57- CALIFICAR
4.1.8.5.1- EXAMEN ORAL SOBRE (MATERIA O ÁREA ACADÉMICA)
Al dar clic sobre Examen oral de la materia o área académica, se obtiene una
pantalla como la FIGURA 4.58. En ella se observan los aspectos que se evalúan en
el examen oral, así como los campos en donde se coloca el puntaje
correspondiente a cada aspecto.
74
FIGURA 4.58- CALIFICAR EXAMEN ORAL
4.1.8.5.2- DESARROLLO DEL TEMA DEL CONCURSO
Al dar clic en la opción Desarrollo del tema del concurso, se obtiene una
pantalla como la FIGURA 4.59. En ella se observan los campos para coloca el
puntaje correspondiente de acuerdo como presento el tema.
FIGURA 4.59- CALIFICAR DESARROLLO DEL TEMA
75
4.1.8.5.3- EXPOSICIÓN DEL TEMA FRENTE AL GRUPO
Al dar clic en la opción exposición del tema frente al grupo, se obtiene una
pantalla como la FIGURA 4.60. En ella se observan los campos para seleccionar la
calificación correspondiente de acuerdo como se expresó en la exposición del
tema.
FIGURA 4.60- CALIFICAR EXPOSICIÓN
4.1.8.5.4- RESULTADOS DE EXÁMENES
Permite observar el puntaje obtenido por el profesor, en este ejemplo corresponde
al profesor René. Podemos observar las pantallas que se muestran a
continuación, en las cuales se ven los puntajes correspondientes que se le
asignaron en el concurso de oposición correspondiente.
Como se puede ver en la FIGURA 4.61, se muestra el puntaje obtenido por parte
del profesor durante el examen oral que realizó. En él cual se evalúa la claridad
de las respuestas, capacidad de comunicación, organización y la organización de
técnicas didácticas más adecuadas para el tipo de información que se desea
impartir.
Como se puede observar el las FIGURAS (4.61, 4.62, 4.63) existen 2 registros, ya
que lo que se quiere es tener almacenado todas las calificaciones de cada aspecto
a evaluar en el cual participa el profesor, como dichas calificaciones se almacén
consecutivamente, la más reciente sería la última de la tabla.
76
FIGURA 4.61- RESULTADOS DE EXAMEN ORAL
Observando la FIGURA 4.62, se puede visualizar la calificacion que se obtuvo
durante la evaluacion del desarrollo del tema. La cual se presenta por escrito.
FIGURA 4.62- RESULTADOS DEL DESARROLLO POR ESCRITO
Observando la FIGURA 4.63, se ve los resultados de las exposiciones realizadas
frente la grupo, por parte del profesor.
77
FIGURA 4.63- RESULTADOS DE LAS EXPOSICIONES
78
CAPÍTULO 5
CONCLUSIONES Y TRABAJOS FUTUROS
5.1- CONCLUSIONES Analizando los objetivos planteados al inicio del proyecto y considerando el desarrollo que se presenta en éste trabajo, se llega a la conclusión que la interfaz satisface las metas fijadas inicialmente, logrando una administración dinámica para cualquiera de los 3 tipos de usuario. Así como poder registrar los documentos de los profesores que participan en concurso, para que para cursos posteriores no sea necesario llevar toda la documentación nuevamente. Finalmente, queda la satisfacción de haber trabajado en el diseño e implementación de un sistema web que aporta una ayuda en una de las múltiples tareas que realiza la administración de la facultad.
5.2- IDEAS PARA EL SISTEMA WEB EN UN FUTURO Por el interés que hay por este tipo de aplicaciones, hay algunas tareas que aún se le pueden añadir al sistema que pueden servir como continuación a este proyecto. A continuación, se mencionan algunas:
1. Crear un módulo para generar reportes históricos de concursos para un profesor.
2. Implementar módulos de código para que se automatice la generación de las actas correspondientes, generales e individuales.
Así mismo se recomienda, en su momento, modificar al sistema de tal manera que sea automatizado para que considere diferentes formatos de las tablas de valoración sin que ello implique “meterle” mano al código. Lo anterior, puesto que se considera que el usuario, desde el punto de vista de la administración, o bien, no dispone del tiempo para desarrollarlo o bien no conoce el área de la programación.
79
BIBLIOGRAFÍA
[1] D. p. indexDesarrollo, «indexDesarrollo,» Copyright 2017. [En línea].
Available: Copyright 2017 | Todos los derechos resevados | Diseñado por
indexDesarrollo.
[2] A. Fenollosa, «PROGRAMADOR WEB VALENCIA,» 2018. [En línea].
Available: https://programadorwebvalencia.com/cual-es-el-mejor-sistema-
operativo-para-programar/.
[3] E. S.L., «Doominio.com,» 2003-2018. [En línea]. Available:
https://blog.doominio.com/hosting-definicion-significado/. [Último acceso:
2018].
[4] M. P. Web, «miposicionamientoweb.es,» [En línea]. Available:
https://miposicionamientoweb.es/que-es-un-dominio/.
[5] wikipedia, «wikipedia.org,» 21 Noviembre 2018. [En línea]. Available:
https://en.wikipedia.org/wiki/Python_(programming_language).
[6] D. S. Foundation, «Django,» 2005-2018. [En línea]. Available:
https://www.djangoproject.com/ .
[7] D. b. B. M. Picamán, «Oficina de Software Libre de la Universidad de
Granada,» 2018. [En línea]. Available: https://osl.ugr.es/2016/10/17/entornos-
virtuales-en-python-con-virtualenv/.
[8] @. a. @fat, «Boostrap,» [En línea]. Available: https://getbootstrap.com/.
[9] T. j. Foundation, «jquery.com,» 2018. [En línea]. Available: https://jquery.com/.
[10] wikipedia, «wikipedia.org,» 25 Noviembre 2018. [En línea]. Available:
https://en.wikipedia.org/wiki/MySQL.