Logo Studenta

Joshua Alexander Vergara Martínez Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Dep~1

¡Este material tiene más páginas!

Vista previa del material en texto

Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OPCIÓN I 
TESIS PROFESIONAL 
Importancia de las Tecnologías de Programación 
en el Sistema Gestión de Procesos de Depósito 
Vehicular 
Presenta: 
Joshua Alexander Vergara Martínez 
 
 
Asesora: 
Mtra. Ramona Evelia Chávez Valdez 
Co-Asesora: 
M. en C. María Isabel Sáenz Rodríguez 
 
 
Ingeniería Informática 
 
 
 
 
 
Villa de Álvarez, Col., a 17 de Agosto de 2018 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
2 
 
Índice de figuras 
Figura 1 Java Frameworks ...................................................................................................................... 18 
Figura 2 Metodología PUA ..................................................................................................................... 27 
Figura 3 Modelo de casos de uso ........................................................................................................... 30 
Figura 4 Modelo de requisitos ............................................................................................................... 31 
Figura 5 Modelo de clases ...................................................................................................................... 32 
Figura 6 Modelo de datos ...................................................................................................................... 33 
Figura 7 Modelo de datos ...................................................................................................................... 34 
Figura 8 Modelo de Interfaces ............................................................................................................... 35 
Figura 9 Modelo de componentes ......................................................................................................... 36 
Figura 10 Modelo de despliegue ............................................................................................................ 37 
Figura 11 Iniciar sesión ........................................................................................................................... 38 
Figura 12 Catálogo de usuarios .............................................................................................................. 39 
Figura 13 Catálogo de clientes ............................................................................................................... 40 
Figura 14 Catálogo de colores ................................................................................................................ 41 
Figura 15 Catálogo de dependencia ....................................................................................................... 42 
Figura 16 Catálogo de grúa .................................................................................................................... 43 
Figura 17 Catálogo de línea .................................................................................................................... 44 
Figura 18 Catálogo de marca .................................................................................................................. 45 
Figura 19 Catálogo de operador ............................................................................................................. 46 
Figura 20 Catálogo tipo de línea............................................................................................................. 47 
Figura 21 Catálogo de traslado .............................................................................................................. 48 
Figura 22 Registro de vehículo ............................................................................................................... 49 
Figura 23 Salidas de vehículos ................................................................................................................ 50 
Figura 24 Reporte por dependencia ...................................................................................................... 51 
Figura 25 Reporte corte de caja ............................................................................................................. 52 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
3 
 
Agradecimientos 
Le agradezco a Dios por haberme acompañado y guiado a lo largo de mi carrera, por ser mi 
fortaleza en los momentos de debilidad y por brindarme una vida llena de aprendizajes, experiencias 
y sobre todo felicidad. 
 
Le agradezco a mi asesora de tesis la Mtra. Ramona Evelia Chávez Valdez, por la orientación y 
ayuda que me brindó para la realización de esta tesis, por su apoyo y amistad que me permitieron 
aprender mucho más que lo estudiado en el proyecto. 
 
Le doy gracias a mis padres Jorge y Guillermina por apoyarme en todo momento, por los valores que 
me han inculcado, y por haberme dado la oportunidad de tener una excelente educación en el 
transcurso de mi vida. 
 
A Marleny, por haberme apoyado en las buenas y en las malas, sobre todo por su paciencia. 
 
Agradezco infinitamente al Instituto Tecnológico de Colima todas las facilidades otorgadas y la 
autorización de trabajar y estudiar. Esto me permitió adquirir nuevos conocimientos. Y además a 
todos mis profesores de la licenciatura en Ingeniería Informática que me enseñaron tanto de la 
profesión como de la vida, impulsándome siempre a seguir adelante. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
4 
 
Resumen 
Esta tesis presenta la importancia de la selección de las tecnologías de 
programación en el desarrollo del software, aplicado a un caso de estudio que 
gestiona los procesos de depósito vehicular de la empresa Grúas El Mezquite. El 
objetivo es sistematizar los servicios de depósito y almacenamiento de vehículos, 
resguardo de vehículos particulares, traslado de vehículos particulares y traslado de 
vehículos asegurados; además de generar el recibo de pago, y los reportes de 
ingresos. 
Se trata de una investigación documental combinada con una investigación aplicada 
que resuelve un problema del contexto mediante el uso del Proceso Unificado Ágil. 
Se revisa el alcance de las tecnologías de programación y la orientación que tienen a 
las plataformas de escritorio, web o móviles. Se explica el contexto del caso de 
estudio y por qué Java es adecuado para el desarrollo del proyecto. Como resultado 
se tiene la presentación del desarrollo tecnológico que atiende el caso de estudio 
describiendo las funcionalidades definidas por el cliente. 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
5 
 
Índice 
Capítulo 1 Introducción ............................................................................................ 8 
1.1 El contexto del problema ...................................................................................................... 8 
1.2 Revisión de la literatura ........................................................................................................ 9 
1.3 Planteamiento de la solución del problema ..................................................................... 10 
1.4 Justificación .......................................................................................................................... 10 
1.5 Objetivos ............................................................................................................................... 11 
1.6 Hipótesis ...............................................................................................................................11 
1.7 Metas ..................................................................................................................................... 12 
1.8 Métodos y herramientas ..................................................................................................... 12 
Capítulo 2 Marco teórico ........................................................................................ 14 
2.1 Software ................................................................................................................................ 14 
2.2 Sistema de información ...................................................................................................... 14 
2.3 Tecnología de programación ............................................................................................. 15 
2.4 Tipos de tecnologías de programación ............................................................................ 17 
Escritorio ....................................................................................................................................... 17 
Web ................................................................................................................................................ 20 
Móviles .......................................................................................................................................... 22 
Capítulo 3 Metodología........................................................................................... 25 
3.1 Investigación documental ................................................................................................... 25 
3.2 El Proceso Unificado Ágil ................................................................................................... 26 
3.3 Tecnologías de programación ........................................................................................... 28 
Capítulo 4 Resultados ............................................................................................ 30 
4.1 Modelo de casos de uso..................................................................................................... 30 
4.2 Modelo de requisitos ........................................................................................................... 31 
4.3 Modelo de clases ................................................................................................................. 32 
4.4 Modelo de datos .................................................................................................................. 33 
4.5 Modelo de interfaces ........................................................................................................... 35 
4.6 Modelo de componentes .................................................................................................... 36 
4.7 Modelo de despliegue ......................................................................................................... 37 
4.8 El producto de TI ................................................................................................................. 38 
Iniciar sesión ................................................................................................................................ 38 
Catálogo de usuarios .................................................................................................................. 39 
Catálogo de clientes .................................................................................................................... 40 
Catálogo de colores .................................................................................................................... 41 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
6 
 
Catálogo de dependencia .......................................................................................................... 42 
Catálogo de grúas ....................................................................................................................... 43 
Catálogo de línea ........................................................................................................................ 44 
Catálogo de marcas .................................................................................................................... 45 
Catálogo de operadores ............................................................................................................. 46 
Catálogo de tipo de línea ........................................................................................................... 47 
Catálogo de traslado ................................................................................................................... 48 
Registro de vehículo ................................................................................................................... 49 
Salida de vehículo ....................................................................................................................... 50 
Reporte de entradas por dependencia ..................................................................................... 51 
Reporte de corte de caja ............................................................................................................ 52 
4.9 Valoración de la hipótesis .................................................................................................. 52 
Capítulo 5 Conclusiones y recomendaciones .................................................... 55 
Capítulo 6 Referencias ........................................................................................... 57 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
7 
 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 1 Introducción 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
8 
 
