Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación III
Grupo 511
Facultad de Ingenierías
Cali - Colombia
2021
Tabla de contenido
Introducción................................................................................................................................6
2 Objetivos..................................................................................................................................8
3 Justificación.............................................................................................................................9
4 Marco Referencial..................................................................................................................10
4.1 Antecedentes...................................................................................................................10
4.1.2 Prototipo de aplicación móvil en Android para optimizar el uso del tiempo en el
4.2.1 UNIAJC....................................................................................................................12
4.3.2 Asignación................................................................................................................13
4.3.3 Cancelación...............................................................................................................13
4.3.4 Cita............................................................................................................................13
4.3.5 Proceso......................................................................................................................14
4.3.7 Asignatura.................................................................................................................15
4.3.8 Facultad.....................................................................................................................15
4.4.1 La Programación.......................................................................................................16
4.4.8 UML.........................................................................................................................20
4.4.13 DBMS.....................................................................................................................26
4.4.14 SQL.........................................................................................................................26
4.4.17 Información.............................................................................................................27
4.4.18 Dato........................................................................................................................27
4.4.19 MySQL...................................................................................................................28
4.4.20 Laravel....................................................................................................................28
5 Metodología...........................................................................................................................31
5.2.1 Análisis.....................................................................................................................32
5.2.2 Diseño.......................................................................................................................33
5.2.3 Codificación..............................................................................................................33
5.4 Codificación....................................................................................................................46
6.3 Resultados.......................................................................................................................48
7 Conclusiones..........................................................................................................................55
8 Referencias.............................................................................................................................56
Introducción
El presente proyecto propone el uso de las tecnologías de la información para poder realizar
Este proyecto tiene como tema principal el análisis, diseño y desarrollo web para la
universidad Antonio José Camacho, que les permitirá a los estudiantes realizar peticiones de
solicitudes de forma sistemática y a su vez generar diferentes tipos de reportes que permitirán
Ingenierías y la Facultad de Ciencias Empresariales. Sin embargo, estas oficinas han encontrado
académicos de dichas facultades realizan una solicitud académica (citas con el Director de
problema muy común para los estudiantes. Estos requieren realizar una petición de manera
eficiente y que tenga una respuesta rápida y oportuna. No obstante, al analizar las peticiones que
se hacen de manera tradicional, nos damos cuenta de la lentitud con que se efectúan algunos de
sus procesos, la pérdida de tiempo al tener que desplazarse hacia las oficinas y la falta de
Esto nos muestra una gran problemática que tiene el estudiante al realizar una solicitud de
manera tradicional por la falta de seguimiento y de información de dicho proceso. ¿Cómo lograr
¿Cuáles serían los cambios, si este proceso de solicitudes académicas se logra organizar?
2 Objetivos
Desarrollar una aplicación web que permita realizar y gestionar las solicitudes
Permitir que el director de cada programa pueda visualizar las solicitudes enviadas por
Facultar al director de programa para que pueda dar respuesta a las solicitudes
recibidas.
3 Justificación
debe hacer de forma presencial, por tal razón con este proyecto se pretende desarrollar una
aplicación Web que permita a los estudiantes hacer una asignación o cancelación de una
asignatura académica; también si lo requieren, pedir una cita con un Director de Programa.
De igual manera, la solicitud entraría a una base de datos, la cual pretende llevar un proceso
asignará a un usuario un rol que tendría acceso y permiso para revisar la información y poder
hacer un seguimiento específico del caso, por ende, resolver la situación de cada trámite y dar
una respuesta al trámite vía correo electrónico, el cual digita el estudiante solicitante.
Con este proyecto se pretende dar una solución y un beneficio a los estudiantes y al personal
la información, se dejaría atrás los procesos análogos que en la actualidad son obsoletos y se
daría paso a una nueva etapa de digitalización de las solicitudes que se requieran hacer.
4 Marco Referencial
En el presente trabajo se hace referencia a una serie de conceptos, ideas y temas comunes.
A continuación, se definirá de manera breve y clara los más importantes para el desarrollo y
4.1 Antecedentes
administrar la aplicación podrán crear categorías, donde se les dará la posibilidad de crear
podrán reservar los productos anteriormente registrados y llevar un amplio control de las
reservas realizadas. Debido a los requisitos de comodidad y usabilidad que se plantean hoy en
día, la aplicación podrá ser utilizada desde cualquier dispositivo conectado a internet, con el
4.1.2 Prototipo de aplicación móvil en Android para optimizar el uso del tiempo
que en la actualidad se hacen de forma manual. Esta propuesta se enfoca en mejorar desde el
modelo de sincronización de información entre una base datos local en una aplicación móvil y
una base de datos centralizada porque se requiere verificar si al usar las tecnologías de la
información puede ayudar a mejorar la percepción del usuario en el tiempo que emplea en el
El objetivo de este documento es presentar el proyecto de tesis para optar por el título de
prototipo de software para la empresa Solfinancol S.A.S., que le permitirá a los empleados de
esta compañía, dedicada a los créditos por libranza, realizar la gestión de la información de sus
Con este proyecto se entregará un prototipo funcional a la compañía que permita realizar la
inserción de nuevos clientes, nuevas solicitudes de créditos y que permita hacer un seguimiento a
las solicitudes de los clientes, a partir de la actualización de estados por medio del cargue
analizados por el personal de la compañía para tener una trazabilidad en sus procesos de crédito.[
4.2.1 UNIAJC
La UNIAJC (Institución Universitaria Antonio José Camacho) es una entidad pública, del
construido por sus escuelas a lo largo de los años, gracias a un decidido énfasis en el método de
investigación y a la capacidad que este otorga para transformar el conocimiento. Solo la UNIAJC
Universidad del Valle, configurando una realidad que propone un escenario académico
conocimiento de sus campos de interés, acompañados del respaldo de dos grandes instituciones
que brillan en el entorno académico nacional por su tradición y prestigio. [ CITATION Key20 \l
9226 ]
4.3 Marco Conceptual
4.3.1 Solicitud
La palabra solicitud proviene en su etimología del latín “sollicitūdo”, que a su vez se deriva
del verbo solicitar, originado en el latín “sollicitāre” con el significado de petición. Las
solicitudes son entonces, pedidos para que otro voluntariamente brinde una respuesta positiva o
negativa al respecto. Si son órdenes, o sea si no pueden rechazarse, no serían solicitudes sino
4.3.2 Asignación
El término asignación proviene del latín “assignatio”. Se trata del acto y el resultado de
asignar: indicar, establecer u otorgar aquello que corresponde. [ CITATION Pér17 \l 9226 ]
4.3.3 Cancelación
La etimología de cancelar nos lleva al vocablo latino “cancellāre”. El término se utiliza con
referencia a anular algo. Aquello que se cancela, por lo tanto, se revoca o se invalida. La acción
de cancelar implica hacer que lo cancelado deje de existir o de tener validez. [ CITATION
Pér20 \l 9226 ]
4.3.4 Cita
La palabra cita es un sustantivo femenino que designa la acción y el efecto del verbo citar, que
en su etimología procede del latín “citare” con el significado de mover hacia un lugar o impulsar
a ir, o convocar. Se usa la palabra cita cuando dos o más personas acuerdan en verse en un
determinado lugar en un cierto día y horario, ya sea para conversar, discutir un tema, llegar a un
de ir hacia adelante. Proviene del latín “processus”, que significa avance, marcha, progreso,
desarrollo.
dentro la actividad humana o fuera de ella, es decir, que tienen lugar en el medio natural. Los
ejemplos los encontramos en nuestro día a día, en la manera cómo desarrollamos nuestras
El concepto puede emplearse en una amplia variedad de contextos, como por ejemplo en el
hincapié que los procesos son ante todo procedimientos diseñados para servicio del hombre en
alguna medida, como una forma determinada de accionar. [CITATION Sig19 \l 9226 ]
La malla curricular es un instrumento que contiene la estructura del diseño en la cual los
articulada e integrada, permitiendo una visión de conjunto sobre la estructura general de un área
denomina "malla" ya que se tejen tanto vertical, como horizontalmente, incorporando idealmente
a la Transversalidad.
Los Ejes Transversales son fundamentales para contribuir a través de la educación, con la
resolución de problemas latentes en la sociedad y que deben acompañar dentro de una malla
curricular a las diversas materias de todas las especialidades en procesos formativos. Los ejes
transversales se constituyen en fundamentos para la práctica de la enseñanza al integrar los
campos del ser, el saber, el hacer y el convivir a través de conceptos, procedimientos, valores y
4.3.7 Asignatura
Se entiende por asignatura cada una de las materias que forman parte de un plan de estudios y
que son enseñadas a los estudiantes. La palabra asignatura deriva del latín “assignatus”, y
Algunos sinónimos que se pueden emplear correctamente con la palabra asignatura son:
materia, estudio, cátedra, lección o disciplina. Por otro lado, el término asignatura se traduce en
Las asignaturas son las materias que componen un año, semestre o curso académico. Son
4.3.8 Facultad
Del latín “facultas”, la facultad es el poder, el derecho, la aptitud o la capacidad para hacer
algo. Por ejemplo: “El equipo tiene la facultad de cambiar la historia en los próximos partidos”,
“El gerente no cuenta con la facultad necesaria para desarrollar el nuevo plan de negocios”.
Por otra parte, una facultad es una subdivisión de una universidad que corresponde a una
cierta rama del saber. En la facultad se enseña una carrera determinada o varias carreras afines.
de la antigua Universidad de París, que contaba con cuatro facultades: Medicina, Leyes, Teología
y Artes. En la actualidad, los estudiantes pueden egresar de una facultad con título de Ingeniero,
4.4.1 La Programación
Joseph Marie Jacquard fue el inventor del telar programable. Este inventor francés es el
responsable de la programación. No es el inventor de esta, pero está claro que creó el primer
computadores, que desde el siglo XV obtuvo sus inicios con la construcción de una máquina que
ejecutaba operaciones básicas y raíces cuadradas (Gottfried Wilheml von Leibniz); sin embargo
la primera gran influencia hacia la creación de los computadores fue la máquina diferencial para
programación y de quien proviene el nombre del lenguaje de programación ADA creado por el
programar, Para facilitar el trabajo de programación, los primeros científicos, que trabajaban en
el área, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por mnemónicos, las
digitales o tiendas virtuales. Por esta razón si cometemos cualquier error de sintaxis, el programa
no lo notará y se verá tal y como el HTML lo entienda. Se puede traducir como lenguaje de
marcas hipertextuales, es el lenguaje usado para producir páginas Web en Internet. No es un
lenguaje de programación como el Visual Basic, o el C++ que poseen compilador. El HTML
(Hiper Text Markup Language) se convirtió en uno de los idiomas de programación Web más
importantes gracias a que la mayor parte de los navegadores de Internet lo toleran bastante bien,
bastante simple de aprender .Este lenguaje de programación Web ha sido inventado por Tim
Berners-Lee en 1986. Este lenguaje de programación Web, el HTML, codifica un archivo y junto
con el escrito incluye unas etiquetas o marcas que le aportan información adicional sobre la
manera y presentación de aquel escrito. Para laborar con este lenguaje de programación Web,
cualquier otro editor de escrito para comenzar a redactar el código de la página Web que
recursos entre sí, y el SGML(Lenguaje Estándar de Marcación General) que posibilita situar
etiquetas o marcas en un texto para indicar como deseamos que aquel archivo se visualice.
directamente. Son todas las tecnologías de diseño y desarrollo web que corren en el navegador y
directamente accesible por los usuarios, además contiene la lógica de la aplicación que maneja
dichos datos. El Backend también accede al servidor, que es una aplicación especializada que
XAMPP es el entorno más popular de desarrollo con PHP, es una distribución de apache
completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl. el paquete de
instalación de XAMPP ha sido diseñado para ser increíblemente fácil de instalar y usar. Esta0
configurado por defecto con todas las opciones activadas. siendo gratuito tanto para usos
muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en
HTML. Con los años, principalmente debido a su accesibilidad, el lenguaje PHP ha ganado
muchos seguidores, formando una gran comunidad de apoyo. Por lo tanto, quienes lo utilizan
para programar pueden resolver dudas, aprender más y estar en constante desarrollo. El lenguaje
PHP se procesa en servidores, que son potentes ordenadores con un software y hardware
en un navegador web como Internet Explorer, Firefox o Chrome, ¿qué ocurre? Se envían los
datos de la solicitud al servidor que los procesa, reúne los datos (por eso decimos que es un
proceso dinámico) y el servidor lo que devuelve es una página HTML como si fuera estática.
El esquema es: Petición de página web al servidor. El servidor recibe la petición, reúne la
información necesaria consultando a bases de datos o a otras páginas webs, otros servidores, etc.
El servidor responde enviando una página web “normal” (estática) pero cuya creación ha sido
dinámica (realizando procesos de modo que la página web devuelta no siempre es igual).
[ CITATION MDN21 \l 9226 ]. Muchos confunden el JavaScript con el Java, pero ambos
lenguajes son diferentes y tienes sus características singulares. Tiene la ventaja de ser
incorporado en cualquier página web, puede ser ejecutado sin la necesidad de instalar otro
Java por su parte tiene como principal característica ser un lenguaje independiente de la
plataforma. Se puede crear todo tipo de programa que puede ser ejecutado en cualquier
ordenador del mercado: Linux, Windows, Apple, etc. Debido a sus características también es
Bootstrap es un framework CSS desarrollado por Twitter en 2010, para estandarizar las
2011, se transformó en código abierto y su nombre cambió para Bootstrap. Desde entonces fue
JavaScript para estilizar los elementos de una página HTML. Permite mucho más que,
simplemente, cambiar el color de los botones y los enlaces. Esta es una herramienta que
proporciona interactividad en la página, por lo que ofrece una serie de componentes que facilitan
innovar la forma de obtener resultados, el concepto tiene origen en Simula 67, un lenguaje de
simulaciones, diseñado por Ole-Johan Dahl y Kristen Nygaard, del Centro de Computo noruego
en Oslo. Su uso se popularizo a principios de los años 90. Su dominación fue consolidada
gracias al auge de las interfaces gráficas de usuario, para las cuales la POO está particularmente
bien adaptada. La POO tiene algunas ventajas frente a la programación tradicional, entre ellas, la
y modificar el código fuente debido al encapsulamiento. Java es uno de los lenguajes que
incorpora los conceptos del paradigma orientado a objetos de forma nativa. [ CITATION
Álv17 \l 9226 ]
La interfaz de usuario (en inglés UI: User Interface) es un medio a través del cual se une una
serie de controles y elementos que permiten a un usuario comunicarse e interactuar con los
interacción con el usuario. Una buena interfaz de usuario debe ser fácil de utilizar para que la
interacción sea lo más fácil de comprender & aprender. [ CITATION Vil18 \l 9226 ]
4.4.8 UML
UML son las siglas de “Unified Modeling Language” lenguaje unificado de modelado, se
software que sirve para visualizar, especificar, construir y documentar un sistema. Ofrece un
estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales
como procesos, funciones del sistema, y aspectos concretos como expresiones de lenguajes de
programación, esquemas de bases de datos y compuestos reciclados. Cuenta con varios tipos de
diagramas, que son utilizados en combinación para proveer todas las vistas de un sistema alguno
Diagramas de clases
clases en un sistema, atributos y operaciones de cada clase y la relación entre cada clase. En la
mayoría de las herramientas de modelado, una clase tiene tres partes, nombre en la parte
Kra21 \l 9226 ]
Diagramas de secuencia
Los diagramas de secuencia en UML muestran cómo los objetos interactúan entre sí y el
orden en que se producen esas interacciones. Es importante tener en cuenta que muestran las
interacciones se muestran como flechas. Los diagramas de secuencia de UML forman parte de
un modelo UML y solo existen dentro de los proyectos de modelado UML. [ CITATION
Kra21 \l 9226 ]
Diagramas de actividad
Los diagramas de actividad representan los flujos de trabajo de forma gráfica. Pueden
utilizarse para describir el flujo de trabajo empresarial o el flujo de trabajo operativo de cualquier
componente de un sistema. A veces, los diagramas de actividad se utilizan como una alternativa
Diagramas de componentes
sistema de software. Estos se utilizan principalmente cuando se trabaja con sistemas complejos
que tienen muchos componentes. Los componentes se comunican entre sí mediante interfaces y
son programas o aplicaciones informáticas que están destinadas aumentar la productividad para
el desarrollo de un software, estas herramientas pueden ayudar en todos los aspectos del ciclo de
fácil y no existe una forma única de clasificarlas, se puede hacer teniendo en cuenta los
siguientes parámetros:
• Las fases del ciclo de vida del desarrollo de sistemas que cubren.
• Su funcionalidad.
Las herramientas CASE permiten la automatización del desarrollo del software, contribuyen a
para que desarrollen las funciones de un programa de la mejor manera posible, reducir el nivel de
dificultad, organizar las tareas, agilizar el proceso y mejorar el resultado final de las aplicaciones
se caracterizan por definir total y rígidamente los requisitos al inicio de los proyectos de
ingeniería de software. Los ciclos de desarrollo son poco flexibles y no permiten realizar
Waterfall (cascada).
Prototipado.
Espiral.
Incremental.
nuevas funcionalidades. Sin embargo, los ciclos son mucho más cortos y rápidos, por lo que se
van agregando pequeñas funcionalidades en lugar de grandes cambios. Este tipo de metodologías
permite construir equipos de trabajo autosuficientes e independientes que se reúnen cada poco
tiempo para poner en común las novedades. Poco a poco, se va desarrollando y puliendo el
producto final, a la vez que el cliente puede ir aportando nuevos requerimientos o correcciones,
Las metodologías ágiles permiten adaptar el software a las necesidades que van surgiendo en el
más funcionales. Las principales metodologías ágiles son: [ CITATION San211 \l 9226 ]
Kanban.
Scrum.
Lean.
4.4.12.1 Definición
usualmente controlada por un sistema de gestión de base de datos (DBMS). En conjunto, los
datos y el DBMS, junto con las aplicaciones que están asociados con ellos, se conocen como un
sistema de base de datos, que a menudo se reducen a solo base de datos. La palabra base de datos
fue escuchado por primera vez en el año 1963 en una reunión celebrado en California.
Una base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada
tabla tiene una o más columnas y filas, las columnas almacenan una parte de la información
sobre cada elemento que queremos registrar en la tabla, cada fila conforma un registro. Luego se
puede acceder, administrar, modificar, actualizar, controlar y organizar fácilmente los datos. La
mayoría de las bases de datos utilizan lenguaje de consulta estructurado (SQL) para escribir y
-Redundancia mínima.
Las bases de datos han evolucionado dramáticamente desde su inicio a principios de los años
sesenta. Las bases de datos de navegación, como la base de datos jerárquica (que se basaba en un
modelo similar a un árbol y solo permitía una relación de uno a muchos), y la base de datos de
red (un modelo más flexible que permitía múltiples relaciones), eran los sistemas originales
utilizados para almacenar y manipular los datos. Aunque simples, estos primeros sistemas eran
inflexibles. En la década de 1980, las bases de datos relacionales se hicieron populares, seguido
de bases de datos orientadas a objetos en los años noventa. Más recientemente, surgieron las
bases de datos NoSQL como respuesta al crecimiento de internet y la necesidad de una mayor
velocidad y procesamiento de datos no estructurados. Hoy, las bases de datos en la nube y las
bases de datos independientes están abriendo nuevos caminos en cuanto a cómo se recopilan,
Hay muchos tipos diferentes de bases de datos. La mejor base de datos para una organización
específica depende de cómo la organización pretende utilizar los datos. A continuación, se darán
Bases de datos relacionales: Las bases de datos relacionales se popularizaron en los años
ochenta. Los elementos de una base de datos relacional se organizan como un conjunto de tablas
con columnas y filas. La tecnología de base de datos relacional proporciona la manera más
4.4.13 DBMS
Es sistema de administración de bases de datos (DBMS). Un DBMS sirve como una interfaz
entre la base de datos y sus usuarios o programas finales, lo que permite a los usuarios recuperar,
la supervisión y el control de las bases de datos, lo que permite una variedad de operaciones
MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database y dBASE.
4.4.14 SQL
procedimentales es necesario especificar cómo hay que hacer cualquier acción sobre la base de
inglés, y es muy expresivo. Por estas razones, y como lenguaje estándar, el SQL es un lenguaje
con el que se puede acceder a todos los sistemas de base de datos relacionales. [ CITATION
Ora211 \l 9226 ]
Los diagramas o modelos entidad-relación (denominado por sus siglas, ERD “Diagram Entity
Estos modelos expresan entidades relevantes para un sistema de información, sus interrelaciones
El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una
de la entidad B.
instancias de la entidad B.
4.4.17 Información
comprensión, en sentido general la información forma un mensaje, para poder ser archivado y
Los datos son la unidad básica de la información con un significado simple. Estos suelen ser
los datos solo sirven después de ser procesados según una intención y relevancia. [ CITATION
Pér09 \l 9226 ]
4.4.19 MySQL
MySQL es un sistema administrativo relacional de bases de datos. Este tipo de base de datos
puede ejecutar desde acciones básicas como insertar registros o hasta realizar consultas
en paralelo, es decir, que múltiples usuarios distribuidos a lo largo de una red local o internet
podrán ejecutar distintas tareas sobre la base de datos de un servidor, justo lo necesario para un
Otra ventaja que ofrece MySQL frente a distintos sistemas de gestión de bases de datos es que
es de código libre, por lo que podemos hacer uso de el sin ningún tipo de coste, garantizando
4.4.20 Laravel
Laravel es un framework web de código abierto para PHP. Laravel es un framework que
proporciona un fácil desarrollo de aplicaciones web PHP con características como un sistema de
Epi21 \l 9226 ]
4.4.21 MVC (Modelo Vista - Controlador)
información, la lógica del sistema y la interfaz que se le presenta al usuario. En este tipo de
arquitectura existe un sistema central o controlador que gestiona las entradas y la salida del
sistema, uno o varios modelos que se encargan de buscar los datos e información necesaria y una
interfaz que muestra los resultados al usuario final. Es muy usado en el desarrollo web porque al
tener que interactuar varios lenguajes para crear un sitio es muy fácil generar confusión entre
cada componente si estos no son separados de la forma adecuada. Este patrón permite modificar
cada uno de sus componentes si necesidad de afectar a los demás. [ CITATION Mir17 \l 9226 ]
4.5 Marco Legal
Colombia. Congreso de la República. Ley 1273 de 2009 (enero 5): Por medio de la cual
se crea un nuevo bien jurídico tutelado - denominado "de la protección de la información y de los
datos"- y se preservan integralmente los sistemas que utilicen las tecnologías de la información y
9226 ]
Colombia. Institución Universitaria Antonio José Camacho. Acuerdo No. 013 de 2017
(octubre 2): Por medio del cual se expide el reglamento estudiantil – Capitulo 7 denominado
9226 ]
Colombia. Decreto No. 1360 de 1989 (junio 23): Por el cual se reglamenta la inscripción
de soporte lógico (software) en el Registro Nacional del Derecho de Autor. Nota 1: Ver Decreto
1066 de 2015 - Decreto Único Reglamentario del Sector Administrativo del Interior. Nota 2:
Para poder llevar un buen control de tiempo, desarrollar cada una de las actividades y
en este documento, se analizaron varias metodologías para el desarrollo de software que pudieran
marcha del aplicativo de Solicitudes UNIAJC, el cual este sea acoplado a las nuevas tecnologías
de la información.
El equipo de trabajo se inclinó por utilizar una metodología (RUP). Esta tiene un nuevo
enfoque de desarrollo de software, y cabe resaltar que es una de las más aceptadas por los
producción de software de alta y de mayor calidad para satisfacer las necesidades de los usuarios
una metodología de desarrollo iterativo que es enfocada hacia “diagramas de los casos de uso, y
importar su responsabilidad específica pueda acceder a la misma base de datos incluyendo sus
conocimientos. Esto hace que todos compartan el mismo lenguaje, la misma visión y el mismo
• Desarrollo iterativo
• Administración de requisitos
• Control de cambios
Pretende implementar las mejores prácticas en Ingeniería de Software, de forma que se adapte
a cualquier proyecto.
El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e incremental, estar
centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los
productos tangibles del proceso como, por ejemplo, el modelo de casos de uso, el código fuente,
etc.) y roles (papel que desempeña una persona en un determinado momento, una persona puede
La metodología RUP es más apropiada para proyectos grandes (Aunque también pequeños),
dado que requiere un equipo de trabajo capaz de administrar un proceso complejo en varias
etapas.
5.2.1 Análisis
Basados en el planteamiento del problema y los requerimientos obtenidos nos definimos unos
5.2.2 Diseño
5.2.3 Codificación
JavaScript. Implementaremos una base de datos relacional creada en MySQL, con un servidor
A medida que se va codificando el software, se integra con todo el equipo de trabajo se hacen
Para la realización del proyecto integrador iniciamos programando reuniones semanales con
el objetivo de compartir ideas de lo visto en el trascurso de la semana y que nos pueda ayudar
En este proyecto también se investigará con compañeros de la misma institución sobre las
experiencias negativas vividas en todo tipo de solicitudes, también se hará una parte investigativa
en la página de la universidad, en redes sociales, con el fin de analizar las quejas expuestas por
los mismos estudiantes donde esos aportes nos ayudaran a tener un énfasis en la solución De
este.
RF 01 REGISTRAR USUARIO
DESCRIPCIÓN El estudiante o del directivo deben registrar un usuario y contraseña para ingresar al sistema.
RF 02 INICIAR SESIÓN
DESCRIPCIÓN El estudiante o del directivo ingresan el usuario y contraseña para ingresar al sistema. Para el
caso del estudiante permite realizar y/o consultar una solicitud académica (Cita con Director,
Adicionar o Cancelar Asignatura). Para el caso del directivo permite realizar la consulta y/o
responder la solicitud que realiza el estudiante.
ENTRADA Usuario y contraseña
SALIDA Ingreso a la plataforma Solicitud UNIAJC
DESCRIPCIÓN El estudiante debe diligenciar un formulario de solicitud, este debe validar su facultad y su
programa de estudio. Cabe resaltar que solo deben pertenecer a la Facultad de Ciencias
Empresariales. Por último, los datos quedan registrados a la base de datos del sistema.
RF 05 IMPRIMIR PDF
DESCRIPCIÓN El estudiante le pide al sistema un comprobante en archivo PDF, donde se ve reflejado las
características de la solicitud que él realizo.
ENTRADA Datos de solicitud
SALIDA Comprobante de la solicitud en PDF
RF 08 RESOLUCIÓN DE SOLICITUD
DESCRIPCIÓN El sistema permite al directivo dar respuesta a la solicitud del estudiante y enviar un correo
electrónico dando la respuesta de esta.
ENTRADA Revisar tipo de solicitud
SALIDA Respuesta de la solicitud
RNF 01 SEGURIDAD
DESCRIPCIÓN El sistema tiene un proceso de identificación de usuario para poder hacer uso del mismo. El
estudiante y el directivo deben identificarse mediante un login de acceso (usuario y contraseña).
Esto se debe porque para poder realizar una solicitud académica debe estar como estudiante
activo de la UNIAJC. De igual forma, el directivo es el responsable de dar solución o respuesta
a dicha solicitud realizada por el estudiante. Por lo tanto, se debe tener integridad de la
información que registra el sistema.
RNF 02 FIABILIDAD
DESCRIPCIÓN Los datos de una solicitud de un estudiante ingresan a una base de datos y estos a su vez se
deben enviar a un servidor local, porque el usuario en algún momento debe tener disponibilidad
de información de su solicitud y saber en qué estado se encuentra. De igual forma, el directivo
debe tener disponible la información de la solicitud porque el debe dar una respuesta al
estudiante solicitante de un trámite académico. La información debe quedar reservada en un
servidor para tener mayor seguridad de datos y que estos no se pierdan o se bloqueen en el
proceso de respuesta.
Después de realizar los análisis de los requerimientos proporcionados por la UNIAJC, se llevó
acabo el diseño del sistema en la cual del aplicativo y se definió la base de datos con sus modelos
casos de uso, diagrama de actividad, diagrama de clases, el modelo lógico y modelo conceptual
de la base de datos
Diagrama de Casos de Uso Solicitudes UNIAJC
Son muchas las consideraciones a tomar en cuenta al momento de realizar el diseño de base
de datos del modelo de negocio que se estamos implementando. Como parte de nuestro proyecto
información que se obtendrá. En la etapa conceptual de la base de datos del prototipo piloto,
plasmaremos las entidades y las relaciones que existirán entre ellas. Cada entidad la
crearemos las relaciones que existen entre dichas entidades, su obligatoriedad y cardinalidad.
Figura 7. Modelo Entidad – Relación de la base de datos. Solicitudes UNIAJC
En la etapa lógica del diseño de la base de datos vamos a representar las entidades, y cuáles
serán sus respectivos atributos, resaltaremos el atributo principal, aquél que identificará cada
registro de manera única. Con esto se evitará duplicidad de información y van a permitir de
manera rápida la transferencia de datos de identificación, por el cual complementan los procesos
En los diagramas de actividad vamos a representar cada una de las secuencias de actividades
El diagrama nos permite mostrar las clases con sus respectivos atributos y métodos que se
Después de estudiar la fase de análisis y diseño detallado de cada uno de los elementos
requeridos por la UNIAJC y la arquitectura del sistema. Se procedió a la fase de codificación del
sistema, para finalizar, se realizaron las pruebas al aplicativo para así corregir fallas o detalles
que surgieron en el camino del desarrollo, así hasta lograr que el sistema este acorde para su
utilización; una vez terminadas las pruebas y corregidas las fallas se implementó en prototipo
lenguaje de programación PHP con el framework MVC Laravel y las sentencias SQL para la
En la etapa física del diseño, debemos revisar a detalle los tipos de datos que utilizaremos,
sus dominios (qué valores va a permitir), cuales índices debemos crear para optimizar las
consultas, entre otros. Es aquí donde vamos a escribir nuestro SQL para plasmar todo el diseño
en el motor de bases de datos, que en este caso elegimos phpMyAdmin para construir el guion
(Script) del modelo de negocio que estamos implementado. Cabe resaltar que una primera
instancia integramos datos de las asignaturas, datos de los Directores de cada uno de los
Gracias a estos datos ingresados, el Directivo podrá gestionar la información de cada uno de
los estudiantes que solicitan un trámite a las facultades mencionadas con anterioridad, porque
solicitud.
Figura 12. Almacenamiento de datos de la tabla USERS. Solicitudes UNIAJC.
6.3 Resultados
En este apartado se muestra cada una de las interfaces de usuario del aplicativo piloto
Solicitudes UNIAJC. La imagen (ver figura 13) que se muestra a continuación, es la página
inicial del aplicativo, donde los usuarios ( Estudiante, Directivo) encontrará en la parte superior
izquierda un menú principal. En el caso del Estudiante la cual podrá elegir si requiere hacer un
nuevo formulario de solicitud, y/o si desea consultar cómo va el proceso de su trámite. De igual
forma, en el menú se encuentra Directivo, que este caso podrá consultar que solicitudes están en
proceso de trámite y por ende resolver o dar respuestas a cada uno de ellos que le corresponda en
su Programa.
Además, se encuentra un menú de navegación donde los usuarios podrán ir a la página web de
A continuación, se muestran (ver figura 15) el comando Login, que al acceder se muestra una
interfaz de ingreso, deben ingresar un usuario y contraseña para poder acceder al Menú
Estudiante.
sesión, se muestra el Menú Estudiante (ver figura 16), en el que podemos ver el aspecto visual,
así como todos los campos que intervienen. En este caso el Estudiante tiene 2 opciones:
figura 17) donde se podrá realizar un nuevo tramite de solicitud, ingresando los datos del mismo,
tipo de solicitud y asignaturas) que serán accesibles a medida que se vayan realizando las
diferentes acciones: (Citas con Director de Programa, Asignar o Cancelar Asignaturas). Luego de
diligenciar el formulario, el Estudiante puede ver el parte inferior de la interfaz tres comandos:
Cuando el estudiante haya hecho una solicitud podrá seguir la trazabilidad de su solicitud,
mediante el comando Seguimiento de Solicitud ingresa a la interfaz (ver figura 18), donde el
Estudiante digita el código que se le asigna al momento de realizar una nueva solicitud
académica, con este número, el podrá saber en qué estado se encuentra su trámite, también podrá
La solicitud realizada por el Estudiante será analizada. En este caso el Directivo que desea
solucionar su trámite primero deberá al comando Login del Directivo y luego entra a la interfaz
Iniciar sesión (ver figura 19), debe ingresar el usuario y la contraseña, estos datos de Login están
Después de validar su usuario, el Directivo podrá consultar en función del Tipo de Solicitud
(ver figura 20), el sistema de base de datos determinará a qué responsable funcional se debe
redirigir la solicitud. Por ejemplo, si el Tipo es Cita con el Director de Programa, se enviará al
Una vez recibida la solicitud, se devolverá al usuario con una respuesta (ver figura 21) al correo
ventana de respuesta de solicitud se encuentra un botón de asignar cita. Con este proceso
aparecerá una ventana se asignación de citas (ver figura 22), del cual se le asignará una cita con
reprogramar la misma.
Figura 22. Interfaz Asignar Citas con Director de Programa. Solicitudes UNIAJC.
Conclusiones
Se presento en este trabajo el desarrollo del aplicativo piloto Solicitudes UNIAJC, en el cual
mejorar el control y orden de las solicitudes académicas que realizan los estudiantes.
Apache Xampp, Maria BD, StarUML, ArgoUML, Balsamiq, Laravel, Visual Studio Code
cuentan con bastante documentación en el internet, se convirtió en un punto clave para superar
los diferentes obstáculos en el momento del desarrollo. Encontrando eficazmente las soluciones
en foros de discusión, blogs o páginas web dedicadas al desarrollo en cada uno de los procesos
UNIAJC.
pilar para un modelo de desarrollo de software, también se tuvieron en cuenta las etapas de
diseño y codificación de este para plasmar esa idea resultante de la etapa anterior y así crear un
Para terminar, los estudiantes y los directivos de las dos facultades obtienen un gran
beneficio, dado porque el primero podrá conocer cómo va el ciclo de su proceso, y en el segundo
pueden revisar y llevar un control más organizado de las solicitudes. Por tal razón, este
desarrollo del prototipo genera un alivio para la parte administrativa y se podrá llevar a cabo un
8 Referencias
https://computerhoy.com/reportajes/tecnologia/historia-lenguajes-programacion-428041
Álvarez, L., Avendaño, H., García, Y., & Morales, S. (2017). Programación Orientada a
programacion/poo/poo_teoria/index.html
desventajas/modelo-entidad-relacion
Caicedo Camilo, C. A., & Camargo Quintero, L. R. (01 de 05 de 2019). Universidad Industrial
%c3%a9s2019.pdf
Cervantes, N., & Pineda, C. (2020). Universidad Tecnica del Norte. Obtenido de
http://www.utn.edu.ec/reduca/programacion/fundamentos/un_poco_de_historia.html
https://developer.mozilla.org/es/docs/Learn/JavaScript/First_steps/What_is_JavaScript
https://www.coursehero.com/file/58982620/NetBeansdocx/
sociales/solicitud#:~:text=La%20palabra%20solicitud%20proviene%20en,positiva%20o
%20negativa%20al%20respecto.
framework/
https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=34492
modelo-vista-controlador-que-es-y-para-que-sirve
https://www.aprenderaprogramar.com/attachments/article/492/CU00803B%20Que%20es
%20PHP%20para%20sirve%20potente%20lenguaje%20programacion%20paginas
%20web.pdf
Guest. (12 de Abril de 2020). rockcontent blog. Obtenido de
https://rockcontent.com/es/blog/bootstrap/
https://iconixprocess.wordpress.com/iconix-process/
https://sites.google.com/site/ingecoinfo2015/extra-credit#:~:text=La%20malla
%20curricular%20es%20un,incluyendo%3A%20asignaturas%2C%20contenidos%2C
%20nap
maestrias.com/universidades/Colombia/Antonio-Jos%C3%A9-Camacho-University-
Institution-(Instituci%C3%B3n-Universitaria-Antonio-Jos%C3%A9-Camacho-UNIAJC)/
López Guevara, Ó. E., Raba Forero, J. E., & Turga Malagón, N. (06 de 05 de 2019). Revista
http://ojs.urepublicana.edu.co/index.php/ingenieria/article/view/503
Novoa Infante, A. F., & Ramos Garzón, C. D. (2013). Universidad EAN Colombia. Obtenido de
https://repository.ean.edu.co/bitstream/handle/10882/4385/NovoaAndres/2013.pdf?
sequence=1&isAllowed=y
database/#:~:text=Un%20DBMS%20sirve%20como%20una,organiza%20y%20optimiza
%20la%20informaci%C3%B3n.
Pérez Porto, J. (2020). Definición. Obtenido de https://definicion.de/cancelar/
webnode_pdf#
santander.com/es/metodologias-desarrollo-software.html#:~:text=Las%20metodolog
%C3%ADas%20%C3%A1giles%20se%20basan,en%20lugar%20de%20grandes
%20cambios.
https://blog.becas-santander.com/es/metodologias-desarrollo-software.html
www.significados.com/informacion/
https://www.significados.com/asignatura/
https://www.significados.com/proceso/
http://www.uniajc.edu.co/documentos/registroacademico/reglamentoEstudiantil_final.pdf
http://www.maestrosdelweb.com/que-es-javascript/
Vidal, M. (13 de Agosto de 2018). SCRIBD. Obtenido de
https://es.scribd.com/document/386086285/Que-Es-Programacion-Web
https://blog.hubspot.es/marketing/interfaz-usuario