Está en la página 1de 57

Aplicación Web Solicitudes UNIAJC

Daniel Camilo Burbano Botina, danielburbanob@hotmail.com


David Armando Sánchez Coque, david03c@gmail.com
Gustavo Adolfo Ñañez Galíndez, gustavo_9505@hotmail.com

Proyecto presentado A las asignaturas de Ingeniería de Software II &

Programación III

Grupo 511

Docente: Jhon Robert Quintero Hurtado

Docente: Carlos Andrés Bolaños Ceballos

Institución Universitaria Antonio José Camacho

Facultad de Ingenierías

Tecnología en Sistemas de la Información

Cali - Colombia
2021

Tabla de contenido

Introducción................................................................................................................................6

1 Planteamiento del Problema.....................................................................................................7

2 Objetivos..................................................................................................................................8

2.1 Objetivo general................................................................................................................8

2.2 Objetivos específicos........................................................................................................8

3 Justificación.............................................................................................................................9

4 Marco Referencial..................................................................................................................10

4.1 Antecedentes...................................................................................................................10

4.1.1 Desarrollo e Implementación de una Aplicación Web y Móvil para la solicitud de

Músicos en Bogotá – MusicApp............................................................................................10

4.1.2 Prototipo de aplicación móvil en Android para optimizar el uso del tiempo en el

reporte de visitas en el Proyecto de Atención a la primera infancia en condición de

vulnerabilidad del municipio del Tambo – Cauca..................................................................10

4.1.3 Desarrollo de un prototipo de software para el seguimiento de solicitudes de crédito

dirigido a la compañía Solfinancol S.A.S..............................................................................11

4.2 Marco Contextual............................................................................................................12

4.2.1 UNIAJC....................................................................................................................12

4.3 Marco Conceptual...........................................................................................................13


4.3.1 Solicitud....................................................................................................................13

4.3.2 Asignación................................................................................................................13

4.3.3 Cancelación...............................................................................................................13

4.3.4 Cita............................................................................................................................13

4.3.5 Proceso......................................................................................................................14

4.3.6 Malla Curricular........................................................................................................14

4.3.7 Asignatura.................................................................................................................15

4.3.8 Facultad.....................................................................................................................15

4.4 Marco Teórico.................................................................................................................16

4.4.1 La Programación.......................................................................................................16

4.4.2 Programación Web...................................................................................................16

4.4.3 Lenguaje de Programación PHP...............................................................................18

4.4.4 Lenguaje de Programación JavaScript......................................................................19

4.4.5 Framework Bootstrap...............................................................................................19

4.4.6 Programación Orientada a Objetos (POO)...............................................................20

4.4.7 Interfaz Gráfica de Usuario......................................................................................20

4.4.8 UML.........................................................................................................................20

4.4.9 Herramientas CASE..................................................................................................22

4.4.10 Metodología de Desarrollo de Software.................................................................23

4.4.11 Metodologías Ágiles...............................................................................................23


4.4.12 Base de Datos.........................................................................................................24

4.4.13 DBMS.....................................................................................................................26

4.4.14 SQL.........................................................................................................................26

4.4.15 Modelo Entidad/Relación.......................................................................................27

4.4.16 Cardinalidad de la Relaciones................................................................................27

4.4.17 Información.............................................................................................................27

4.4.18 Dato........................................................................................................................27

4.4.19 MySQL...................................................................................................................28

4.4.20 Laravel....................................................................................................................28

4.4.21 MVC (Modelo Vista - Controlador).......................................................................28

4.5 Marco Legal....................................................................................................................30

5 Metodología...........................................................................................................................31

5.1 Características generales de RUP...................................................................................32

5.2 Implementación del RUP................................................................................................32

5.2.1 Análisis.....................................................................................................................32

5.2.2 Diseño.......................................................................................................................33

5.2.3 Codificación..............................................................................................................33

5.2.4 Integración y pruebas................................................................................................33

5.2.5 Análisis/ Requisitos..................................................................................................33

5.3 Análisis y Diseño............................................................................................................40


 Diagrama de Casos de Uso Solicitudes UNIAJC........................................................41

 Diseño Conceptual de la Base de Datos Solicitudes UNIAJC....................................41

 Diseño Lógico de la Base de Datos Solicitudes UNIAJC...........................................43

 Diagrama de Actividad/Modelo de Negocio Solicitudes UNIAJC.............................44

 Diagrama de Clases Solicitudes UNIAJC...................................................................45

5.4 Codificación....................................................................................................................46

6 Desarrollo del Tema...............................................................................................................47

6.1 Análisis de la Información..............................................................................................47

6.2 Diseño de la Base de Datos del Aplicativo de Solicitudes UNIAJC..............................47

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

un proceso de solicitud de servicios (adiciones & cancelaciones de asignaturas, Citas con el

director de programa) que en la actualidad se hace de forma manual.

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