Capítulo 1 Introducción 
 
Una fase fundamental en el desarrollo de software es la codificación, esta se 
refiere a traducir los algoritmos de una aplicación que ya han sido diseñados 
previamente, para que se traduzcan con un lenguaje de programación específico; es 
decir, las acciones definidas en los algoritmos hay que convertirlas a instrucciones. 
Para codificar un algoritmo hay que conocer la sintaxis del lenguaje al que se va a 
traducir. Sin embargo, independientemente del lenguaje de programación en que 
esté escrito un programa, será su algoritmo el que determine su lógica. Entendemos 
un algoritmo como lo describe (Joyaner & Ignacio, 2011) “Procedimiento para realizar 
un problema en el que se indican las acciones o instrucciones a ejecutar y el orden 
para efectuarlas.”, y la lógica “constituye una herramienta para el análisis de los 
razonamientos o argumentaciones generados por la mente humana”, (Fernández & 
Sáez, 1987). 
En todo desarrollo de software es importante valorar las diferentes tecnologías de 
programación vigentes, para utilizar la más adecuada al proyecto que pretende 
realizarse. 
Debido a la importancia que representa la elección acertada de una tecnología de 
programación, a lo largo de esta tesis encontrará la información necesaria sobre las 
diversas tecnologías de programación, se explicará el por qué se utiliza cada de 
acuerdo a sus características, así como una comparativa entre las diferentes 
tecnologías que son de acceso libre. 
Así pues, el objetivo es mostrar la importancia de seleccionar las tecnologías de 
programación tomando en cuenta el contexto de la organización, priorizando el 
entorno, la viabilidad y la seguridad del software resultante. 
1.1 El contexto del problema 
 
El contexto de esta tesis tiene como caso de estudio y ámbito Grúas El 
Mezquite, una empresa dedicada al transporte de vehículos con algún tipo de 
siniestro, y al depósito delos mismos. Para la gestión de sus operaciones la 
empresa usaba el software “Depósito de vehículos”, el cual ya no respondía a 
las necesidades de información. Dicho sistema perdió vigencia en virtud del 
surgimiento de nuevas tecnologías y, tanto los equipos como la tecnología de 
programación en la que está implementado fueron rebasadas. El problema 
estaba principalmente en la necesidad de registrar nuevos procesos y obtener 
reportes de los mismos, además de incorporar más usuarios al sistema. 
 
http://www.carlospes.com/minidiccionario/aplicacion.php
http://www.carlospes.com/minidiccionario/instruccion.php
http://www.carlospes.com/minidiccionario/programa.php
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
9 
 
1.2 Revisión de la literatura 
 
Las tecnologías de programación han evolucionado, en el año de 1968 
se trabajaba con los lenguajes de programación estructurada, mismos que 
(UNID, 2013) describe como “la formación básica de texto de programación 
(enunciados de programación) que al ser leídos puedan explicar el 
funcionamiento de un programa”; después en los años 90 surgieron los 
lenguajes orientados a objetos que (Deitel & Deitel, 2008) describió como 
aquellos que “permiten a los programadores de computadoras implementar un 
diseño orientado a objetos como un sistema funcional”; a la par se 
incorporaron los lenguajes visuales o gráficos que fueron definidos por 
(Khvilon, 2004) como lenguajes en los cuales nos es posible separar un 
código que realiza operaciones muy complejas con su interfaz hacia el usuario 
además de que Permite integrar elementos propios del sistema operativo. En 
la actualidad los dos últimos están vigentes y se utilizan conjuntamente. 
Se encontró que los lenguajes más populares en su momento fueron: 
En el rubro de lenguajes estructurados (Harbour, 2016) 
Fortran: 1956, para cálculo científico - estándares: 1966, 1977, 1990, 1997, 
2003, 2008 • Cobol: 1960, para aplicaciones de gestión - estándar actual: 2002 
• Lisp: 1958, para inteligencia artificial - estandarizado por ANSI en 1994 
(common LISP) - estandarizado por ISO en 1997, actualizado en 2007 
(ISLISP) - tiene un dialecto importante llamado Scheme • Basic: 1964, para 
docencia, interpretado - Visual Basic - Visual Studio 2015 (Microsoft) 
en virtud de que tenían características como fácil aprendizaje y podían ser 
leídos en secuencia, desde el comienzo hasta el final sin perder la 
continuidad. 
En el rubro de los orientados a objetos (Harbour, 2016) 
Smaltalk: 1980, para programación orientada a objetos - estandarizado en 
1998 
C++: 1987, extensión mejorada del C que incorpora programación orientada a 
objetos - estandarizado en 1998, estandarizado de nuevo en 2003, 2011 y 
2014 
Java: 1995, para programación orientada a objetos en sistemas distribuidos 
(red Internet) - versión actual: Java 8 (2014) - ofrecido como software libre en 
2007 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
10 
 
Ada 95, Ada 2005, Ada 2012: versiones mejoradas del anterior, incluyendo 
programación orientada a objetos - estandarizado en 1995, 2005 y 2012. 
Grady Booch autor del método de diseño orientado a objetos (Gervais, 2016) 
define la programación orientada a objetos como: un método de 
implementación en el que los programas se organizan como colecciones 
cooperativas de objetos, cada uno de los cuales representan una instancia de 
alguna clase y cuyas clases son todos miembros de una jerarquía de clases 
unidos mediante relaciones de herencia. 
En el rubro de los visuales, aun cuando Microsoft popularizó en un corto 
tiempo Visual Basic, Visual C y otros, que seguían siendo estructurados, es 
con la llegada del paradigma orientado a objetos cuando se da el rompimiento 
en la generación de los lenguajes visuales; así surge la metodología Model 
View Controlador (MVC) que permite utilizar los lenguajes visuales a través de 
la modalidad .NET implementando el paradigma orientado a objetos. 
Sin embargo, es en los años 1986 y 1993 cuando los lenguajes web y móviles 
dan origen a la siguiente generación de lenguajes, misma que sigue vigente. 
1.3 Planteamiento de la solución del problema 
 
La solución propuesta está basada en una tecnología de programación 
que responde a las características y necesidades de información de la 
empresa; se diseñó un sistema que incluye la gestión de los procesos: 
 Alta de vehículos 
 Baja de vehículos 
 Consulta de vehículos registrados 
 Reporte de corte de caja 
 Reporte de salidas por dependencias 
 Registro de usuarios 
 Registro de movimiento de usuarios 
 
Los tres últimos se incorporan como nuevos procesos. El sistema se 
implementó con Java y MySql, a pesar de que no es web, permite el trabajo 
colaborativo mediante la configuración de una intranet en la empresa. 
 
1.4 Justificación 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
11 
 
Para esta tesis, el estudio de las tecnologías de programación aplicada 
al caso de estudio Gestión de una Empresa de Depósito Vehicular se justifica 
porque la empresa tiene características de operación particulares por su 
ubicación geográfica, dichas características motivaron a revisar las 
características de los lenguajes de programación vigentes a fin de seleccionar 
el más adecuado al proyecto y a la factibilidad técnica del lugar. Se trata de 
entregar como solución informática un software que se adapte a las 
condiciones del lugar y responda a las necesidades de información previendo 
el largo plazo. 
Por otro lado, otorga al autor una visión más amplia de los lenguajes de 
programación y su ámbito de aplicación para considerarlos en futuros 
desarrollos. 
 
1.5 Objetivos 
 
Objetivo general 
 Mostrar la importancia de la selección de las tecnologías de programación 
en el desarrollo de software de un caso de estudio. 
 
Objetivos específicos: 
 Revisar la literatura para mostrar las características de las herramientas de 
