VICERRECTORADO ACADÉMICO
COORDINACIÓN GENERAL DE PREGRADO
PROYECTO DE CARRERA: INGENIERÍA INFORMÁTICA
COORDINACIÓN DE PASANTÍA
FUNDAUNEG
VICERRECTORADO ACADÉMICO
COORDINACIÓN GENERAL DE PREGRADO
PROYECTO DE CARRERA: INGENIERÍA INFORMÁTICA
COORDINACIÓN DE PASANTÍA
FUNDAUNEG
________________________
Tutor Académico
II
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICERRECTORADO ACADÉMICO
COORDINACIÓN GENERAL DE PREGRADO
PROYECTO DE CARRERA: INGENIERÍA INFORMÁTICA
COORDINACIÓN DE PASANTÍA
FUNDAUNEG
________________________
Tutor Industrial
III
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
VICERRECTORADO ACADÉMICO
COORDINACIÓN GENERAL DE PREGRADO
PROYECTO DE CARRERA: INGENIERÍA INFORMÁTICA
COORDINACIÓN DE PASANTÍA
FUNDAUNEG
Autor
Br. Rondón, Jennifer
IV
DEDICATORIA
V
AGRADECIMIENTOS
¡Muchas Gracias!
VI
ÍNDICE DE CONTENIDO
VII
3.1.2. Levantamiento de los requerimientos .......................................... 22
VIII
5. MÉTODOS, TÉCNICAS Y PROCEDIMIENTOS APLICADOS ............. 26
CONCLUSIONES ........................................................................................ 67
RECOMENDACIONES ............................................................................... 68
REFERENCIAS ........................................................................................... 69
ANEXOS ..................................................................................................... 71
IX
ÍNDICE DE CUADROS Y GRÁFICOS
X
Ilustración 20. Pantalla donde se muestran todos los pagos registrados. .... 58
Ilustración 21. Pantalla donde se filtran los pagos confirmados. .................. 59
Ilustración 22. Se muestra el campo para filtrar búsquedas. ........................ 59
Ilustración 23. Pantalla donde se rechaza un pago. ..................................... 60
Ilustración 24. Pantalla donde se muestran los pagos rechazados. ............. 60
Ilustración 25. Página de FUNDAUNEG desarrollada por la autora. Rondón,
2017. ........................................................................................................... 71
Ilustración 26. Sesión de programas en la página de FUNDAUNEG. Fuente:
Rondón, 2017. ............................................................................................. 72
XI
ÍNDICE DE TABLAS
XII
INTRODUCCIÓN
XIII
proceso de registro e inscripción en los cuales se ven los pagos involucrados
se encuentre activo y disponible para los usuarios.
Debido a lo anterior, el propósito de esta pasantía realizada en el
departamento de formación y capacitación adscrita a la coordinación de
producción, consistió en el desarrollo de un proyecto bajo estándares abiertos
teniendo como principal logro el desarrollo del módulo de pagos y unido a ello
el desarrollo de la página Web de la fundación.
Mediante el presente trabajo, se presentan los detalles relacionados al
desarrollo de la aplicación de software descrita anteriormente y está
conformado de la siguiente manera:
Primera parte: trata lo referente a la descripción de la empresa entre ellos
las generalidades, ubicación, filosofía de la gestión, misión, visión, objetivos,
estructura organizativa y además se describe la unidad donde se desarrolló la
pasantía.
Segunda parte: se plantea la situación problema, es decir, el
planteamiento a ser resuelto por el pasante.
Tercera parte: se detallan de los objetivos de la pasantía, así como la
descripción del plan de trabajo y el cronograma de actividades.
Cuarta parte: se exponen los logros alcanzados del plan de trabajo.
Quinta parte: se explica los métodos, técnicas y procedimientos aplicados
para el desarrollo, presentando los resultados obtenidos durante cada fase y
la justificación de la elección de la metodología adoptada.
Sexta parte: se presentan las facilidades y dificultades durante el
desarrollo de la pasantía.
Séptima parte: se presentan los aportes dados de la empresa.
Octava parte: se detallan los conocimientos teóricos y prácticos que se
fueron adquiridos o reforzados durante de la realización de la pasantía.
Y finalmente, se cierra con las conclusiones, recomendaciones, referencias
y los anexos.
XIV
1. DESCRIPCIÓN DE LA EMPRESA
Dirección: Carrera Gurí, Torre Alférez, mezzanina local 3-A. Alta Vista,
Ciudad Guayana 8050, Bolívar Venezuela.
15
Ilustración 1. Ubicación geográfica de FUNDAUNEG, Torre Alférez, Puerto
Ordaz Estado Bolívar – Venezuela.
Correo: formaciónfundauneg@gmail.com
1.3.1. Misión
16
1.3.2. Visión
Organizacionales
En la Producción
En el Desarrollo
17
• Contribuir con el desarrollo de los diversos proyectos y programas
de la UNEG a través del manejo eficiente de sus procesos y
recursos financieros.
20
destacar que, desde su implementación hasta la fecha actual, se han venido
originando nuevos requerimientos y adaptaciones que permitan cubrir las
nuevas necesidades de la fundación.
Partiendo de lo antes expuesto surge la necesidad definir el modelo del
sistema para el control total de los pagos por participantes. Por lo antes
mencionado, se plantea el desarrollo de un proyecto desarrollado bajo
estándares del desarrollo de un software, que integre los procesos
generados en la inscripción a un curso o diplomado, con el fin de que pueda
ser usado por el departamento. El sistema será una aplicación web que
tendrá una base de datos asociada para almacenar los registros de datos
generados en el proceso de gestión de pagos.
21
se realizarán en la fundación durante las 16 semanas de duración, a
través de un diagrama de Gantt, tal como se describe en la Figura nº III.
22
3.1.5. Desarrollo de la base de datos
3.1.8. Implantación
3.1.9. Documentación
23
CRONOGRAMA DE ACTIVIDADES
24
4. LOGROS DEL PLAN DE TRABAJO
25
4.7. Realización de pruebas y validaciones
4.8. Implantación
4.9. Documentación
26
5.1. Metodología AUP (Agile Unified Process)
27
5.2. Filosofías de la metodología AUP
28
En base a ello, los documentos obtenidos durante esta fase son
los siguientes:
• Lista de requerimientos o requisitos del sistema
o Funcionales
29
2 En el sistema se podrán visualizar los pagos de los 2 1
diferentes participantes desde la parte administrativa.
3 En el sistema (desde la parte administrativa) se podrán 2 1
filtrar los pagos por campos clave como la cédula del
estudiante o número de transacción.
4 En el sistema se debe poder actualizar los costos de los 2 1
diferentes cursos o diplomados
5 El sistema debe permitir aprobar o rechazar los pagos de 3 1
los participantes.
6 El sistema permitirá a los usuarios consultar su historial 2 1
de pagos.
7 Se podrán filtrar los pagos listados, en las categorías 2 2
“pendientes”, “aprobados” y “todos”.
30
o No funcionales
31
informativos y orientados al
usuario final.
32
usuarios donde se debe
proporcionar un usuario y
contraseña que le permitirá
el control de acceso a las
áreas competentes o de
interés de los distintos roles
a desempeñarse.
• Análisis de riesgos
Un riesgo se puede concebir como una probabilidad de que una
circunstancia adversa e inoportuna ocurra durante la realización del sistema,
es decir, que existan eventos no deseados que interrumpan en el desarrollo
del software, puedo traer consigo consecuencias al proyecto desarrollando
y a la organización en sí.
33
Tabla 3. Tabla de los posibles riesgos que pueden aparecer en el desarrollo
del sistema. Fuente: Rondón (2017).
34
Mitigación de riesgos:
35
representan los papeles que desempeñan las personas o
dispositivos una vez que se opera el sistema.
36
3. El estudiante y el administrador ingresan al sistema con los
respectivos roles y permisos de acceso correspondientes.
37
1. El estudiante realizar pagos asociados a la inscripción de un
programa (curso o diplomado).
2. El estudiante visualiza los pagos cargados al sistema, pudiendo
verificar el estatus de su procesamiento por parte de la administración
de la fundación.
3. El estudiante ingresa a un programa, el estudiante con la
permisología correspondiente ingresa a un determinado curso o
diplomado por el cual ha pagado a la institución como nuevo cursante.
4. El administrador verifica los pagos.
38
Nombre del caso de uso: ID:
Caso de uso del administrador en el sistema. UC03
Actores: estudiante, administrador.
Descripción: Gestiona las operaciones que puede realizar el administrador
del sistema.
Casos de usos relacionados: caso de uso de un estudiante.
Actores secundarios: BD tablas pagos, DB tabla cursos
Curso típico
1. El administrador verifica los pagos para lo que asigna un estatus de
aprobación o rechazo.
2. El administrador aprueba la inscripción una vez sea aprobado el
pago.
3. El estatus del pago se registra en el histórico de cada estudiante.
39
Nombre del caso de uso: ID:
Caso de uso del estudiante inscrito. UC04
Actores: estudiante.
Descripción: Gestiona las operaciones de un estudiante adscrito a la
fundación.
Casos de usos relacionados:
Actores secundarios: DB tabla cursos, MOODLE
Curso típico
1. El estudiante ingresa al sistema bajo el programa pagado, accede a
la plataforma Moodle y ve clases en línea.
40
colección de relaciones. Informalmente, cada una de
estas relaciones se parece a una tabla de valores 0, de
forma algo más extensa, a un fichero plano de registros”
(p.64).
En la ilustración Nº 8 se puede observar el diagrama
relacional desarrollado para el sistema propuesto. Se
detallan los atributos y relaciones de cada tabla.
41
Ilustración 8. Diagrama relacional, módulo de pagos. Fuente: Jennifer Rondón (2017).
42
DICCIONARIO DE DATOS
A continuación, se muestra el diccionario de datos del sistema.
CURSOS
Tabla 4. Diccionario de datos de la tabla cursos.
Índices
Tabla 5. Diccionario de datos de los índices de la tabla cursos.
Nombre de
Tipo Único Empaquetado Columna Null Comentario
la clave
PRIMARY BTREE Sí No id_curso No
PAGOS
Tabla 6. Diccionario de datos de la tabla pagos asociada al módulo del
sistema. Fuente: Rondón, 2017.
43
monto decimal(10,2) No
moneda varchar(10) Sí Bolívares
fecha date No
tipo_pago varchar(140) No
status varchar(15) No Pendiente
updated_at timestamp No CURRENT_TIMESTAMP
created_at timestamp No CURRENT_TIMESTAMP
Índices
Tabla 7. Diccionario de datos de los índices de la tabla de pagos. Fuente:
Rondón, 2017.
Nombre de la
Tipo Único Empaquetado Columna Null Comentario
clave
PRIMARY BTREE Sí No id_pago No
pagos_ibfk_1 BTREE No No id_usuario No
pagos_ibfk_2 BTREE No No id_curso No
ROLES
Tabla 8. Diccionario de datos de la tabla roles del sistema.
Índices
Tabla 9. Diccionario de datos de los índices de la tabla roles del sistema.
Nombre de
Tipo Único Empaquetado Columna Null Comentario
la clave
PRIMARY BTREE Sí No id No
44
USUARIOS
Tabla 10. Diccionario de datos de la tabla usuarios.
45
updated_at timestamp No CURRENT_TIMESTAMP
Índices
Tabla 11. Diccionario de datos de los índices de la tabla usuarios.
Nombre de
Tipo Único Empaquetado Columna Nulo Comentario
la clave
PRIMARY BTREE Sí No id No
cedula BTREE Sí No cedula No
rol BTREE No No rol No
46
Tabla 12. Iteraciones del desarrollo
Nº de Actividad
iteración
1 Desarrollo y pruebas del módulo de pagos (usuario):
Creación del formulario de pago y carga de pago
2 Desarrollo y pruebas del módulo de pagos (usuario): Ver
histórico de pagos
3 Desarrollo y pruebas del módulo de pagos (administrador):
Despliegue de todos los pagos (pendientes, aprobados y
rechazados)
4 Desarrollo y pruebas del módulo de pagos (administrador):
Procesamiento de pagos (aprobar/rechazar)
5 Desarrollo y pruebas del módulo de pagos (administrador):
Filtrado de pagos por distintos criterios de búsqueda
HTML5
El estándar HTML, de las siglas en inglés HyperText Markup
Language, es el lenguaje más utilizado para la elaboración de páginas
Web. Este lenguaje se utiliza para mostrar texto, acompañado de otros
elementos como imágenes o tablas, a través de internet. Para poder
47
visualizar estas páginas e interactuar con ellas el usuario necesita utilizar
un “navegador web”, programa informático que interpreta el lenguaje
HTML y lo visualiza en la interfaz del dispositivo.
48
Ilustración 9. Ejemplo de la estructura de una página web usando HTML4
49
CSS3
CSS es la abreviatura de Cascading StyleSheets, cuya traducción es
hojas de estilo en cascada. Éste es un lenguaje que permite declarar
instrucciones de estilo visual para el navegador, estando relacionado a
un documento HTML, o a varios. Estandarizada por la W3C.
Las declaraciones CSS son instrucciones que apuntan a dar estilos
y/o modificar la manera en que el navegador renderiza el contenido del
HTML (Reynoso, 2014).
JAVASCRIPT
JavaScript es un lenguaje de programación que se utiliza
principalmente para crear páginas web dinámicas.
Una página web dinámica es aquella que incorpora efectos como
texto que aparece y desaparece, animaciones, acciones que se activan
al pulsar botones y ventanas con mensajes de aviso al usuario.
Técnicamente, JavaScript es un lenguaje de programación
interpretado, por lo que no es necesario compilar los programas para
ejecutarlos. En otras palabras, los programas escritos con JavaScript se
pueden probar directamente en cualquier navegador sin necesidad de
procesos intermedios.
MATERIALIZECSS
Creado y diseñado por Google, Materialize es un framework de diseño
que combina los principios básicos de diseño web responsive con mucha
innovación y tecnología. En otras palabras, Materializecss es un
framework que simplifica el proceso de creación de diseños web gracias
a una serie de recursos en CSS, Fuentes y JS que facilitan el desarrollo.
50
AJAX
Según IBM Ajax (Asynchronous JavaScript and XML) se refiere a un
grupo de tecnologías que se utilizan para desarrollar aplicaciones web.
Al combinar estas tecnologías, las páginas web parece que son más
receptivas puesto que los paquetes pequeños de datos se intercambian
con el servidor y las páginas web no se vuelven a cargar cada vez que
un usuario realiza un cambio de entrada. Ajax permite que un usuario de
la aplicación web interactúe con una página web sin la interrupción que
implica volver a cargar la página web. La interacción del sitio web ocurre
rápidamente sólo con partes de la página de recarga y renovación.
PHP
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un
lenguaje muy popular de programación interpretado, de código abierto,
especialmente adecuado para el desarrollo web y que puede ser
incrustado en HTML (The PHP Group, 2017).
PHP está enfocado principalmente a la programación de scripts del
lado del servidor, por lo que se puede hacer cosas como recopilar datos
de formularios, generar páginas con contenidos dinámicos, o enviar y
recibir cookies.
CODEIGNITER
CodeIgniter es un framework para el desarrollo de aplicaciones en
PHP que utiliza el MVC (Modelo – Vista – Controlador). Que permite a
los programadores Web mejorar la forma de trabajar y hacerlo a mayor
velocidad.
El Modelo Vista Controlador (MVC) es un estilo de programación en
el que la aplicación está dividida en 3 capas:
51
• Modelo: es dónde se procesa y obtienen los datos, la conexión
con la base de datos.
• Vista: presenta los datos en pantalla, es donde se ubica el código
HTML.
• Controlador: controla los datos, dicho de forma rápida obtiene
datos de un modelo, los procesa, y se los pasa a la vista.
MYSQL
Es un sistema de gestión de bases de datos relacional de código
abierto, basado en lenguaje de consulta estructurado (SQL). Según
Oracle (2017) MySQL es la base de datos de código abierto más popular
del mercado. Gracias a su rendimiento probado, a su fiabilidad y a su
facilidad de uso.
Se considera un gestor de base de datos multihilo y multiusuario, lo
que le permite ser utilizado por varias personas al mismo tiempo, e
52
incluso, realizar varias consultas a la vez, lo que lo hace sumamente
versátil.
53
• Pantallas del sistema
Luego de cumplir con las etapas anteriores y utilizar los lenguajes y
herramientas de programación ya explicados, se procede a mostrar
pantallas del sistema propuesto: Las imágenes que se muestran a
continuación son el resultado de las iteraciones desarrolladas en la etapa
de construcción del módulo de pagos propuesto y la página web de la
fundación.
o Implementación de las funcionalidades de un participante
(estudiante)
54
Ilustración 13. Pantalla de inicio de un estudiante al portal de la fundación.
55
lustración 15. Pantalla del histórico de pagos de un estudiante.
56
Ilustración 17. Pantalla principal del panel administrativo de la fundación.
57
Ilustración 19. Confirmación de un pago.
58
Ilustración 21. Pantalla donde se filtran los pagos confirmados.
59
Ilustración 23. Pantalla donde se rechaza un pago.
60
Pruebas
En este apartado, se muestra el catálogo de pruebas mediante la cual se
verificó y validó el sistema. También se detalla una breve monografía de los
tipos de pruebas seleccionados y su justificación.
Estrategia de pruebas
En líneas generales, la finalidad de ejecutar pruebas de verificación y
validación es comprobar la calidad del software, así como medir su eficiencia.
En este caso también se busca comprobar la correcta integración del módulo
desarrollado con otros módulos existentes. Para la realización de estas
pruebas, se siguió la siguiente estrategia:
61
Tipos de prueba
o Pruebas Unitarias
La prueba unitaria es el proceso de probar los componentes individuales
(subprogramas o procedimientos) de un programa. El propósito es descubrir
discrepancias entre la especificación de la interfase de los módulos y su
comportamiento real (Kit, 1995).
Este es un método que permite detectar de forma temprana defectos o
errores que se presenten antes de alcanzar la etapa de pruebas integrales.
Entre los tipos de pruebas unitarias fueron consideradas:
62
o Pruebas de integración
La prueba de integración es el proceso en el cual los componentes son
agregados para crear componentes más grandes. Es el testing realizado para
mostrar que, aunque los componentes hayan pasado satisfactoriamente las
pruebas unitarias, la combinación de componentes puede ser incorrecta o
insatisfactoria. (Pérez Lamancha, 2006)
63
6. FACILIDADES Y DIFICULTADES
6.1. Facilidades
6.2. Dificultades
64
8. CONOCIMIENTOS TEÓRICOS Y PRÁCTICOS ADQUIRIDOS
65
• Conocimientos adquiridos en plugins como datepicker.
• Conocimientos adquiridos en la interoperabilidad entre sistemas
y plataformas.
66
CONCLUSIONES
67
RECOMENDACIONES
A FUNDAUNEG:
68
REFERENCIAS
69
http://www.ces.com.uy/documentos/imasd/Tesis-
Beatriz_Perez_2006.pdf
Pressman, R. (2010). Ingeniería del Software: un enfoque práctico. México,
DF: McGraw-Hill.
Reynoso, M. A. (24 de Julio de 2014). Multiplicidad digital: Hacia la expansión
de interfases web para dispositivos móviles. Obtenido de
http://fido.palermo.edu/servicios_dyc/proyectograduacion/archivos/303
2.pdf
Silberschatz, A., F. Korth, H., & Sudarshan, S. (2002). Fundamentos de la base
de datos. McGRAW-HILL.
Sommerville, I. (2005). Ingeniería del software. Madrid: Pearson Educación.
70
ANEXOS
71
Ilustración 26. Sección de programas en la página de FUNDAUNEG.
Fuente: Rondón, 2017.
72