hacer un seguimiento oportuno a los estados de dicha solicitud.


1 Planteamiento del Problema

La Institución Universitaria Antonio José Camacho es una institución de educación superior

reconocida a nivel nacional. Entre sus facultades académicas, se encuentra La Facultad de

Ingenierías y la Facultad de Ciencias Empresariales. Sin embargo, estas oficinas han encontrado

inconvenientes en el procesamiento de información cuando los estudiantes de los programas

académicos de dichas facultades realizan una solicitud académica (citas con el Director de

Programa, Adición de Asignaturas o Cancelación de Asignaturas).

En consecuencia, al realizar una solicitud de manera presencial se ha convertido en un

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

efectividad al momento de dar una solución a dicha petición.

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

dar apoyo a los estudiantes, a la Facultad de Ingeniería y Facultad de Ciencias Empresariales de

la UNIAJC con el proceso de recepción, control y seguimiento de solicitudes académicas?

¿Cuáles serían los cambios, si este proceso de solicitudes académicas se logra organizar?
2 Objetivos

2.1 Objetivo general

Desarrollar una aplicación web que permita realizar y gestionar las solicitudes

académicas para las facultades de Ingenierías y Ciencias Empresariales de la UNIAJC.

2.2 Objetivos específicos

 Desarrollar un módulo que permita el control de registro e inicio sesión de usuarios al

sistema Solicitudes UNIAJC, identificando cuál es su rol.

 Permitir que el director de cada programa pueda visualizar las solicitudes enviadas por

parte de los estudiantes.

 Facultar al director de programa para que pueda dar respuesta a las solicitudes

recibidas.
3 Justificación

En la actualidad para poder llevar a cabo un trámite en la Facultad de Ingenierías y en la

Facultad de Ciencias Empresariales de la Institución Universitaria Antonio José Camacho se

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.

Todos estos trámites se realizarán de forma digital.

De igual manera, la solicitud entraría a una base de datos, la cual pretende llevar un proceso

de seguimiento de dicha solicitud, que brindaría una confiabilidad de la información. Además, se

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

administrativo de la Facultad de Ingenierías y la Facultad de Ciencias Empresariales de la

UNIAJC. De igual manera, se hace la implementación de nuevas tecnologías para el manejo de

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

justificación del proyecto.

4.1 Antecedentes

4.1.1 Desarrollo e Implementación de una Aplicación Web y Móvil para la

solicitud de Músicos en Bogotá – MusicApp

Se ha desarrollado una aplicación web en PHP, totalmente dinámica para la gestión de

préstamo de material para la asignatura de Producción Multimedia. Los encargados de

administrar la aplicación podrán crear categorías, donde se les dará la posibilidad de crear

dinámicamente formularios y posteriormente registrar sus productos. En cambio, los alumnos

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

único requisito de disponer un navegador web. [ CITATION Lóp19 \l 9226 ]

4.1.2 Prototipo de aplicación móvil en Android para optimizar el uso del tiempo

en el reporte de visitas en el Proyecto de Atención a la primera infancia en condición

de vulnerabilidad del municipio del Tambo – Cauca.

La presente investigación propone el uso de las tecnologías de la información en los procesos

que en la actualidad se hacen de forma manual. Esta propuesta se enfoca en mejorar desde el

aspecto de la percepción de tiempo empleado en esas actividades, buscando implementar un

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

diligenciamiento del formulario. [ CITATION Cai19 \l 9226 ]

4.1.3 Desarrollo de un prototipo de software para el seguimiento de solicitudes de

crédito dirigido a la compañía Solfinancol S.A.S.

El objetivo de este documento es presentar el proyecto de tesis para optar por el título de

Ingeniero de Sistemas, teniendo como tema principal el análisis, diseño y desarrollo de un

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

clientes, la gestión de solicitudes de crédito y la generación de diferentes tipos de reportes que

permitirán hacer un seguimiento a los estados de dichas solicitudes.

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

automático de un archivo plano y la exportación de reportes que puedan ser revisados y

analizados por el personal de la compañía para tener una trazabilidad en sus procesos de crédito.[

CITATION Nov13 \l 9226 ]


4.2 Marco Contextual

4.2.1 UNIAJC

4.2.1.1 Breve Historia de la UNIAJC

La UNIAJC (Institución Universitaria Antonio José Camacho) es una entidad pública, del

orden municipal, adscrita a la Alcaldía de Santiago de Cali, autónoma administrativamente,

generadora y difusora de conocimientos, con una objetiva vocación de servicio a la sociedad a

través de actividades científicas, investigativas y de proyección social, para el fomento de la

calidad y la excelencia de la educación en la nación.

En la condición de universidad pública, y proyección institucional se afianza en el crédito

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