programación vigentes. 
 Elaborar una comparativa de las tecnologías de programación de acceso 
libre. 
 Mostrar el proceso de selección de las herramientas de programación en 
un caso de estudio. 
 Mostrar el proceso de elaboración del software para un caso de estudio 
con énfasis en la metodología de desarrollo y las herramientas de 
programación utilizadas. 
 Mostrar el software desarrollado con las herramientas seleccionadas con 
énfasis en el entorno y la seguridad. 
 
1.6 Hipótesis 
 
Actualmente la programación de sistemas de información demanda 
utilizar más de una tecnología, ello permite acortar los tiempos de desarrollo y 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
12 
 
mejorar los resultados. Un punto importante es elegir las tecnologías de 
programación en virtud de que esta generalmente da vigencia al software 
desarrollado; por ello la hipótesis establecida es: 
Las características de las tecnologías de programación 
determinan el contexto en que estos deben utilizarse. 
Esta hipótesis se apoya con las siguientes preguntas: 
¿Qué características de los lenguajes de programación se consideran 
prioritarias al momento de elegirlas? 
¿En qué medida las tecnologías de programación determinan la vigencia de 
un sistema de información? 
¿Las tecnologías de programación deben adaptarse a las características del 
proyecto o de la empresa? 
 
 
1.7 Metas 
 
Se tiene como meta describir el cien por ciento las características de los 
lenguajes de programación a fin de sustentar la selección para la 
implementación del caso de estudio. 
 
1.8 Métodos y herramientas 
 
Esta tesis tiene inmerso un caso de estudio, lo que da lugar a utilizar por 
una parte investigación documental para dar sustentoformal al tema de 
tecnologías de programación, e investigación aplicada para resolver el caso de 
estudio que se presenta. Los pasos a seguir fueron los siguientes: 
 Investigación documental, sobre el tema de tecnologías de 
programación. 
 Aplicación de la metodología del Proceso Unificado Ágil (PUA) en la 
solución del caso de estudio para controlar el proceso de ingeniería de 
software. 
 Uso de las herramientas como el Enterprise Arquitect Project, Java 8 y 
WampServer. 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
13 
 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 2. Marco teórico 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
14 
 
Capítulo 2 Marco teórico 
 
En este apartado se presenta el marco teórico que contextualiza el uso de las 
tecnologías de programación. 
 
2.1 Software 
 
Según (Sommerville, 2005) 
“Los productos de software se pueden desarrollar para algún cliente en 
particular o para un mercado general, un sistema de software consiste en diversos 
programas independientes, archivos de configuración que se utilizan para ejecutar 
estos programas, un sistema de documentación que describe la estructura del 
sistema, la documentación para el usuario que explica cómo utilizar el sistema y sitios 
web que permitan a los usuarios descargar la información de productos recientes.” 
 
El autor (Pressman, 2010) menciona que el software de computadora es el 
producto que construyen los programadores profesionales y al que después le 
dan mantenimiento durante un largo tiempo. Incluye programas que se 
ejecutan en una computadora de cualquier tamaño y arquitectura, contenido 
presenta a medida que se ejecutan los programas de cómputo e información 
descriptiva tanto en una copia dura como en formatos virtuales que engloban 
cualquier medio electrónico. Además, puede tomar varias acepciones: 
“1) instrucciones (programas de cómputo) que cuando se ejecutan 
proporcionan las características, función y desempeño buscados; 2) estructuras de 
datos que permiten que los programas manipulen en forma adecuada la información, 
y 3) información descriptiva tanto en papel como en formas virtuales que describen la 
operación y uso de los programas”. 
 
 
2.2 Sistema de información 
 
Un sistema de información permite el acceso controlado a una gran 
base de información, como un catálogo de biblioteca, un horario de vuelos o 
los registros de pacientes en un hospital (Sommerville, 2005). 
Laudon (2012), define un sistema de información como los “componentes 
interrelacionados que trabajan en conjunto para recolectar, procesar, 
almacenar y diseminar información para soportar la toma de decisiones, la 
coordinación, el control, el análisis y la visualización en una organización. 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
15 
 
2.3 Tecnología de programación 
 
¿Qué es la programación? 
Según (Bruno, 2006) la programación es el proceso de tomar un 
algoritmo y codificarlo en una notación, un lenguaje de programación, de modo 
que pueda ser ejecutado por una computadora. 
 
¿Qué es un algoritmo? 
(Bruno, 2006) también dice que los algoritmos describen la solución a un 
problema en términos de los datos requeridos para representar el caso del 
problema y el conjunto de pasos necesarios para producir el resultado 
pretendido. 
 
Por otro lado, el autor (Joyanes, 1988) define un algoritmo como una 
secuencia de instrucciones que representan un modelo de solución para 
determinado tipo de problema lo que puede resumirse como un conjunto de 
instrucciones que realizadas en orden conducen a obtener la solución de un 
problema. 
 
Cabe mencionar que para realizar un programa es conveniente el diseño o 
definición previa del algoritmo. El diseño de algoritmos requiere creatividad y 
conocimientos profundos de la técnica de programación. (Joyanes, 1988) 
menciona también que en la ciencia de la computación y en la programación, 
los algoritmos son más importantes que los lenguajes de programación o las 
computadoras ya que el lenguaje de programación es sólo un medio para 
expresar un algoritmo y una computadora es sólo un procesador para 
ejecutarlo. 
 
¿Que son los lenguajes de programación? 
Según (Almagro, 2010) define un lenguaje de programación como un conjunto 
de reglas o normas que permiten asociar a cada programa correcto un cálculo 
que será llevado a cabo por un ordenador. 
 
Aunque existen muchos lenguajes de programación y muchos tipos diferentes 
de computadoras, el primer paso es la necesidad de tener una solución 
implementada mediante un algoritmo. 
 
Las ciencias de la programación no son el estudio de la programación. La 
programación, es una parte importante de lo que hace un científico de la 
computación. La programación es a menudo la manera en la que creamos una 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
16 
 
representación para nuestras soluciones. Por tanto, esta representación en un 
lenguaje y el proceso de crearla se convierte en una parte fundamental de la 
disciplina. 
 
Las estructuras de control permiten que los pasos algorítmicos sean 
representados de una manera conveniente, pero sin ambigüedades. Como 
mínimo, los algoritmos requieren estructuras que lleven a cabo procesamiento 
secuencial, selección para toma de decisiones e iteraciones para control 
repetitivo. Siempre y cuando el lenguaje proporcione estas instrucciones 
básicas, éste puede ser usado para la representación del algoritmo (Miller & 
Ranum, 2011). 
 
¿Qué son los frameworks? 
 
(Larman, 2010) define una framework como una colección organizada 
de clases que constituyen un diseño reutilizable para un dominio específico de 
software. Además, agrega funcionalidad extendida a un lenguaje de 
programación, proporciona una estructura al código, mejorándolo y haciéndolo 
más entendible y sostenible, y permite separar en capas la aplicación. 
 
Por su parte (Mackenzie, 2006) dice que framework es el nombre que se le ha 
dado a una diversidad de componentes y servicios que se combinan para 
generar un potente entorno de desarrollo. 
 
Herramienta CASE 
 
Según el autor (Sommerville, 2005) la herramienta CASE (Ingeniería del 
Software Asistida por Computadora) se integra por un amplio conjunto de 
diferentes tipos de programas que se usan para ayudar dentro de las 
actividades del proceso de software, como el análisis de requerimientos, el 
modelado de sistemas, la depuración y las pruebas. 
Actualmente todos los métodos tienen integrada la tecnología CASE, esta 
viene como editor para las notaciones utilizadas, módulos de análisis que 
verifican el modelo del sistema según las reglas del método y generadores de 
informes que apoyan en la creación de la documentación del sistema. 
(Sommerville, 2005) explica que las herramientas CASE también incluyen un 
generador de código automático, este genera código fuente a partir del modelo 
del sistema y de algunos procesos que se realizan mediante la ingeniería de 
software. 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
17 
 
