tesis de grado (wilnel verdu): software libre para el control y gestión de los procesos...
DESCRIPTION
Esta investigación propone el desarrollo e implantación de un sistema web bajo lineamientos de software libre para llevar a cabo la gestión y el control de los distintos procesos administrativos (registro de nómina, control de matrículas) y académicos (registro de estudiantes, registro de notas, materias y evaluaciones) que corresponden a las labores regulares y al funcionamiento básico del plantel. Siguiendo las fases de desarrollo de aplicaciones propuesta por la metodología RAD, se realizó un levantamientode datos y su posterior análisis para determinar las tareas que se llevan a cabo actualmente en la institución educativa que nos sirve como caso de estudio (Unidad Educativa Instituto Privado Boyacá). Luego del análisis se procedió a realizar un diseño de los componentes del sistema (modelo de datos, estructura HTML, flujo de datos) y a partir de estos, se desarrolló la solución propuesta, la cual fue sometida a pruebas y contó con la aprobación de la institución educativa para su futura implementación.TRANSCRIPT
i
Universidad Nueva Esparta Facultad de Ciencias de la Informática
Escuela de Computación Trabajo de Grado
Línea de Investigación: Desarrollo de tecnologías de información Gerencial
Tema: Implantación de un sistema de Información Gerencial
Título: Software libre para el control y gestión de los procesos
administrativos y académicos de instituciones privadas de educación para los
ciclos básico, medio y diversificado.
Caso: Unidad Educativa Instituto Privado Boyacá (Los Teques, Estado
Miranda)
Tutor(a):
Trabajo de Grado Presentado por:
Patricia O‟ Callaghan Br. Wilnèl J. Verdú Guerrero
Br. Mauricio García de Ceca G.
Para optar al Título de: Licenciado
en Computación
Septiembre, 2012 Caracas, Venezuela
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.
ii
Aprobación del Tutor
En mi carácter de Tutor del Trabajo de Grado presentado por los
bachilleres Wilnèl J. Verdú Guerrero y Mauricio García de Ceca para optar al
grado de Licenciados en Computación, considero dicho Trabajo de Grado
reúne los requisitos y méritos suficientes para ser sometido a la presentación
pública y evaluación por parte del jurado examinador que se designe.
En la Ciudad de Caracas, a los 24 días del mes de Septiembre de 2012.
__________________ Patricia O‟Callaghan
C.I: 14.203.187
iii
Universidad Nueva Esparta
Facultad de Ciencias de la Informática
Escuela de Computación
Trabajo de Grado
Software libre para el control y gestión de los procesos administrativos
y académicos de instituciones privadas de educación para los ciclos
básico, medio y diversificado.
Hoja de jurados
APROBADO
JURADO DE PRESENTACIÓN
JURADO TÉCNICO
Nombre y Apellido ____________________
Nombre y Apellido ____________________
Cédula de Identidad ____________________
Cédula de Identidad ____________________
Firma ____________________
Firma ____________________
Tutora
Nombre y Apellido
____________________
Cédula de Identidad ____________________
Firma
____________________
Septiembre, 2012 Caracas, Venezuela
iv
Dedicatoria
A todos aquellos quienes estuvieron involucrados a lo largo del
desarrollo de este proyecto y que de una u otra forma contribuyeron al
correcto desenvolvimiento del mismo y al cumplimiento de los objetivos
planteados; A nuestros padres, familia, amigos y profesores.
Queremos dedicar esta investigación a ustedes, y compartir las
alegrías que nos trae el cumplimiento de esta etapa en nuestras vidas,
sabiendo que servirá de cimiento para lo que nos traerá el futuro.
v
Agradecimientos
A nuestra tutora, Patricia O‟Callaghan por su extenso aporte, ahínco y
dedicación al ayudarnos a llevar a cabo este importante proyecto para
nosotros.
A la Prof. Canrit Hernández por su paciencia y colaboración en la
corrección y evaluación a lo largo de toda la investigación.
A la Prof. Wilpia Flores por guiarnos durante todo el proceso y
prestarnos sus conocimientos los cuales fueron una gran contribución.
A los Profesores Carlos Da Silva, José Santiago Ochoa y Renato
Cerullo, quienes amablemente nos atendieron y ayudaron en diversos
aspectos, sus recomendaciones fueron de gran ayuda para lograr una visión
clara del problema y de la solución.
A todos aquellos profesores que a lo largo de nuestros estudios se
esforzaron realmente por enseñarnos de la mejor manera posible,
impartiéndonos sus conocimientos con vocación y buena fe.
A nuestro padres, la base de nuestra formación y quienes más nos han
apoyado en todo este trayecto.
¡Muchas Gracias por su apoyo y dedicación!
vi
UNIVERSIDAD NUEVA ESPARTA FACULTAD DE CIENCIAS DE LA INFORMÁTICA
ESCUELA DE COMPUTACIÓN
Software libre para el control y gestión de los procesos administrativos y académicos de instituciones privadas de educación para los ciclos básico, medio y diversificado.
Autores: Br. Wilnèl J. Verdú Guerrero Br. Mauricio García de Ceca
Tutor: Patricia O‟Callaghan Fecha: Septiembre de 2012
Resumen
Esta investigación propone el desarrollo e implantación de un sistema
web bajo lineamientos de software libre para llevar a cabo la gestión y el
control de los distintos procesos administrativos (registro de nómina, control
de matrículas) y académicos (registro de estudiantes, registro de notas,
materias y evaluaciones) que corresponden a las labores regulares y al
funcionamiento básico del plantel. Siguiendo las fases de desarrollo de
aplicaciones propuesta por la metodología RAD, se realizó un levantamiento
de datos y su posterior análisis para determinar las tareas que se llevan a
cabo actualmente en la institución educativa que nos sirve como caso de
estudio (Unidad Educativa Instituto Privado Boyacá). Luego del análisis se
procedió a realizar un diseño de los componentes del sistema (modelo de
datos, estructura HTML, flujo de datos) y a partir de estos, se desarrolló la
vii
solución propuesta, la cual fue sometida a pruebas y contó con la aprobación
de la institución educativa para su futura implementación.
Palabras Clave en la Investigación: Sistema, Software Libre, Aplicación
Web, RAD, MySQL, Php, Gestión de Procesos, Instituciones Educativas.
viii
NUEVA ESPARTA UNIVERSITY FACULTY OF COMPUTER SCIENCE
COMPUTER SCIENCE SCHOOL
Open Source Software for controlling and managing the administrative and academic processes for private education institutions in their basic, middle and diversified cycles.
Authors: Br. Wilnèl J. Verdú Guerrero Br. Mauricio García de Ceca
Tutor: Patricia O‟Callaghan Date: September, 2012
Summary
This investigation proposes the development and implantation of an Open
Source Web System for controlling and managing the many different
administrative (staff registry, payment controls) and academic (student
registry, grades, courses and evaluations registry) processes that correspond
to the regular tasks and basic functioning of the institution that we used as a
case of study. Following the phases for software development proposed by
the RAD methodology, a data gathering was made; later that data was
analyzed to determine the tasks that are actually taking place in the
institution. After the analysis we proceeded to create the design of the several
components that form the system (data model, HTML structure, data flow)
and using these designs, the proposed solution was developed, it was put to
the test and counted with the aproval of institution for future implementation.
Key Words in the Investigation: System, Open Source, Web Application, RAD, MySQL, Php, Process Managing, Educational Institutions.
3
INDICE
Aprobación del tutor ................................................................................................................... ii
Hoja de jurados ......................................................................................................................... iii
Dedicatoria ................................................................................................................................ iv
Agradecimientos ........................................................................................................................ v
Resumen ................................................................................................................................... vi
Summary ................................................................................................................................. viii
INDICE ...................................................................................................................................... 3
LISTA DE GRÁFICOS .............................................................................................................. 5
LISTA DE CUADROS ............................................................................................................... 6
LISTA DE FIGURAS ................................................................................................................. 7
INTRODUCCION ...................................................................................................................... 8
CAPÍTULO I ............................................................................................................................ 10
EL PROBLEMA DE INVESTIGACIÓN ............................................................................... 10 Planteamiento del Problema ........................................................................................... 10
Formulación del problema ............................................................................................... 13
Interrogante Principal .......................................................................................... 13
Interrogantes Secundarias .................................................................................. 13
Objetivos de la investigación........................................................................................... 15
Objetivo general .................................................................................................. 15
Objetivos específicos .......................................................................................... 15
Justificación de la Investigación ...................................................................................... 16
Alcance ............................................................................................................................ 17
Delimitaciones ................................................................................................................. 18
Delimitación Temática ..................................................................................................... 18
Delimitación Geográfica .................................................................................................. 18
Delimitación Temporal .................................................................................................... 18
Limitaciones .................................................................................................................... 18
CAPÍTULO II ........................................................................................................................... 19
MARCO REFERENCIAL ..................................................................................................... 19 Antecedentes de la Investigación ................................................................................... 19
Bases Conceptuales ....................................................................................................... 21
Bases Legales ................................................................................................................. 59
Definición de Términos ................................................................................................... 69
4
Operacionalización de Variables del Sistema ................................................................ 73
CAPÍTULO III .......................................................................................................................... 80
MARCO METODOLÓGICO ................................................................................................ 80 Tipo de Investigación ...................................................................................................... 80
Diseño de la Investigación .............................................................................................. 81
Metodología de Desarrollo .............................................................................................. 82
Población y Muestra ........................................................................................................ 87
Población ............................................................................................................. 87
Muestra ............................................................................................................... 87
Técnicas e Instrumentos de Recolección de Datos ........................................................ 88
Validez y Confiabilidad del Instrumento .......................................................................... 91
Análisis e Interpretación de los Resultados .................................................................... 92
Resultados de la aplicación de la Guía de Entrevistas ................................................... 94
CAPITULO IV .......................................................................................................................... 99
Sistema Actual .................................................................................................................... 99 CAPITULO V ......................................................................................................................... 102
Sistema Propuesto ............................................................................................................ 102 Fase 1: Definición de Requisitos .................................................................................. 102
Cronograma del Proyecto ............................................................................................. 105
Estructura de Costos ..................................................................................................... 107
Cuadro No. 15 Estructura de Costos del Proyecto ...................................................... 107
Fase 2: Modelado de Datos .......................................................................................... 108
Diccionario de datos ...................................................................................................... 110
Fase 3: Modelado de Procesos .................................................................................... 122
Fase 4: Construcción .................................................................................................... 137
Fase 5: Pruebas e Implantación ................................................................................... 148
CAPITULO VI ........................................................................................................................ 151
Conclusiones ..................................................................................................................... 151 Recomendaciones ........................................................................................................ 153
Bibliografía .................................................................................................................... 154
Anexos .................................................................................................................................. 160
Anexo A: Modelo de Guía de Entrevista ........................................................................... 160 Anexo B: Lista de Observaciones ..................................................................................... 162 Anexo C: Evaluación del Instrumento de Recolección de Datos ...................................... 163
5
LISTA DE GRÁFICOS
Gráfico No. 1 Resultado de la aplicación de la Guía de Entrevistas - Ítem 2 ........................ 94 Gráfico No. 2 Resultado de la aplicación de la Guía de Entrevistas - Ítem 4 ........................ 95 Gráfico No. 3 Resultado de la aplicación de la Guía de Entrevistas - Ítem 6 ........................ 95 Gráfico No. 4 Resultado de la aplicación de la Guía de Entrevistas - Ítem 8 ........................ 96 Gráfico No. 5 Resultado de la aplicación de la Guía de Entrevistas - Ítem 10 ...................... 96 Gráfico No. 6 Resultado de la aplicación de la Guía de Entrevistas - Ítem 12 ...................... 97
6
LISTA DE CUADROS
Cuadro No. 1 Operacionalización de Variables ..................................................................... 73 Cuadro No. 2 Operacionalización de Variables (Continuación) ............................................ 74 Cuadro No. 3 Operacionalización de Variables (Continuación) ............................................ 75 Cuadro No. 4 Operacionalización de Variables (Continuación) ............................................ 76 Cuadro No. 5 Operacionalización de Variables (Continuación) ............................................ 77 Cuadro No. 6 Operacionalización de Variables (Continuación) ............................................ 78 Cuadro No. 7 Operacionalización de Variables (Continuación) ............................................ 79 Cuadro No. 8 Comparación de Metodologías........................................................................ 83 Cuadro No. 9 Relación de Objetivos Específicos con Fases de la Metodología ................... 86 Cuadro No. 10 Población de Estudio ..................................................................................... 87 Cuadro No. 11 Diagrama de Gantt ...................................................................................... 105 Cuadro No. 12 Diagrama de Gantt (Continuación) .............................................................. 105 Cuadro No. 13 Diagrama de Gantt (Continuación) .............................................................. 106 Cuadro No. 14 Diagrama de Gantt (Continuación) .............................................................. 106 Cuadro No. 15 Estructura de Costos del ProyectoFase 2: Modelado de Datos ................. 107 Cuadro No. 16 Diccionario de Datos: Tabla de Atributos .................................................... 110 Cuadro No. 17 Diccionario de Datos: Tabla de Cursos ....................................................... 111 Cuadro No. 18 Diccionario de Datos: Tabla Cursos-Alumnos ............................................. 112 Cuadro No. 19 Diccionario de Datos: Tabla Cursos-Secciones .......................................... 112 Cuadro No. 20 Diccionario de Datos: Tabla de Evaluaciones ............................................. 113 Cuadro No. 21 Diccionario de Datos: Tabla de Materias .................................................... 114 Cuadro No. 22 Diccionario de Datos: Tabla Materias-Cursos ............................................. 115 Cuadro No. 23 Diccionario de Datos: Tabla matricula ......................................................... 115 Cuadro No. 24 Diccionario de Datos: Tabla de Notas ......................................................... 116 Cuadro No. 25 Diccionario de Datos: Tabla pagos ............................................................. 117 Cuadro No. 26 Diccionario de Datos: Tabla periodos ......................................................... 118 Cuadro No. 27 Diccionario de Datos: Tabla de Personas ................................................... 119 Cuadro No. 28 Diccionario de Datos: Tabla de Personas-Relaciones ................................ 120 Cuadro No. 29 Diccionario de Datos: Tabla preferencias ................................................... 120 Cuadro No. 30 Diccionario de Datos: Tabla de Usuarios .................................................... 121 Cuadro No. 31 Diccionario de Datos: Tabla de Usuarios-Accesos ..................................... 122 Cuadro No. 32 Diccionario de Datos: Tabla de Usuarios-Logs ........................................... 122
7
LISTA DE FIGURAS
Figura No. 1 Diagrama de Caso de Uso del sistema actual – Secretaria de Dirección ....... 101 Figura No. 2 Diagrama de Caso de Uso del sistema actual – Asistente de Control de Estudios ................................................................................................................................. 101 Figura No. 3 Diagrama de Caso de Uso del sistema propuesto – Secretaria de Dirección . 103 Figura No. 4 Diagrama de Caso de Uso del sistema propuesto – Actor: Asistente de Control de Estudios ........................................................................................................................... 103 Figura No. 5 Diagrama de Caso de Uso del sistema propuesto – Actor: Profesor .............. 104 Figura No. 6 Diagrama de Caso de Uso del sistema propuesto – Actor: Asistente de Dirección ............................................................................................................................... 104 Figura No. 7 Diagrama Entidad-Relación de Datos .............................................................. 109 Figura No. 8 Pantalla de Estructura HTML del módulo de Inicio. ......................................... 123 Figura No. 9 Pantalla de Estructura HTML del módulo de Períodos .................................... 124 Figura No. 10 Pantalla de Estructura HTML del módulo de Matrículas ............................... 125 Figura No. 11 Pantalla de Estructura HTML del módulo de Materias .................................. 126 Figura No. 12 Pantalla de Estructura HTML del módulo de Cursos ..................................... 127 Figura No. 13 Pantalla de Estructura HTML del módulo de Personas ................................. 129 Figura No. 14 Pantalla de Estructura HTML del módulo de Notas ....................................... 130 Figura No. 15 Pantalla de Estructura HTML del módulo de Pagos ...................................... 131 Figura No. 16 Pantalla de Estructura HTML del módulo de Reportes ................................. 132 Figura No. 17 Pantalla de Estructura HTML del módulo de Configuración .......................... 133 Figura No. 18 Pantalla de Estructura HTML del módulo de Opciones ................................. 134 Figura No. 19 Pantalla de la interfaz del login sin inicio de sesión ....................................... 134 Figura No. 20 Pantalla de la interfaz del login con inicio de sesión ..................................... 134 Figura No. 21 Pantalla de la interfaz del menú de navegación de los módulos ................... 135 Figura No. 22 Pantalla de la interfaz general de la aplicación sin sesión activa .................. 136 Figura No. 23 Pantalla de la interfaz general de la aplicación con sesión activa y sin configuración ......................................................................................................................... 137 Figura No. 24 Diagrama de flujo de datos para el proceso de configuración del sistema ... 139 Figura No. 25 Diagrama de flujo de datos para el proceso de definición de períodos en el sistema .................................................................................................................................. 139 Figura No. 26 Diagrama de flujo de datos para el proceso de definición de montos de matrículas en el sistema ....................................................................................................... 140 Figura No. 27 Diagrama de flujo de datos para el proceso de creación de una materia ..... 141 Figura No. 28 Diagrama de flujo de datos para el proceso de creación de un curso y asignación de secciones y materias ..................................................................................... 142 Figura No. 29 Diagrama de flujo de datos para el proceso de registro de alumnos ............ 143 Figura No. 30 Diagrama de flujo de datos para el proceso de registro de notas en un curso .............................................................................................................................................. 144 Figura No. 31 Diagrama de flujo de datos para el proceso de registro de pagos de alumno .............................................................................................................................................. 145 Figura No. 32 Diagrama de flujo de datos para el proceso de impresión de reportes de notas de un curso ........................................................................................................................... 146 Figura No. 33 Diagrama de flujo de datos para el proceso de impresión de estado de cuenta de un alumno ........................................................................................................................ 147 Figura No. 34 Diagrama de flujo de datos para el proceso de configurar opciones del sistema .............................................................................................................................................. 147 Figura No. 35 Diagrama de flujo de datos para el proceso de creación y edición de usuarios administrativos en el sistema ................................................................................................ 148
8
INTRODUCCION
Los institutos de educación privada que atienden los ciclos básicos,
medio y diversificado en Venezuela requieren registrar y manejar todas sus
gestiones administrativas, entre las que podemos destacar como
primordiales: el control de alumnos, pagos, notas, libro de vida y nómina.
Este proceso puede ser realizado de manera manual, pero conlleva
una gran inversión en horas hombres para la transcripción y cálculo de los
datos, además de contar con el error humano como variable en contra para
verificar la fiabilidad de los datos.
Existen varios paquetes ofimáticos en el mercado que hacen este
trabajo pero se distribuyen bajo un costoso licenciamiento, lo que los hace
inaccesibles para una parte de los colegios del país como sucede con
nuestro caso de estudio: la Unidad Educativa Instituto Privado Boyacá de Los
Teques. En caso que el instituto pueda permitirse el pago de la licencia, se
encuentra también con otro problema: todos estos paquetes que ofrece el
mercado corren únicamente bajo sistema operativo Windows, lo que
imposibilita su acceso desde cualquier otro sistema operativo.
Surge la necesidad de desarrollar un sistema bajo los lineamientos de
software libre que permita automatizar la gestión de los mencionados
procesos administrativos de estas organizaciones, y que además de mejorar
las prestaciones del software existente en la actualidad, pueda ser ejecutado
en cualquier plataforma operativa.
Se propone la implementación en el colegio que nos sirve como caso
de estudio para que luego pueda ser distribuido gratuitamente en internet,
ayudando así a los institutos que no puedan costear una licencia para un
9
software administrativo y a los que, regidos por el Decreto Gubernamental
#3390, tengan que migrar todos sus sistemas a software libre.
De esta manera se inició esta investigación definiendo el problema y
planteando los objetivos necesarios para llegar una solución desde nuestra
área de desempeño que es la computación.
Luego de plantearnos los objetivos y limitar el alcance de la solución
propuesta, se definió la metodología que se empleó al llevar a cabo este
proyecto.
Una vez definida la metodología de trabajo, se procedió con la
realización de la investigación teórica necesaria para responder a todos los
conceptos relacionados al desarrollo de esta solución.
Posteriormente se realizó una descripción completa de la situación
actual en el Unidad Educativa Instituto Privado Boyacá y luego se hizo de la
misma manera una descripción detallada, paso a paso, de la solución
propuesta.
Por último se presentan las conclusiones y recomendaciones
relacionadas a todo el proceso investigativo y al desarrollo de todo el
proyecto.
10
CAPÍTULO I
EL PROBLEMA DE INVESTIGACIÓN
Planteamiento del Problema
Actualmente la automatización de los procesos administrativos
representa una gran ventaja para las instituciones, es un paso necesario
para el eficaz funcionamiento de cualquier organización o empresa, se trata
de un gran ahorro en recursos humanos y materiales, que al final se traducen
en ahorro de dinero, así como en mejoras en la calidad del servicio ofrecido.
Los colegios venezolanos, tanto privados como públicos, forman parte
de este grupo de instituciones, los cuales llevan a cabo una serie de
procesos para el control y la gestión de las distintas tareas que les permiten
funcionar adecuadamente, estos procesos abarcan una serie de áreas que
debe manejar la institución.
Anteriormente se llevaba a cabo su control administrativo en papel;
por lo que la gestión de estas tareas se vuelve engorrosa ya que los pagos
se registraban en cuadernos, el historial de los estudiantes en carpetas, las
notas en largas hojas, lo cual producía que los tiempos necesarios para el
cumplimiento de estos procesos fueran altos. El sistema manual conlleva
además al uso de personal adicional para llevar a cabo estas delicadas
tareas, así como a su vez aumenta la posibilidad de errores en la
transcripción de los datos.
En los últimos años, se han introducido al mercado diversos sistemas
ofimáticos para el manejo de estos procesos de manera automatizada, sin
embargo, todos estos tienen una gran desventaja, operan bajo un
11
licenciamiento de pago para su uso, generando altos costos de matrícula, por
lo que algunos institutos no pueden permitirse ese costo.
Actualmente existen aplicaciones ofimáticas que permiten realizar la
automatización de estos procesos, pero al ser realizadas para un público
reducido (no existen más de tres mil institutos de este tipo en Venezuela) y
selecto (al ser privados, su acceso no es libre) estas ofrecen sus servicios
bajo costosos licenciamientos.
La Unidad Educativa Instituto Privado Boyacá, ubicada en Los
Teques, estado Miranda, es un colegio que atiende estudiantes de primaria y
secundaria. Desde el año 2006, usan un software desarrollado a medida
para automatizar varios de sus procesos administrativos. El costo de la
licencia para dicho software es de Bs. 80.000 anualmente en su versión
intermedia. Existen diferentes tipos de licencias que ofrece el fabricante, las
cuales permiten atender más procesos pero usan ésta porque es la que se
ajusta al presupuesto de la Institución.
Con la licencia actual se puede llevar el control del registro de
estudiantes y pagos, pero no es posible llevar el control de las notas. Para
hacer esto, se debe imprimir la lista de estudiantes, escribir sobre ella las
notas y calcular manualmente los promedios de cada alumno.
Posteriormente se introducen los datos al programa correspondientes a
aquellos alumnos que fueron promovidos de grado, para que el programa
pueda seguir llevando su registro. Este procedimiento trae como
consecuencia altos costos en términos de tiempo, además que aumenta la
posibilidad de error al momento de calcular y transcribir las puntuaciones.
Con el fin de mejorar los tiempos operacionales y disminuir la
inversión en personal, la dirección del colegio manifestó la necesidad de una
12
solución que le permita llevar a cabo la completa automatización de los
procesos administrativos de los estudiantes, invirtiendo menos dinero que en
la actualidad.
Al realizarse este proyecto bajo la modalidad de software libre, se
colocará en internet y a disposición del público para que otras instituciones
educativas que presenten este mismo problema puedan hacer uso del
sistema y de esta forma conseguir disminuciones significativas en dichas
inversiones.
13
Formulación del problema
¿Cómo puede la Unidad Educativa Instituto Privado Boyacá agilizar
sus procesos administrativos y académicos usando herramientas de software
libre?
Interrogante Principal
¿Cuáles tecnologías, procesos, procedimientos y políticas deben
considerarse para el control y gestión de los procesos administrativos y
académicos de los institutos privados del nivel educativo básico, medio y
diversificado en Venezuela?
Interrogantes Secundarias
¿Qué requerimientos de información son necesarios para el control y
gestión de los procesos administrativos y académicos para institutos privados
del nivel educativo básico, medio y diversificado en Venezuela?
¿Cómo deben ser analizados los requerimientos de información
necesarios para el control y gestión de los procesos administrativos y
académicos para institutos privados del nivel educativo básico, medio y
diversificado en Venezuela?
¿Cómo debe ser el modelo de datos del sistema para el control y
gestión de los procesos administrativos y académicos para institutos privados
del nivel educativo básico, medio y diversificado en Venezuela?
14
¿Cuáles deben ser los módulos y las interfaces necesarias para el
sistema de control y gestión de los procesos administrativos y académicos
para institutos privados del nivel educativo básico, medio y diversificado en
Venezuela?
¿Qué método de pruebas deben utilizarse para validar el correcto
funcionamiento del sistema para el control y gestión de los procesos
administrativos y académicos para institutos privados del nivel educativo
básico, medio y diversificado en Venezuela, y el cumplimiento de los
requerimientos?
¿Cuál debería ser la estrategia de implantación del sistema para el
control y gestión de los procesos administrativos y académicos para institutos
privados del nivel educativo básico, medio y diversificado en Venezuela?
15
Objetivos de la investigación
Objetivo general
Implantar un software libre para el control y gestión de los procesos
administrativos y académicos de instituciones privadas de educación para los
ciclos básico, medio y diversificado.
Objetivos específicos
Identificar los requerimientos de información necesarios para el control
y gestión de los procesos administrativos y académicos para
instituciones educativas privadas del nivel educativo básico, medio y
diversificado en Venezuela.
Analizar los requerimientos de información necesarios para el control y
gestión de los procesos administrativos y académicos para
instituciones educativas privadas del nivel educativo básico, medio y
diversificado en Venezuela.
Diseñar el modelo de datos del sistema para el control y gestión de los
procesos administrativos y académicos para instituciones educativas
privadas del nivel educativo básico, medio y diversificado en
Venezuela.
Definir los módulos y las interfaces necesarias para el sistema de
control y gestión de los procesos administrativos y académicos para
instituciones educativas privadas del nivel educativo básico, medio y
diversificado en Venezuela.
16
Programar el sistema para el control y gestión de los procesos
administrativos y académicos para instituciones educativas privadas
del nivel educativo básico, medio y diversificado en Venezuela.
Establecer un método de pruebas para validar el correcto
funcionamiento del sistema para el control y gestión de los procesos
administrativos y académicos para instituciones educativas privadas
del nivel educativo básico, medio y diversificado en Venezuela.
Definir la estrategia de la implantación del sistema para el control y
gestión de los procesos administrativos y académicos para
instituciones educativas privadas del nivel educativo básico, medio y
diversificado en Venezuela.
Justificación de la Investigación
Cualquier institución u organismo puede encontrarse con la necesidad
de automatizar sus procesos administrativos o mejorar la forma en la que
actualmente se llevan a cabo.
Existen infinidad de paquetes en el mercado para resolver
prácticamente cualquier situación que implique el manejo de datos, tanto
gratuitas como pagas, pero necesidades específicas requieren herramientas
específicas para su satisfacción. Mientras más precisión requiera la
herramienta, más difícil será conseguirla y en casos determinados, más
costoso será su precio.
En el caso de los colegios privados de Venezuela se necesitan
programas que atiendan situaciones que solo competen a ellos, tratándose
de una población finita (un poco más de 3 mil instituciones a lo largo del
17
país), el mercado ofrece soluciones costosas para un mercado concreto y
reducido.
Si bien casi todos estos institutos se rigen por procesos comunes, es
normal que algunos requieran resolver situaciones específicas diferentes de
los demás. Cuando se trata de soluciones de software propietario, las
modificaciones generalmente tienen un coste adicional.
Actualmente no existe una herramienta de software libre en el
mercado venezolano que permita a los colegios automatizar sus procesos
administrativos y a la vez poder realizar adaptaciones en ella sin tener que
acarrear más costos de licenciamiento aun. Además de esto la aplicación
debe ser multiplataforma, lo cual permitirá la portabilidad de la misma y
simplificará su implantación.
De esta forma desde el punto de vista de la computación se realizará
un gran aporte a los repositorios de software libre educativo, realizando una
solución computacional realmente flexible que sea adaptable a las
necesidades de las instituciones donde sea aplicado.
Alcance
El Alcance de este trabajo de investigación fue definido hasta la fase
de implantación del sistema para el control y gestión de los procesos
administrativos y académicos de los ciclos básico, medio y diversificado en la
Unidad Educativa Instituto Privado Boyacá (Los Teques, Edo. Miranda).
18
Delimitaciones
Delimitación Temática
La línea de investigación en la cual se inserta la temática está
focalizada en el campo de estudio de desarrollo de tecnologías de
información Gerencial para instituciones públicas en Venezuela, por cuanto
en este estudio se pretende desarrollar un sistema libre para el control y
gestión de los procesos administrativos y académicos de instituciones
privadas de educación para los ciclos básico, medio y diversificado.
Caso: Unidad Educativa Instituto Privado Boyacá, Los Teques, Edo. Miranda.
Delimitación Geográfica
El sistema se llevará a cabo en las instalaciones de la Unidad
Educativa Instituto Privado Boyacá, ubicado en la calle Cardenal Quintero,
Urbanización Campo Alegre, de Los Teques, Estado Miranda, Venezuela.
Delimitación Temporal
El proyecto iniciará en el mes de septiembre de 2012 y se deben
haber finalizado todas las fases antes del mes de diciembre del mismo año,
dando un total de 4 meses para completarlo.
Limitaciones
No se encontraron limitaciones relevantes durante el proyecto.
19
CAPÍTULO II
MARCO REFERENCIAL
Antecedentes de la Investigación
Al momento de investigar estudios previos relacionados al problema
en cuestión, se estudiaron los siguientes casos de referencia:
Dorys Lucía Acosta Campos (2010, Universidad Nacional Experimental
"Rafael María Baralt"). “ENTORNOS VIRTUALES BAJO SOFTWARE
LIBRE PARA EL APRENDIZAJE EN INSTITUCIONES UNIVERSITARIAS”.
Este trabajo de grado se fijó como objetivo el implementar una solución
existente de software libre para mejorar los métodos de enseñanza de la
institución.
La Universidad contaba con la modalidad de estudios presenciales y
surgió la necesidad de adoptar nuevos modelos de aprendizaje para
diversificar su oferta educativa. Implementaron una solución de software libre
que les permitiría poder ofrecer clases a distancia, adaptándola a sus
necesidades y sin hacer inversión monetaria. Mediante esta investigación,
Acosta se dio cuenta de las falla en los procesos de manejo de datos de la
institución, los unificó con el criterio del sistema a usar “Entornos Virtuales
para el Aprendizaje” (EVA) y procedió a hacer las mejoras para llevar a cabo
la implementación.
El resultado fue exitoso y es el sistema que usa actualmente la
universidad para impartir clases a distancia, resolviendo una carencia que
tenían de manera efectiva, adaptable y a bajo costo.
20
Esta investigación sirvió como referencia para evaluar la metodología
usada al momento de llevar a cabo el desarrollo del sistema, así como la
utilización de los estándares de software libre y la consideración de los
módulos necesarios para una aplicación de este estilo.
Barrios, Montilva y Rivero (2010). “CONCEPTUALIZACIÓN DEL
PROCESO DE IMPLEMENTACIÓN DE SOFTWARE: PERSPECTIVAS
ÁGIL Y DISCIPLINADA”. Esta investigación estaba enfocada en presentar
un modelo que abarcase todos los conceptos necesarios para especificar un
proceso de implementación de software disciplinado con rasgos de agilidad.
De tal manera ofrecen un estudio comparativo detallado entre distintas
metodologías existentes, adaptado al mercado de las PyME‟s (Pequeñas y
Medianas Empresas) en Venezuela, y cuyos resultados son válidos y
extensibles a otras organizaciones a nivel latinoamericano.
De la investigación nombrada anteriormente podemos destacar como
antecedente el estudio del uso de las diferentes metodologías ágiles de
implementación de software dada su gran utilidad.
David Sánchez L (2010, Universidad de Oriente). “IMPLANTACIÓN DE
LA APLICACIÓN WEB PARA EL CONTROL DE DOCUMENTOS DEL
SISTEMA DE GESTIÓN DE LA CALIDAD DE LA GERENCIA AIT DE
PDVSA DIVISION ORIENTE, BAJO TÉCNICAS DE INGENIERÍA DE
SOFTWARE Y ESTÁNDARES ABIERTOS”. El objetivo planteado por este
estudio era la implantación de una aplicación bajo modalidad web para el
manejo y control de documentos del Sistema de Gestión de la Calidad de la
Gerencia AIT de PDVSA División Oriente haciendo uso de técnicas,
ingeniería de software y estándares abiertos.
21
El estudio presenta una extensa investigación sobre la institución que
fue objeto de la misma (PDVSA). Esta investigación les permitió llegar a un
profundo nivel de conocimiento del funcionamiento organizacional para poder
de esta manera desarrollar una solución que se adaptase bien a la empresa
y que cumpla con los requerimientos planteados. Se logró una satisfactoria
implantación del sistema requerido, cumpliendo los objetivos planteados.
De tal forma, se encontró de gran importancia la referencia a este
estudio por las similitudes en cuanto a los requerimientos del uso de
herramientas y plataformas libres para el desarrollo de una aplicación web.
Bases Conceptuales
Sistema
Según Mario Bunge (1999) “...Un sistema es un todo organizado. El
concepto tiene dos usos muy diferenciados, que se refieren respectivamente
a los sistemas de conceptos y a los objetos reales más o menos complejos y
dotados de organización... El concepto de sistema implica una fuerte
abstracción, tendente a encontrar lo común a entidades muy diferentes. El
esfuerzo por encontrar leyes generales del comportamiento de los sistemas
reales es el que funda la Teoría de Sistemas y, más en general, aquella
tendencia de la investigación a la que se alude como pensamiento sistémico
o Sistémica, en cuyo marco se encuentran disciplinas y teorías como la
Cibernética, la Teoría de la información, la Teoría de juegos, la Teoría del
caos y otras...”.
Según el diccionario de la Biblioteca de Consulta Microsoft Encarta
(2004), se pretende obtener cuatro (4) conceptos:
22
Conjunto de reglas o principios sobre una materia racionalmente
enlazados entre sí.
Conjunto de cosas que relacionadas entre sí ordenadamente
contribuyen a determinado objeto.
Conjunto de órganos que intervienen en alguna de las principales
funciones vegetativas. Sistema nervioso.
Conjunto estructurado de unidades relacionadas entre sí que se
definen por oposición; p. Ej., la lengua o los distintos componentes de
la descripción lingüística.
Entonces, podemos decir que un sistema es un conjunto de partes (o
subsistemas si se quiere) relacionados a una escala superior por un objetivo
o fin común.
Teoría General de Sistemas
La Teoría De Sistemas (TS) es un ramo específico de la Teoría
general de sistemas (TGS). La TGS surgió con los trabajos del alemán
Ludwig Von Bertalanffy, publicados entre 1950 y 1968. La TGS no busca
solucionar problemas o intentar soluciones prácticas, pero sí producir teorías
y formulaciones conceptuales que pueden crear condiciones de aplicación en
la realidad empírica. La TGS afirma que las propiedades de los sistemas, no
pueden ser descritos en términos de sus elementos separados; su
comprensión se presenta cuando se estudian globalmente.
Ludwig Von Bertalanffy en su libro Teoría General de Sistemas (1976)
afirma que:
23
” La TGS se fundamenta en tres premisas básicas:
Los sistemas existen dentro de sistemas: cada sistema existe dentro
de otro más grande.
Los sistemas son abiertos: es consecuencia del anterior. Cada
sistema que se examine, excepto el menor o mayor, recibe y descarga
algo en los otros sistemas, generalmente en los contiguos. Los
sistemas abiertos se caracterizan por un proceso de cambio infinito
con su entorno, que son los otros sistemas. Cuando el intercambio
cesa, el sistema se desintegra, esto es, pierde sus fuentes de energía.
Las funciones de un sistema dependen de su estructura: para los
sistemas biológicos y mecánicos esta afirmación es intuitiva. Los
tejidos musculares por ejemplo, se contraen porque están constituidos
por una estructura celular que permite contracciones.”
Según Bertalanffy, sistema es un conjunto de unidades
recíprocamente relacionadas. De ahí se deducen dos conceptos: propósito (u
objetivo) y globalismo (o totalidad).
Propósito u objetivo: todo sistema tiene uno o algunos propósitos. Los
elementos (u objetos), como también las relaciones, definen una
distribución que trata siempre de alcanzar un objetivo.
Globalismo o totalidad: un cambio en una de las unidades del sistema,
con probabilidad producirá cambios en las otras. El efecto total se
presenta como un ajuste a todo el sistema. Hay una relación de
causa/efecto.
24
Gestión y Control de Procesos
Los procesos son actividades que se llevan a cabo gestionando
recursos con el fin de producir un resultado a partir de ciertos elementos de
entrada al sistema encargado de realizar el proceso. Un proceso consta de
entradas, salidas, una actividad o proceso a realizarse, requisitos de control,
una evaluación del desempeño o eficacia y a su vez debe contar con un
responsable que se haga cargo de la gestión y el control.
Para que una organización funcione de manera eficaz, tiene que
identificar y gestionar un gran número de recursos y actividades relacionadas
entre sí para garantizar un correcto desempeño de los procesos.
El control y seguimiento de los procesos por su parte, son
herramientas muy útiles para la mejora interna en una organización ya que
con estos datos podemos analizar y resaltar cuales son los aspectos que no
se están gestionando correcta u óptimamente.
Según el portal online eMagister.com, los procesos pueden ser
clasificados de la siguiente manera:”
Estratégicos, soportan y despliegan las políticas y estrategias de la
organización.
Operativos, constituyen la secuencia de valor añadido, desde la
comprensión de las necesidades del mercado, hasta la utilización
por parte de los clientes.
De soporte, dan soporte y apoyo a los procesos operativos.”
25
Ingeniería del Software
Según el libro “What is Software Engineering?” (Lewis, 1994)
"Software es la suma total de los programas de computadora,
procedimientos, reglas, la documentación asociada y los datos que
pertenecen a un sistema de cómputo". Según el mismo autor, "un producto
de software es un producto diseñado para un usuario". Teniendo esto
presente podemos decir que la Ingeniería de Software es un enfoque
sistemático del desarrollo, operación y mantenimiento de una aplicación
realizada para cumplir con los requerimientos de un usuario, en su libro
"Ingeniería de (Cota, 1994) considera que "la Ingeniería de Software es la
rama de la ingeniería que aplica los principios de la ciencia de la
computación y las matemáticas para lograr soluciones costo-efectivas
(eficaces en costo o económicas) a los problemas de desarrollo de software",
es decir, "permite elaborar consistentemente productos correctos, utilizables
y costo-efectivos"(p.5).
El ingeniero de software tiene en sus manos la calidad del sistema, la
cual dependerá de una seria de elementos que deben ser tomados en
cuenta ciertos pasos y elementos, Según Wikipedia, la enciclopedia libre
(1998), estos elementos son:
Métodos o técnicas: Indican cómo construir técnicamente el software,
y abarca una serie de tareas que incluyen la planificación y estimación
de proyectos, el análisis de requisitos, el análisis y la especificación
del sistema, el diseño de estructuras de datos, programas y
procedimientos, la codificación, la documentación, las pruebas y el
mantenimiento. Los métodos introducen frecuentemente una notación
específica para la tarea en cuestión y una serie de criterios de calidad.
26
Herramientas: Son instrumentos o sistemas automatizados para
realizar algo de la mejor manera posible. Esta manera óptima puede
significar que la herramienta produce resultados más exactos, más
eficientes, más productivos, o que refuerza la calidad del producto
resultante. Proporcionan un soporte automático o semiautomático para
todas las fases del desarrolló y sistemas que integran las herramientas
de cada fase de manera que sirven para todo el proceso. Estas
herramientas se denominan CASE (Computer Aided Software
Engineering).
Procedimientos: Son la combinación de las técnicas y las
herramientas que en forma conjunta dan un resultado particular. Los
procedimientos indicarán qué herramientas deberán utilizarse cuando
se aplican determinadas técnicas. Definen la secuencia en que se
aplican los métodos, los documentos que se requieren, los controles
que aseguran la calidad y las directrices que permiten a los gestores
evaluar los progresos.
Paradigmas: Representan un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro sino que cada
uno tiene ventajas y desventajas. También hay situaciones donde un
paradigma resulta más apropiado que otro. Los más comunes son el
desarrolló en cascada, el desarrolló en espiral, el desarrolló por
prototipos, el desarrolló incremental, el desarrolló en V y el desarrolló
orientado a objetos. También existen modelo híbridos, los cuales
combinan elementos de diferentes modelos según las necesidades
existentes.
27
Diseño Conceptual
Según (Microsoft, 1997) “El diseño conceptual se considera como un
análisis de actividades y consiste en la solución de negocios para el usuario
y se expresa con los casos de uso. El diseño lógico es la solución del equipo
de proyecto del negocio y consiste de las siguientes tareas:
Identificar los usuarios y sus roles.
Obtener datos de los usuarios.
Evaluar la información.
Documentar los escenarios de uso.
Validar con los usuarios.
Validar contra la arquitectura de la empresa.
Una forma de obtener estos requerimientos es construir una matriz
usuarios-actividades de negocios, realizar entrevistas, encuestas y/o visitas a
los usuarios, de tal manera que se obtenga quién, qué, cuándo, dónde y por
qué de la solución”. Se esta manera se observa la importancia de llevar
estructuras y seguir los pasos planteados sin perder el norte de los
requerimientos que se busca conseguir.
28
Desarrollo Rápido de Aplicaciones (DRA)
La Metodología de Desarrollo Rápido de Aplicaciones (Rapid
Application Development, RAD, en inglés) fue implementada en 1980 por
James Martin y consiste en un ciclo de desarrollo corto basado en tres (3)
fases (Requisitos, Diseño y Producción) enfocadas a lograr la entrega del
sistema final con un promedio de 90 a 120 días como máximo.
Existen variantes de la metodología en las que se realiza un ciclo de
desarrollo más detallado. Estas variantes pueden incluir otras fases que el
modelo original no contempla. La versión más completa del modelo consta
de las siguientes fases: Definición de Requisitos, Modelado de Datos,
Modelados de Procesos, Producción y Pruebas.
Esta metodología se enfoca en el desarrollo rápido de una aplicación,
pero tomando en cuenta siempre, y manteniendo cerca del proceso de
desarrollo al cliente o al usuario final, quien será el encargado de guiar el
proceso en base a los requerimientos que posea. De esta manera permite
crear prototipos funcionales durante el propio proceso de desarrollo sin que
este esté completamente culminado, lo cual es una ventaja muy clara en
comparación con otras metodologías de desarrollo, las cuales no generan un
sistema funcional hasta finalizar sus etapas.
Jesús Barranco de Areba, en su libro “Metodología del Análisis
Estructurado de Sistemas”, nos habla de las ventajas y desventajas de esta
metodología:
Ventajas:
Aumento de la productividad.
29
Reducción de costos y tiempos de desarrollo.
Aumento de calidad del sistema.
Desventajas:
Necesidad de una buena formación.
Altos niveles de organización.
Fases de la metodología DRA
Definición de Requerimientos: También conocida como la fase de
definición de concepto, aquí se definen los requerimientos del sistema,
restricciones, alcance del proyecto y del sistema. Con este fin, se
adquiere la información necesaria para poder plantear una propuesta
que solvente la problemática.
Diseño de Datos: Aquí se define el modelo de datos sobre el cual se
va a desarrollar el sistema, es decir; se establece la estructura que va
a tener la base de datos con la que van a interactuar los distintos
procesos de gestión y control del sistema.
Diseño de Procesos: También conocida como la fase del diseño
funcional, es aquí donde se definen los distintos procesos que va a
llevar a cabo el sistema, al igual que lo módulos e interfaces que van a
permitir la interacción con el sistema.
Producción: Esta fase completa la construcción del sistema, genera la
documentación y realiza los planes para llevar a cabo la implantación.
30
Pruebas e Implantación: esta fase incluye pruebas finales del usuario
y del desarrollador, adiestramiento del usuario y la implantación del
sistema.
UML
El modelado consiste en diseñar aplicaciones de software antes de su
programación. Conforma una parte esencial de cualquier proyecto de
desarrollo de software y es un medio sumamente útil para la visualización
del mismo. Usando modelos, aquellos responsables del desarrollo de un
proyecto de software puedan asegurarse que la funcionalidad está completa
y correcta con respecto a los requerimientos del usuario final, de esta forma
también nos ayuda al momento de planear escalabilidad, robustez,
seguridad, extensibilidad y otras características antes de la implementación
del código, ya que luego puedo significar incrementos en los costos de
desarrollo.
Joseph Schmuller, en su libro “Aprendiendo UML en 24 horas” (2005)
nos explica que el Lenguaje Unificado de Modelado (UML, Unified Modeling
Language) surge en 1994 como necesidad de crear un estándar para la
realización de distintos tipos de modelos con características y funciones
distintas. Ya en 1997 fue aprobado por el consorcio de estandarización OMG
(Grupo de Gestión de Objetos) como el estándar para el análisis y diseño
orientado a objetos
Independientemente de la metodología que se use para realizar llevar
a cabo el proyecto, UML siempre puede ser usado como apoyo para
expresar de una manera más completa, explicita y clara los resultados del
diseño.
31
De la practicidad que nos genera el uso de estos modelos, Schmuller
destaca una serie de utilidades y ventajas como lo son:
Permite modelar de forma visual para poder especificar, visualizar,
construir y documentar los elementos que formaran parte de un
sistema de software.
Facilita la forma de entender, diseñar, configurar, mantener y controlar
la información sobre los sistemas a construir.
Capta la información sobre la estructura estática y el comportamiento
dinámico de un sistema.
Diagramas de Casos de Uso
Se utilizan para visualizar de manera clara el comportamiento de un
sistema o una clase, de forma tal que los usuarios del mismo puedan
comprender cómo se utiliza dicho elemento.
Según Microsoft, “esta representación se hace a través de las
relaciones entre los actores (agentes externos) y los casos de uso (acciones)
dentro del sistema. Los diagramas de casos de uso definen conjuntos de
funcionalidades afines que el sistema debe cumplir para satisfacer todos los
requerimientos que tiene a su cargo.”
32
Diagramas de Entidad-Relación
Este tipo de diagrama creado y publicado en una investigación por el
Dr. Peter Pin-Shan Chen en 1976, es uno de los más utilizados en el
desarrollo de aplicación para realizar el diseño de las bases de datos. El
autor Dr. Chen nos dice en su investigación:
“Entidades y Relaciones son una manera natural de organizar objetos
físicos así como información… El concepto de Entidad-Relación es el
principio básico fundamental para el modelado conceptual. Ha estado con
nosotros desde hace miles de años y lo seguirá están por muchos años
más.”
Un diagrama de Entidad-Relación “es una herramienta de
modelización de datos que describe las asociaciones que existen entra las
diferentes categorías de datos dentro de una sistema de empresa o de
información...” (Whitten, Bentley, Barlow, Pág. 320), es decir que el mismo
explica todas las cosas tangibles del sistema, lugares, funciones, y describe
como son sus Inter.-relaciones y propiedades, Los mismos están
comprendidos de 3 partes fundamentales, Entidades, Relaciones, Atributos.
Una Entidad es cualquier ente real, cualquier objeto discreto sobre el que se
tiene y se deseas guardar alguna información; una Relación es la asociación
entre una o más entidades, la misma describe una interdependencia entre
dos relaciones, y por ultimo tenemos los Atributos los cuales son
propiedades relevantes de una y solo una entidad.
33
Diagrama de Flujo de Datos
Según Whitten, Bentley y Barlow (2000) explican en su libro “ es una
herramienta de modelización de procesos que representa el flujo de datos a
través de un sistema y los trabajos o procesos llevados a cabo por dicho
sistema...” a diferencia del diagrama de entidad relación donde se explican
las relaciones y las dependencias entre las entidades, esta herramienta nos
ayuda a describir los procesos, que son los que nos ayudan a transformar los
datos en información y de esta manera darle sentido al sistema. Los
elementos que componen un DFD (Diagrama de Flujo de Datos) son,
Proceso, es un conjunto de tareas o acciones realizadas a partir de un flujo
de datos o entrada para producir flujos de datos de salida, pero ¿qué es un
Flujo de datos?, no es más que la representación de la entrada o salida de
datos de un proceso.
Existe otro elemento importante que son los Agentes Internos y
Externos los cuales definen los límites del sistema puesto que ellos con los
que suministran las entradas y salidas de un sistema. Y toda esta
información se almacena en los llamados Almacén de Datos.
Programación
La programación es el proceso mediante el cual se le introducen una
serie de comandos entendidos por el computador de forma tal que el mismo
de él resultado deseado. Y se con todo lo antes expuesto notamos que hay
una gran relacione entra la programación y la ingeniería del software, unida
por un proceso creativo y una necesidad de satisfaces unos requerimientos
específicos. Estos procesos de creación vistos desde el punto de vista de la
ingeniería tienen unos pasos a seguir, Según Wikipedia (2006):
34
Reconocer la necesidad de un programa para solucionar un problema
o identificar la posibilidad de automatización de una tarea.
Recoger los requisitos del programa. Debe quedar claro qué es lo que
debe hacer el programa y para qué se necesita.
Realizar el análisis de los requisitos del programa. Debe quedar claro
cómo debe realizar el programa las cosas que debe hacer. Las
pruebas que comprueben la validez del programa se pueden
especificar en esta fase.
Diseñar la arquitectura del programa. Se debe descomponer el
programa en partes de complejidad abordable.
Implementar el programa. Consiste en realizar un diseño detallado,
especificando completamente todo el funcionamiento del programa,
tras lo cual la codificación debería resultar inmediata.
Implantar (instalar) el programa. Consiste en poner el programa en
funcionamiento junto con los componentes que pueda necesitar
(bases de datos, redes de comunicaciones, etc.)”.
En la actualidad este proceso de creación no incluye únicamente
escribir el código, se han incluido pasos como el proceso de diseño y
planificación del programa.
35
Paradigma de programación
Un paradigma es una forma de representar y manipular el
conocimiento. Representa un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro sino que cada uno tiene
ventajas y desventajas. También hay situaciones donde un paradigma
resulta más apropiado que otro.
Algunos ejemplos de paradigmas de programación:
El paradigma imperativo es considerado el más común y está
representado, por ejemplo, por el C o por BASIC.
El paradigma funcional está representado por la familia de lenguajes
LISP, en particular Scheme.
El paradigma lógico, un ejemplo es PROLOG.
El paradigma orientado a objetos. Como ejemplo de lenguaje
completamente orientado a objetos tenemos Smalltalk ó Java.
Si bien puede seleccionarse la forma pura de estos paradigmas al
momento de programar, en la práctica es habitual que se mezclen. Tal es el
caso de lenguajes como C++, Delphi o Visual Basic, los cuales combinan el
paradigma imperativo con el orientado a objetos. Incluso existen lenguajes
multiparadigma que permiten la mezcla de forma natural, como en el caso de
Oz.
36
Otro ejemplo: lenguajes como Scheme o Prolog, paradigma funcional
y lógico respectivamente, cuentan con estructuras repetitivas. Estas son más
propias del paradigma imperativo que a la forma pura de aquellos.
Programación Imperativa
La programación imperativa, en contraposición a la programación
declarativa es un paradigma de programación que describe la programación
en términos del estado del programa y sentencias que cambian dicho estado.
Los programas imperativos son un conjunto de instrucciones que le indican al
computador cómo realizar una tarea. La implementación de hardware de la
mayoría de computadores es imperativa; prácticamente todo el hardware de
los computadores está diseñado para ejecutar código de máquina, que es
nativo al computador, escrito en una forma imperativa. Esto se debe a que el
hardware de los computadores implementa el paradigma de las Máquinas de
Turing.
Desde esta perspectiva de bajo nivel, el estilo del programa está
definido por los contenidos de la memoria, y las sentencias son instrucciones
en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje
ensamblador). Los lenguajes imperativos de alto nivel usan variables y
sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas
y las listas de revisión de procesos, a pesar de no ser programas de
computadora, son también conceptos familiares similares en estilo a la
programación imperativa; cada paso es una instrucción, y el mundo físico
guarda el estado (Zoom). Puesto que las ideas de la programación
imperativa son tanto conceptualmente familiares y directamente embebidas
o incrustadas en el hardware, la mayoría de los lenguajes de computadores
son de un estilo imperativo.
37
La mayoría de los lenguajes de alto nivel incorporan cuatro tipos
básicos de sentencias: asignaciones, ciclos, ramificaciones condicionales, y
ramificaciones incondicionales. Las sentencias de asignación, en general,
realizan una operación sobre la información localizada en la memoria y
almacenan los resultados para uso posterior. Los lenguajes imperativos de
alto nivel, adicionalmente, permiten la evaluación de expresiones complejas,
que pueden consistir de operaciones aritméticas y evaluaciones de funciones
y la asignación del valor resultante a la memoria. Las sentencias de ciclos
permiten a una secuencia de instrucciones ser ejecutada múltiples veces. Lo
ciclos pueden tanto ejecutar las sentencias que ellos tienen un número
predefinido de veces, como ejecutarlas repetidamente hasta que alguna
condición cambie. Las sentencias de ramificación condicional permiten a un
bloque de instrucciones o sentencias ser ejecutado sólo si alguna condición
se cumple. De lo contrario, las sentencias son saltadas y la secuencia de
ejecución continúa al siguiente bloque de instrucciones. Las ramificaciones
incondicionales permiten a la ejecución de una secuencia ser transferida a
alguna otra parte del programa. Estas incluyen el salto llamado "goto" en
muchos lenguajes y la llamada de un subprograma o procedimiento.
Los primeros lenguajes imperativos fueron los lenguajes de máquina
de los computadores originales. En estos lenguajes, las instrucciones fueron
muy simples, lo cual hizo la implementación de hardware fácil, pero
obstruyendo la creación de programas complejos. Según Wikipedia, la
enciclopedia libre (1998) “ Fortran, cuyo desarrollo fue iniciado en 1954 por
John Backus en IBM, fue el primer gran lenguaje de programación en
superar los obstáculos presentados por el código de máquina en la creación
de programas complejos”.
38
Algunos lenguajes imperativos:
BASIC
C
C++
Java
C#
Perl
Programación Orientada a Objetos
La Programación Orientada a Objetos (POO u OOP según siglas en
inglés) es un paradigma de programación que define los programas en
términos de "clases de objetos", objetos que son entidades que combinan
estado (es decir, datos), comportamiento (esto es, procedimientos o
métodos) e identidad (propiedad del objeto que lo diferencia del resto). La
programación orientada a objetos expresa un programa como un conjunto de
estos objetos, que colaboran entre ellos para realizar tareas. Esto difiere de
los lenguajes procedurales tradicionales, en los que los datos y los
procedimientos están separados y sin relación. Estos métodos están
pensados para hacer los programas y módulos más fáciles de escribir,
mantener y reutilizar.
Otra manera en que esto es expresado a menudo, es que la
programación orientada a objetos anima al programador a pensar en los
programas principalmente en términos de estructuras de datos, y en segundo
lugar en las operaciones ("métodos") específicas a esas estructuras de
datos. Los lenguajes procedurales animan al programador a pensar sobre
39
todo en términos de procedimientos, y en segundo lugar en las estructuras
de datos que esos procedimientos manejan.
Los programadores que emplean lenguajes procedurales, escriben
funciones y después les pasan datos. Los programadores que emplean
lenguajes orientados a objetos definen objetos con datos (estructuras) y
métodos y después envían mensajes a los objetos diciendo que realicen
esos métodos en sí mismos.
Características de la P.O.O.:
Abstracción: Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su
estado, y "comunicarse" con otros objetos en el sistema sin revelar
cómo se implementan estas características. Los procesos, las
funciones o los métodos pueden también ser abstraídos y cuando lo
están, una variedad de técnicas son requeridas para ampliar una
abstracción.
Encapsulamiento: También llamado "ocultación de la información".
Cada objeto está aislado del exterior, es un módulo natural, y cada
tipo de objeto expone una interfaz a otros objetos que específica cómo
pueden interactuar con los objetos de la clase. El aislamiento protege
a las propiedades de un objeto contra su modificación por quien no
tenga derecho a acceder a ellas, solamente los propios métodos
internos del objeto pueden acceder a su estado. Esto asegura que
otros objetos no pueden cambiar el estado interno de un objeto de
maneras inesperadas, eliminando efectos secundarios e interacciones
inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso
directo a los datos internos del objeto de una manera controlada y
40
limitando el grado de abstracción. La aplicación entera se reduce a un
agregado o rompecabezas de objetos.
Polimorfismo: comportamientos diferentes, asociados a objetos
distintos, pueden compartir el mismo nombre, al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al objeto que
se esté usando. O dicho de otro modo, las referencias y las
colecciones de objetos pueden contener objetos de diferentes tipos, y
la invocación de un comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del objeto referenciado.
Cuando esto ocurre en "tiempo de ejecución", esta última
característica se llama asignación tardía o asignación dinámica.
Algunos lenguajes proporcionan medios más estáticos (en "tiempo de
compilación") de polimorfismo, tales como las plantillas y la
sobrecarga de operadores de C++.
Herencia: las clases no están aisladas, sino que se relacionan entre sí,
formando una jerarquía de clasificación. Los objetos heredan las
propiedades y el comportamiento de todas las clases a las que
pertenecen. La herencia organiza y facilita el polimorfismo y la
encapsulamiento permitiendo a los objetos ser definidos y creados
como tipos especializados de objetos preexistentes. Estos pueden
compartir (y extender) su comportamiento sin tener que re
implementar su comportamiento. Esto suele hacerse habitualmente
agrupando los objetos en clases y estas en árboles o enrejados que
reflejan un comportamiento común. Cuando un objeto pertenece a
más de una clase se llama herencia múltiple; esta característica no
está soportada por algunos lenguajes (como Java).
41
La programación orientada a objetos tomó posición como la
metodología de programación dominante a mediados de los años ochenta,
en gran parte debido a la influencia de C++, una extensión del lenguaje de
programación C.
Los conceptos básicos que definen y caracterizan a la programación
orientada a objetos son:
Objeto: entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento o funcionalidad ("métodos").
Corresponden a los objetos reales del mundo que nos rodea, o a
objetos internos del sistema (del programa).
Clase: definiciones de las propiedades y comportamiento de un tipo de
objeto concreto. La instanciación es la lectura de estas definiciones y
la creación de un objeto a partir de ellas.
Método: algoritmo asociado a un objeto (o a una clase de objetos),
cuya ejecución se desencadena tras la recepción de un "mensaje".
Desde el punto de vista del comportamiento, es lo que el objeto puede
hacer. Un método puede producir un cambio en las propiedades del
objeto, y/o la generación de un "evento" con un nuevo mensaje para
otro objeto del sistema.
Evento: un suceso en el sistema (tal como una interacción del usuario
con la máquina, o un mensaje enviado por un objeto). El sistema
maneja el evento enviando el mensaje adecuado al objeto pertinente.
42
Mensaje: una comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros asociados al
evento que lo generó.
Propiedad o atributo: contenedor de un tipo de datos asociados a un
objeto (o a una clase de objetos), que hace los datos visibles desde
fuera del objeto, y cuyo valor puede ser alterado por la ejecución de
algún método.
Estado interno: es una propiedad invisible de los objetos, que puede
ser únicamente accedida y alterada por un método del objeto, y que
se utiliza para indicar distintas situaciones posibles para el objeto (o
clase de objetos).
Entre los lenguajes orientados a objetos destacan los siguientes, cabe
destacar que no todos estos lenguajes de programación son igualmente
puros en orientación a objetos:
ActionScript
Ada 95
C++
C#
Clarion
Delphi
Eiffel
Java
Lexico (en castellano)
Objective-C
Ocaml
43
PHP 5
PowerBuilder
Python
Ruby
Smalltalk
Visual Basic
Luego de introducir lo que es la programación y dar una breve reseña
de los que son programas orientados a objetos y sus características así
como sus lenguajes, se procederá a describir los lenguajes HTML, CSS,
JavaScript y PHP.
HTML
El lenguaje HTML es el estándar para la descripción de hipertexto, es
decir, texto estructurado con capacidades de comunicación con otros
documentos y diversos medios digitales.
El consorcio W3C (World Wide Web Consortium), es el encargado del
desarrollo y estandarización del lenguaje HTML, y en este sentido lo definen
de la siguiente forma:
“HTML es la lingua franca para la publicación de hipertexto en la red
de alcance mundial (World Wide Web). Es un formato no propietario
basado en SGML, y puede ser creado y procesado por una gran
variedad de herramientas, desde simples editores de texto a
herramientas específicas más sofisticadas. HTML usa etiquetas para
estructurar el código en diferentes secciones como cabecera, párrafos,
listas, vínculos, etc.”
44
Este lenguaje entonces es el encargado de permitirnos crear una
estructura básica sobre la cual ocurrirá el flujo de información de la
aplicación.
JavaScript
Es un lenguaje interpretado, multiparadigma, dinámico, imperativo y
orientado a objetos, usado principalmente para crear scripts del lado del
cliente, siendo interpretado por el navegador web para así permitir un mayor
nivel de interacción al usuario con las interfaces de la aplicación y paginas
dinámicas. JavaScript representa un lenguaje de gran utilidad para agregarle
funcionalidad a las aplicaciones web de una manera sencilla y ligera.
Según la Red de Desarrollo de Mozilla (Mozilla Development
Network), una de las empresas encargadas del desarrollo, mejoramiento y
actualización de este lenguaje, “JavaScript es un lenguaje de programación
dinámico que soporta construcción de objetos basado en prototipos. La
sintaxis básica es similar a Java y C++ con la intención de reducir el número
de nuevos conceptos necesarios para aprender el lenguaje. Las
construcciones del lenguaje, tales como sentencias „if‟, y bucles „for‟ y „while‟,
y bloques „switch‟ y „try‟... „catch‟ funcionan de la misma manera que en estos
lenguajes…”
Hojas de Estilo (CSS)
Las Hojas de Estilo (CSS, Cascade Style Sheet por sus siglas en
Ingles) son documentos estructurados bajo un lenguaje el cual es usado para
definir la presentación de los elementos en una estructura HTML, como lo
45
son el color, la diagramación y posición de los elementos así como las
fuentes.
Nuevamente el W3C es el encargado de realizar las actualizaciones y
publicar los estándares para las nuevas versiones del lenguaje. Es de gran
utilidad ya que como menciona el W3C en su portal web, “permite adaptar la
presentación para diferentes tipos de dispositivos, como impresoras o
aparatos con pantallas grandes o pequeñas. CSS es independiente del
HTML y puede ser usado con cualquier lenguaje basado en XML. La
separación de HTML del CSS permite mantener más fácilmente un sitio web,
compartir hojas de estilo entre distintas páginas o aplicaciones. Esto también
es referido como la separación de la estructura (o contenido) y la
presentación.
PHP
PHP es un lenguaje de programación usado generalmente para la
creación de contenido para sitios Web. PHP es el (acrónimo recursivo de
"PHP: Hypertext Preprocessor", inicialmente PHP Tools, o, Personal Home
Page Tools) es un lenguaje interpretado usado para la creación de
aplicaciones para servidores, o creación de contenido dinámico para sitios
Web.
Su interpretación y ejecución se da en el servidor, en el cual se
encuentra almacenado el script, y el cliente sólo recibe el resultado de la
ejecución. Cuando el cliente hace una petición al servidor para que le envíe
una página Web, generada por un script PHP, el servidor ejecuta el intérprete
de PHP, el cual procesa el script solicitado que generará el contenido de
manera dinámica, pudiendo modificar el contenido a enviar, y regresa el
resultado al servidor, el cual se encarga de regresárselo al cliente. Además
46
es posible utilizar PHP para generar archivos PDF, Flash, así como
imágenes en diferentes formatos, entre otras cosas.
Permite la conexión a diferentes tipos de servidores de bases de datos
tales como MySQL, Postgres, Oracle, ODBC, IBM DB2, Microsoft SQL
Server y SQLite; lo cual permite la creación de Aplicaciones Web muy
robustas. PHP también tiene la capacidad de ser ejecutado en la mayoría de
los sistemas operativos tales como UNIX (y de ese tipo, como Linux),
Windows y Mac OS X, y puede interactuar con los servidores de Web más
populares ya que existe en versión CGI, módulo para Apache, e ISAPI.
PHP fue originalmente diseñado en Perl, seguidos por la escritura de
un grupo de CGI binarios escritos en el lenguaje C por el programador
Danés-Canadiense Rasmus Lerdorf en el año 1994 para mostrar su
currículum vitae y guardar ciertos datos, como la cantidad de tráfico que su
página Web recibía
Los principales usos del PHP son los siguientes:
Programación de páginas Web dinámicas, habitualmente en
combinación con el motor de base datos MySQL, aunque cuenta con
soporte nativo para otros motores, incluyendo el estándar ODBC, lo
que amplía en gran medida sus posibilidades de conexión.
Programación en consola, al estilo de Perl, en Linux, Windows y
Macintosh.
Creación de aplicaciones gráficas independientes del navegador, por
medio de la combinación de PHP y GTK (GIMP Tool Kit), que permite
47
desarrollar aplicaciones de escritorio tanto para los sistemas
operativos basados en Unix, como para Windows y Mac OS X.
Se pueden destacar una serie de ventajas presentadas por este
lenguaje de programación como lo son:
La principal ventaja se basa en ser un lenguaje multiplataforma.
Capacidad de conexión con la mayoría de los manejadores de base
de datos que se utilizan en la actualidad.
Leer y manipular datos desde diversas fuentes, incluyendo datos que
pueden ingresar los usuarios desde formularios HTML
Capacidad de expandir su potencial utilizando la enorme cantidad de
módulos (llamados extensiones).
Posee una muy buena documentación en su página oficial
("http://www.php.net/manual/es”).
Es Libre, por lo que se presenta como una alternativa de fácil acceso
para todos.
Permite las técnicas de Programación Orientada a Objetos.
48
Bases de Datos
Una base o banco de datos es un conjunto de datos que pertenecen
al mismo contexto almacenados sistemáticamente para su posterior uso. En
este sentido, una biblioteca puede considerarse una base de datos
compuesta en su mayoría por documentos y textos impresos en papel e
indexados para su consulta.
En informática existen los sistemas gestores de bases de datos
(SGBD), que permiten almacenar y posteriormente acceder a los datos de
forma rápida y estructurada. Las propiedades de los sistemas gestores de
bases de datos se estudian en informática.
Las aplicaciones más usuales son para la gestión de empresas e
instituciones públicas. También son ampliamente utilizadas en entornos
científicos con el objeto de almacenar la información experimental.
Las bases de datos pueden clasificarse de varias maneras, de
acuerdo al criterio elegido para su clasificación:
Según la variabilidad de los datos almacenados:
Bases de datos estáticas: Éstas son bases de datos de sólo lectura,
utilizadas primordialmente para almacenar datos históricos que
posteriormente se pueden utilizar para estudiar el comportamiento de
un conjunto de datos a través del tiempo, realizar proyecciones y
tomar decisiones.
Bases de datos dinámicas: Éstas son bases de datos donde la
información almacenada se modifica con el tiempo, permitiendo
49
operaciones como actualización y adición de datos, además de las
operaciones fundamentales de consulta. Un ejemplo de esto puede
ser la base de datos utilizada en un sistema de información de una
tienda de abarrotes, una farmacia, un videoclub, etc.
Según el contenido:
Bases de datos bibliográficas: Solo contienen un subrogante
(representante) de la fuente primaria, que permite localizarla. Un
registro típico de una base de datos bibliográfica contiene información
sobre el autor, fecha de publicación, editorial, título, edición, de una
determinada publicación, etc. Puede contener un resumen o extracto
de la publicación original, pero nunca el texto completo, porque si no
estaríamos en presencia de una base de datos a texto completo (o de
fuentes primarias)
Bases de datos numéricas: Como su nombre lo indica, el contenido
son cifras o números. Por ejemplo, una colección de resultados de
análisis de laboratorio, entre otras.
Bases de datos de texto completo: Almacenan las fuentes primarias,
como por ejemplo, todo el contenido de todas las ediciones de una
colección de revistas científicas.
50
Modelos de Bases de Datos
Además de la clasificación por la función de las bases de datos, éstas
también se pueden clasificar de acuerdo a su modelo de administración de
datos.
Un modelo de datos es básicamente una "descripción" de algo
conocido como contenedor de datos (algo en donde se guarda la
información), así como de los métodos para almacenar y recuperar
información de esos contenedores. Los modelos de datos no son cosas
físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y
conceptos matemáticos.
Bases de Datos Jerárquicas
Éstas son bases de datos que, como su nombre indica, almacenan su
información en una estructura jerárquica. En este modelo los datos se
organizan en una forma similar a un árbol (visto al revés), en donde un nodo
padre de información puede tener varios hijos. El nodo que no tiene padres
es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Una de las principales limitaciones de este modelo es su incapacidad de
representar eficientemente la redundancia de datos.
Bases de Datos Relacionales
Edgar Frank Codd en 1970, mientras trabajaba para IBM, realizó un
estudio titulado "Un modelo relacional de datos para grandes bancos de
51
datos compartidos" ("A Relational Model of Data for Large Shared Data
Banks") en el cual propone la utilización de una especialidad de las
matemáticas llamada algebra relacional para el manejo de datos. El trabajo
realizado permitió estructurar y definir el modelo de las Bases de Datos
Relacionales en el cual los datos se almacenan en tablas, renglones y
relaciones las cuales existen entre los datos de dos o más tablas por medio
de columnas especialmente designadas. Esto trae una considerable ventaja
respecto al antiguo procesamiento de archivos, ya que no existe la
duplicación de datos cuando la base de datos está bien diseñada. Entre las
ventajas que destacan tenemos:
Se elimina la redundancia en los datos almacenados, se reduce la
duplicidad en los registros.
Garantiza la integridad referencial eliminando todas las dependencias
de un registro al ser este eliminado.
Favorece y facilita el uso de la normalización.
Bases de Datos Orientadas a Objetos
David M. Kroenke (2003), explica que:
“Las bases de datos relacionales almacenan los datos en forma de
tablas, renglones y columnas. De tal manera, las bases de datos
relacionales no son adecuadas para almacenar objetos, ya que
pueden contener estructuras complejas de elementos de datos y
también apuntadores a otros objetos. Además, los objetos incluyen
instrucciones ejecutables, o métodos, y para hacer persistentes a los
52
objetos también deben proporcionar ciertos medios para
almacenarlos.”
Por este motivo, a principios de la década de 1980 surgen las Bases
de Datos Orientadas a Objetos por la necesidad de ampliar la variedad de
estructuras de datos que se podían almacenar anteriormente en sistemas
relacionales. Estas poseen las mismas características que un lenguaje de
programación orientado a objetos, permitiendo la creación de clases y
proporcionando una gran ventaja debido a la compatibilidad de ambas
técnicas. Cuando estas se integran se forma lo que se llama =ODBMS
(Object Oriented Data Base Management System, ó en español, Sistema
Manejador de Bases de Datos Orientado a Objetos).
Finalmente, comparando el modelo relacional con el modelo orientado
a objetos, podemos decir que este último expande la posibilidad de
almacenamiento de un sistema de base de datos y provee mejores niveles
de seguridad al poseer las mismas características de encapsulamiento y
persistencia que existen en los P.O.O., pero de la misma forma se pierden
las enriquecidas relaciones existentes en los modelos relacionales, las
cuales constituyen una gran ventaja al momento de la creación de sistemas
de datos complejos. Por esta razón, generalmente se siguen usando los
modelos relacionales, apoyándose en modelos orientados a objetos cuando
es necesaria o mayormente ventajosa la implementación de los mismos en
conjunto con un modelo relacional.
53
MySQL
MySQL es uno de los Sistemas Gestores de bases de Datos (SQL)
más populares desarrolladas bajo la filosofía de código abierto. Es
desarrollado y mantenido por la empresa MySQL AB pero puede utilizarse
gratuitamente y su código fuente está disponible.
Inicialmente, MySQL carecía de elementos considerados esenciales
en las bases de datos relacionales, tales como integridad referencial y
transacciones. A pesar de ello, atrajo a los desarrolladores de páginas Web
con contenido dinámico, justamente por su simplicidad; aquellos elementos
faltantes fueron llenados por la vía de las aplicaciones que la utilizan. Poco a
poco los elementos faltantes en MySQL están siendo incorporados tanto por
desarrollos internos, como por desarrolladores de software libre.
Entre las características disponibles en las últimas versiones se puede
destacar:
Amplio subconjunto del lenguaje SQL. Algunas extensiones son
incluidas igualmente.
Disponibilidad en gran cantidad de plataformas y sistemas.
Diferentes opciones de almacenamiento según si se desea velocidad
en las operaciones o el mayor número de operaciones disponibles.
Transacciones y claves foráneas.
Conectividad segura.
54
Replicación.
Búsqueda e indexación de campos de texto.
Servidor Web (Servidor HTTP)
El acceso al contenido existente en la red se realiza a través de
equipos denominados servidores, estos equipos son aquellos donde se
alojara el contenido y donde se realizara la configuración para su posterior
acceso. La comunicación a través de la red se lleva a cabo haciendo uso del
protocolo HTTP (HyperText Transfer Protocol, Protocolo de Transferencia de
Hipertexto).
Sobre estos servidores es necesaria la instalación de software que
haga posible la comunicación de dicho equipo con el resto de la red. Este
software entonces es el encargado entonces de mantener el contenido
publicado disponible en la red para que quienes haciendo uso de un
navegador accedan a nuestra aplicación o portal, puedan recibir este
contenido.
Nancy Yeager y Robert McGrath (1996) explican que “el servidor web
y el navegador web colaboran en lo que se denomina un sistema cliente-
servidor. El navegador web actúa como un cliente, obteniendo información
del servidor a través de la red. Esta terminología describe simplemente la
relación o interacción entre dos programas: el cliente hace una petición y el
servidor devuelve una respuesta.”
55
Aplicación Web
Una herramienta o aplicación web es aquella a la cual se accede
haciendo uso de un navegador web, se encuentra en un servidor web al
cual el cliente realiza peticiones a través de internet y recibe las respuestas
en el propio navegador.
Uno de los mejores ejemplos de aplicación web es la enciclopedia
libre Wikipedia, según la cual “las aplicaciones web son populares debido a
lo práctico del navegador web como cliente ligero, a la independencia del
sistema operativo, así como a la facilidad para actualizar y mantener
aplicaciones web sin distribuir e instalar software a miles de usuarios
potenciales. Existen aplicaciones como los webmails, wikis,weblogs, tiendas
en línea y la propia Wikipedia que son ejemplos bien conocidos de
aplicaciones web.”
Por otra parte, Sergio Lujan Mora, en su libro “Programación de
aplicaciones Web: Historia, Principios Básicos y Clientes Web” (2002) nos
habla de las ventajas de las aplicaciones web:
“Las aplicaciones web permiten la generación automática de
contenido, la creación de páginas personalizadas según el perfil del
usuario o el desarrollo del comercio electrónico. Además, una
aplicación web permite interactuar con los sistemas informáticos de
gestión de una empresa, como puede ser gestión de clientes,
contabilidad o inventario, a través de una página web.” (Prefacio, p. III)
56
Servicio Web
Un servicio Web es una colección de protocolos y estándares que
sirve para intercambiar datos entre aplicaciones. Distintas aplicaciones de
software desarrolladas en lenguajes de programación diferente y ejecutada
sobre cualquier plataforma pueden utilizar los servicios Web para
intercambiar datos en redes de ordenadores como Internet. La
interoperabilidad se consigue mediante la adopción de estándares abiertos.
Las organizaciones OASIS y W3C son los comités responsables de la
arquitectura y reglamentación de los servicios Web. Para mejorar la
interoperabilidad entre distintas implementaciones de servicios Web se ha
creado el organismo WS-I, encargado de desarrollar diversos perfiles para
definir de manera más exhaustiva estos estándares.
Estándares empleados:
Web Services Protocol Stack
XML
SOAP o XML-RPC
WSDL
UDDI
WS-Security
Ventajas de los servicios Web
Aportan interoperabilidad entre aplicaciones de software
independientemente de sus propiedades o de las plataformas sobre
las que se instalen.
57
Los servicios Web fomentan los estándares y protocolos basados en
texto, que hacen más fácil acceder a su contenido y entender su
funcionamiento.
Al apoyarse en HTTP, los servicios Web pueden aprovecharse de los
sistemas de seguridad firewall sin necesidad de cambiar las reglas de
filtrado.
Inconvenientes de los servicios Web
Para realizar transacciones no pueden compararse en su grado de
desarrolló con los estándares abiertos de computación distribuida
como CORBA.
Su rendimiento es bajo si se compara con otros modelos de
computación distribuida, tales como RMI, CORBA, o DCOM. Es uno
de los inconvenientes derivados de adoptar un formato basado en
texto. Y es que entre los objetivos de XML no se encuentra la
concisión ni la eficacia de procesamiento.
Al apoyarse en HTTP, pueden esquivar medidas de seguridad
basadas en firewall cuyas reglas tratan de bloquear o auditar la
comunicación entre programas a ambos lados de la barrera.
Software Libre
El proyecto GNU define el software libre como toda aquella aplicación
que:
58
“En términos generales, los usuarios tienen la libertad de copiar,
distribuir, estudiar, modificar y mejorar el software. Con estas
libertades, los usuarios (tanto individualmente como en forma
colectiva) controlan el programa y lo que hace.”
Según esta definición del proyecto GNU, para que se pueda
denominar de esta manera debe cumplir con las siguientes condiciones: “
La libertad de ejecutar el programa para cualquier propósito (libertad
0).
La libertad de estudiar cómo funciona el programa, y cambiarlo para
que haga lo que usted quiera (libertad 1). El acceso al código fuente
es una condición necesaria para ello.
La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).
La libertad de distribuir copias de sus versiones modificadas a terceros
(libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad
de beneficiarse de las modificaciones. El acceso al código fuente es
una condición necesaria para ello. “
Es importante destacar que Software libre no significa que no es
comercial. Un programa libre puede hacerse disponible para el uso
comercial. Puede haber pagado dinero para obtener copias de software libre,
o puede haber obtenido copias sin costo. Lo importante es siempre tener la
libertad de copiar y modificar el software, incluso de vender copias.
59
Bases Legales
Todo instituto educativo venezolano debe regirse por los lineamientos
del Ministerio del Poder Popular para la Educación (MPPE). En el caso del
desarrollo de este sistema, solo se tomaron en cuenta los referentes a la
consignación de registro de alumnos y envío de notas que debe realizarse
ante este organismo.
El MPPE, tal como indica en su página web www.me.gob.ve, tiene
definida una serie de planillas para regir la consignación de esta información.
Cualquier sistema que se use para administrar los procesos de un instituto
educativo debe permitir la posibilidad de imprimir los reportes en el formato
oficial requerido por la División de Registro, Control y Evaluación de Estudio
del MPPE para su procesamiento. De no hacerlo de este modo, el instituto
requerirá duplicar su carga de trabajo para rellenar las planillas oficiales.
Adicional al envió de esta información en formato físico bajo el
mencionado formato, los institutos también deben realizar la carga manual de
la misma vía web en el Sistema Nacional de Control de Estudio
(SINACOES), plataforma provista por el MPPE a través de la dirección
http://planteles.me.gob.ve.
El SINACOES, tiene como objetivo fundamental “cubrir las
necesidades educativas para el registro, control, evaluación de estudios y
estadísticas educacionales, atendiendo los requerimientos de los Planteles
Educativos, Distritos Escolares y Zonas Educativas adscritas al Ministerio del
Poder Popular para la Educación.” (MPPE, 2012).
Su funcionamiento se encuentra regido en los siguientes boletines
oficiales del MPPE:
60
Circular N° 01 Sistema Nacional de Control de Estudio (SINACOES)
de fecha 15/09/2008 emitido por el Viceministerio de Participación y
Apoyo Académico.
Circular N° 0004 Matricula Inicial de fecha 23/06/2009 emitido por la
Dirección General de Registro y Control Académico.
Circular N° 0005 Modificación de Matricula de fecha 23/06/2009
emitido por la Dirección General de Registro y Control Académico.
Circular N° 000180 Lineamientos sobre la edad para ingresar a primer
grado de Educación Primaria de fecha 17/03/2010 emitido por el
Despacho del Ministro.
La información consignada en planillas y suministrada al SINACOES
es la misma, lo cual ya de por si representa una carga doble de trabajo pues
este último no permite ninguna interacción con un software externo, como es
el caso del propuesto en este proyecto. Por lo tanto, según estas normativas
legales, este sistema solo puede realizar la impresión de las planillas en el
formato oficial del MPPE pero no la carga automática de datos en el
SINACOES.
El decreto 3390, aprobado por el Ejecutivo Nacional el 23 de
diciembre de 2004 y publicado el 28 de diciembre de 2004 en la Gaceta
Oficial No 38095, específica lo siguiente:
Artículo 1. La Administración Pública Nacional empleará
prioritariamente Software Libre desarrollado con Estándares Abiertos, en sus
sistemas, proyectos y servicios informáticos. A tales fines, todos los órganos
61
y entes de la Administración Pública Nacional iniciarán los procesos de
migración gradual y progresiva de éstos hacia el Software Libre desarrollado
con Estándares Abiertos.
Aunque este sistema ha sido desarrollado enfocado a institutos
privados de educación, también puede ser usado por los institutos públicos,
quienes son un ente perteneciente a la Administración Publica Nacional,
pues ha sido desarrollado bajo la filosofía de Software Libre. Actualmente, no
existe ninguna solución ofimática en el mercado realizada y distribuida de
este modo.
La Licencia Publica General de GNU (GNU General Public License o
GNU GPL) fue creada por la Free Software Foundation en 1998 y regula el
uso y distribución de Software Libre. En alguno de sus términos podemos
encontrar:
1.- Esta Licencia se aplica a cualquier programa u otro tipo de trabajo
que contenga una nota colocada por el tenedor del copyright diciendo
que puede ser distribuido bajo los términos de esta Licencia Pública
General. En adelante, «Programa» se referirá a cualquier programa o
trabajo que cumpla esa condición y «trabajo basado en el Programa»
se referirá bien al Programa o a cualquier trabajo derivado de él según
la ley de copyright. Esto es, un trabajo que contenga el programa o
una porción de él, bien en forma literal o con modificaciones y/o
traducido en otro lenguaje. Por lo tanto, la traducción está incluida sin
limitaciones en el término «modificación». Cada concesionario
(licenciatario) será denominado «usted».
Cualquier otra actividad que no sea la copia, distribución o
modificación no está cubierta por esta Licencia, está fuera de su ámbito. El
62
acto de ejecutar el Programa no está restringido, y los resultados del
Programa están cubiertos únicamente si sus contenidos constituyen un
trabajo basado en el Programa, independientemente de haberlo producido
mediante la ejecución del programa. El que esto se cumpla, depende de lo
que haga el programa.
2.- Usted puede copiar y distribuir copias literales del código fuente del
Programa, según lo has recibido, en cualquier medio, supuesto que de
forma adecuada y bien visible publique en cada copia un anuncio de
copyright adecuado y un repudio de garantía, mantenga intactos todos
los anuncios que se refieran a esta Licencia y a la ausencia de
garantía, y proporcione a cualquier otro receptor del programa una
copia de esta Licencia junto con el Programa.
Puede cobrar un precio por el acto físico de transferir una copia, y
puede, según su libre albedrío, ofrecer garantía a cambio de unos
honorarios.
3.- Puede modificar su copia o copias del Programa o de cualquier
porción de él, formando de esta manera un trabajo basado en el
Programa, y copiar y distribuir esa modificación o trabajo bajo los
términos del apartado 1, antedicho, supuesto que además cumpla las
siguientes condiciones:
a) Debe hacer que los ficheros modificados lleven anuncios
prominentes indicando que los ha cambiado y la fecha de cualquier
cambio.
b) Debe hacer que cualquier trabajo que distribuya o publique y que
en todo o en parte contenga o sea derivado del Programa o de
63
cualquier parte de él sea licenciada como un todo, sin carga alguna, a
todas las terceras partes y bajo los términos de esta Licencia.
c) Si el programa modificado lee normalmente órdenes
interactivamente cuando es ejecutado, debe hacer que, cuando
comience su ejecución para ese uso interactivo de la forma más
habitual, muestre o escriba un mensaje que incluya un anuncio de
copyright y un anuncio de que no se ofrece ninguna garantía (o por el
contrario que sí se ofrece garantía) y que los usuarios pueden
redistribuir el programa bajo estas condiciones, e indicando al usuario
cómo ver una copia de esta licencia. (Excepción: si el propio programa
es interactivo pero normalmente no muestra ese anuncio, no se
requiere que su trabajo basado en el Programa muestre ningún
anuncio).
Estos requisitos se aplican al trabajo modificado como un todo. Si
partes identificables de ese trabajo no son derivadas del Programa, y
pueden, razonablemente, ser consideradas trabajos independientes y
separados por ellos mismos, entonces esta Licencia y sus términos no se
aplican a esas partes cuando sean distribuidas como trabajos separados.
Pero cuando distribuya esas mismas secciones como partes de un todo que
es un trabajo basado en el Programa, la distribución del todo debe ser según
los términos de esta licencia, cuyos permisos para otros licenciatarios se
extienden al todo completo, y por lo tanto a todas y cada una de sus partes,
con independencia de quién la escribió.
Por lo tanto, no es la intención de este apartado reclamar derechos o
desafiar sus derechos sobre trabajos escritos totalmente por usted mismo. El
intento es ejercer el derecho a controlar la distribución de trabajos derivados
o colectivos basados en el Programa.
64
Además, el simple hecho de reunir un trabajo no basado en el
Programa con el Programa (o con un trabajo basado en el Programa) en un
volumen de almacenamiento o en un medio de distribución no hace que
dicho trabajo entre dentro del ámbito cubierto por esta Licencia.
4.- Puede copiar y distribuir el Programa (o un trabajo basado en él,
según se especifica en el apartado 2, como código objeto o en formato
ejecutable según los términos de los apartados 1 y 2, supuesto que
además cumpla una de las siguientes condiciones:
a) Acompañarlo con el código fuente completo correspondiente, en
formato electrónico, que debe ser distribuido según se especifica en
los apartados 1 y 2 de esta Licencia en un medio habitualmente
utilizado para el intercambio de programas, o
b) Acompañarlo con una oferta por escrito, válida durante al menos
tres años, de proporcionar a cualquier tercera parte una copia
completa en formato electrónico del código fuente correspondiente, a
un coste no mayor que el de realizar físicamente la distribución del
fuente, que será distribuido bajo las condiciones descritas en los
apartados 1 y 2 anteriores, en un medio habitualmente utilizado para
el intercambio de programas, o
c) Acompañarlo con la información que recibiste ofreciendo distribuir el
código fuente correspondiente. (Esta opción se permite sólo para
distribución no comercial y sólo si usted recibió el programa como
código objeto o en formato ejecutable con tal oferta, de acuerdo con el
apartado b anterior).
65
Por código fuente de un trabajo se entiende la forma preferida del
trabajo cuando se le hacen modificaciones. Para un trabajo ejecutable, se
entiende por código fuente completo todo el código fuente para todos los
módulos que contiene, más cualquier fichero asociado de definición de
interfaces, más los guiones utilizados para controlar la compilación e
instalación del ejecutable. Como excepción especial el código fuente
distribuido no necesita incluir nada que sea distribuido normalmente (bien
como fuente, bien en forma binaria) con los componentes principales
(compilador, kernel y similares) del sistema operativo en el cual funciona el
ejecutable, a no ser que el propio componente acompañe al ejecutable.
Si la distribución del ejecutable o del código objeto se hace mediante
la oferta acceso para copiarlo de un cierto lugar, entonces se considera la
oferta de acceso para copiar el código fuente del mismo lugar como
distribución del código fuente, incluso aunque terceras partes no estén
forzadas a copiar el fuente junto con el código objeto.
5.- No puede copiar, modificar, sublicenciar o distribuir el Programa
excepto como prevé expresamente esta Licencia. Cualquier intento de
copiar, modificar sublicenciar o distribuir el Programa de otra forma es
inválida, y hará que cesen automáticamente los derechos que te
proporciona esta Licencia. En cualquier caso, las partes que hayan
recibido copias o derechos de usted bajo esta Licencia no cesarán en
sus derechos mientras esas partes continúen cumpliéndola.
6.- No está obligado a aceptar esta licencia, ya que no la ha firmado.
Sin embargo, no hay nada más que le proporcione permiso para
modificar o distribuir el Programa o sus trabajos derivados. Estas
acciones están prohibidas por la ley si no acepta esta Licencia. Por lo
tanto, si modifica o distribuye el Programa (o cualquier trabajo basado
66
en el Programa), está indicando que acepta esta Licencia para poder
hacerlo, y todos sus términos y condiciones para copiar, distribuir o
modificar el Programa o trabajos basados en él.
7.- Cada vez que redistribuya el Programa (o cualquier trabajo basado
en el Programa), el receptor recibe automáticamente una licencia del
licenciatario original para copiar, distribuir o modificar el Programa, de
forma sujeta a estos términos y condiciones. No puede imponer al
receptor ninguna restricción más sobre el ejercicio de los derechos
aquí garantizados. No es usted responsable de hacer cumplir esta
licencia por terceras partes.
11.- Si quiere incorporar partes del Programa en otros programas
libres cuyas condiciones de distribución son diferentes, escribe al
autor para pedirle permiso. Si el software tiene copyright de la Free
Software Foundation, escribe a la Free Software Foundation: algunas
veces hacemos excepciones en estos casos. Nuestra decisión estará
guiada por el doble objetivo de preservar la libertad de todos los
derivados de nuestro software libre y promover el que se comparta y
reutilice el software en general.
Se concluye entonces que la licencia GNU GPL permite el libre uso
del programa y su manipulación, así como la modificación y redistribución
siempre cumpliendo con la licencia original. Es decir, terceros pueden
modificar el programa pero no distribuirlo con código cerrado, por lo cual, sea
cual sea la modificación que se realice al sistema, siempre estará disponible
el código fuente para el usuario final.
El Código Civil de Venezuela, publicado el 26 de julio de 1982 en la
Gaceta Oficial No. 2.990, contiene los siguientes artículos:
67
Artículo 1.133.- El contrato es una convención entre dos o más
personas para constituir, reglar, transmitir, modificar o extinguir entre
ellas un vínculo jurídico.
Artículo 1.134.- El contrato es unilateral, cuando una sola de las
partes se obliga; y bilateral, cuando se obligan recíprocamente.
Artículo 1.135.- El contrato es a título oneroso cuando cada una de
las partes trata de procurarse una ventaja mediante un equivalente; es
a título gratuito o de beneficencia cuando una de las partes trata de
procurar una ventaja a la otra sin equivalente.
Artículo 1.136.- El contrato es aleatorio, cuando para ambos
contratantes o para uno de ellos, la ventaja depende de un hecho
casual.
Artículo 1.137.- El contrato se forma tan pronto como el autor de la
oferta tiene conocimiento de la aceptación de la otra parte.
La aceptación debe ser recibida por el autor de la oferta en el plazo
fijado por ésta o en el plazo normal exigido por la naturaleza del negocio.
El autor de la oferta puede tener por válida la aceptación tardía y
considerar el contrato como perfecto siempre que él lo haga saber
inmediatamente a la otra parte.
El autor de la oferta puede revocarla mientras la aceptación no haya
llegado a su conocimiento. La aceptación puede ser revocada entre tanto
que ella no haya llegado a conocimiento del autor de la oferta.
68
Si el autor de la oferta se ha obligado a mantenerla durante cierto
plazo, o si esta obligación resulta de la naturaleza del negocio, la revocación
antes de la expiración del plazo no es obstáculo para la formación del
contrato.
La oferta, la aceptación o la revocación por una cualquiera de las
partes, se presumen conocidas desde el instante en que ellas llegan a la
dirección del destinatario, a menos que éste pruebe haberse hallado, sin su
culpa en la imposibilidad de conocerla.
Una aceptación que modifica la oferta, tendrá únicamente el valor de
una nueva oferta.
Artículo 1.140.- Todos los contratos, tengan o no denominación
especial, están sometidos a las reglas generales establecidas en este
Título, sin perjuicio de las que se establezcan especialmente en los
Títulos respectivos para algunos de ellos en particular, en el Código
de Comercio sobre las transacciones mercantiles y en las demás leyes
especiales.
Artículo 1.141.- Las condiciones requeridas para la existencia del
contrato son:
1º Consentimiento de las partes;
2º Objeto que pueda ser materia de contrato; y
3º Causa lícita.
La licencia GNU GPL “al ser un documento que cede ciertos derechos
al usuario, asume la forma de un contrato, por lo que usualmente se la
69
denomina contrato de licencia o acuerdo de licencia” (Becerra, Ramón.
2011).
Según los artículos del Código Civil de Venezuela anteriormente
mencionados, es perfectamente legal la celebración de un contrato entre dos
partes, por lo cual, la licencia GNU GPL que incluye este sistema tiene
validez para quien lo distribuye como para quien lo usa.
Definición de Términos
Apache: Servidor web de distribución libre y de código abierto.
(www.alegsa.com.ar, 2011)
Aplicación: Programa informático que permite a un usuario utilizar
una computadora con un fin específico. Las aplicaciones son parte
del software de una computadora, y suelen ejecutarse sobre el
sistema operativo. (www.alegsa.com.ar, 2011)
Base de datos: serie de datos organizados y relacionados entre sí,
los cuales son recolectados y explotados por los sistemas de
información de una empresa o negocio en particular. (Maestros del
Web, 2008)
Cliente: Aplicación informática o un computador que consume un
servicio remoto en otro computador, conocido como servidor,
normalmente a través de una red de telecomunicaciones. (Sadoski,
Darleen. Client/Server Software Architectures--An Overview, 1997)
70
CSS: Lenguaje usado para definir la presentación de un documento
estructurado escrito en HTML o XML. (W3C, What is CCS? 2007).
GNU GPL: Licencia Pública General de GNU. Orientada
principalmente a proteger la libre distribución, modificación y uso de
software. Su propósito es declarar que el software cubierto por esta
licencia es software libre y protegerlo de intentos de apropiación que
restrinjan esas libertades a los usuarios. (GNU, 2007)
Internet: Red informática mundial, descentralizada, formada por la
conexión directa entre computadoras mediante un protocolo especial
de comunicación. (Diccionario RAE, 2001)
JavaScript: lenguaje orientado en objetos, donde cada estructura de
data está basado en un objeto el cual consiste de métodos,
propiedades y campos de datas los cuales interactúan entre sí. Está
enfocado en permitir a las páginas de Internet ser más interactivas.
(Bermúdez, Carlos. Dgtallika. 2010).
Licencia: Nombre que recibe la autorización que cede el derecho de
uso de un bien a otra persona u organización. La mayoría de las
veces se trata de bienes no tangibles o intelectuales, tal es el caso de
una marca o de una patente. (Ucha, Florencia. Definición ABC. 2011)
Modelo: Un modelo es una simplificación de la realidad. El objetivo
del modelado de un sistema es capturar las partes esenciales del
sistema. Para facilitar este modelado, se realiza una abstracción y se
plasma en una notación gráfica. Esto se conoce como modelado
visual (Hernández, O., 2002, Pág.70).
71
MySQL: Sistema de gestión de bases de
datos relacional, multihilo y multiusuario con más de seis millones de
instalaciones. (www.MySQL.com, 2012)
PHP: Lenguaje de programación interpretado o framework para
HTML, diseñado originalmente para la creación de páginas web
dinámicas. (www.php.net, 2012)
Red: Conjunto de equipos informáticos y software conectados entre sí
por medio de dispositivos físicos que envían y reciben impulsos
eléctricos, ondas electromagnéticas o cualquier otro medio para el
transporte de datos, con la finalidad de compartir información,
recursos y ofrecer servicios. (Tanenaum, Andrew. Redes de
Computadoras. 2003, Pág. 4)
Servidor: Ordenador de gran potencia, que se encarga de "prestar un
servicio" a otros ordenadores que se conectan a él. (Gálvez, Fermín.
El Rincón Tecnológico. 2008)
Sistema Informático: Conjunto de partes que funcionan
relacionándose entre sí con un objetivo preciso. Sus partes son:
hardware, software y las personas que lo usan. (www.alegsa.com.ar,
2011)
Software: Conjunto de programas, instrucciones y reglas informáticas
para ejecutar ciertas tareas en una computadora. (Diccionario RAE,
2001)
72
Software Libre: Programa respeta la libertad de los usuarios y la
comunidad. En términos generales, los usuarios tienen la libertad de
copiar, distribuir, estudiar, modificar y mejorar el software. Con estas
libertades, los usuarios (tanto individualmente como en forma
colectiva) controlan el programa y lo que hace. (GNU, Free Software
Foundation. 2012)
73
Operacionalización de Variables del Sistema
Cuadro No. 1 Operacionalización de Variables
74
Cuadro No. 2 Operacionalización de Variables (Continuación)
75
Cuadro No. 3 Operacionalización de Variables (Continuación)
76
Cuadro No. 4 Operacionalización de Variables (Continuación)
77
Cuadro No. 5 Operacionalización de Variables (Continuación)
78
Cuadro No. 6 Operacionalización de Variables (Continuación)
79
Cuadro No. 7 Operacionalización de Variables (Continuación)
80
CAPÍTULO III
MARCO METODOLÓGICO
Tipo de Investigación
La implantación de un software libre para el control y gestión de los
procesos administrativos y académicos de instituciones privadas de
educación para los ciclos básico, medio y diversificado pertenece a la línea
de investigación del tipo “Desarrollo de tecnologías de información
Gerencial”, el cual según el Manual de Trabajos de Grado de la UPEL
“consiste en la investigación, elaboración y desarrollo de una propuesta de
un modelo operativo viable para solucionar problemas, requerimientos o
necesidades de organizaciones o grupos sociales: puede referirse a la
formulación de políticas, programas, tecnologías, métodos o procesos”.
En base a esto, esta investigación es considerada un “Desarrollo de
tecnologías de información Gerencial” porque su propósito es ofrecer una
solución a la problemática presentada por la Unidad Educativa Instituto
Privado Boyacá, la cual cumpla los requerimientos deseados por ellos y
posteriormente, pueda ser usada por otros colegios del ciclo básico, medio y
diversificado de Venezuela.
Se seleccionó como tipo de investigación la modalidad de “Proyecto
Factible” ya que esta permite, desde un punto de vista metodológico, realizar
un diagnóstico del problema completo como el presentado por la Unidad
Educativa Instituto Privado Boyacá y proponer una solución basada en
fundamentos documentados.
Según el manual de la UPEL (Pag.7, 2008), se define como Proyecto
Factible a “la elaboración de una propuesta de un modelo operativo viable, o
81
una solución posible a un problema de tipo práctico para satisfacer las
necesidades de una institución o grupo social. La propuesta debe tener
apoyo, bien sea en una investigación de tipo documental y debe referirse a la
formulación de políticas, programas, métodos y procesos. El proyecto debe
tener apoyo en una investigación de tipo documental, de campo o un diseño
que incluya ambas modalidades.”
Diseño de la Investigación
Sabino Carlos (1992) define el diseño de la investigación como “un
método especifico, una serie de actividades estructuradas con un orden
especifico, que deben ser adaptadas a las particularidades de cada
investigación y las cuales nos indicaran las diferentes pruebas a realizar y
técnicas a utilizar para recolectar y analizar los datos”.
Debido a esta definición y considerando los objetivos específicos de
esta investigación, se aplicó un diseño mixto para el desarrollo del proceso
de investigación, el cual estuvo formado por investigación documental e
investigación de campo.
Según el Manual de Trabajo de Grado de Especialización y Maestrías
y Tesis Doctorados de la Universidad Pedagógica Experimental Libertador
(2005) una “Investigación Documental” es “el estudio de problemas con el
propósito de ampliar y profundizar el conocimiento de su naturaleza con
apoyo principalmente en trabajos previos, información y datos divulgados por
medios impresos, audiovisuales y electrónicos. La originalidad del estudio se
refleja en el enfoque, criterios, conceptualizaciones, reflexiones,
conclusiones, recomendaciones y en general, en el pensamiento del autor”
(Pág. 15).
82
Igualmente, en el mencionado documento, se encuentra postulado
que una Investigación de Campo es “el análisis sistemático de problemas en
la realidad, con el propósito bien sea de describirlos, interpretarlos, entender
su naturaleza y factores constituyentes, explicar sus causas y efectos, o
predecir su ocurrencia, haciendo uso de métodos característicos de
cualquiera de los paradigmas o enfoques de investigación conocidos o en
desarrollo” (Pág. 14)
El uso de la Investigación Documental permitirá estandarizar los
parámetros y procesos a usar en el desarrollo mientras que la Investigación
de Campos permitirá diagnosticar el sistema actual y ofrecer una solución
que mejore lo que actualmente se tiene.
Metodología de Desarrollo
A continuación se presenta un cuadro comparativo entre dos (2)
metodologías empleadas para este tipo de casos.
Desarrollo Rápido de Aplicaciones Modelo en Cascada
Permite saltar entre las etapas del
modelo desarrollo, dependiendo de
las necesidades del proyecto.
Sigue un modelo inflexible de
desarrollo: Análisis, Diseño del
Sistema, Diseño del Programa,
Codificación, Pruebas, Verificación,
Mantenimiento.
Orientado a terminar la aplicación en
un período máximo de 120 días.
Demora mucho tiempo debido a que
tienen que ejecutarse las pruebas, y
si no son exitosas, la aplicación no
se finaliza.
Permite la corrección de errores al
momento que son detectados.
Los errores suelen detectarse en la
etapa de pruebas y para corregirlos,
83
es necesario regresar a la etapa de
diseño. Aumentando los costos del
proyecto.
Requiere un equipo corto que
generalmente resuelve todas las
tareas.
Requiere personal específico en
cada área con un presupuesto fijo.
Orientado a terminar la aplicación
funcional en el menor tiempo posible.
Orientado a terminar la aplicación
con el mayor detalle, privilegiando el
funcionamiento completo por sobre
el tiempo de desarrollo.
Cuadro No. 8 Comparación de Metodologías
Comparando la metodología DRA con el “Modelo en Cascada”
podemos observar las ventajas por las cuales nos hemos decantado por la
elección de la primera opción.
En contraste con los métodos tradicionales, el proceso completo se
reduce. Como resultado, el sistema es desarrollado, entregado y puesto en
operación más rápido. Este método (DRA) permite realizar un prototipo y
programarlo, realizando las mejoras a medida que se desarrolla de acuerdo a
los comentarios recibidos por los usuarios finales. Con esto se puede
entregar de un producto de calidad en corto tiempo que cumpla con la
necesidad comercial y a la vez requiera baja inversión.
En el siguiente cuadro se muestra como las fases de la metodología
seleccionada cumplieron con cada uno de los objetivos específicos
planteados por esta investigación:
84
Objetivos Específicos Metodología RAD (Rapid Application Development)
Identificar los requerimientos de
información necesarios para el
control y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
A través del desarrollo de una Guía
de Entrevistas evaluada por un juicio
de expertos, se recolectó la
información necesaria para la
identificación de todos los
requerimientos para llevar a cabo el
control y la gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela. Esto
corresponde a la fase 1 de la
metodología RAD, el Modelado de
Negocios.
Analizar los requerimientos de
información necesarios para el
control y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
El análisis de los datos recolectados
en la fase anterior es también parte
de la fase 1 de la metodología RAD.
Este análisis se llevó a cabo con la
generación de un plan de trabajo y de
una estructura de costos asociada al
desarrollo del proyecto.
Diseñar el modelo de datos del
sistema para el control y gestión de
los procesos administrativos y
académicos para instituciones
educativas privadas del nivel
Luego de definir los casos de uso de
la aplicación, entramos en la fase 2
de la metodología RAD, la cual es
Modelado de Datos. En esta fase se
generó el diagrama Entidad-Relación
85
educativo básico, medio y
diversificado en Venezuela.
del modelo de datos de la aplicación,
así como el diccionario de datos de la
Base de Datos.
Definir los módulos y las interfaces
necesarias para el sistema de control
y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
La definición de los módulos y las
interfaces de la aplicación son partes
de la fase 3 de RAD, Modelado de
Procesos.
En esta fase de generaron las
pantallas correspondientes a cada
uno de los módulos y los procesos
que se realizan en ellos
Programar el sistema para el control
y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
Fase 4 de la Metodología RAD,
Generación de la aplicación. Es en
esta etapa donde haciendo uso de
las herramientas generadas
anteriormente desarrollaremos una
aplicación bajo plataforma web, que
sea capaz de llevar el control y
gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
Establecer un método de pruebas
para validar el correcto
funcionamiento del sistema para el
Una vez realizado el desarrollo de la
aplicación, la misma debe ser puesta
a prueba. Esta es la fase 5 de la
86
control y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
metodología RAD, la fase de
pruebas. Aquí se realizaran pruebas
a todas las interfaces generadas ya
que la mayoría de los componentes
de RAD ya han sido puestos a
prueba, lo cual reduce los tiempos de
prueba.
Definir la estrategia de la
implantación del sistema para el
control y gestión de los procesos
administrativos y académicos para
instituciones educativas privadas del
nivel educativo básico, medio y
diversificado en Venezuela.
Ya que este sistema será implantado
en la Unidad Educativa Instituto
Privado Boyacá, y además se
colocará posteriormente en un
repositorio web para su libre acceso y
descarga por parte de cualquier
persona o institución, se debe definir
una forma de realizar todas estas
tareas, generando un plan de
implantación.
Cuadro No. 9 Relación de Objetivos Específicos con Fases de la Metodología
Además del uso de esta metodología nos apoyamos también en la
generación de diagramas UML, específicamente Diagramas de Entidad-
Relación y Diagramas de Casos de Uso, los cuales permiten la ordenada y
simplificada visualización de ciertos aspectos del proyecto concernientes a
las etapas del desarrollo planteado por la metodología.
87
Población y Muestra
Población
Según Levin & Rubin (1996), la población es “un conjunto de todos los
elementos que estamos estudiando, acerca de los cuales intentamos sacar
conclusiones”.
De esta forma, entonces debemos definir el tamaño de la población
que va a estar sujeta al estudio.
Según el libro “Metodología de la Investigación” de Baptista P.,
Fernández C. y Hernández S. (1998), una “Población Finita” es “aquella que
indica que es posible alcanzarse o sobrepasarse al contar”.
El sistema será usado por una población de un total de 3 personas
dentro del colegio. Por esto concluimos que nuestra población es de carácter
finito ya que se pueden realizar estudios sobre la totalidad de la misma.
Departamentos Cargos Número de Personas
Dirección 1 1
Control de Evaluación y Estudios
2
2
Cuadro No. 10 Población de Estudio
Muestra
Ya que la población de estudio es de 3 personas, y esta población es
igual a la muestra, es decir; representa el 100% de la totalidad de la
población, se trata de una muestra de carácter censal, la cual Balestrini,
Miriam (2006) define como “aquella que permite el estudio del conjunto de
todos los elementos objeto de nuestro estudio”.
88
Técnicas e Instrumentos de Recolección de Datos
Estas técnicas e instrumentos de recolección de datos tienen ciertas
características, que van a variar según sea el ambiente de la investigación y
la población a evaluar. Hernández, Fernández y Baptista (1998) afirman que,
“un instrumento de medición adecuado es aquel que registra datos
observables que representan verdaderamente los conceptos o variables que
el investigador tiene en mente” (Pág. 234-235). Con esta afirmación
sustentamos la idea de que los instrumentos que sean elegidos deben ser
confiables y deben arrogar resultados importantes para la investigación y
los cuales estarás directamente relacionado a las variables de estudio.
Teniendo en cuenta los objetivos planteados para la presente
investigación, donde se propuso la implantación de un software libre para el
control y gestión de los procesos administrativos y académicos de
instituciones privadas de educación para los ciclos básico, medio y
diversificado, se aplicaron diferentes técnicas e instrumentos de recolección,
(Madeleine Grawitz, 1975) “... Estas técnicas son diversas según el objeto a
que se apliquen y no se excluyen entre sí. Todavía es preciso, por una parte
saber elegir la más adecuada, por otra utilizarla convenientemente” (Pág. 6).
Dada la naturaleza del estudio y en función de los datos que se
requieren tanto del momento teórico como del momento metodológico y
teniendo en cuenta la experiencia de los autores sobre esta investigación se
tomaron las siguientes técnicas:
La Entrevista
La técnica de recolección de datos que se utilizó fue la entrevista. Se
seleccionó a técnica ya que es importante que los datos sean recolectados
89
directamente de la realidad para conocer las opiniones y las conductas que
tienen los usuarios potenciales en cuanto al levantamiento de la información.
Se elaboró una base para la entrevista la cual fue aplicada a la muestra,
dicha entrevista se basa en los objetivos de la investigación.
Se trata de una técnica fundamental de un procedimiento de
investigación científica. Tiene sus propios procedimientos o reglas empíricas
con las cuales no sólo se amplían y se verifica el conocimiento científico, sino
que al mismo tiempo se aplica. La entrevista logra la aplicación de
conocimientos científicos y al mismo tiempo obtiene o posibilita llevar la vida
diaria del ser humano al nivel del conocimiento y la elaboración científica. Se
incluye la técnica y la teoría de la técnica en la entrevista psicológica.
La entrevista puede ser de dos tipos fundamentales, abierta o cerrada,
en este caso debido al tamaño de la población se realizara una entrevista
semi-estructurada.
Debido a que la población es manejable, una entrevista no
estructurada, puede generar un ambiente flexible entre el entrevistador y el
(los) entrevistado(s) generando información que se escapen en las
entrevistas estructuradas, según Wikipedia “Una entrevista es un hecho
comunicativo que consiste en un diálogo entablado entre dos o más
personas...Se trata de una técnica o instrumento empleado en diversas
actividades profesionales (por ejemplo en investigación, selección de
personal). Una entrevista no es casual sino que es un diálogo interesado,
con un acuerdo previo y unos intereses y expectativas por ambas partes.”
El instrumento que se utiliza para llevar a cabo la técnica de la
entrevista es la Guía de Entrevista, la misma fue realizada con la intención
90
de recolectar la información necesaria para lograr un levantamiento de
información que nos permita aclarar el funcionamiento actual del sistema
para de esta manera poder detectar que fallas existen y que procesos se
pueden mejorar o agilizar con el desarrollo del sistema propuesto.
La Guía de Entrevista que se utilizó, consta de doce (12) preguntas,
de las cuales seis (6) son preguntas abiertas y seis (6) son preguntas
cerradas. (Ver Anexo #)
La Observación Científica
“El investigador conoce el problema y el objeto de investigación,
estudiando su curso natural, sin alteración de las condiciones
naturales, es decir que la observación tiene un aspecto contemplativo.
La observación configura la base de conocimiento de toda ciencia y, a
la vez, es el procedimiento empírico más generalizado de
conocimiento” (Ana Beatriz Ochoa G, 2006).
Por la naturaleza de la investigación el autor considero pertinente
utilizar la técnica de la observación científica con la cual se intenta captar la
realidad estudiada y aunada a las otras técnicas y herramientas utilizadas
asegurar una constancia y consistencia de los procesos y la información
obtenida. La observación será simple, directa y sin regular, de tal manera
que los hechos y procesos se desarrollen de manera espontánea para
registrarlos.
También comprende el estudio, revisión y análisis de los formatos
(impresos en papel) existentes para la recolección actual (recolección
manual) de la información proveniente de las auditorias de servicios.
91
Se realizó una Guía de Observaciones como instrumento para
registrar todos los eventos relevantes al momento de realizar la investigación
de campo, la cual consistió de siete (7) ítems (Ver Anexo #). Cada uno de
estos ítems representa datos y observaciones importantes del sistema y del
manejo de los procesos actualmente.
Validez y Confiabilidad del Instrumento
Los instrumentos utilizados para la recolección de datos en esta
investigación fueron evaluados y posteriormente validados bajo un juicio de
expertos conformado por docentes pertenecientes a la Universidad Nueva
Esparta, los cuales fueron:
Prof. Renato Cerullo C.I.: 12.054.218
Prof. Carlos Da Silva C.I.: 5.299.783
Jose Santiago Ochoa C.I.: 9.958.375
Para identificar la confiabilidad de un instrumento de recolección de
datos Hernández, Fernández y Baptista (1998) señalan que un instrumento
es confiable cuando “su aplicación repetida al mismo sujeto u objeto produce
iguales resultados” (Pág. 235).
Por medio de un cuadro evaluativo para cada punto del instrumento,
el mismo fue evaluado por cada uno de los integrantes del juicio de expertos,
quienes realizaron recomendaciones sobre la estructura y el enfoque del
mismo (Ver Anexo C). De tal manera luego de esta evaluación, se realizaron
las correcciones necesarias para que el instrumento cumpla con su objetivo,
el cual es la recopilación de la información necesaria asociada a un objetivo
específico.
92
Análisis e Interpretación de los Resultados
La medición de los datos es muy importante para la determinación de
los requerimientos y para validar las decisiones que se tomen al respecto,
para esto es necesario la elaboración de instrumentos que nos permitan
recolectar la información ya que de tener un diseño incorrecto los resultados
obtenidos puede ser poco consistentes y perder su calidad .Tal como lo
afirman (Seltiz, Jahoda, Deutsch y Cook,1976)...”El propósito del análisis es
resumir las observaciones llevadas a cabo de forma tal que proporcionen
respuestas a las interrogantes de investigación”.
De la aplicación de los instrumentos se obtienen altos volúmenes de
datos los cuales, una vez procesados y analizados, proporcionaron
conclusiones generales que ayudaron a explicar el problema planteado.
Sabino (1996) indica que:
“... esa masa de datos, por sí sola, no nos dirá en
principio nada, no nos permitirá alcanzar ninguna
síntesis de valor si, previamente, no ejercemos
sobre ella una serie de actividades tendientes a
organizarlas, a poner orden en todo su conjunto.
Estas acciones son las que integran el
procesamiento de datos” (Pág. 187-188).
Todos estos datos obtenidos serán evaluados y procesados de tal
manera de obtener información que nos permita discrepar la que no
consistente y encontrar posible errores; es decir, según Sabino (1996)
revisar:
93
“... sistemáticamente toda la masa de información
disponible, juzgando su calidad y el grado de
confianza que merece cada una y seleccionando
aquellas que pueden incluirse en el informe de
investigación, aquellas que deben corregirse o
modificarse en algo ... y las que, por sus graves
deficiencias, deberá ser excluidas sin más (Pág.
189).
Es decir, el análisis de la información nos ayuda a detectar
situaciones en la que se requieren mejorías de la información tales como los
son, información inexacta, excesos de información, redundancia de datos o
inflexibilidad de los datos; todas estas son debilitan un diseño y una
perspectiva exacta de lo que está ocurriendo tanto en el sistema como los
procesos, y el flujo de información lo que llevaría a un modelado erróneo del
sistema actual, teniendo como consecuencia que todas las decisiones que se
tomen al respecto pueden no ser las necesarias para satisfacer los
requerimientos del mismo.
Elegir las técnicas de análisis de información adecuados es
importante ya que los mismos servirán para diagnosticar, analizar, resumir,
procesar y documentar los procesos y de esta manera justificar los pasos a
seguir en el ciclo de esta investigación. Teniendo en consideración todo lo
anterior, se decidió elegir una serie de instrumentos de modelado, como
Diagramas Entidad-Relación, Diagramas de Casos de Uso, Construcción de
Organigramas, entre otros.
Después de aplicar las técnicas de recolección de datos (encuestas -
Anexo A- y observación –Anexo B-) para analizar la situación del sistema
94
actual, se generaron los siguientes gráficos representando las preguntas
cerradas de la guía de entrevistas (Ítems 2, 4, 6, 8, 10 y 12).
Resultados de la aplicación de la Guía de Entrevistas
2.- ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de
alumnos actual?
100%
0%
Sí
No
Gráfico No. 1 Resultado de la aplicación de la Guía de Entrevistas - Ítem 2
95
4.- ¿Tiene alguna sugerencia para mejorar el procedimiento de registro y
control de pagos actual?
67%
33%
Sí
No
Gráfico No. 2 Resultado de la aplicación de la Guía de Entrevistas - Ítem 4
6.- ¿Tiene alguna sugerencia para mejorar el procedimiento de control de
personal actual?
100%
0%
Sí
No
Gráfico No. 3 Resultado de la aplicación de la Guía de Entrevistas - Ítem 6
96
8.- ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de
calificaciones actual?
33%
67%
Sí
No
Gráfico No. 4 Resultado de la aplicación de la Guía de Entrevistas - Ítem 8
10.- ¿Tiene alguna sugerencia para mejorar el procedimiento de control de
promociones actual?
0%
100%
Sí
No
Gráfico No. 5 Resultado de la aplicación de la Guía de Entrevistas - Ítem 10
97
12.- ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de
asignaturas actual?
0%
100%
Sí
No
Gráfico No. 6 Resultado de la aplicación de la Guía de Entrevistas - Ítem 12
Se pudo concluir que existen algunas deficiencias que cubrir de
manera urgente.
El escollo principal se encuentra en que el sistema actual no se
encuentra configurado correctamente para operar en red, lo cual genera
molestias por parte del usuario administrativo que debe replicar
manualmente las bases de datos generadas en cada una de las
computadoras. Se solicitó resolver esta situación de manera urgente.
En cuanto al funcionamiento, existieron diversas críticas respecto a él,
las cuales son solucionables. En la observación se pudo determinar que a los
usuarios les resulta complicado el manejo de la interfaz, invirtiendo un tiempo
considerable identificando la ubicación de las herramientas.
98
Otra queja general resultó la no validación de datos por parte del
sistema, por lo cual se pueden introducir valores alfanúmeros en campos que
deberían ser únicamente numéricos generando así errores en los reportes
finales.
Hay diversidad de opiniones en cuanto a la ergonomía del diseño del
software. A un usuario le pareció que era adecuada pero a los otros dos no.
La discrepancia de estos últimos tiene que ver con la disposición de los
botones y los colores que usa el sistema para resaltar detalles.
Existe un descontento general en la forma de manejar el flujo de
información en el sistema, pero no es inherente a este sino al modo en como
el instituto realiza los procesos de inscripción y pagos, generando retrasos
debido a la forma que usan para procesar la información ya que una sola
persona se encarga de revisar todos los recaudos e inscribir, pudiendo
agilizarse este procesos colocando módulos para filtrar a las personas y
quien llegue al sistema de inscripción ya lo haga con todas las
comprobaciones realizadas.
Analizando los resultados de las encuestas y el período de
observación, se pudo concluir que el sistema realiza las tareas para las
cuales se usa, pero se puede agilizar su funcionamiento y adecuarlo para
maximizar las posibilidades de rendimiento dentro de la estructura que utiliza
la institución.
99
CAPITULO IV
Sistema Actual
La Unidad Educativa Instituto Privado Boyacá es un instituto de
educación privado para primaria y secundaria ubicado en Los Teques,
Estado Miranda. Atiende a una población de alrededor de 500 alumnos y
cuenta con un personal de cerca de 40 docentes y 5 personas en el área
administrativa.
Este instituto usa actualmente el paquete llamado EduDatos para
automatizar la gestión de sus procesos administrativos, los cuales son:
Registro de alumnos
Registro de pagos
Registro de promociones
La licencia que poseen actualmente, la cual tiene un costo de Bs.
80.000,oo anuales, les permite el uso de estos módulos pero no el de uno
que es vital para ellos: el registro de notas. Para llevar las notas deben
imprimir el listado de alumnos y transcribir a mano la puntuación de cada
uno. Luego de este proceso, deben ingresar al sistema para indicar cuales
de los alumnos ha sido promocionado de grado, según sus notas.
El sistema es usado actualmente por 3 personas, quienes forman
parte del personal administrativo de la institución y se encargan de realizar
todas estas tareas. Una de estas personas tiene conocimientos de
programación a nivel avanzado, pero no puede modificar el programa para
adaptarlo a sus necesidades pues lo que poseen es un código binario que no
permite modificaciones.
100
Para realizar alguna modificación, deben solicitarla al fabricante y, si
procede la misma dependiendo de la licencia que poseen, el tiempo de
respuesta para la solución puede tardar entre 1 y 2 semanas.
También pueden requerir la asistencia directa del fabricante en las
oficinas, pero tiene un costo que resulta prohibitivo para ellos. Además, hay
que cubrir los gastos de traslados de personal.
El sistema está desarrollado para correr en computadoras con sistema
operativo Windows XP. Puede correr en otras versiones superiores de
Windows, pero presenta algunas fallas. No se puede ejecutar en ningún otro
sistema operativo.
El sistema no se ejecuta en red sino de manera local en cada una de
las computadoras. Por lo cual, hay que sincronizar de manera manual las
bases de datos que tiene cada estación de trabajando, generando, en
algunos casos, duplicidad de registros.
Los reportes que emite el programa solamente se pueden imprimir, no
se pueden exportar a otro paquete para manipularlos de algún modo.
El ingreso de datos en el sistema Sinacoes del Ministerio del Poder
Popular para la Educación se realiza de manera manual, pues este no
permite ninguna interacción con aplicaciones de terceros.
A continuación se presentan los diagramas de casos de uso del
sistema actual:
101
Secretaria(Dirección)
Registro de alumnos
Registro de pagos
Emisión de constancias
Emisión de boletinesde calificación
Figura No. 1 Diagrama de Caso de Uso del sistema actual – Secretaria de Dirección
Asistentes(Control de Estudios)
Registro de notas
Promoción de alumnos
Elaboración de reportes
Impresión de planillas parael Ministerio de Educación
Figura No. 2 Diagrama de Caso de Uso del sistema actual – Asistente de Control de Estudios
102
CAPITULO V
Sistema Propuesto
Basándonos en la metodología de Desarrollo Rápido de Aplicaciones,
se describen a continuación cada una de las etapas de la misma en relación
al desarrollo del sistema propuesto y al cumplimiento de los objetivos
específicos:
Fase 1: Definición de Requisitos
Para definir los requisitos del sistema, se procedió a realizar
entrevistas con las 3 personas que interactúan comúnmente con el sistema
EduDatos instalado en la Unidad Educativa Instituto Privado Boyacá.
De estas entrevistas se obtuvo la expectativa general en cuanto a las
prestaciones que debería poseer el sistema a desarrollarse, que iban desde
mejorar las características actuales, hacer el sistema más amigable al uso
del usuario, poder diversificar los accesos ofreciendo roles determinados
para cada tarea y ofrecer opciones no permitidas por el sistema actual como
lo son: carga de notas por parte de profesores, posibilidad de exportar a
archivos digitales y ejecución del programa en red.
También, en el proceso de observación, se pudo determinar que era
necesario realizar una interfaz más intuitiva para facilitar el manejo de la
herramienta por parte de los usuarios.
Los siguientes son los diagramas de casos de uso generados a partir
de los requerimientos obtenidos de la Institución:
103
Figura No. 3 Diagrama de Caso de Uso del sistema propuesto – Secretaria de Dirección
Figura No. 4 Diagrama de Caso de Uso del sistema propuesto – Actor: Asistente de Control de Estudios
104
Figura No. 5 Diagrama de Caso de Uso del sistema propuesto – Actor: Profesor
Figura No. 6 Diagrama de Caso de Uso del sistema propuesto – Actor: Asistente de Dirección
En cuanto a los requisitos técnicos, se realizó una inspección sobre la
estructura de red y equipos presentes en el instituto y las posibilidades de
actualización a mediano plazo. El colegio usa equipos de escritorio con
sistema operativo Windows, por lo cual, la solución debe correr en esta
configuración.
Una vez estudiados los requisitos técnicos y de funcionamiento, se
presentó la estructura de costos necesaria para desarrollar la aplicación y un
cronograma de tiempos para esto.
105
Cronograma del Proyecto
Cuadro No. 11 Diagrama de Gantt
Cuadro No. 12 Diagrama de Gantt (Continuación)
106
Cuadro No. 13 Diagrama de Gantt (Continuación)
Cuadro No. 14 Diagrama de Gantt (Continuación)
107
Estructura de costos
La solución planteada contempla los siguientes costos para su
desarrollo e instalación:
Concepto Costo
Desarrollo:
10 horas de personal para levantamiento de
información
Bs. 1.000,oo
200 horas técnicas de programador PHP Bs. 30.000,oo
10 horas técnicas de diseñador gráfico Bs. 2.000,oo
20 horas de personal para pruebas Bs. 1.000,oo
Elaboración e impresión de encuestas Bs. 200,oo
20 horas técnicas de documentador Bs. 2.200,oo
Impresión de documentación
Hardware:
Bs. 300,oo
1 Computadora HP PRO 3400 (Servidor) Bs. 6.100,oo
2 Computadoras HP PRO 3400 (Clientes) Bs. 12.200,oo
1 Router Tp-Link Tl-mr3420 Bs. 420,oo
Cableado de red e instalación
Capacitación:
Bs. 900,oo
30 horas técnicas de capacitación al personal
del colegio
Bs. 6.000,oo
Total de costos asociados al proyecto Bs. 62.320,oo
Cuadro No. 15 Estructura de Costos del Proyecto
108
Fase 2: Modelado de Datos
Una vez fue realizado el análisis sobre la arquitectura de datos
adecuada para la solución, se procedió a su diseño.
La base de datos desarrollada en MySQL contiene varias tablas
relacionadas entre sí. Cada registro en la tabla posee un identificador único
que permite navegar los datos de forma inteligente. La mayoría de las tablas
poseen 4 campos comunes (fechaCreacion, creadoPor, fechaModificacion y
modificadoPor) que son usados a nivel de auditoría para registrar las
actividades de los usuarios administrativos.
Se crearon 8 tablas principales: cursos, periodos, personas, notas,
materias, usuarios, matriculas y pagos. Cada una de estas contiene tablas
dependientes para almacenar datos complementarios y establecer las
relaciones entre ellas.
A continuación se presenta el diagrama Entidad-Relación generado:
109
Figura No. 7 Diagrama Entidad-Relación de Datos
110
Se eligió el motor MySQL por ser de código abierto, eficiente y
sencillo. Funciona además en servidores Windows y Linux.
MySQL es fácilmente escalable por lo cual puede atender mayor carga
de datos en caso de picos de uso inesperados.
A continuación se presenta el diccionario de datos generado por la
aplicación MySQL Workbench para el modelo de datos que se implemento:
Diccionario de datos
Tabla: atributos
En esta tabla se encuentran todos los atributos comunes que son usados por
varias de las otras tablas. Cada uno de ellos puede tener un padre que se
encuentra dentro de la misma tabla.
Atributos a ser usados en varias tablas del sistema
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
padre INT(11) NULL ID del atributo padre (si existe)
nombre TEXT NULL Nombre del atributo
Cuadro No. 16 Diccionario de Datos: Tabla de Atributos
Tabla: cursos
En esta tabla se encuentran registrados todos los cursos del instituto (Primer
grado, segundo grado, etc.)
111
Registro de cursos
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Comment
id INT(11) ✔ ✔ ✔
ID único
nombre VARCHAR(100)
✔
Nombre del curso
fechaCreacion TIMESTAMP
'0000-00-00 00:00:00'
Fecha de creación
creadoPor INT(11) ✔
Usuario administrativo que lo creó
fechaModificacion
TIMESTAMP
'0000-00-00 00:00:00'
Fecha de modificación
modificadoPor INT(11) ✔
Usuario administrativo que lo modificó
Cuadro No. 17 Diccionario de Datos: Tabla de Cursos
Tabla: cursos_alumnos
En esta tabla se relacionan los alumnos registrados en el sistema
(proveniente de la tabla personas) junto a los curso, sección (de la tabla
cursos_secciones) y periodo (de la tabla periodos) en el cual estudian o
estudiaron.
Registro de alumnos en cada curso y período
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
alumno INT(11) ✔
ID del alumno
112
cursoSeccion INT(11) ✔
ID del curso y sección
periodo INT(11) ✔
ID del período en que cursa este alumno en este curso
Cuadro No. 18 Diccionario de Datos: Tabla Cursos-Alumnos
Tabla: cursos_secciones
En esta tabla se le da nombre a las secciones de cada curso (proveniente de
la tabla cursos) y se le asigna un turno (proveniente de la tabla atributos).
Registro de secciones. Cada una relacionada a un curso. Esta
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
idCurso INT(11) ✔
ID del curso
turno INT(11) ✔
Turno en la que se lleva a cabo
seccion VARCHAR(3) NULL Sección
Cuadro No. 19 Diccionario de Datos: Tabla Cursos-Secciones
Tabla: evaluaciones
En esta tabla se arma el esqueleto de todas las evaluaciones por materia
(proveniente de la tabla materias_cursos), se le coloca una fecha de
presentación y se le asigna una ponderación en el total de la nota del
alumno.
Estructura de las evaluaciones por materia, curso y periodo
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
113
materia INT(11) ✔
Materia y Curso a la que pertenece esta evaluación
fecha DATE NULL
Fecha en la que se llevará a cabo la evaluación
ponderacion FLOAT(2,2) NULL
Ponderación de la evaluación en el puntaje global
Cuadro No. 20 Diccionario de Datos: Tabla de Evaluaciones
Tabla: materias
En esta tabla se registra el maestro de materias que se imparten en el
instituto. Se le da un nombre, sumario y un tipo de evaluación (proveniente
de la tabla atributos) que puede ser cualitativa (con letras, para grados de
educación básica) o cuantitativa (con números, para la educación media en
adelante).
Materias registradas en el sistema
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Comment
idMateria INT(11) ✔ ✔ ✔
ID único
nombre VARCHAR(100)
NULL Nombre de la materia
sumario TEXT NULL Sumario de la materia
tipo INT(11) ✔
Tipo de evaluación: Cualitativa / Cuantitativa
fechaCreacion TIMESTAMP '0000- Fecha en la
114
00-00 00:00:00'
que fue creada
creadoPor INT(11) ✔
Usuario administrativo que la creó
fechaModificacion
TIMESTAMP
'0000-00-00 00:00:00'
Fecha en la que fue modificada
modificadoPor INT(11) ✔
Usuario administrativo que la modificó
Cuadro No. 21 Diccionario de Datos: Tabla de Materias
Tabla: materias_cursos En esta tabla se relacionan las materias (proveniente de materias), cursos
(proveniente de cursos_secciones) y profesores (proveniente de personas),
creando un identificador único para ser usado en el resto del sistema.
Relación entre materias, cursos y secciones
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Comment
id INT(11) ✔ ✔ ✔
ID único
idMateria INT(11) ✔
ID de la materia
idCurso INT(11) ✔
ID del curso y la sección
idProfesor INT(11) ✔
ID del profesor
fechaCreacion TIMESTAMP
'0000-00-00 00:00:00'
fecha en la que fue creado
creadoPor INT(11) ✔
usuario administrativo que lo
115
creó
fechaModificacion
TIMESTAMP
'0000-00-00 00:00:00'
fecha en la que fue modificado
modificadoPor INT(11) ✔
usuario administrativo que lo modificó
Cuadro No. 22 Diccionario de Datos: Tabla Materias-Cursos Tabla: matricula
En esta tabla se registran las matriculas existentes en el colegio y se
determina si se encuentran vigentes.
Registro de maestro de matriculas
Column
name DataType
PK
NN
UQ
BIN
UN
ZF
AI
Default
Comment
id INT(11) ✔ ✔ ✔
ID único
nombre VARCHAR(45)
NULL Nombre de la matricula
monto FLOAT(5,2) NULL Monto de la mensualidad
vigente CHAR(1) NULL Se encuentra vigente?
Cuadro No. 23 Diccionario de Datos: Tabla matricula
Tabla: notas
En esta tabla se registran las calificaciones de cada alumno (tomado de la
tabla personas) en cada evaluación (tomado de la tabla evaluaciones). La
nota puede ser cualitativa o cuantitativa.
116
Notas de cada alumno por cada evaluación
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
alumno INT(11) ✔
ID del alumno
evaluacion INT(11) ✔
ID de la evaluación
cuantitativa FLOAT(2,2) NULL Nota cuantitativa (si aplica)
cualitativa INT(11) NULL Nota cualitativa (si aplica)
Cuadro No. 24 Diccionario de Datos: Tabla de Notas
Tabla: pagos
En esta tabla se registran los pagos de mensualidades hechas por los
alumnos.
Registro de pagos
Column name
DataType PK
NN
UQ
BIN
UN
ZF
AI
Default
Comment
id INT(11) ✔ ✔ ✔
ID único
persona INT(11) NULL
Persona a la que está relacionada este pago
monto FLOAT(5,2) NULL Monto del pago
mediodepago
INT(11) NULL Medio por el cual se hizo el pago
117
referencia VARCHAR(20)
NULL Numero de referencia
fecha TIMESTAMP
NULL
Fecha y hora de procesamiento del pago
usuario INT(11) NULL
Usuario administrativo que registra el pago
Cuadro No. 25 Diccionario de Datos: Tabla pagos
Tabla: periodos
En esta tabla se registran las calificaciones de cada alumno (tomado de la
tabla personas) en cada evaluación (tomado de la tabla evaluaciones). La
nota puede ser cualitativa o cuantitativa.
Períodos académicos de la institución
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Comment
id INT(11) ✔ ✔ ✔
ID único
nombre VARCHAR(100)
NULL Nombre del período
inicio DATE NULL Fecha de inicio
fin DATE NULL Fecha de finalización
fechaCreacion TIMESTAMP
'0000-00-00 00:00:00'
Fecha de creación
creadoPor INT(11) NULL Usuario administrativo que lo
118
creó
fechaModificacion
TIMESTAMP
'0000-00-00 00:00:00'
Fecha de modificación
modificadoPor INT(11) NULL
Usuario administrativo que lo modificó
Cuadro No. 26 Diccionario de Datos: Tabla periodos
Tabla: personas
En esta tabla se registran las personas que forman parte de las estadísticas
del sistema (alumnos, padres, profesores). Su rol es indiferente pues cada
entidad lo usa según su asignación correspondiente. Cada persona tiene un
id único, por lo cual, se pueden ingresar y usar personas sin cédula (alumnos
pequeños o padres sin cédula).
Personas registradas en el sistema
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Comment
id INT(11) ✔ ✔ ✔
ID único
nombres VARCHAR(50)
✔
Nombre de la persona
apellidos VARCHAR(50)
✔
Apellido de la persona
cedula VARCHAR(12)
NULL
Cédula de identidad de la persona
email VARCHAR(50)
NULL Email de la persona
sexo INT(11) NULL Sexo de la persona
telefono VARCHAR(15)
NULL Teléfono de contacto de la persona
119
direccion VARCHAR(100)
NULL Dirección física de la persona
ciudad INT(11) NULL
Ciudad donde reside la persona
nacimiento DATE NULL Fecha de nacimiento
fechaCreacion TIMESTAMP ✔
'0000-00-00 00:00:00'
Fecha en la que ha sido creada la persona
creadoPor INT(11) NULL
ID del usuario administrativo que lo creó
fechaModificacion
TIMESTAMP ✔
'0000-00-00 00:00:00'
Fecha en la que ha sido modificada la persona
modificadoPor INT(11) NULL
ID del usuario administrativo que lo modificó
Cuadro No. 27 Diccionario de Datos: Tabla de Personas
Tabla: personas_relaciones
En esta tabla se registran las relaciones de la tabla personas. Un registro de
la tabla personas (principal) puede tener una relación (sacado de la tabla
atributos) con un relacionado (de la tabla personas). Es decir, se puede
relacionar a un alumno con sus padres.
Relaciones entre personas
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
120
id INT(11) ✔ ✔ ✔
ID único
principal INT(11) ✔
ID de la persona principal
relacionado INT(11) ✔
ID de la persona relacionada
relacion INT(11) ✔
Tipo de relación
Cuadro No. 28 Diccionario de Datos: Tabla de Personas-Relaciones
Tabla: preferencias
En esta tabla se registran las preferencias de configuración del sistema.
Preferencias para la configuración de la aplicación
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
opcion INT(11) NULL ID de la opción
valor TEXT NULL Valor asignado
Cuadro No. 29 Diccionario de Datos: Tabla preferencias
Tabla: usuarios
En esta tabla se registran los usuarios administrativos. Es decir, lo que tienen
un usuario (email) y contraseña (pass) para interactuar con el sistema.
usuarios de nivel administrativo
Column name DataType PK
NN
UQ
BIN
UN
ZF
AI
Default Commen
t
id INT(11) ✔ ✔ ✔
ID único
nombres TEXT NULL Nombre
121
del usuario
apellidos TEXT NULL Apellido del usuario
email TEXT NULL Email del usuario
pass TEXT NULL Password del usuario
nivel INT(11) NULL Nivel de privilegios
status INT(11) NULL Status del usuario
fechaCreacion TIMESTAMP
'0000-00-00 00:00:00'
Fecha en la que ha sido creado
creadoPor INT(11) NULL
ID del usuario que lo ha creado
fechaModificacion
TIMESTAMP
'0000-00-00 00:00:00'
Fecha en que se ha modificado
modificadoPor INT(11) NULL
ID del usuario que lo ha modificado
Cuadro No. 30 Diccionario de Datos: Tabla de Usuarios
Tabla: usuarios_accesos
En esta tabla se registran todos los accesos al sistema de los usuarios
administrativos. Guarda su usuario (proveniente de la tabla personas), la
fecha e ip de la conexión.
122
Accesos de usuarios administrativos al sistema
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
ID único
usuario INT(11) ✔
ID del usuario administrativo
fecha TIMESTAMP ✔ '0000-00-00 00:00:00'
Fecha del acceso
ip TEXT NULL IP del acceso
Cuadro No. 31 Diccionario de Datos: Tabla de Usuarios-Accesos
Tabla: usuarios_logs
En esta tabla se registran las actividades de los usuarios administrativos en
el sistema. Guarda su usuario (proveniente de la tabla personas) y la
descripción corta de cada actividad.
Log de actividad de usuarios administrativos en el sistema
Column name
DataType PK NN UQ BIN UN ZF AI Default Comment
id INT(11) ✔ ✔ ✔
usuario INT(11) ✔
actividad TEXT NULL
Cuadro No. 32 Diccionario de Datos: Tabla de Usuarios-Logs
Fase 3: Modelado de Procesos
Se tomaron los Diagramas de Casos de Uso del nuevo sistema y el
diagrama Entidad-Relación como base para la definición de los módulos que
lo integrarían. De esta manera se definieron 11 módulos, los cuales permiten
la interacción necesaria para lograr las distintas funciones requeridas por el
sistema. Los módulos definidos fueron los siguientes: Inicio, Períodos,
123
Matrícula, Materias, Cursos, Personas, Notas, Pagos, Reportes,
Configuración y Opciones.
A continuación se describe las funciones de cada uno de los módulos
definidos y el contenido de su estructura HTML respectiva:
Inicio
Esta será la pantalla de bienvenida al sistema, la cual cuando haya un
usuario administrativo con una sesión activa y se haya previamente
configurado el sistema, a través de programación PHP, este módulo
se poblará con indicadores de los datos almacenados en el sistema
(número de estudiantes, fecha actual, fecha de cierre de período,
pruebas recientes, deudas en la matrícula, entre otros).
Figura No. 8 Pantalla de Estructura HTML del módulo de Inicio.
Períodos
En este módulo se definen los períodos académicos a desarrollarse y
también se manejan los períodos anteriores.
124
La estructura HTML de este módulo consta de:
Un formulario que posee:
o Un campo de fecha para definir el inicio de un período.
o Un campo de fecha para definir el cierre de un período.
Una tabla en la que se muestran los períodos existentes
actualmente en el sistema. Cada período en esta tabla tendrá dos
(2) links asociados (Desactivar y Editar) los cuales posteriormente
serán habilitados a través de PHP para cumplir dichas funciones.
Figura No. 9 Pantalla de Estructura HTML del módulo de Períodos
Matrícula
En este módulo se definen los costos de las distintas matrículas que
estarán asociadas a un período específico.
La estructura HTML de este módulo consta de:
125
Un formulario que posee:
o Un campo de texto para definir el nombre de identificación
de la matrícula.
o Un campo de texto para definir el costo de la matrícula.
Una tabla en la que se muestran las matrículas disponibles
actualmente en el sistema. Cada matrícula en esta tabla tendrá dos
(2) botones asociados (Modificar y Eliminar) los cuales
posteriormente serán habilitados a través de PHP para cumplir
dichas funciones.
Figura No. 10 Pantalla de Estructura HTML del módulo de Matrículas
Materias
En este módulo se definen las materias que van a poder ser cursadas
durante un período.
La estructura HTML de este módulo consta de:
Un formulario de registro de materias que posee:
126
o Campo de Nombre de la materia.
o Área de texto para el Sumario de la materia (descripción).
o Un par de “checkbox” para el Tipo de Evaluación
Un formulario para asociar un plan de evaluación a una materia.
o Un campo de selección de la materia.
o Campo de texto para el nombre de la evaluación.
o Campo de fecha para la evaluación.
o Campo de texto para la ponderación.
Figura No. 11 Pantalla de Estructura HTML del módulo de Materias
Cursos
En este módulo se definen los cursos que van existir en cierto período
y sus secciones.
127
La estructura HTML de este módulo consta de un formulario que
posee:
Campo de texto para el nombre del curso a crear.
Campo de texto para el nombre o identificación para crear una
nueva sección asociada a este curso.
Lista de secciones actuales, cada una de las secciones listadas
tendrá dos (2) botones (Modificar (M) y Borrar (B))
Listado de las materias que se impartirán a estos cursos.
Figura No. 12 Pantalla de Estructura HTML del módulo de Cursos
Personas
En este módulo se pueden registrar, visualizar y modificar todas las
personas que serán parte del sistema, como los alumnos,
representante, profesores y el personal administrativo.
128
La estructura HTML del módulo de registro de personas consta de un
formulario que posee:
Campo de texto para el nombre.
Campo de texto para el apellido.
Campo de texto para la cédula.
Campo de texto para el email.
Campo de fecha de nacimiento.
Campo de selección de sexo.
Campo de texto para la parroquia de nacimiento.
Campo de texto para el municipio de nacimiento.
Área de texto para la dirección
Campo de selección para ciudad.
Campo de texto para el teléfono.
Campo de selección para el rol que desempeñara esta persona en
el sistema (Estudiante, Representante, Profesor, Personas
Administrativo).
Campo de selección para el curso actual.
Campo de selección para el tipo de matrícula.
Link para Definir relaciones en caso de que el rol de la persona sea
de estudiante. Debe asociarse un estudiante a su representante.
Campo de selección para la relación
Campo de texto para el ID al cual asociaremos.
129
Figura No. 13 Pantalla de Estructura HTML del módulo de Personas
La estructura HTML del módulo de visualización y modificación de
personas consta de un formulario que básicamente igual al de registro de
personas, a diferencia de que con un campo de texto, se permite hacer la
búsqueda de la persona cuyos datos se desea visualizar o modificar.
Notas
En este módulo se registran las notas asociadas a una evaluación ya
planificada para un curso.
La estructura HTML de este módulo consta de:
Un formulario para cargar una lista de los estudiantes de un curso
en una evaluación específica:
o Campo de selección para del curso.
130
o Campo de selección para la sección.
o Campo de selección para la materia.
o Campo de selección para la evaluación.
Una tabla en la que se cargaran todos los alumnos inscritos en esa
sección del curso, mostrando sus datos y un campo de texto por
cada uno donde se registrará su nota en la evaluación
seleccionada.
Figura No. 14 Pantalla de Estructura HTML del módulo de Notas
Pagos
En este módulo se registran los pagos de matrícula.
La estructura HTML de este módulo consta de:
Campo de texto para realizar la búsqueda de un estudiante por su
cédula
131
Tabla de carga de los datos retornados por la búsqueda. Estos
datos son: nombre, apellido, cédula, representante y deuda actual.
Un formulario para el registro de pagos que posee:
o Campo de texto para el monto del pago.
o Campo de selección para la forma de pago.
o Campo de texto para el registro del número de referencia
del pago.
Figura No. 15 Pantalla de Estructura HTML del módulo de Pagos
Reportes
En este módulo se generan los diferentes tipos de reportes
relacionados a los pagos de matrícula y las notas de los cursos.
La estructura HTML de este módulo consta de:
Un formulario para generar reportes de pagos el cual posee:
132
o Campo de selección para el curso.
o Campo de selección para la sección.
Un formulario para generar reportes de notas el cual posee:
o Campo de selección para el curso.
o Campo de selección para la sección.
o Campo de selección para la materia.
Figura No. 16 Pantalla de Estructura HTML del módulo de Reportes
Configuración
En este módulo se explica el proceso de configuración del sistema. Se
trata de una explicación paso a paso de como configurar los datos de
los diferentes módulos para una inicialización del sistema, tomando en
cuenta las dependencias transitivas entre ellos. Consta de texto
explicativo con enlaces a los diferentes módulos.
133
Figura No. 17 Pantalla de Estructura HTML del módulo de Configuración
Opciones
En este módulo se definen varias opciones.
La estructura HTML de este módulo consta de un formulario con:
Un campo de carga de archivo para subir el logotipo de la
Institución Educativa al sistema.
Campo de texto con el nombre la Institución Educativa.
Campo selección del período actual.
Enlaces para listar y modificar el grupo de usuarios administrativos
autorizados.
134
Figura No. 18 Pantalla de Estructura HTML del módulo de Opciones
Además, se creó un pequeño módulo separado para el login, el cual
consta de un pequeño formulario con dos (2) campos de texto, uno para el
usuario y el otro para su contraseña, su respectivo botón de ingreso y el
enlace al módulo de opciones. Esto en el caso de que no haya ninguna
sesión abierta en el sistema.
Figura No. 19 Pantalla de la interfaz del login sin inicio de sesión
Cuando hay una sesión abierta en el sistema el pequeño módulo de
login se ve de la siguiente forma:
Figura No. 20 Pantalla de la interfaz del login con inicio de sesión
135
Entre algunos de estos módulos existe una cierta dependencia
transitiva en cuanto a los datos que se manejan en ellos. Por ejemplo, el
módulo de Cursos depende del módulo de Materias, ya que al registrar un
curso deben registrarse las materias que serán evaluadas para dicho curso.
A su vez, cada materia está asociada a un período, por lo que debería
configurarse antes en el módulo de Períodos.
Observando a detalle los módulos definidos, se determinaron las
dependencias entre ellos. De esta manera, se realizó el diseño de una
interfaz que facilitase el proceso de registro de datos e y lo hiciera entendible
e intuitivo para los usuarios finales del sistema. Al mismo tiempo, se tomaron
en cuenta sugerencias hechas por la directiva de la institución para el
desarrollo de dicha interfaz.
Tomando en cuenta las dependencias mencionadas anteriormente se
definió un menú que permitiera ordenar de forma adecuada el acceso a los
distintos módulos con respecto a sus funciones. Se creó una estructura
HTML que contuviese el enlace a estos módulos y se definió su presentación
y comportamiento haciendo uso de la hoja de estilo (CSS), el resultado
obtenido es el mostrado en la siguiente pantalla.
Figura No. 21 Pantalla de la interfaz del menú de navegación de los módulos
Este menú solo se encuentra disponible una vez se ha iniciado sesión
en el sistema.
136
El diseño realizado consistió en la creación de una estructura HTML
que sirviese como marco general para toda la aplicación y desde donde se
invocarán a través de código PHP las demás estructuras HTML
pertenecientes a cada uno de los módulos, al igual que el menú y el login.
Esta estructura se asoció a una hoja de estilos (CSS), la cual fue
programada para definir la presentación del sistema y el comportamiento de
ciertos elementos en la estructura.
Luego de crear este marco general, se hace el llamado desde él a los
módulos HTML a través de código PHP, de esta manera se recicla código ya
que no se define la estructura general de la aplicación por cada módulo, sino
que se define una sola vez.
El resultado del diseño de la estructura HTML de la interfaz junto con
la hoja de estilos (CSS) asociada, haciendo llamados PHP a los módulos
HTML se muestran en la siguiente pantalla, en la cual se visualiza el módulo
de Inicio sin ninguna sesión de usuario activa.
Figura No. 22 Pantalla de la interfaz general de la aplicación sin sesión activa
137
En la siguiente pantalla se puede ver el mismo módulo de inicio pero
esta vez con una sesión de usuario activa en el sistema.
Figura No. 23 Pantalla de la interfaz general de la aplicación con sesión activa y sin configuración
Fase 4: Construcción
Una vez definida la base de datos y los procesos que se usarían en el
sistema, se procedió a realizar la programación en PHP del sistema
planteado.
Se eligió el lenguaje PHP por ser un lenguaje de programación de
código abierto y que puede ejecutarse tanto en servidores Windows como
Linux. Solo requiere la instalación de un servidor web como Apache, que
también es de código abierto, para funcionar.
138
Adicionalmente, la documentación existente en internet para
programar en PHP es bastante completa, permitiendo la rápida solución para
inconvenientes debido al amplio soporte ofrecido por la comunidad mundial
de desarrolladores.
La programación se realizó usando el Entorno de Desarrollo Integrado
(IDE) Netbeans 7.2, el cual permite codificar aplicaciones en una gran
variedad de lenguajes.
Se dispusieron distintos trucos de comportamiento de lenguaje HTML
mediante CSS, lo cual permite la visualización de efectos de transiciones
sobre las opciones del menú de la aplicación.
La validación de campos se realizó mediante Javascript en el propio
documento HTML, con lo cual, en los campos números solo se permiten
números y en los campos de fecha únicamente fechas. De esta manera se
aligera la carga del servidor al no permitirse el envío de formularios que no
puedan ser procesados.
Se implantó un sistema de manejo de usuarios administrativos que
permite establecer permisología para cada uno de ellos, de manera que se le
da acceso únicamente a las secciones que deben ver de acuerdo a su cargo.
La Unidad Educativa Instituto Privado Boyacá pidió cambiar el acceso
de los roles del personal que va a trabajar con la herramienta, por lo cual, se
designó una nueva estructura para el flujo de trabajo.
A continuación se describe el diagrama de flujo de datos de cada uno
de los procesos que conforman el sistema propuesto:
139
Para configurar el sistema, se ingresa a la sección de opciones y se
establecen los distintos valores para los parámetros de configuración, los
cuales son almacenados en la tabla “preferencias” de la base de datos.
Inicio
Introducir opciones de
configuración
Fin
Figura No. 24 Diagrama de flujo de datos para el proceso de configuración del sistema
Para configurar los períodos en el sistema, se ingresa al módulo de
“Períodos” y allí se introduce el nombre del período y las fechas de inicio y
finalización. La entrada en la plantilla solo permite campos de fecha por lo
cual es imposible cometer una equivocación. Al finalizar, se guardan los
datos en la tabla “periodos” de la base de datos.
Inicio
Introducir datos del período
Fin
Figura No. 25 Diagrama de flujo de datos para el proceso de definición de períodos en el sistema
140
Dentro del módulo “Matrículas”, se asignan las distintas matriculas
existentes en el colegio. Se ingresa el nombre y monto de cada matrícula y
esta queda almacenada en la tabla “matriculas” de la base de datos.
Inicio
Introducir datos de la matrícula
Fin
¿Es correcta?
Si
No
Figura No. 26 Diagrama de flujo de datos para el proceso de definición de montos de matrículas en el sistema
Para introducir los datos de una materia, se ingresa al módulo
“Materias” y se ingresa el nombre de la misma, el sumario y el tipo de
evaluación, los cuales son almacenados en la tabla “materias“. Una vez
ingresados esos datos, se pide si se quiere continuar agregando el plan de
evaluación de la misma. Se piden, una por una las evaluaciones las cuales
son almacenadas en la tabla “evaluaciones”. Si no se quieren agregar más
datos, se finaliza el proceso.
141
Inicio
Introducir datos de la
materia
¿Quiere continuar con el plan de evaluación?
No
Introducir datos de la evaluación
Si
Fin
Figura No. 27 Diagrama de flujo de datos para el proceso de creación de una materia
En la pantalla “Cursos” se crean los cursos del colegio. Al introducir
los datos del mismo quedan guardados en la tabla “cursos”, luego se pide si
se quieren generar las secciones, pudiendo introducir tantas como quiera el
usuario y siendo guardadas en tabla “cursos_secciones”. Luego de esto, se
pide si se quiere elegir las materias que se impartirán en este curso, las
cuales quedan guardadas en la tabla “materias_cursos”.
142
Inicio
Introducir datos del
curso
¿Quiere continuar agregando secciones?
No
Seleccionar secciones
para el curso
Si
Fin
¿Quiere continuar agregando materias?
No
Seleccionar materias
para el curso
Si
Figura No. 28 Diagrama de flujo de datos para el proceso de creación de un curso y asignación de secciones y materias
En la pantalla “Personas” se pueden agregar alumnos, padres y
profesores, siendo el primero el uso más común. El sistema permite verificar
la solvencia administrativa de la persona a agregar consultando con la tabla
“pagos”. Al estar habilitado para inscribirse, se ingresan los datos del alumno
143
o se actualizan en caso que haya cursado un grado anterior. Si se le asigna
un curso (proveniente de la tabla cursos_secciones) activo a la persona, se
le considera un alumno. Por el contrario, si se le asigna una relación y no un
curso, estará considerado un representante. Estos datos son almacenados
en la tabla “personas” y en “personas_relaciones”.
Inicio
Verificación de recaudos y solvencia
administrativa
¿Recaudos completos?
Registro del alumno y
asignación de grado
Fin
No
Si
Figura No. 29 Diagrama de flujo de datos para el proceso de registro de alumnos
En el módulo “Notas” se ingresan las notas de las evaluaciones.
Primero se debe seleccionar el curso, sección, materia y evaluación que se
quiere trabajar. En esta sección, a los profesores solo se les muestra los
cursos, secciones y materias que dictan, por lo cual no se permite que editen
otras con las cuales no tienen relación. Al estar la selección completa, le
144
muestra la lista de alumnos que cursan esta materia, proveniente de la tabla
“cursos_alumnos”. Al lado de cada alumno le permitirá ingresar la nota
correspondiente a la evaluación, quedando almacenada en la tabla “notas”.
Si
Inicio
Introducir datos del curso a asignar notas
¿Son el curso y materia correctos?
No
Introducir notas
¿Son las notas correctas?
No
Fin
Si
Figura No. 30 Diagrama de flujo de datos para el proceso de registro de notas en un curso
En la pantalla “Pagos”, se procesan los pagos de mensualidades de
los alumnos. Primero se debe buscar al alumno ingresando algún criterio
145
como: nombre, apellido o cédula. Al mostrarle los resultados, proveniente de
la tabla “personas”, y seleccionar alguno, el usuario debe determinar el
usuario correcto. Si lo hace, le permite registrar el pago con los datos que
suministre la persona que efectúa el mismo, quedando este registrado en la
tabla “pagos”.
Inicio
Introducir datos del alumno
¿Es el alumno correcto?
Introducir datos del
pago
Fin
No
Si
Figura No. 31 Diagrama de flujo de datos para el proceso de registro de pagos de alumno
En “Reportes” se pueden obtener tanto los reportes de notas del curso
como el estado de cuenta de un alumno. Este módulo solo es accesible por
usuarios administrativos con el nivel suficiente para hacerlo, los cuales están
determinado en la tabla “usuarios”. Para los reportes de notas, solo es
146
necesario seleccionar el curso, sección y materia con lo cual se obtendrá el
reporte que puede ser visualizado en pantalla o impreso.
Inicio
Introducir datos del
curso
Reporte
Fin
Figura No. 32 Diagrama de flujo de datos para el proceso de impresión de reportes de notas de un curso
En el caso del estado de cuenta de un alumno, solo es necesario
ingresar un criterio de búsqueda como nombre, apellido o cédula y al
seleccionar el alumno adecuado, su estado de cuenta puede ser visualizado
o impreso.
147
Inicio
Introducir datos del alumno
Estado de cuenta
Fin
Figura No. 33 Diagrama de flujo de datos para el proceso de impresión de estado de cuenta de un alumno
En la sección “Opciones” se pueden configurar diversos parámetros
del sistema. En ella se muestran todos y el usuario solo debe modificar el
valor que desee. Estos son guardados en la tabla “preferencias”.
Inicio
Introducir opciones de
configuración
Fin
Figura No. 34 Diagrama de flujo de datos para el proceso de configurar opciones del sistema
148
En la pantalla “Usuarios administrativos” se crean los usuarios con
privilegios para interactuar con el sistema. Allí se pueden verificar los
actuales, modificarlos o agregar nuevos. Se solicitan datos de acceso como
nombre, correo electrónico, contraseña y nivel de privilegios, los cuales son
almacenados en la tabla “usuarios”.
Inicio
Introducir datos del usuario a agregar o
editar
¿Continuar con otro usuario?
Fin
Si
No
Figura No. 35 Diagrama de flujo de datos para el proceso de creación y edición de usuarios administrativos en el sistema
Fase 5: Pruebas e Implantación
La metodología RAD se enfoca en el desarrollo conjunto con los
usuarios finales del sistema para así garantizar la satisfacción del mismo con
respecto a la funcionalidad del sistema desarrollado.
149
De tal manera, las pruebas realizadas sobre el sistema serían de
integridad y consistencia de la estructura, así como su correcta integración al
modelo de datos.
Evaluando el desempeño esperado de las funciones descritas en los
diagramas de casos de uso del nuevo sistema y los diagramas de flujo,
podemos establecer un método para demostrar el correcto funcionamiento
del sistema en el colegio.
El día 3 de septiembre de 2012 se realizó la instalación del sistema en
la Unidad Educativa Instituto Privado Boyacá. Se dispuso de una
computadora con sistema operativo Windows XP, al cual se le instaló el
software libre WAMP Stack, el cual es una aplicación que configura de
manera sencilla los paquetes Apache, PHP y MySQL, logrando así un
servidor web estable con los requerimientos necesarios para el
funcionamiento del sistema.
Luego de la instalación, se estableció un lapso de tiempo de 3 días
para realizar una serie de pruebas con personal administrativo del colegio.
En este período se comprobó el correcto funcionamiento del flujo de trabajo
planteado, el cumplimiento del objetivo del sistema para la institución y se
escucharon las observaciones de los usuarios.
La metodología RAD permite la corrección de errores al momento en
que se realizan las pruebas de cara al usuario final, por lo cual, las
modificaciones fueron realizadas de manera inmediata pues se trataron de
cambios menores, como lo fueron:
Cambio de colores de la interfaz
Cambio del tipo de letras de la interfaz
150
Orden de los datos en la impresión de reportes
Ampliación del campo de búsqueda de alumnos
Una vez finalizada la corrección en la prueba del cliente, se procedió a
elaborar un archivo de instalación para casos de emergencia. Este archivo,
programado en lenguaje PHP, permitirá que, al momento de su ejecución el
colegio pueda restaurar el sistema al punto inicial. De manera automática
ejecutará las funciones necesarias para construir las tablas en la base de
datos MySQL y colocar los archivos en las rutas correctas para su
funcionamiento en la red.
Finalizados los procesos de instalación, pruebas finales y entrega del
empaquetado final, se da por culminado el objetivo de implantación del
sistema de automatización de procesos en la Unidad Educativa Instituto
Privado Boyacá.
151
CAPITULO VI
Conclusiones
Hoy en día, cualquier organización, institución o empresa busca
agilizar y mejorar el desempeño de sus procesos debido a los
requerimientos generados por el mundo actual. A causa de estos
requerimientos es que la automatización de procesos se ha vuelto una
necesidad para el desempeño rápido y preciso de las tareas que son
realizadas. Además, gracias a la evolución tan radical del internet en los
últimos años, la comunicación y el acceso a datos, contenido y aplicaciones
remotas, han ampliado las posibilidades para la generación de sistemas que
solucionen problemas existentes en diferentes ámbitos.
El desarrollo de aplicaciones Web permite migrar los antiguos
sistemas de datos locales a la red, dándoles menos rigidez, mayor
portabilidad, accesibilidad y mejores niveles de personalización, así como
facilidad de uso. Estas fueron algunas de las características que buscaba la
institución para el cambio de sistema, por lo que se realizó el sistema con la
finalidad de automatizar, agilizar, gestionar y controlar todos los procesos
académicos y administrativos de la Unidad Educativa Instituto Privado
Boyacá.
El desarrollo del sistema propuesto se realizó tomando como base las
fases propuestas por la metodología de desarrollo rápido de aplicaciones
(RAD), la cual plantea una estructura de trabajo altamente vinculada al
usuario final, por lo que el desarrollo se vuelve sumamente dinámico y fluido.
Se diseño un modelo de datos que satisfizo las necesidades
determinadas en el levantamiento de información, al igual que se definieron
152
los módulos necesarios y se crearon las interfaces gráficas necesarias para
la interacción con la aplicación.
Posteriormente, haciendo uso de una serie de herramientas Open
Source se llevó a cabo la programación del sistema propuesto, conformado
por una base de datos basada en el modelo de datos creado, implementada
sobre el manejador MySQL, 11 módulos HTML asociados a una hoja de
estilo (CSS) para definir la presentación y el comportamiento de la estructura
de la aplicación. La funcionalidad de cada uno de los módulos fue
programada bajo el lenguaje PHP. Todo esto haciendo uso del framework
PHP del Entorno Integrado de Desarrollo (IDE) NetBeans 7.2.
Se puede concluir que los objetivos propuestos por esta investigación
fueron alcanzados uno a uno en su totalidad, lo cual se traduce en la
generación de un sistema completamente funcional que cumplió con los
requerimientos planteados por la Unidad Educativa Instituto Privado Boyacá.
153
Recomendaciones
Una vez se logró la implantación exitosa del sistema propuesto en la
Unidad Educativa Instituto Privado Boyacá, se realizaron las siguientes
recomendaciones:
Implementar un sistema de copia de seguridad diario para
salvaguardar los datos registrados en el sistema.
Adiestrar al personal del instituto en el uso del sistema.
Diversificar los roles del personal del instituto y hacer que más
personas interactúen con el sistema, para así lograr una amplia
colaboración de todo el personal y evitar el recargo de funciones sobre
una sola persona.
Colocar en internet a disposición del público el empaquetado final del
sistema, con la finalidad que cualquier colegio venezolano que pueda
usarlo, lo haga.
Establecer un método de manejo de versiones para facilitar la
actualización del paquete instalado cada vez que estén disponibles
mejoras para el mismo.
154
Bibliografía
Fuentes Impresas
Código Civil de Venezuela. Gaceta Nº 2.990 Extraordinaria del
26/07/1982.
“Decreto presidencial 3390” (23/12/2004) Publicado en La Gaceta
Oficial de Venezuela nº 38095 el 28/12/2004.
AGUADERO, Francisco. (1997) “La Sociedad de la información”
(pág. 30) Acento Editorial: Madrid, España.
BALESTRINI, Mírian. (1987) “Procedimientos técnicos de la
investigación documental” Editorial Panapo: Caracas, Venezuela.
BALESTRINI, Mírian. (2002) “Cómo se elabora un proyecto de
investigación” BL Consultores Asociados, Servicio Editorial:
Caracas, Venezuela.
BARRANCO DE A., Jesús (2002) "Metodología Del Análisis
Estructurado de Sistemas" Universidad Pontifica Comillas de Madrid.
España. ISBN: 84-8468-043-6
C, Selltiz. M, Jahoda. M, Deutsch y S.W, Cook (1976) “Métodos
de investigación en las relaciones sociales” Ediciones Rialp:
Madrid, España.
Coordinación de Pasantías (2006) “Instructivo de Pasantías
Profesionales” Universidad Alejandro de Humboldt. Caracas,
Venezuela.
155
COTA, A (1994) “Ingeniería de Software” (pág.5-13) Soluciones
Avanzadas.
ECHENIQUE, José (2001) “Auditoría en Informática” McGraw
Hill: México.
KROENKE, David M. (2003) "Procesamiento de Bases de Datos:
Fundamentos, diseño e implementación" Editorial Pearson Educación:
México. ISBN 970-26-0325-0
LEWIS, G (1994) “What is Software Engineering?” (pág 1-10)
DataPro.
LUJÁN MORA, Sergio. (2002) “Programación de aplicaciones Web:
Historia, Principios Básicos y Clientes Web” (Prefacio, p. III) Editorial
Club Universitario: Universidad de Alicante, España. ISBN 978-84-
8454-206-3
SADOSKI, Darleen. (1997) "Client/Server Software Architectures--An
Overview" Carnegie Mellon Software Engieneering Institute:
Pittsburgh, USA.
SCHMULLER, Joseph. (2005) “Aprendiendo UML en 24 Horas”
Prentice Hall: México. ISBN: 968444463X
WHITTEN, Jeffrey. BENTLEY, Lonnie y BARLOW, Victor (1996)
“Análisis y diseño de sistemas de información” Editorial McGraw-
Hill/Irwin: Madrid, España.
YEAGER, Nancy J. &. McGRATH, Robert E. (1996) "Web Server
Technologies: The advanced guide for World Wide Web information
156
providers" Morgan Kaufmann Publishers: San Francisco, California.
USA. ISBN 1-55860-376-X.
Fuentes Digitales
ACOSTA C., Dorys Lucía. (2010) “Entornos Virtuales bajo Software
Libre para el aprendizaje en Instituciones Universitarias Venezolanas”.
UNERMB, Trujillo, Venezuela. Recuperado el 23/06/2012 en URL:
“http://150.185.136.100/pdf/tge/v11n21/art05.pdf”
BESEMBEL, Isabel; NARCISO, Flor. (2009) “TDSO: Una técnica para
el diseño de software orientado por objetos” ULA, Mérida, Venezuela.
Recuperado el 23/06/2012 en URL:
“http://150.185.136.100/pdf/cing/v30n3/articulo2.pdf”
CASTILLO, Arístides; BARRIOS, Judith; MONTILVA, Jonás y
RIVERO, Dulce. (2010) “Conceptualización del proceso de
implementación de software: perspectivas ágil y disciplinada” ULA,
Mérida, Venezuela. Recuperado el 23/06/2012 en URL:
“http://150.185.136.100/pdf/cing/v31n3/art3.pdf”
ALVAREZ, Sergio; GERTRUDIX, Manuel. “Contenidos digitales
abierto y participación en la sociedad digital” (2011) Enl@ce: Revista
Venezolana de Información, Tecnología y Conocimiento. Recuperado
el 23/06/2012 en URL:
“http://revistas.luz.edu.ve/index.php/enlace/article/viewFile/8139/7800”
157
CODD, Edgar Frank. (1970). "A Relational Model of Data for Large
Shared Data Banks" IBM Research Laboratory, San José, California,
USA. Recuperado el 02/08/2012 de URL:
“http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf “
CHEN, Peter (1976) “The Entity-Relationship Model: Toward a Unified
View of Data” Association for Computing Machinery. Recuperado el
14/08/2012 de URL: “http://cs-exhibitions.uni-
klu.ac.at/index.php?id=431”
“UML - Lenguaje de Modelado Unificado” (2010) Escuela de
Computación, Facultad de Ciencias UCV: Caracas, Venezuela.
Recuperado el 13/08/2012 de URL:
“http://kuainasi.ciens.ucv.ve/adsi2010-2/uml/index.html#”
SÁNCHEZ L., David. (2010) “Implantación de la aplicación Web para
el control de documentos del sistema de gestión de la calidad de la
gerencia de AIT de PDVSA División Oriente, bajo técnicas de
ingeniería de software y estándares abiertos” Universidad de Oriente:
Monagas, Venezuela. Recuperado el 05/08/2012 de URL:
“https://docs.google.com/viewer?a=v&pid=sites&srcid=dWRvLmVkdS5
2ZXxhZHNpfGd4OjNiOTg3N2I5ODkxMmQ1Zjk&pli=1”
PEMBERTON, Steven (Copyright 1995-2007, World Wide Web
Consortium) “What is HTML?” Recuperado el 24/08/2012 del sitio Web
del W3C: “http://www.w3.org/MarkUp/”
“What is CSS?” (Copyright 2012, World Wide Web Consortium)
Recuperado el 24/08/2012 del sitio Web del W3C:
“http://www.w3.org/standards/webdesign/htmlcss#whatcss”
158
“¿Qué es JavaScript?” (Copyright 2005-2012, Mozilla Developer
Network) Recuperado el 05/08/2012 del sitio Web de Mozilla
Developer Network:
“https://developer.mozilla.org/es/docs/JavaScript/Acerca_de_JavaScri
pt”
“Unified Modeling Language” (2012, Wikipeadia) Recuperado el
24/08/2012 del sitio Web de Wikipedia:
“http://en.wikipedia.org/wiki/Unified_Modeling_Language”
ARTEAGA M, Luis M. “La definición de Software Libre” (Copyright
2012, Free Software Foundation, Inc) Recuperado el 09/08/2012 del
sitio web de la Free Software Foundation
“http://www.gnu.org/philosophy/free-sw.es.html”
CAZORLA, Javier. (2004) “Gestión y Control de Procesos” (s.f.)
recuperado el 09/08/2012 de URL: “http://www.emagister.com/curso-
sistema-gestion-calidad-iso-9001/gestion-control-procesos”
Sobre estándares de Desarrollo (Copyright 1997-2012, Object
Management Group, Inc.) Recuperado el 21/08/2012 del sitio Web del
OMG: “http://www.omg.org”
HERNANDEZ O., Enrique (2002) “El lenguaje unificado de modelado
(UML)”. ACTA: Autores Científico-Técnicos y Académicos, España.
Recuperado el 21/08/2012 de : ”http://www.acta.es”
159
GONZALEZ B, Jesús (1991) “Licencia Pública GNU” Free Software
Foundation, INC. Cambridge, USA. Recuperado el 09/08/2012 en
URL: “http://gugs.sindominio.net/licencias/gples.html”
BECERRA R., Ramón (2011) “La Licencia GPL” Portal personal del
autor. Recuperado el 09/08/2012 en URL:
“http://www.ramonbecerra.com/la-licencia-gpl/”
“Definición de Apache” Diccionario de Informática del portal Web
“www.alegsa.com.ar”. (Copyright 1998-2012) Recuperado el
02/08/2012 del URL: “http://www.alegsa.com.ar/Dic/apache.php”
PEREZ V., Damián. (2007) “¿Qué son las Bases de Datos?”
Recuperado el 14/08/2012 de URL:
“http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-
bases-de-datos/”
160
Anexos
Anexo A: Modelo de Guía de Entrevista
Nombre del entrevistado Cargo dentro del instituto
Fecha de entrevista Hora de entrevista Tipo de usuario Departamento
INSTRUCCIONES
A continuación se presentará una serie de preguntas en las cuales deberá responder de
manera abierta o cerrada, dependiendo de la pregunta en cuestión.
1. ¿Cómo se lleva a cabo actualmente el proceso de Inscripción (Registro de Alumnos)? Describa el proceso:
2. ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de alumnos actual?
Sí___ No____
Explique cuáles:
3. ¿Cómo se lleva a cabo actualmente el proceso de Registro y Control de Pagos? Describa
el proceso:
4. ¿Tiene alguna sugerencia para mejorar el procedimiento de registro y control de pagos
actual?
Sí___ No____
Explique cuáles:
5. ¿Cómo se lleva a cabo actualmente el proceso de Registro de Personal (Nómina)?
Describa el proceso:
6. ¿Tiene alguna sugerencia para mejorar el procedimiento de control de personal actual?
Sí___ No____
161
Explique cuáles:
7. ¿Cómo se lleva a cabo actualmente el proceso de Registro de Calificaciones? Describa el
proceso:
8. ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de calificaciones
actual?
Sí___ No____
Explique cuáles:
9. ¿Cómo se lleva a cabo actualmente el proceso de Control de Promociones? Describa el
proceso:
10. ¿Tiene alguna sugerencia para mejorar el procedimiento de control de promociones
actual?
Sí___ No____
Explique cuáles:
11. ¿Cómo se lleva a cabo actualmente el proceso de Registro de Asignaturas? Describa el
proceso:
12. ¿Tiene alguna sugerencia para mejorar el procedimiento de registro de asignaturas
actual?
Sí___ No____
Explique cuáles:
____________________
Firma del Entrevistado ____________________
Fecha
162
Anexo B: Lista de Observaciones
En las visitas los días 13 y 14 de junio de 2012 a las instalaciones del
instituto para estudiar el funcionamiento del sistema e interacción de los
usuarios con él, se apuntaron las siguientes observaciones:
Es muy laborioso trabajar en el sistema de manera local, ya que hay
que estar constantemente sincronizando de manera manual las bases
de datos.
Aun los usuarios que dicen manejar bien el sistema y no tener
problemas con la ergonomía del diseño, se les ve localizando con
dificultad las distintas secciones del programa.
No hay mayor novedad respecto a la impresión de informes. En
general, los usuarios están satisfechos con esta característica.
No existe posibilidad de importar o exportar datos.
Los usuarios tienen temor de solicitar cambios al fabricante pues no
quieren “que se dañe lo que ya funciona”.
El funcionamiento del programa es rápido. Solo demora más de lo
normal elaborando reportes.
Los usuarios no quieren trabajar en internet (a pesar de que el
fabricante ofrece esta característica) por temor a difundir datos de
menores de edad debido a algún error.
163
Anexo C: Evaluación del Instrumento de Recolección de Datos
(Guía de Entrevistas)
164
165
166