comparte el honor de la educación pública en la región con otra magnífica institución, la

Universidad del Valle, configurando una realidad que propone un escenario académico

enriquecido y abierto a aspirantes, estudiantes, docentes, científicos, investigadores y

personalidades de la academia nacional, para desarrollar sus talentos y profundizar en el

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

exigencias o mandatos. [CITATION DeC20 \l 9226 ]

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

acuerdo o concretar una entrevista de empleo o asesorarse con un profesional a quien se le ha

requerido los servicios. [ CITATION DeC20 \l 9226 ]


4.3.5 Proceso

La palabra proceso es un sustantivo masculino que se refiere de un modo general a la acción

de ir hacia adelante. Proviene del latín “processus”, que significa avance, marcha, progreso,

desarrollo.

Debido a su amplitud, podemos identificar procesos en una enorme cantidad de ámbitos

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

actividades o en nuestro entorno.

El concepto puede emplearse en una amplia variedad de contextos, como por ejemplo en el

ámbito jurídico, en el de la informática o en el de la empresa. Es importante en este sentido hacer

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 ]

4.3.6 Malla Curricular

La malla curricular es un instrumento que contiene la estructura del diseño en la cual los

docentes, maestros, catedráticos abordan el conocimiento de un determinado curso, de forma

articulada e integrada, permitiendo una visión de conjunto sobre la estructura general de un área

incluyendo: asignaturas, contenidos, NAP / Núcleos de Aprendizajes Prioritarios, metodologías,

procedimientos y criterios de evaluación con los que se manejarán en el aula de clase. Se

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

actitudes que orientan la enseñanza y el aprendizaje. [ CITATION INF15 \l 9226 ]

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

significa “signado” o “asignado”.

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

inglés como subject.

Las asignaturas son las materias que componen un año, semestre o curso académico. Son

dictadas por profesionales en el área de la docencia y, en los cursos extracurriculares, por

profesionales y especialistas en un área determinada. [CITATION Sig15 \l 9226 ]

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.

El conjunto de facultades forma el total de la universidad. El modelo de facultades surgió a partir

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,

Licenciado o Doctor. [ CITATION Pér13 \l 9226 ]


4.4 Marco Teórico

4.4.1 La Programación

4.4.1.1 Breve Historia de 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

sistema de instrucciones para un ''computador''. [ CITATION Alc19 \l 9226 ]

La historia de la Programación está relacionada concisamente con la aparición de las

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

el cálculo de polinomios, proyecto no concluido de Charles Babbage (1793-1871) con el apoyo

de Lady Ada Countess of Lovelace (1815-1852), primera persona que incursionó en la

programación y de quien proviene el nombre del lenguaje de programación ADA creado por el

DoD (Departamento de defensa de Estados Unidos) en la década de 1970. A principio las

computadoras interpretaban solo instrucciones en un lenguaje específico, siendo complicado para

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

codificaron y crearon así un lenguaje de mayor nivel. [ CITATION Cer20 \l 9226 ]

4.4.2 Programación Web

La Programación Web posibilita la construcción de sitios dinámicos en Internet. Dominando

la programación Web tendremos la posibilidad de producir sitios dinámicos como periódicos

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,

es uno de los idiomas más utilizados para la construcción de documentos y es un lenguaje

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,

como es un procesador de escrito, lo único que necesitaremos es un sencilla bloc de notas o

cualquier otro editor de escrito para comenzar a redactar el código de la página Web que

queramos generar. El HTML combina el término de Hipertexto, que posibilita conectar 2

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.

[CITATION Vid18 \l 9226 ]

4.4.2.1 Programación Web Frontend

Frontend es la parte de un programa o dispositivo a la que un usuario puede acceder

directamente. Son todas las tecnologías de diseño y desarrollo web que corren en el navegador y

que se encargan de la interactividad con los usuarios. [ CITATION Nic17 \l 9226 ]

4.4.2.2 Programación Web Backend

Backend es la capa de acceso a datos de un software o cualquier dispositivo, que no es

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

entiende la forma como el navegador solicita cosas. [ CITATION Nic17 \l 9226 ]

4.4.2.3 Apache XAMPP

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

disponible para Microsoft Windows, GNU/Linux, Solaris y Mac os x. XAMPP viene

configurado por defecto con todas las opciones activadas. siendo gratuito tanto para usos

comerciales como no comerciales. [ CITATION MVw21 \l 9226 ]

4.4.3 Lenguaje de Programación PHP

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto

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

especial. Cuando se escribe una dirección tipo http://www.aprenderaprogramar.com/index.php

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 Enr06 \l 9226 ]

4.4.4 Lenguaje de Programación JavaScript

JavaScript es un lenguaje de secuencias de comandos que te permite crear contenido de

actualización dinámica, controlar multimedia, animar imágenes y prácticamente todo lo demás.