El autor nos hace una nota muy puntual referente a la aplicación de las 
herramientas CASE: 
“La mayoría de los conjuntos de herramientas CASE completos permiten al 
usuario generar un programa o un fragmento de un programa a partir de la 
información proporcionada en el modelo del sistema. Las herramientas CASE a 
menudo soportan diferentes lenguajes para que el usuario pueda generar un 
programa en C, C++ o Java a partir del mismo modelo de diseño. Debido a que los 
modelos excluyen detalles de bajo nivel, el generador de códigoen un banco de 
trabajo de diseño no puede normalmente generar el sistema completo. Normalmente 
es necesaria alguna codificación manual para añadir detalles al código generado.” 
 
2.4 Tipos de tecnologías de programación 
 
Escritorio 
De acuerdo (Arias, 2015) el software de escritorio es el nombre que 
damos al software que se ejecuta directamente en la computadora del usuario. 
Por otro lado, la empresa Microsoft (2018) dice que el desarrollo de escritorio 
es un término que hace referencia al proceso de escribir software que se 
ejecutará en equipos estándar, como los equipos de escritorio, portátiles o de 
uso general. El software en desarrollo puede tratarse de software de sistema 
para el apoyo del sistema operativo o de software de aplicación. El software 
de aplicación está diseñado para realizar una tarea única o un conjunto 
relacionado de tareas e incluye, entre otros, los juegos, los procesadores de 
texto y las aplicaciones personalizadas para empresas. 
Tecnologías para desarrollo de escritorio: Java, Python, C# 
 
Java 
Elisa Viso en su libro Introducción a las ciencias de la Computación en 
Java (Viso, 2007) menciona que Java es un lenguaje orientado a objetos, cuyo 
principal objetivo de diseño es que fuera portátil. Las principales 
características de Java son: simple, robusto y portable lo cual lo vuelve muy 
adecuado para ajustarse y facilitar el desarrollo de software de calidad, cabe 
mencionar que los desarrollos de software en java permiten una 
mantenibilidad mucho mayor que el desarrollo en otros lenguajes, pues por un 
lado la robustez hace que el código sea mucho más fiable y por otra parte su 
portabilidad y seguridad vuelven más fácil la descarga de mejoras y 
actualizaciones. 
Otro punto a favor de Java es que por sus características su uso es muy 
adecuado para el desarrollo de aplicaciones para entornos distribuidos como 
lo es internet o las intranets. 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
18 
 
 
De acuerdo a un estudio realizado por (Shelajev, 2017) se puede observar en 
la figura 1 que los mejores frameworks o los más recomendados para trabajar 
con Java son: 
 
Figura 1 Java Frameworks 
De los anteriores nos enfocaremos en los que más destacan por su facilidad 
para implementarlos: 
Spring MVC 
(González, 2016) menciona que después de su expansión al MVC 
(Modelo Vista Controlador), Spring siguió evolucionando convirtiéndose en un 
framework de gran escala de Java para las aplicaciones de Internet, 
ofreciendo a los ingenieros una poderosa herramienta para el desarrollo de 
aplicaciones web, así como para proyectos de seguridad. Spring es 
considerado uno de los mejores frameworks debido a la amplia gama de 
servicios que ofrece. Además, debido a la gran cantidad de usuarios de Spring 
la documentación del mismo es muy amplia. 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
19 
 
Struts 2 
Según (Laffosse, 2010). Otro de los principales frameworks de Java 
utilizados por gran parte de los ingenieros de software más modernos es el 
sucesor de Apache Struts 1, su versión número dos. Apache ha entregado a 
estos un conjunto enorme de herramientas para crear aplicaciones web 
orientadas a empresas optimizando el proceso de desarrollo desde el inicio 
hasta el final y el mantenimiento posterior a la entrada en funcionamiento. 
Tambien considera que Struts es superior a muchos frameworks de acuerdo a 
la aplicación de validaciones de formularios y la arquitectura global para la 
gestión de JavaBeans (sin necesidad de utilizar Beans de formularios). 
Vaadin 
Utilizando un enfoque basado en componentes conocidos, quita peso a 
los desarrolladores a la hora de comunicar los cambios realizados al 
navegador. Un amplio conjunto de componentes de interfaz de usuario, junto 
con diversos widgets y controles, permite a los programadores crear 
aplicaciones más que interesantes en muy poco tiempo. 
Goggle Web Toolkit 
(Garcia, 2015) explica que el kit de desarrollo de software GWT ofrece 
APIs Java y widgets básicos para la construcción de aplicaciones compiladas 
después de aplicarles JavaScript. 
Grails 
Este framework web es considerado como una herramienta dinámica 
que mejora la productividad de los ingenieros debido a sus APIs , sus buenos 
valores por defecto, así como su convención sobre la configuración de 
paradigma. La perfecta integración de Java hace que este sea uno de los 
frameworks mejor valorados por desarrolladores de todo el mundo. Un 
conjunto de herramientas poderosas, tales como la inyección de dependencia 
Spring-powered y diversos complementos, que ofrecen todo lo necesario para 
crear modernas aplicaciones web. 
Python 
(Montoro, 2012) define a Python como un lenguaje de programación de 
alto nivel, interpretado y multipropósito. En las últimas fechas su utilización ha 
ido en constante crecimiento y en la actualidad es uno de los lenguajes de 
programación más empleados para el desarrollo de software. 
Python nos ofrece grandes ventajas, permite trabajar con diferentes sistemas 
operativos como Windows, Mac OS y Linux, no tiene un ámbito de desarrollo 
especifico, y además también puede funcionar en smartphones. 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
20 
 
C# 
(Microsoft, 2017) menciona que C# es un lenguaje con seguridad de 
tipos y orientado a objetos, que permite a los desarrolladores crear una gran 
variedad de aplicaciones seguras y sólidas que se ejecutan en .NET 
Framework .NET. Puede usar C# para crear aplicaciones cliente de Windows, 
servicios web XML, componentes distribuidos, aplicaciones cliente-servidor, 
aplicaciones de base de datos y muchas, muchas más cosas. Visual C# 
proporciona un editor de código avanzado, prácticos diseñadores de interfaz 
de usuario, un depurador integrado y muchas otras herramientas que facilitan 
el desarrollo de aplicaciones basadas en el lenguaje C# y .NET Framework. 
 
Web 
Con base en (Arias & Durango, 2014) se refiere al desarrollo web como 
aquel desarrollo que implica tanto a las aplicaciones internas de una 
organización (como una intranet corporativa) como a las aplicaciones para 
internet. En este caso, además de los conocimientos mencionados en el 
desarrollo de escritorio, se recomienda estudiar redes de computadoras, con 
especial énfasis en los protocolos y en el modelo cliente-servidor, y estudio de 
los lenguajes de marcado ya que los diferentes lenguajes de programación no 
especifican como representarlo gráficamente, pero tienen la necesidad de 
presentar la información que procesan. En estos casos, se requiere u 
aprendizaje de HTML y CSS 
 
PHP 
(Cobo, 2005) menciona que PHP es un lenguaje interpretado del lado 
del servidor que surge dentro de la corriente denominada código abierto (open 
source). Se caracteriza por su potencia, versatilidad, robustez y modularidad. 
Al igual que ocurre con tecnologías similares, los programas son integrados 
directamente dentro del código HTML. En este libro se explicará en detalle la 
sintaxis y el funcionamiento de este lenguaje, de momento se realiza a 
continuación una breve comparativa con las otras tecnologías del lado del 
servidor descritas previamente. La principal ventaja de PHP es su carácter 
multiplataforma. 
 
Laravel 
Laravel es un framework muy utilizado en PHP, tiene un diseño 
extremadamente fácil de aprender y utilizar, además de ser súper rápido para 
el desarrollo de aplicaciones web, y cuenta con potentes herramientas 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
21 
 
necesarias para construir grandes aplicaciones, con un contenedor de 
controles de inversión, sistema de migración expresiva y el apoyo de las 
pruebas unitariasestrechamente integrada (Shelajev, 2017). 
Laravel, propone una forma de desarrollar aplicaciones web de un modo 
mucho más ágil. Por ejemplo, en Laravel opcionalmente podemos usar el 
patrón de diseño MVC (Modelo-Vista-Controlador) tradicional, donde al igual 
que otros fameworks PHP, el controlador es programado como una clase. 
Por lo tanto, un Controlador es una clase PHP que dispone de métodos 
públicos que son el punto de entrada final de una petición HTTP (Request 
PHP) a nuestra aplicación. Pero, Lavarel propone además una forma distinta y 
más directa de responder a la solicitud HTTP, que veremos enseguida. 
CodeIgniter 
CodeIgniter es un framework muy potente que entre sus principales 
características tiene su velocidad, su sencillez y facilidad de ser aprendido, por 
lo que resulta ideal para iniciar cualquier proyecto. 
CodeIgniter está enfocado al desarrollo de aplicaciones en PHP utilizando el 
MVC. Este framework permite a los programadores mejorar de forma notoria 
su velocidad al trabajar, además, solo exige al menos un conocimiento medio 
de programación en PHP para poder trabajar de forma eficiente (Shelajev, 
2017). 
Yii 
Este framework está enfocado al desarrollo de aplicaciones web de 
código abierto, entre sus principales características se encuentra el desarrollo 
rápido, almacenamiento en caché, control de acceso basado en roles y la 
autenticación. 
Gracias a que su ejecución es de gran velocidad se recomienda para 
desarrollar aplicaciones de gran tráfico como portales, foros, sistemas de 
administración de contenidos, Sistemas de comercio electrónico, etc. 
JavaScript 
Java Script es un lenguaje de aplicaciones cliente/servidor a través de 
internet. Se maneja insertado dentro del documento HTML que lo presenta al 
usuario y no es por ello un programa aparte. Java Script nos permite crear 
aplicaciones similares a los CGI (Common Gateway Interface). El CGI es un 
mecanismo que se ha utilizado en los servidores web para implementar las 
páginas webs activas (JavaScript, 2018). 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
22 
 
 
ASP.Net 
Microsoft Developer Network (Microsoft, 2017) explica que ASP.Net Es 
un modelo de desarrollo web unificado que incluye los servicios necesarios 
para crear aplicaciones web empresariales con un mínimo de código. 
ASP.NET forma parte de .NET Framework y al codificar las aplicaciones 
ASP.NET tiene acceso a las clases en .NET Framework. El código de las 
aplicaciones puede escribirse en cualquier lenguaje compatible con el 
Common Language Runtime (CLR), entre ellos Microsoft Visual Basic, C#, 
JScript .NET y J#. Estos lenguajes permiten desarrollar aplicaciones ASP.NET 
que se benefician del Common Language Runtime. 
 
Móviles 
(Arias & Durango, 2014) explican que las aplicaciones que se ejecutan 
en dispositivos tales como teléfonos móviles, smartphones, tabletas y 
similares son consideradas como móviles. En general, estas aplicaciones 
requieren un conocimiento profundo del desarrollo de la arquitectura que tiene 
un dispositivo móvil ya que tiene menor capacidad de memoria y de 
procesamiento si lo comparamos con el de una computadora ordinaria. 
Además, los elementos tales como la facilidad de uso son importantes porque 
un dispositivo móvil es más pequeño y no tiene accesorios para su 
manipulación como son los ratones y periféricos similares. 
 
Android SDK 
Se incluyen las herramientas necesarias para dar los primeros pasos 
programando para esta plataforma: distintas APIs facilitadas por Google tanto 
para el control de las funciones del dispositivo como para la integración de 
servicios, un depurador, un emulador para testear las aplicaciones y toda la 
documentación necesaria para dar tus primeros pasos programando en 
Android (Shelajev, 2017). 
 
Java ME 
 
Java Platform, Micro Edition (Java ME) (ORACLE, 2018) proporciona un 
entorno robusto y flexible para aplicaciones que se ejecutan en dispositivos 
integrados y móviles en Internet of Things: microcontroladores, sensores, 
gateways, teléfonos móviles, asistentes digitales personales (PDA), TV cajas 
superiores, impresoras y más. 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
23 
 
Java ME incluye interfaces de usuario flexibles, seguridad sólida, protocolos 
de red incorporados y soporte para aplicaciones en red y fuera de línea que se 
pueden descargar dinámicamente. Las aplicaciones basadas en Java ME son 
portátiles en muchos dispositivos, pero aprovechan las capacidades nativas de 
cada dispositivo. 
 
Python 
(Montoro, 2012) nos define a Python como un lenguaje de 
programación de alto nivel, interpretado y multipropósito. En las últimas fechas 
su utilización ha ido en constante crecimiento y en la actualidad es uno de los 
lenguajes de programación más empleados para el desarrollo de software. La 
mayor ventaja que Python puede ofrecer es que no tiene un ámbito de 
desarrollo especifico, y sus características nos permite trabajar con diferentes 
sistemas operativos como Windows, Mac OS y Linux, además también puede 
funcionar en smartphones. 
 
Objetive-C 
Es un lenguaje de programación sencillo diseñado para permitir la 
sofisticada programación orientada a objetos. Objective-C extiende el estándar 
ANSI del lenguaje C, proporcionando sintaxis para definir clases, métodos, así 
como otras estructuras que promueven la extensión dinámica de clases. 
 
Objective-C es un superconjunto de la versión ANSI del lenguaje de 
programación C y soporta la misma sinxtaxis que C. Como con código C, 
puede definir sus ficheros de cabeceras y sus ficheros de código fuente para 
separar las declaraciones públicas de los detalles de la implementación de su 
código. 
 
Se puede concluir que el concepto de tecnología de programación considera a 
los lenguajes y herramientas que permiten codificar un sistema de 
información; por sus características facilitan y disminuyen el proceso de 
ingeniería de software y en general suministran un modo notacional para 
representar tanto el proceso como los datos. Son tan diversos que permiten 
programar sistemas de información orientados a escritorio, web o móviles 
(Shelajev, 2017). 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
24 
 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 3 Metodología 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
25 
 
Capítulo 3 Metodología 
 