[ 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

programa para ser visualizado.

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

muy utilizado para internet. [ CITATION Dam07 \l 9226 ]

4.4.5 Framework Bootstrap

Bootstrap es un framework CSS desarrollado por Twitter en 2010, para estandarizar las

herramientas de la compañía. Inicialmente, se llamó Twitter Blueprint y, un poco más tarde, en

2011, se transformó en código abierto y su nombre cambió para Bootstrap. Desde entonces fue

actualizado varias veces y ya se encuentra en la versión 4.4. El framework combina CSS y

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

la comunicación con el usuario, como menús de navegación, controles de página, barras de

progreso y más. [ CITATION Gue20 \l 9226 ]


4.4.6 Programación Orientada a Objetos (POO)

La Programación Orientada a Objetos (POO) es un paradigma de programación que viene a

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

facilidad de analizar y diseñar programas con un enfoque realista, la creación de programas

extensos gracias a la reutilización y polimorfismo, la facilidad de identificar errores, de entender

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 ]

4.4.7 Interfaz Gráfica de Usuario

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

ordenadores de un dispositivo electrónico software, hardware o sitio web. El objetivo de esta

interacción es facilitar el funcionamiento y brindar un control más seguro de la máquina desde la

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

trata de un estándar que se ha adoptado a nivel internacional para el modelado y desarrollo de

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

de estos son: [ CITATION Kra21 \l 9226 ]

 Diagramas de clases

Es el bloque de construcción principal de cualquier solución orientada a objetos. Muestra las

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

superior, atributos en el centro y operaciones o métodos en la parte inferior. [ CITATION

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 para un escenario en particular. Los procesos se representan verticalmente y 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

a los diagramas de máquina del estado. [ CITATION Kra21 \l 9226 ]

 Diagramas de componentes

Un diagrama de componentes muestra la relación estructural de los componentes de un

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

se enlazan mediante conectores. [ CITATION Kra21 \l 9226 ]

4.4.9 Herramientas CASE

Ingeniería de Software Asistida por Computadoras (Computer Aided Software Engineering),

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

vida de un software reduciendo el costo de esta en términos de tiempo y dinero. Aunque no es

fácil y no existe una forma única de clasificarlas, se puede hacer teniendo en cuenta los

siguientes parámetros:

• Las plataformas que soportan.

• Las fases del ciclo de vida del desarrollo de sistemas que cubren.

• La arquitectura de las aplicaciones que producen.

• Su funcionalidad.

Las herramientas CASE permiten la automatización del desarrollo del software, contribuyen a

mejorar la calidad y la productividad en el desarrollo de sistemas de información. Algunos

objetivos de las herramientas casen son:

• Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas

con una herramienta conseguimos agilizar el trabajo.


• Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.

• Simplificar el mantenimiento de los programas.

• Mejorar y estandarizar la documentación.

• Aumentar la portabilidad de las aplicaciones.

• Facilitar la reutilización de componentes software.

• Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización

de gráficos. [ CITATION Ecu21 \l 9226 ]

4.4.10 Metodología de Desarrollo de Software

Es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo

en sistemas de información. El objetivo de las metodologías es organizar los equipos de trabajo

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

a desarrollar. Actualmente se diferencias dos grandes grupos de metodologías de desarrollo de

software: las ágiles y las tradicionales. Metodologías de desarrollo de software tradicionales

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

cambios. Las principales metodologías tradicionales son: [ CITATION San21 \l 9226 ]

 Waterfall (cascada).

 Prototipado.

 Espiral.

 Incremental.

 Diseño rápido de aplicaciones (RAD).


4.4.11 Metodologías Ágiles

Se basan en la metodología incremental, en la que en cada ciclo de desarrollo se agregan

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,

ya que puede comprobar cómo avanza el proyecto en tiempo real.

Las metodologías ágiles permiten adaptar el software a las necesidades que van surgiendo en el

camino, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su

desarrollo a las circunstancias específicas del entorno permitiendo la construir de aplicaciones

más funcionales. Las principales metodologías ágiles son: [ CITATION San211 \l 9226 ]

 Kanban.

 Scrum.

 Lean.

 Programación extrema (XP).

4.4.12 Base de Datos

4.4.12.1 Definición

Una base de datos es una colección organizada de información estructurada, o datos,

típicamente almacenados electrónicamente en un sistema de computadora. Una base de datos es

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

consultar datos. Sus principales características son: [ CITATION Ora211 \l 9226 ]

-Independencia lógica y física de los datos.

-Redundancia mínima.

- Acceso concurrente por parte de múltiples usuarios.

-Integridad de los datos.

-Consultas complejas optimizadas.

-Seguridad de acceso & auditoría.

4.4.12.2 Evolución de las Bases de Datos

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,

almacenan, administran y utilizan los datos. [ CITATION Ora211 \l 9226 ]

4.4.12.3 Tipos de Bases de Datos

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

a conocer algunos tipos de bases de datos: [ CITATION Ora211 \l 9226 ]

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

eficiente y flexible de acceder a información estructurada. [ CITATION Ora211 \l 9226 ]

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,

actualizar y administrar cómo se organiza y optimiza la información. Un DBMS también facilita

la supervisión y el control de las bases de datos, lo que permite una variedad de operaciones

administrativas, como la supervisión del rendimiento, el ajuste, las copias de seguridad y la

recuperación. Algunos ejemplos de software de bases de datos o DBMS populares incluyen

MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database y dBASE.

[ CITATION Ora211 \l 9226 ]

4.4.14 SQL

El lenguaje SQL (Structured Query Language) es un lenguaje de dominio específico utilizado

en programación para definir, manipular y controlar las bases de datos relacionales. Es un


lenguaje declarativo: solo hay que indicar que se quiere hacer. En cambio, en los lenguajes

procedimentales es necesario especificar cómo hay que hacer cualquier acción sobre la base de

datos. El SQL es un lenguaje muy parecido al lenguaje natural; concretamente, se parece al

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 ]

4.4.15 Modelo Entidad/Relación

Los diagramas o modelos entidad-relación (denominado por sus siglas, ERD “Diagram Entity

relationship”) son una herramienta para el modelado de datos de un sistema de información.

Estos modelos expresan entidades relevantes para un sistema de información, sus interrelaciones

y propiedades. [ CITATION Anó21 \l 9226 ]

4.4.16 Cardinalidad de la Relaciones

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.

Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias

instancias de la entidad B.

Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con

cualquier instancia de la entidad B.

4.4.17 Información

Se denomina información al conjunto de datos ya procesados y ordenados para su

comprensión, en sentido general la información forma un mensaje, para poder ser archivado y

guardado. [ CITATION Sig17 \l 9226 ]


4.4.18 Dato

Los datos son la unidad básica de la información con un significado simple. Estos suelen ser

letras, símbolos, palabras, dependiendo de la perspectiva de donde se observa. En forma general,

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

complejas. MySQL es un servidor multiusuarios rápido y robusto de ejecución de instrucciones

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

sistema de gestión de información.

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

seguridad y eficacia. [ CITATION Ora211 \l 9226 ]

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

empaquetado modular con un gestor de dependencias dedicado, acceso a bases de datos

relacionales y otras utilidades para el despliegue y mantenimiento de aplicaciones.[ CITATION

Epi21 \l 9226 ]
4.4.21 MVC (Modelo Vista - Controlador)

El MVC es un patrón de diseño arquitectónico de software, que sirve para clasificar la

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