Esta tesis presenta investigación aplicada en virtud de que resuelve un 
problema del contexto productivo de la región; según (Lozada, 2014) la investigación 
aplicada se basa fundamentalmente en los hallazgos tecnológicos de la investigación 
básica, esta se ocupa del proceso de enlace entre la teoría y el producto. La 
investigación aplicada busca la generación de conocimiento aplicándola directamente 
a problemas sociales o productivos. 
(Paneque, 1998) menciona que si el problema surge directamente de la práctica 
social y genera resultados que son aplicables dentro del ámbito donde se realizan 
entonces se considera que la investigación es aplicada. Es obvio, que la aplicación 
no tiene forzosamente que ser directa en la producción o en los servicios, pero sus 
resultados se consideran de utilidad para aplicaciones prácticas. 
La investigación aplicada generalmente tiene relación con el desarrollo tecnológico, 
según (CONACYT, 2014) se refiere al desarrollo tecnológico como el uso 
sistemático del conocimiento y la investigación dirigidos hacia la producción de 
materiales, dispositivos, sistemas o métodos incluyendo el diseño, desarrollo, mejora 
de prototipos, procesos, productos, servicios o modelos organizativos. 
Por otra parte,(Airbar, 2001) dice que el desarrollo tecnológico se comprende como 
una sucesión de invenciones o innovaciones donde cada escalón conduce al 
siguiente y donde cada artefacto parece haber sido diseñado con el objetivo de llegar 
a la situación presente mediante aproximaciones sucesivas. 
Esta tesis está basada en los siguientes pasos: 
 Investigación documental, sobre el tema de tecnologías de programación. 
 Aplicación de la metodología del Proceso Unificado Ágil (PUA) en la solución 
del caso de estudio para controlar el proceso de ingeniería de software. 
 Uso de las herramientas como el Enterprise Arquitect Project, Java 8 y 
WampServer. 
 
3.1 Investigación documental 
 
Se indagó en fuentes de información confiables la terminología y el 
contexto de las tecnologías de programación, a fin de identificar las 
características de los lenguajes y herramientas de programación como base 
para desarrollar sistemas acordes a las necesidades de la organización y su 
contexto previendo la vigencia de mediano o largo plazo. 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
26 
 
 
3.2 El Proceso Unificado Ágil 
 
Por tratarse de una metodología que se considera “en serie para lo 
grande” e “iterativa para lo pequeño (Ambler, 2006), se optó por el Proceso 
Unificado Ágil (PUA) basada en la metodología Rational Unified Process 
(RUP) (Pressman, 2010), según la figura 1. Metodología PUA, esta trabaja en 
dos dimensiones: fases y flujos de trabajo. Las cuatro fases son: Iniciación, 
Elaboración, Construcción y Transición; cada fase trabaja con las disciplinas 
de Modelo de negocio, Requerimientos, Análisis y Diseño, Implementación, 
Pruebas, Despliegue y de manera transversal en cada fase con la 
Configuración y Administración de cambios, gestión del proyecto y entorno de 
producción. Cabe destacar que esta metodología es iterativa e incremental. 
El proceso unificado ágil (PUA) adopta una filosofía “en serie para lo grande” e 
“iterativa para lo pequeño a fin de construir sistemas basados en 
computadora. Al adoptar las actividades en fase clásicas del PU —
concepción, elaboración, construcción y transición—, el PUA brinda un 
revestimiento en serie (por ejemplo, una secuencia lineal de actividades de 
ingeniería de software) que permite que el equipo visualice el flujo general del 
proceso de un proyecto de software. 
Sin embargo, dentro de cada actividad, el equipo repite con objeto de alcanzar 
la agilidad y entregar tan rápido como sea posible incrementos de software 
significativos a los usuarios finales. Cada iteración del PUA aborda las 
actividades siguientes: 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
27 
 
 
Figura 2 Metodología PUA 
 
En la primera fase, iniciación, se trabajó básicamente en: 
 El modelo el negocio para detectar el proceso que aporta valor a la 
empresa. 
 Los requerimientos con el cliente a través de entrevistas y una estancia 
en sitio para identificar el alcance. 
 La visión del proyecto en el contexto organizacional. 
 
En la fase de elaboración se definieron las iteraciones necesarias, para: 
 Elaborar los modelos de casos de uso y requisitos. 
 Elaborar los modelos de clases, datos, interfaces y despliegue. 
 Validar los modelos de clases, de datos e interfaces con el cliente. 
 
En la fase de construcción las actividades se realizaron de acuerdo a las 
iteraciones que se definieron, así la actividad principal fue: 
 Implementar los modelos de clases, datos e interfaces en el lenguaje de 
programación seleccionado de acuerdo a las funcionalidades 
priorizadas por el cliente. Así en cada iteración se tuvieron los 
incrementos programados, mismos que se pusieron en producción. 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
28 
 
En la fase de Transición las iteraciones correspondieron con la fase de 
construcción para poner en prueba las funcionalidades desarrolladas y 
posteriormente en producción. 
3.3 Tecnologías de programación 
 
Considerando las complicaciones de comunicación y conectividad que 
tiene la empresa se decidió por utilizar: 
Lenguaje Java 8, este permitió implementar las clases e interfaces necesarias 
para la operación del sistema. 
WampServer porque es software libre y permitió tener los elementos 
necesarios para tener un servidor web, ofrece un sistema operativo, un 
manejador de base de datos (MySQL), un software para servidor (Apache) y 
un software de programación script web (PHP generalmente). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
29 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 4. Resultados 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
30 
 
Capítulo 4 Resultados 
 
En este capítulo se presenta el desarrollo del sistema y los resultados obtenidos 
al aplicar el proceso de ingeniería de software; para este caso de estudio el PUA. Se 
muestra la arquitectura del sistema y los resultados de la codificación 
correspondiente. 
4.1 Modelo de casos de uso 
Los casos de uso describen bajo la forma de acciones y reacciones el 
comportamiento de un sistema desde el punto de vista de un usuario, permiten 
definir los límites del sistema y las relaciones entre el sistema y el entorno 
(Kendall, 2005). 
En la figura 3 Modelo de casos de uso, se puede observar que el actor 
usuario es el encargado de llevar a cabo varios procesos para la obtención de 
información como registrar las entradas y salidas de los vehículos que lleguen 
al depósito. 
 
Figura 3 Modelo de casos de uso 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
31 
 
4.2 Modelo de requisitos 
Tiene como finalidad comprender el sistema y delimitar su alcance (Pressman, 
2010). 
En la figura 4 Modelo de requisitos se muestran los requisitos 
necesarios para que el software sea funcional. Tal como permitir la entrada de 
los vehículos, salida de vehículos, imprimir recibo, asignar privilegios a los 
usuarios y registrar la venta correspondiente del depósito de vehículo. 
 
Figura 4 Modelo de requisitos 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
32 
 
4.3 Modelo de clases 
Describe la estructura de un sistema mostrando las clases del sistema, sus 
atributos, operaciones (o métodos), y las relaciones entre los objetos 
(Rumbaugh, 2005-2007). 
En la figura 5 Modelo de clases se muestra la clase principal (vehículo) 
que contiene la información requerida para registrar un vehículo, esta tiene 
relación con las clases cliente y grúa. La clase grúa contiene los datos de la 
grúa en la que se realizó el traslado, así como el operador que estuvo a cargo 
del servicio. A su vez la clase vehículo se relaciona con la clase inventario que 
contiene información sobre las condiciones en las que llega el vehículo al 
depósito y esta establece relación con la clase dependencia (autoridad que 
remite el vehículo). 
 
Figura 5 Modelo de clases 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
33 
 
4.4 Modelo de datos 
Determina la estructura lógica de una base de datos y de manera fundamental 
determina el modo de almacenar, organizar y manipular los datos (Fossati, 
2017). 
En las figuras 6 y 7 Modelo de datos se muestra como está integrada y 
organizada la base de datos para que el sistema almacene y recupera los 
datos eficientemente. La tabla registro es la entidad rectora en la base de 
datos, ello estárelacionada con las entidades vehículo, grúa, operador, 
servicios, maniobras, dependencia y el usuario. La Tabla de vehículo tiene una 
relación con las tablas marca, línea, y color para identificar el vehículo. 
 
Figura 6 Modelo de datos 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
34 
 
 
Figura 7 Modelo de datos 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
35 
 
4.5 Modelo de interfaces 
Permite especificar todos los aspectos relacionados con la interfaz que 
visualiza el usuario (Pressman, 2010). 
En la figura 8 Modelo de interfaces, se muestra el diagrama de 
navegación de las diferentes interfaces con las que interactuará el usuario. La 
primera vista iniciar sesión requerirá de un nombre de usuario y contraseña. 
Confirmando al usuario, este accede a los permisos que este tiene asignados; 
al tener acceso al menú puede manipular los datos de los catálogos que estén 
registrados. 
 
Figura 8 Modelo de Interfaces 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
36 
 
4.6 Modelo de componentes 
Representa cómo un sistema de software es dividido en componentes y 
muestra las dependencias entre estos componentes (Sommerville, 2005). 
En la figura 9 Modelo de componentes se puede observar los 
componentes que ayudan al sistema a cumplir su función, nuestro 
componente principal es ventas el cual depende de servicios, vehículos y 
clientes para registrar los datos correspondientes a la operación. 
 
Figura 9 Modelo de componentes 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
37 
 
4.7 Modelo de despliegue 
Muestra la arquitectura en tiempo de ejecución de un sistema. Esto muestra la 
configuración de los elementos de hardware (nodos) y muestra cómo los 
elementos y artefactos del software se trazan en esos nodos (Pressman, 
2010). 
En la figura 10 Modelo de despliegue se muestra que el usuario 
interactúa con el sistema de gestión de procesos de depósito vehicular por 
medio de un computador teniendo un servidor local con él sistema. 
 
Figura 10 Modelo de despliegue 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
38 
 
4.8 El producto de TI 
Con base en el desarrollo del Sistema Informático para la Gestión de 
los Procesos de Depósito Vehicular de “Grúas El Mezquite”, se obtuvieron las 
siguientes interfaces que permiten al usuario interactuar de una forma 
amigable con el sistema. 
 
Iniciar sesión 
En la figura 11 Iniciar sesión es la primera interfaz con la que el usuario 
interactúa al sistema. Se le solicita Usuario y Contraseña, datos que serán 
proporcionados por la Administración para control de usuarios. Al validar el 
usuario el sistema sabe que permisos tiene otorgados. 
 
 
Figura 11 Iniciar sesión 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
39 
 
Catálogo de usuarios 
En la figura 12 se muestra el catálogo de usuarios. El administrador del 
sistema tiene los permisos agregar, modificar y eliminar usuarios. Se requiere 
el nombre del usuario, contraseña y los privilegios que le fueron otorgados por 
el sistema. Con el fin de mejorar los movimientos que cada usuario tiene. 
 
 
Figura 12 Catálogo de usuarios 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
40 
 
Catálogo de clientes 
En la figura 13 Catálogo de clientes se puede agregar los datos como 
Nombre, RFC, Domicilio, Estado, Municipio, Código Postal y correo electrónico 
para los clientes que tiene crédito en la empresa. Nos permite agregar, 
modificar, eliminar e imprimir. 
 
 
Figura 13 Catálogo de clientes 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
41 
 
Catálogo de colores 
En la figura 14 Catálogo de colores se puede agregar nuevos colores, 
ya que algunos vehículos no tienen pintura uniforme, sino que la cobertura se 
integra de varios colores. De esta lista de colores se seleccionan la cantidad 
necesaria para facilitar la ubicación del vehículo. 
 
 
Figura 14 Catálogo de colores 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
42 
 
Catálogo de dependencia 
En la figura 15 Catálogo de dependencia se puede agregar los nombres 
de las dependencias que mandan a resguardar al depósito. Nos permite 
modificar, y eliminar la información guardada, esto con el fin de mejorar la 
información de los vehículos que la dependencia envió. 
Al agregar una nueva dependencia esta se guarda con una tarifa (Cobro de 
traslado de acuerdo al tipo de vehículo) la cual puede modificarse en caso 
necesario. 
 
 
Figura 15 Catálogo de dependencia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
43 
 
Catálogo de grúas 
En la figura 16 Catálogo de grúa se puede agregar las grúas que la 
empresa tiene. Nos permite modificar, y eliminar la información, esto con el fin 
de mejorar la información guardada sobre las grúas con las que cuenta la 
empresa. 
Para el registro se solicitan datos como: Marca, Tipo, Serie, Placas, Año y 
número Económico. 
 
 
Figura 16 Catálogo de grúa 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
44 
 
Catálogo de línea 
En la figura 17 Catálogo de línea se puede agregar los nombres de 
línea de las marcas registras y el tipo de vehículo que es. Nos permite 
modificar, y eliminar la información guardada, esto con el fin de mejorar la 
descripción sobre los vehículos y de esta manera facilitar la búsqueda de los 
mismos. 
Para el registro se solicitan datos como: Marca, Tipo y el nombre de la línea. 
 
 
Figura 17 Catálogo de línea 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
45 
 
Catálogo de marcas 
En la figura 18 Catálogo de marca se puede agregar las marcas de 
vehículos que existen en el mercado. Nos permite modificar, y eliminar la 
información guardada, esto con el fin de mejorar la descripción sobre los 
vehículos y de esta manera facilitar la búsqueda de los mismos. 
 
 
Figura 18 Catálogo de marca 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
46 
 
Catálogo de operadores 
En la figura 19 Catálogo de operador se puede agregar los operadores 
que manejan las grúas. Nos permite modificar, y eliminar la información 
guardada, esto para un mejor control en los servicios realizados, así como el 
manejo de los equipos de grúa. 
Para registrar un operador nuevo se solicitan datos como: Nombre, Apellido y 
Teléfono. 
 
 
Figura 19 Catálogo de operador 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
47 
 
Catálogo de tipo de línea 
En la figura 20 Catálogo tipo de línea se puede agregar los diferentes 
tipos de vehículos que existen y agregar la tarifa de estancia de ese tipo. Nos 
permite modificar, y eliminar la información guardada, esto con el fin de 
mejorar la descripción sobre los vehículos y de esta manera facilitar su 
búsqueda. 
 
 
Figura 20 Catálogo tipo de línea 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importanciade las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
48 
 
Catálogo de traslado 
En la figura 21 Catálogo de traslado se puede agregar las diferentes 
formas en que el vehículo se puede trasladar al depósito. También se puede 
modificar, eliminar y mostrar los traslados que están registros. 
 
 
Figura 21 Catálogo de traslado 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
49 
 
Registro de vehículo 
En la figura 22 Registro de vehículo se muestra la entrada de los 
vehículos que permite dar de alta un vehículo nuevo o visualizar los vehículos 
que están registrados. Los datos que se pide para el registro son los 
siguientes: fecha, hora, marca, línea, placas, estado, serie, color, traslado, 
dependencia, operador, inventario, número de inventario, llaves, recibo, 
observaciones, fotos, ubicación, número de grúa, costo y descripción del 
servicios, costo y descripción de las maniobras. 
 
 
Figura 22 Registro de vehículo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
50 
 
Salida de vehículo 
En la figura 23 Salidas de vehículos se muestra las salidas de los 
vehículos aquí se permite dar de baja un vehículo registrado. Para ubicar el 
vehículo solo es necesario ingresar el número de placas en la parte superior 
derecha, al ingresar el número de placas en caso de que el vehículo se 
encuentre registrado nos desplegará toda la información relacionada a ese 
número de placas. Es necesario ingresar el número de oficio y fecha. El 
sistema despliega los costos que el vehículo genero dentro del depósito. 
 
 
Figura 23 Salidas de vehículos 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
51 
 