las comunicaciones, reconocido en el artículo 1. Bogotá́ : Diario Oficial. [CITATION Fun09 \l

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

"Adiciones y Cancelaciones". Santiago de Cali: Reglamento Estudiantil. [ CITATION UNI17 \l

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:

Citado en la Revista de Derecho, Comunicaciones y Nuevas Tecnologías. No.9, Junio de 2013.


5 Metodología

Para poder llevar un buen control de tiempo, desarrollar cada una de las actividades y

optimizar los procesos de solicitudes académicas en las facultades de la UNIAJC mencionadas

en este documento, se analizaron varias metodologías para el desarrollo de software que pudieran

acoplarse a los requerimientos de tiempos y funcionalidad para la implementación y puesta en

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

desarrolladores en la actualidad, debido a la simplicidad de sus reglas y prácticas, su posición a

equipos de desarrollo y su flexibilidad ante los cambios. ¿Qué es metodología RUP?

Es un proceso de ingeniería de software que suministra un enfoque para asignar tareas y

responsabilidades dentro de una organización de desarrollo. Su objetivo es asegurar la

producción de software de alta y de mayor calidad para satisfacer las necesidades de los usuarios

que tienen un cumplimiento al final dentro de un límite de tiempo y presupuesto previsible. Es

una metodología de desarrollo iterativo que es enfocada hacia “diagramas de los casos de uso, y

manejo de los riesgos y el manejo de la arquitectura” como tal.


El RUP mejora la productividad del equipo ya que permite que cada miembro del grupo sin

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

proceso acerca de cómo desarrollar un software.

5.1 Características generales de RUP

• Desarrollo iterativo

• Administración de requisitos

• Uso de arquitectura basada en componentes

• Control de cambios

• Modelado visual del software

• Verificación de la calidad del software

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

desempeñar distintos roles a lo largo del proceso).

5.2 Implementación del RUP

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

objetivos, trabajaremos en pro de llevarlos a cabo.

5.2.2 Diseño

Se utilizarán herramientas de apoyo para la realización de interfaces graficas como lo son

Balsamiq, Wireframes y en ciertas ocasiones papel y lápiz.

5.2.3 Codificación

Se codificará con lenguajes de programación orientado a objetos como lo son PHP y

JavaScript. Implementaremos una base de datos relacional creada en MySQL, con un servidor

remoto como lo es XAMPP (apache).

5.2.4 Integración y pruebas

A medida que se va codificando el software, se integra con todo el equipo de trabajo se hacen

pruebas de funcionalidad y satisfacción.

5.2.5 Análisis/ Requisitos

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

para el desarrollo de este.

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.

 Requerimientos Funcionales Solicitudes UNIAJC

RF 01 REGISTRAR USUARIO
DESCRIPCIÓN El estudiante o del directivo deben registrar un usuario y contraseña para ingresar al sistema.

ENTRADA Datos del Usuario


SALIDA Usuario Registrado

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

RF 03 FORMULARIO DE SOLICITUD PARA FACULTAD INGENIERÍAS


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 Ingenierías. Por
último, los datos quedan registrados a la base de datos del sistema.
ENTRADA Datos de solicitud del estudiante
SALIDA Confirmación y código de la solicitud

RF 04 FORMULARIO DE SOLICITUD PARA FACULTAD DE CIENCIAS


EMPRESARIALES

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.

ENTRADA Datos de solicitud del estudiante

SALIDA Confirmación y código de la solicitud

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 06 SEGUIMIENTO DE SOLICITUD ESTUDIANTE


DESCRIPCIÓN Ingresado un código de solicitud, el sistema permite ver al estudiante, el estado (Recibida,
Aprobada, Solucionada, Denegada) y la información de esta.
ENTRADA Código de solicitud
SALIDA Estado de la solicitud

RF 07 CONSULTA DE SOLICITUDES DIRECTIVO


DESCRIPCIÓN El sistema le muestra al directivo, todas las solicitudes que se han realizado los estudiantes. Se
pueden filtrar por: estado del proceso, programa, proceso, semestre, fecha.
ENTRADA Filtros de información
SALIDA Información de la solicitud del estudiante

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

RF 09 ASIGNACIÓN DE CITAS CON DIRECTOR PROGRAMA


DESCRIPCIÓN El sistema permite al directivo asignar una cita al estudiante con fecha y la hora estipulada
ENTRADA Fecha y hora y dirección de la cita
SALIDA Cita con director registrada

RF 10 CONSULTA DE LA INFORMACIÓN DE LOS EGRESADOS


DESCRIPCIÓN El sistema permite al directivo realizar la consulta de la información del egresado de la
institución.
ENTRADA ID del egresado
SALIDA Estado e historial académico del estudiante

RF 11 REPORTE DE USUARIOS DEL SISTEMA


DESCRIPCIÓN El sistema permitirá llevar un reporte de los usuarios que se encuentren registrados en el
sistema.
ENTRADA Reporte de usuarios
SALIDA Usuarios activos en el sistema
 Requerimientos No Funcionales Solicitudes UNIAJC

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.

RNF 03 EFICIENCIA DE DESEMPEÑO


DESCRIPCIÓN Para poder hacer uso del sistema de escritorio, el usuario deberá disponer de un equipo con
memoria RAM de 2Gb, sistemas operativos como Windows 7 en delante puede ser de 32 o 64
bits, el iOS de Apple y GNU/Linux. Además, debe contar como procesadores Intel Pentium en
adelante y AMD Ryzen en adelante. Si es en navegador web puede utilizar en Google Chrome,
Safari, Opera o Microsoft Edge.
 Prototipos de la Interfaz de Usuario Solicitudes UNIAJC

Figura 1. Prototipo Interfaz Página de Inicio. Solicitudes UNIAJC

Figura 2. Prototipo Interfaz Formulario de Solicitud. Solicitudes UNIAJC


Figura 4. Prototipo Interfaz Consulta Directivo. Solicitudes UNIAJC
Figura 5. Prototipo Interfaz Repuesta de Solicitud. Solicitudes UNIAJC5

5.3 Análisis y Diseño

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

correspondientes; en la construcción y diseño se plantean los siguientes diagramas: diagrama de

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

Figura 6. Diagrama de Casos de Uso. Solicitudes UNIAJC5

 Diseño Conceptual de la Base de Datos 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

de desarrollo debemos necesitar manejar, a la vez de forma dinámica y sistemática, la

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

identificaremos con un rectángulo y dentro de este colocaremos su nombre. Y por último

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

 Diseño Lógico 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

y estos a la vez tengan una hoja de ruta más organizada.

 Diagrama de Actividad/Modelo de Negocio Solicitudes UNIAJC

En los diagramas de actividad vamos a representar cada una de las secuencias de actividades

que se realizan en los casos de uso del aplicativo Solicitudes UNIAJC.


 Diagrama de Clases Solicitudes UNIAJC

El diagrama nos permite mostrar las clases con sus respectivos atributos y métodos que se

implementan en este desarrollo.

Figura 9. Diagrama de Actividad. Solicitudes UNIAJC

Figura 10. Diagrama de Clases. Solicitudes UNIAJC


5.4 Codificación

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

para presentarlo a la institución mencionada. A continuación, se mostrará el condigo fuente en

lenguaje de programación PHP con el framework MVC Laravel y las sentencias SQL para la

base de datos del aplicativo Solicitudes UNIAJC.

Figura 11. Código fuente PHP de la Vista Plantilla.Blade.Php. Solicitudes UNIAJC


6 Desarrollo del Tema

6.1 Análisis de la Información

Para acceder a la información se partió de dos puntos: Primero la recolección de información

de cómo se realiza un trámite ante las oficinas de la Facultad de Ingenierías y la Facultad de

Ciencias Empresariales de la UNIAJC. En segundo paso, se toma la información y datos de la

malla curricular (asignaturas, Directores de Programa, jornadas, semestres) de los programas

académicos de las 2 facultades.

6.2 Diseño de la Base de Datos del Aplicativo de Solicitudes UNIAJC

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

programas y su respectiva malla curricular.

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

son la consistencia de la información que ingresa cada estudiante al diligenciar el formulario de

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

la UNIAJC, de la Facultad de Ingenierías y Facultad de Ciencias Empresariales y las redes

sociales de la UNIAJC (Facebook, Instagram, YouTube).

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.

Figura 13. Página Principal. Solicitudes UNIAJC.

Figura 15. Interfaz Iniciar Sesión. Solicitudes UNIAJC.


Luego de iniciar

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:

Formulario de Solicitud y Seguimiento Solicitud.

Figura 16. Interfaz Menú Estudiante. Solicitudes UNIAJC.

En el comando formulario de solicitud, el Estudiante puede visualizar el formulario (ver

figura 17) donde se podrá realizar un nuevo tramite de solicitud, ingresando los datos del mismo,

y su programa de estudio. Esta interfaz se compone de la siguiente manera: (Nombre, Tipo

Documento, N° Documento, Correo, Teléfono, Facultad, Programa, Semestre, Grupo, Jornada,

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:

 Solicitar: Es para enviar la solicitud.

 Imprimir PDF: Es el comprobante en formato PDF de la solicitud realizada.


 Icono ◄: Es para salir y volver a Menú Estudiante.

Figura 17. Interfaz Formulario Solicitud Estudiante. Solicitudes UNIAJC.

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á

observar si ha tenido una respuesta.


Figura 18. Interfaz Seguimiento de Solicitud Estudiante. Solicitudes UNIAJC.

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

ingresados a la base de datos, es importante la seguridad, dado que se manejara información de

muchos estudiantes que solicitan un trámite académico.

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

Programa Tecnológico correspondiente.


Figura 20. Interfaz Consulta Directivo. Solicitudes UNIAJC.

Una vez recibida la solicitud, se devolverá al usuario con una respuesta (ver figura 21) al correo

que ingresa el estudiante, el mensaje dirá si es aceptada la solicitud o es denegada la solicitud.

Figura 21. Interfaz Respuesta Solicitud Directivo. Solicitudes UNIAJC.


Cabe aclarar que si el Tipo de Solicitud es una cita con el Director del Programa, en la

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

fecha y hora al estudiante. No obstante, el Directivo podrá cancelar la cita y volver a

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

se le agrego la funcionalidad de realizar solicitudes de manera eficiente, con la finalidad de

mejorar el control y orden de las solicitudes académicas que realizan los estudiantes.

El uso de herramientas libres y de amplio reconocimiento en el mercado, como lo son PHP,

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

de lenguaje de programación, permitiendo así el devenir satisfactorio del prototipo de solicitudes


ante las oficinas de la Facultad de Ingenierías y la Facultad de Ciencias Empresariales de la

UNIAJC.

Durante el desarrollo de este proyecto se aplicaron todos los conocimientos adquiridos a lo

largo del semestre, enfatizándose en técnicas de análisis de la información el cual es el primer

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

sistema de información acorde a las necesidades planteadas.

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

proceso serio de almacenamiento de la información, sin que esta se pierda.

8 Referencias

Alcolea Huertos, A. (28 de 05 de 2019). Computer Hoy. Obtenido de

https://computerhoy.com/reportajes/tecnologia/historia-lenguajes-programacion-428041

Álvarez, L., Avendaño, H., García, Y., & Morales, S. (2017). Programación Orientada a

Objetos. Obtenido de https://ferestrepoca.github.io/paradigmas-de-

programacion/poo/poo_teoria/index.html

Anónimo. (2021). Obtenido de https://sites.google.com/site/basessdedatoss/home/ventajas-y-

desventajas/modelo-entidad-relacion

Caicedo Camilo, C. A., & Camargo Quintero, L. R. (01 de 05 de 2019). Universidad Industrial

Francisco José de Caldas. Obtenido de


http://repository.udistrital.edu.co/bitstream/11349/15790/1/CaicedoCamiloCarlosAndr

%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

Chapaval, N. (2017). Platzi. Obtenido de https://platzi.com/blog/que-es-frontend-y-backend/

Contributors, M. (19 de Septiembre de 2021). MDN Web Docs. Obtenido de

https://developer.mozilla.org/es/docs/Learn/JavaScript/First_steps/What_is_JavaScript

Course Hero. (2021). CourseHero. Obtenido de

https://www.coursehero.com/file/58982620/NetBeansdocx/

DeConceptos. (2021). DeConceptos.com. Obtenido de https://deconceptos.com/ciencias-

sociales/solicitud#:~:text=La%20palabra%20solicitud%20proviene%20en,positiva%20o

%20negativa%20al%20respecto.

EcuaRed. (2021). EcuaRed. Obtenido de https://www.ecured.cu/Herramienta_CASE

Epitech. (5 de 08 de 2021). Epitech. Obtenido de Epitech: https://www.epitech-it.es/laravel-

framework/

Función Publica. (05 de 05 de 2009). EVA. Obtenido de

https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=34492

García, M. (5 de Octubre de 2017). Coding or Not. Obtenido de https://codingornot.com/mvc-

modelo-vista-controlador-que-es-y-para-que-sirve

González, E. (2006). Aprender a Programar. Obtenido de

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/

Iconixprocess. (2021). iconixprocess.wordpress.com. Obtenido de

https://iconixprocess.wordpress.com/iconix-process/

INFO INGECO. (2015). INFO INGECO. Obtenido de

https://sites.google.com/site/ingecoinfo2015/extra-credit#:~:text=La%20malla

%20curricular%20es%20un,incluyendo%3A%20asignaturas%2C%20contenidos%2C

%20nap

Keystone MasterStudies. (2020). Keystone MasterStudies. Obtenido de https://www.master-

maestrias.com/universidades/Colombia/Antonio-Jos%C3%A9-Camacho-University-

Institution-(Instituci%C3%B3n-Universitaria-Antonio-Jos%C3%A9-Camacho-UNIAJC)/

Krall, C. (2021). Aprenderaprogramar.

López Guevara, Ó. E., Raba Forero, J. E., & Turga Malagón, N. (06 de 05 de 2019). Revista

Ingeniería, Matemáticas Y Ciencias De La Información. Obtenido de

http://ojs.urepublicana.edu.co/index.php/ingenieria/article/view/503

MVware. (2021). XAMPP. Obtenido de https://www.apachefriends.org/es/index.html

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

Oracle Corporation. (2021). Java. Obtenido de https://www.java.com/es/about/#top

Oracle Corporation. (2021). Oracle. Obtenido de https://www.oracle.com/co/database/what-is-

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/

Pérez Porto, J., & Gardey, A. (2013). Definición. Obtenido de https://definicion.de/facultad/

Pérez Porto, J., & Gardey, A. (2017). Definición. Obtenido de https://definicion.de/asignacion/

Pérez Porto, J., & Merino, M. (2009). Definición. Obtenido de https://definicion.de/datos/

Rosenberg, D., & Scott, K. (1999). NanoPDF. Obtenido de https://nanopdf.com/download/diseo-

webnode_pdf#

Santander Becas. (24 de 03 de 2021). Blog Santander Becas. Obtenido de https://blog.becas-

santander.com/es/metodologias-desarrollo-software.html#:~:text=Las%20metodolog

%C3%ADas%20%C3%A1giles%20se%20basan,en%20lugar%20de%20grandes

%20cambios.

Santander Universidades. (22 de 04 de 2021). Blog Becas Santander. Obtenido de

https://blog.becas-santander.com/es/metodologias-desarrollo-software.html

Significados. (16 de 02 de 2017). Significados.com. Obtenido de

www.significados.com/informacion/

Significados. (05 de 01 de 2018). Significados. Obtenido de

https://www.significados.com/asignatura/

Significados. (02 de 05 de 2019). Significados.com. Obtenido de

https://www.significados.com/proceso/

UNIAJC. (2 de 10 de 2017). Institución Universitaria Antonio José Camacho. Obtenido de

http://www.uniajc.edu.co/documentos/registroacademico/reglamentoEstudiantil_final.pdf

Valdés, D. P. (3 de Julio de 2007). Maestros del Web by Platzi. Obtenido de

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

Villalobos, C. (18 de 03 de 2018). HubsSpot. Obtenido de

https://blog.hubspot.es/marketing/interfaz-usuario

También podría gustarte