Reporte de entradas por dependencia 
En la figura 24 Reporte por dependencia permite visualizar un desglose 
de los servicios realizados a cada una de las dependencias registradas. Con 
este reporte se puede tener información detallada de cada dependencia que 
envío vehículos. 
 
 
Figura 24 Reporte por dependencia 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
52 
 
Reporte de corte de caja 
En la figura 25 Reporte corte de caja se permite visualizar el desglose 
de los cobros realizados durante ciertos periodos de tiempo (día, semana, mes 
o año). 
 
Figura 25 Reporte corte de caja 
 
 
4.9 Valoración de la hipótesis 
 
En relación a la hipótesis se considera que se cumple, porque deben valorarse 
las características de las tecnologías de programación para desarrollar 
cualquier software y tener en cuenta lo siguiente: 
 El alcance de la tecnología, en relación al tipo de productos que se 
pueden generar: de escritorio, web y móvil; y en relación a la plataforma 
de sistema operativo sobre la que pueden operar. 
 La vigencia de la tecnología de programación, en relación a estos 
factores: otras tecnologías de programación similares, la tecnología 
computacional que existe en el mercado y la tecnología computacional 
que tiene o puede adquirir la empresa. 
 Si la tecnología de programación es adecuada a las características de 
la tecnología computacional que tiene la empresa para garantizar la 
viabilidad técnica en el corto y mediano plazo. 
 
Para el caso de estudio se seleccionó Java en virtud de que la empresa tiene 
complicaciones para conectarse a Internet de manera física, sin embargo, el 
sistema está proyectado para operarse de manera local pero colaborativa a 
través de la configuración de una Intranet. Cuando las condiciones así lo 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
53 
 
permitan, el sistema residirá en la nube, los movimientos se harán en local y 
las actualizaciones se harán de manera periódica en el servidor de la nube. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
54 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 5. Conclusiones y recomendaciones 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
55 
 
Capítulo 5 Conclusiones y recomendaciones 
 
Se concluye que es importante seleccionar las tecnologías de programación con las 
cuáles se desarrollará el sistema de información, en virtud de que impacta en lo 
siguiente: 
 La vigencia del sistema de información, porque los cambios en la tecnología 
son muy rápidos y el riesgo de que el hardware y software sea obsoleto 
aumenta. 
 El escalamiento del sistema de información en el corto plazo, a fin de 
ampliarlo en funcionalidades o bien, en cobertura con usuarios remotos. 
 La viabilidad técnica del proyecto, puesto que deben existir las condiciones de 
infraestructura tecnológica para operar el sistema de información. 
 El desempeño del sistema de información, porque consumirá recursos de 
cómputo cuando el sistema se opera. 
 La usabilidad del sistema de información, de ello dependerá en gran medida 
que el sistema sea de fácil aprendizaje por los usuarios finales. 
 
Ante ello es importante hacer un monitoreo tecnológico y valorar las tecnologías de 
programación disponibles para elaborar software en relación al contexto de la 
empresa en que operará el sistema de información. 
 
Recomendaciones 
Dentro de un proyecto amplio como lo fue este, siempre se quiere que haya una 
mejora continua del mismo; se recomienda ampliar las funcionalidades e incluir: 
• Control de créditos para aseguradoras 
• Registro de oficios recibidos de acuerdo a cada dependencia 
• Reporte por turno 
• Reporte de servicios por operador 
• Reporte de servicios por grúa 
• Desarrollo de sistema web para atención a clientes 
 
También se sugiere, considerar la arquitectura del sistema para trabajar en web una 
vez que se tengan las condiciones para ello. 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
56 
 
 
 
 
 
 
 
 
 
 
 
Capítulo 6. Referencias 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
57 
 
Capítulo 6 Referencias 
 
Airbar, E. (2001). Fatalismo y tecnología: ¿es autónomo el desarrollo tecnológico? UOC, 3. 
Almagro, C. U. (2010). Lenguajes de Programación. 
Arias, Á. (2015). Createspace Independent. 
Arias, Á., & Durango, A. (2014). (C. I. Pub, Ed.) 
Bruno, O. R. (2006). Programación y Algoritmia. Alfaomega. 
Cobo, Á. (2005). Tecnologías para el desarrollo de. ESPAÑA: DIAZ DE SANTOS. 
CONACYT. (2014). Obtenido de www.conacyt.gob.mx: https://www.conacyt.gob.mx/index.php/el-
conacyt/desarrollo-tecnologico-e-innovacion 
Deitel, P. J., & Deitel, H. M. (2008). CÓMO PROGRAMAR EN JAVA. México: PEARS ON EDUCACIÓN. 
Fernández, G., & Sáez, F. (1987). Fundamentos de informática. Madrid: Alianza Editorial, S. A. 
Fossati, M. (2017). Introducción a UML: Lenguaje para modelar objetos. 
Garcia, E. B. (2015). Obtenido de http://www.jtech.ua.es/jornadas/charlas/presentacionGWT.pdf 
Gervais, L. (2016). Recursos informaticos. Barcelona: Editions ENI. 
González, G. M. (2016). Aprende a Desarrollar con Spring Framework. IT Campus Academy. 
Harbour, M. G. (2016). Programación en Lenguaje Java. Creative Commons. 
JavaScript. (2018). Obtenido de https://www.javascript.com/about 
Joyaner, L., & Ignacio, Z. (2011). ProGraMaCión En Java 6. algoritmos, programación orientada a 
objetos. 
Joyanes, L. (1988). FUNDAMENTOS DEPROGRAMACION: ALGORITMOS Y ESTRUCTURAS DE DATOS. 
MCGRAW-HILL INTERAMERICANA. 
Kendall, K. E. (2005). Análisis y diseño de sistemas. CIUDAD DE MÉXICO: PEARSON EDUCACIÓN. 
Khvilon, E. (2004). Las tecnologías de la informacion . 
Laffosse, J. (2010). Struts 2. Eni. Obtenido de http://www.jtech.ua.es/j2ee/publico/struts-2010-
11/wholesite.pdf 
Larman, C. (2010). UML y patrones . Redalyc, 503. 
Lozada, J. (2014). Investigación Aplicada: Definición. CIENCIAMÉRICA, N° 3, (34-39). 
Mackenzie, D. (2006). Aprendiendo Visual Basic. 
Microsoft. (2017). Obtenido de https://msdn.microsoft.com/es-es/library/4w3ex9c2(v=vs.100).aspx 
Importancia de las Tecnologías de Programación en el Sistema Gestión de Procesos de Depósito Vehicular 
 
58 
 
Miller, B., & Ranum, D. (2011). Problem Solving with algorithms and data structures using python. 
Franklin, Beedle & Associates Inc. 
Montoro, A. F. (2012). Python 3 al descubierto. Mexico: Alfaomega. 
ORACLE. (2018). Obtenido de 
http://www.oracle.com/technetwork/java/embedded/javame/index.html 
Paneque, R. J. (1998). METODOLOGÍA DE LA INVESTIGACIÓN. La Habana: Editorial Ciencias Médicas. 
Pressman, R. (2010). Ingeniería del Software un enfoque práctico. México: Mc Graw Hill. 
Rumbaugh, J. (2005-2007). El Lenguaje unificado de modelado: manual de referencia. Pearson 
Educación. 
Shelajev, O. (16 de FEBRERO de 2017). REBELLABS. Obtenido de 
https://zeroturnaround.com/rebellabs/java-web-frameworks-index-by-rebellabs/ 
Sommerville, I. (2005). INGENIERÍA DEL SOFTWARE. MADRID: PEARSON EDUCACIÓN. 
UNID. (2013). Programación Estructurada. 
Viso, E. (2007). Introduccion a las Ciencias de la Computacion en Java. México.

Continuar navegando