Desarrollo de un prototipo de aplicación web para las empresas del servicio de
transporte especial terrestre
Yohand Ricardo Malagón Hernández, Carlos Eduardo Niño Silva, Diego Alejandro Silva Torres y Santiago Vásquez Romero.
Ingeniería de Sistemas, Fundación Universitaria Compensar Proyecto fin de grado Facultad de Ingeniería
Neider Duan Barbosa Castro 25 de mayo de 2021
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 4.0 Internacional.
“En software, muy raramente partimos de requisitos con sentido. Incluso teniéndolos, la única medida del éxito que importa es si nuestra solución resuelve la cambiante idea que el cliente tiene de lo que es su problema”
Jeff Atwood
En el presente documento se revisa los elementos claves para el desarrollo de un sistema de información que permita ayudar a todas aquellas Pymes de Colombia que presta los servicios de transporte especial terrestre a pasajeros. Para ello se basa en unos antecedentes, casos exitosos y normativas con el fin de ofrecer un prototipo con los estándares de calidad necesarios para poder recrearlo en un entorno laboral y productivo, por ende, se tiene como base de estudio una serie de elementos cuantitativos que permitirán medir los elementos necesarios para la construcción de este.
Palabras clave: Percepción, Transporte particular, Transporte especial Terrestre, Pymes, Grupo determinable.
Abstract
This thesis document reviews the key elements for the development of an information system that allows helping all those SMEs in Colombia that provide special land transportation services to passengers. For this, it is based on antecedents, successful cases and regulations in order to offer a prototype with the necessary quality sándaras to be able to recreate it in a work and productive environment, therefore, a series of quantitative elements is taken as a basis of study that they will allow to measure the elements necessary for the construction of this.
Keywords: Perception, Private Transportation, Special Land Transportation, SMEs, Determinable Group
Contenido
CAPÍTULO 1 PLANTEAMIENTO DE LA INVESTIGACIÓN ... 8
1.1 Teoría ERP ...8
1.2 Antecedentes y Justificación ...10
1.3 Identificación del problema ...14
1.3 Pregunta problema ...15
1.4 Objetivos ...15
1.4.1 Objetivo general ...15
1.4.2 Objetivos específicos ...15
1.5 Alcances y limitaciones ...15
1.6 Metodología de la investigación...16
1.6.1 Fases del proyecto ...17
CAPÍTULO 2: LEVANTAMIENTO DE REQUERIMIENTOS ... 18
2.1 Marco teórico de levantamiento de requerimientos ...18
2.2 Planteamiento de requerimientos mediante el cuestionario escrito ...20
2.2.1 Instrumento de recolección de información y justificación. ...20
2.2.2 Intención de las preguntas, análisis y relación con los requerimientos funcionales y no funcionales. ...21
2.3 Propósito ...29
2.4 Personal Involucrado ...29
2.5 Acrónimos y abreviaturas del levantamiento de requerimientos...30
2.6 Descripción general ...30
2.6.1 Perspectiva del producto ...30
2.6.2 Características de los usuarios ...30
2.6.3 Restricciones ...31
2.6.4 Suposiciones y dependencias ...31
2.7 Requisitos específicos ...31
2.7.1 Requerimientos Funcionales ...31
2.7.2 Requerimientos No Funcionales. ...32
2.8 Requisitos comunes de las interfaces ...33
2.8.1 Interfaces de usuario ...33
2.8.2 Interfaces de hardware ...33
2.8.3 Interfaces de software ...33
2.8.4 Interfaces de comunicación ...34
CAPÍTULO 3: MODELADO Y DESARROLLO DE BASE DE DATOS ... 34
3.1 Marco teórico de modelado y desarrollo de la base de datos ...34
3.2 Acrónimos y abreviaturas del Modelado y desarrollo de base de datos ...38
3.3 Modelo relacional...38
3.4 Diccionario de datos ...39
CAPÍTULO 4: DESARROLLO DEL PROTOTIPO WEB ... 41
4.1 Acrónimos y abreviaturas del desarrollo del prototipo web ...41
4.2 Marco teórico del desarrollo del prototipo del web ...41
4.3 Relación práctica con la teórica en el desarrollo ...46
4.3.1 Conexión a la base de datos a MySQL mediante ORM ...46
4.3.2 Lógica y vista del login. ...47
4.3.3 Vista de la gestión de usuarios y roles...49
4.3.4 Vista de la gestión de automóviles ...50
4.3.5 Vista para asignación de rutas y viajes. ...51
CAPÍTULO 5: CONCLUSIONES ... 53
5.1 Discusión de resultados ...53
5.2 Conclusiones...54
5.3 Recomendaciones ...55
GLOSARIO ... 56
BIBLIOGRAFÍA ... 58
Lista de figuras Figura 1 Fases del Proyecto de Investigación ... 18
Figura 2 Resumen de Respuestas Pregunta 1 del Cuestionario Escrito ... 22
Figura 3 Resumen de Respuestas Pregunta 2 del Cuestionario Escrito ... 22
Figura 4 Resumen de Respuestas Pregunta 3 del Cuestionario Escrito... 23
Figura 5 Resumen de Respuestas Pregunta 4 del Cuestionario Escrito... 24
Figura 6 Resumen de Respuestas Pregunta 5 del Cuestionario Escrito... 24
Figura 7 Resumen de Respuestas Pregunta 6 del Cuestionario Escrito... 25
Figura 8 Resumen de Respuestas Pregunta 7 del Cuestionario Escrito ... 26
Figura 9 Resumen de Respuestas Pregunta 8 del Cuestionario Escrito ... 26
Figura 10 Resumen de Respuestas Pregunta 9 del Cuestionario Escrito... 27
Figura 11 Resumen de Respuestas Pregunta 10 del Cuestionario Escrito ... 28
Figura 12 Modelo Relacional ... 38
Figura 13 Conexión a la base de datos mediante ORM ... 47
Figura 14 Clase validadores y Bcrypt ... 47
Figura 15 Importación de la dependencia JWT Token y evidencia de generación de token. ... 48
Figura 16 Vista del login y evidencia de base de datos ... 49
Figura 17 Vista de gestión de los usuarios y roles ... 49
Figura 18 Métodos y crud del prototipo de aplicativo web ... 50
Figura 19 Vista de apartado web de los automóviles ... 51
Figura 20 Vista del mapa y la gestión de rutas ... 52
Figura 21 Vista para la gestión de viajes ... 52
Lista de tablas Tabla 1 Personal Involucrado en el Proyecto ... 29
Tabla 2 Acrónimos y Abreviaturas del Levantamiento de Requerimientos ... 30
Tabla 3 Características de los Usuarios ... 31
Tabla 4 Requerimientos Funcionales... 32
Tabla 5 Requerimientos No Funcionales ... 33
Tabla 6 Tabla de diferencias SGBD ... 37
Tabla 7 Acrónimos y abreviaturas del Modelado y desarrollo de base de datos ... 38
Tabla 8 Diccionario datos ... 39
Tabla 9 Acrónimos y abreviaturas del desarrollo del prototipo web ... 41
Tabla 10 PHP vs NodeJs ... 44
Capítulo 1 Planteamiento de la investigación
1.1 Teoría ERP
Durante la última expansión tecnológica del siglo XXI la internet ha sido un factor clave para la conexión de los humanos y el constante flujo de información que se genera en el mundo, por ende poco a poco fue tomando mayor relevancia, pero la internet se expandió en todos los ámbitos de la vida, tanto empresarial como personal creando nuevas teorías que para este caso se tomara los negocios y todos los componentes tradicionales, se puede reconocer ya que actualmente estas partes son complementadas por una “e”seguido de la actividad que se ejecuta; como por ejemplo e-commerce o en este caso e-logística y es en esta última se va a enfocar esta teoría; en primera instancia se parte exponiendo los componentes que se necesita para realizar la logística en la internet y se pueden encontrar cuatro sistemas o pilares fundamentales:
WMS: Warehouse Management System o como también se le conoce por su traducción al español como sistema de administración de almacenes.
El WMS es principalmente una de las herramientas de sistematización más importantes en la e- logística Zapata lo define como: “El WMS es la herramienta informática más importante en la administración de almacenes, mediante la cobertura de múltiples actividades propias de los almacenes.” (Zapata Cortés, Arango Serna, & Jaimes, 2010)
También hay que definir que este sistema contempla otras actividades importantes como seria la facturación que se genera, los tiempos de logística que se aplican en diferentes actividades y la administración de los diferentes medios de transporte y los patios de carga.
SCM - Supply Chain Management o como también se le conoce por su traducción al español como administración de la cadena de suministro
Se entiende como SCM a la administración de la cadena de los suministros de una empresa, se puede pensar que contempla todas las actividades que se encargan de alinear las múltiples empresas en las acciones relacionadas con la solicitud de productos o los servicios fundamentales para que la empresa funcione óptimamente. (Zucco Monti, Gómez Samaniego, Carrera González, Alveo Lorenzo, & Vargas-Lombardo, 2016).
CRM - Customer Relationship Management o como también se le conoce por su traducción al español como gestión de las relaciones con clientes
Un CRM es la forma cómo se administra a los clientes que tiene la empresa, se suele mejorar el tratamiento de la información proporcionada por el cliente teniendo en cuenta los procesos que se utilizan en la gestión empresarial con la finalidad de obtener resultados notables, y mediante estos desarrollar una debida gestión de los requerimientos proporcionados por el cliente. (Zucco Monti, Gómez Samaniego, Carrera González, Alveo Lorenzo, & Vargas-Lombardo, 2016).
Principalmente se trata de una estrategia que se utiliza para medir a los clientes y establecer aprobaciones de evaluación, esto se realiza individualmente y en las acciones de cada cliente lo cual permite crear nuevos sistemas electrónicos para la monitorización de los pagos, las demandas y la ordenes que ingresen, dando como resultado final una mejor conexión con los clientes, mejorar la renta y los procesos.
ERP - Enterprise Resource Planning o como también se le conoce por su traducción al español como sistema de planificación de recursos empresariales.
Cuando se habla de ERP nos referimos a un software desarrollado que se encarga principalmente de la automatización y organización del trabajo, podemos encontrar como uno de los objetivos principales administrar y planificar las tareas específicas de una empresa para mejorar el rendimiento y gestión de la información que esta maneje. También se tiene un factor de adaptabilidad en cuanto a la empresa en el que se implemente y sus diferentes procesos productivos, estos sistemas tienen una integración y gestión de la información haciendo que sean más precisas, de fácil acceso y rápidas. (Zucco Monti, Gómez Samaniego, Carrera González, Alveo Lorenzo, & Vargas-Lombardo, 2016)
Para este proyecto se platea la realización de un prototipo mediante el Sistema de planificación de recursos empresariales ERP el cual tiene como objetivo la realización de un sistema de información de solicitud de viajes para pymes del servicio de transporte especial terrestre.
1.2 Antecedentes y Justificación
En Colombia durante los últimos años la incursión empresarial internacional y el emprendimiento nacional ha transformado de manera radical los servicios de transporte, ya sean públicos o privados, hoy en día la tecnología facilita el acceso para que las personas logren transportarse de manera cómoda, eficiente , independientemente de sus discapacidades (Sarmiento Castillo, Martínez Higuera, Martínez Peñuela, & Corredor Almanza, 2020) o su objeto de transporte (Moreno & Yandar, 2018) con una percepción de seguridad mayor con respecto al transporte tradicional público, puesto que estos utilizan diferentes tipos de medios de transporte particular y se soportan en aplicaciones digitales como es el caso de Uber, Didi , Picap entre muchos otros, en
vista de que estos ofrecen un mejor trato al usuario final; teniendo en cuenta que las aplicaciones mencionas ante las normativas del estado no son legales puesto que no hay una regulación transporte particular frente al transporte público, por ende no se genera un ambiente de trabajo equitativo que a su vez ayude a la protección a la competencia en Bogotá como en toda Colombia, Uber actualmente está constituida como una de las plataformas de viaje con mayor demanda en el mercado esta teoría se ve sustentada por el número de personas concurrentes en la aplicación ya que en la actualidad dicha plataforma está siendo utilizada por más de 91 millones de usuarios activos, adicionalmente la proyección de viajes que tiene a final de un año fiscal es superior a 10 mil millones. Dentro de su amplio portafolio de servicios como lo son: Uber, Uber eats y Uber for Bussines. Cuenta con un gran número de colaboradores (3.9 Millones) y empleados (22 Mil en 63 países), entre ellos se encuentran motocicletas, automóviles particulares y automóviles de servicio especial. Es claro que el efecto que trajo consigo las plataformas de tecnologías en el sector transporte tiene diversos beneficios, también conlleva a varias consecuencias, pero antes de entrar en detalle en los pros y contras es importante dejar en claro desde este momento la prohibición de los medios tecnológicos está en sentido contrario a la simplificación de procesos, la generación nuevos empleos, a la inversión internacional como también al emprendimiento nacional que apunta nuevas formas de prestar servicios más eficientes, con menos procedimientos, con mayor seguridad y de aceptación con respecto percepción de los consumidores con respecto al transporte tradicional en Colombia como también mayor calidad en el sector transporte, en Colombia se ha definido transporte como “una actividad indispensable para la vida en sociedad y en particular para las relaciones económicas, que conlleva movilizar personas o cosas de un lugar a otro, mediante diferentes medios. Dichos traslados pueden efectuarse dentro del marco de las relaciones privadas, bajo el amparo de la libertad de locomoción (Corte Constitucional Republica de Colombia, 2018),
o ejerciendo actividades económicas dirigidas a obtener beneficios por la prestación del servicio (Corte Constitucional República de Colombia, 2014).
Como se mencionó anteriormente el problema no radica en el medio ya que la prohibición de dichas aplicaciones comparte el mismo fin que es transportar personas o cosas a pesar de que otros sectores se hallan visto afectados, el problema se concentra en la falta de adaptabilidad y pobre evolución tecnológica de los servicios tradicionales, uno de los servicios que menos se han mencionado es el servicio de transporte especial terrestre el cual consiste básicamente en dos características que la distinguen de otras formas de transporte tradicional, en primera instancia consiste en prestar el servicio de transporte bajo la responsabilidad de una empresa que está plenamente constituida, segundo que presta sus servicios a grupos de interés que comparte características en común es decir que pueda se pueda comprobar que es un grupo determinable como lo indica el (Sistema Único de Información Normativa, 2015), el contrato es determinado por la relación del grupo es decir las características de los usuarios a transportar, por ende a groso modo se destaca entre los usuarios el transporte de estudiantes, empleados de una compañía o entidad, pacientes o usuarios del servicio de salud, particulares y por último turistas; identificando más características los servicios de transporte especial terrestre se menciona en el decreto previamente mencionado que solo se podrá contratar el servicio cuando las siguientes condiciones se cumplan, primer que se cuente con un contrato donde se relaciona la habilitación de la empresa que se encuentra plenamente constituida, como también la relación de la persona ya sea natural o jurídica con las obligaciones y condiciones manifestadas en el contrato, otra característica es que es permitido el uso de medios tecnológicos para demostrar la existencia de un contrato, también el sistema de información de la entidad de contener el tipo de vehículo, la cantidad de plazas disponibles y ofertadas, su tarifa condicionada por el día sin embargo es importante aclarar que la
tarifa se puede determinar libremente pero los datos anteriormente mencionados deben ser reportados a las autoridades competentes y correspondientes.
Casos exitosos:
1. Uber para empresas 2. Didi
3. Beat 4. inDriver
En la actualidad el presente decreto nos ayuda a regular de manera óptima los tipos de transportes presentes en el territorio colombiano ya que existen diferentes tipos de servicio como lo son:
Carretero, Marítimo, Fluvial, férreo y aéreo, todos ellos deben tener una regulación estándar para mejorar dicha prestación del servicio.
(Ministerio de Transporte, 2015)
“Actividad transportadora: de conformidad con el artículo 6 de la Ley 336 de 1996, se entiende por actividad transportadora un conjunto organizado de operaciones tendientes a ejecutar el traslado de personas o cosas, separada o conjuntamente, de un lugar a otro, utilizando uno o varios modos, de conformidad con las autorizaciones expedidas por las autoridades competentes, basadas en los reglamentos del Gobierno Nacional.” (Ministerio de Transporte, 2015) Una de las principales problemáticas que se utiliza como objeto base dentro de los antecedentes del proyecto es la falta de regulación que tiene el ministerio de transporte y el ministerio de trabajo frente a las normas y reglamentos necesarios para ser considerado un medio de transporte que pueda llegar a los usuarios, para ello tenemos como objeto base las innumerables problemáticas que tienen las aplicaciones móviles que prestan servicios a terceros.
1.3 Identificación del problema
Es indispensable para las pequeñas y medianas empresas dedicadas al servicio de transporte especial terrestre manejar su información, esta respecto al cliente, solicitudes de servicios por parte del cliente, asignación de vehículos o conductores y en general información que tenga que ver con la prestación de servicio de transporte.
Es una necesidad para las empresas de este sector usar de un sistema de información que permita el trato de datos, mejore la calidad de estos y brinde una organización, donde se pueda obtener reportes con un mismo formato, como también optimice la gestión del proceso de solicitud de servicios, ahorro de tiempo y eliminación de errores por parte del formato de los datos.
Muchas veces para estos procesos, las empresas de transporte usan sistemas de váucher o similares, donde se presta para equivocaciones y además se almacenan en un sistema de archivo poco convencionales, para luego en algunos casos ser digitado en algún programa de oficina, generando posibles problemas como el desconocimiento de procedencia de algún dato, confusiones, procesos repetitivos, y desorganización entre otros.
Las ventajas de realizar la implementación de este sistema de información, ofrece un valor agregado a la empresa, aumentar la posibilidad de obtener más clientes, ofrecer un mejor servicio, como también reducir tiempos y costos, actualmente este sector se encuentra en mejora continua,
utilizando de programas o aplicaciones con el mismo fin, lo cual hace que compita con las demás empresas actuales de este sector.
1.3 Pregunta problema
En este proyecto de investigación dado lo mencionado anteriormente se plantea la siguiente pregunta problema: ¿Cómo un prototipo web puede mejorar la competitividad del servicio de transporte especial terrestre en Bogotá?
1.4 Objetivos
1.4.1 Objetivo general
Desarrollar un prototipo de aplicación web que permita a las empresas de servicio de transporte especial terrestre la asignación de conductores, vehículos y viajes.
1.4.2 Objetivos específicos
• Analizar la lógica del negocio para establecer los requerimientos funcionales y no funcionales que se necesitan para la realización del prototipo.
• Organizar la información mediante una base de datos que garantice la persistencia de estos.
• Construir un prototipo de aplicación web que cumpla con los requerimientos necesarios para facilitar la gestión en las pequeñas empresas de transporte especial.
1.5 Alcances y limitaciones
Alcances:
1. El aplicativo está enfocado en las empresas las cuales cuenten con flotas de automóviles de tipo servicio especial terrestre (Placa blanca) y que se encuentren localizadas en la ciudad de Bogotá.
2. La aplicación puede variar según el tipo de automotor de placa blanca que la empresa disponga.
Limitaciones:
1. Algunas empresas cuentan con una flota de vehículos de placa amarilla y no de tipo especial terrestre lo cual imposibilita el transporte público ante la ley.
2. Las normas de Bioseguridad impuestas por el gobierno por la contingencia de la pandemia limitarían el personal que puede transportar cada automotor.
1.6 Metodología de la investigación
El tipo metodología seleccionada para este proyecto es por fases y en el cual se compone de: Fase uno preparación, comprende la realización del marco teórico, la sustentación de la investigación mediante fuentes académicas, el establecimiento de los objetivos, entre otras, la segunda fase hace referencia al trabajo de campo en donde su principal objetivo es la obtención de datos mediante instrumentos de recolección de información, la tercera fase hace referencia al análisis que tiene como fin comprender el problema a partir de los datos obtenidos en fase anterior, por último, la cuarta fase se le conoce como generación de información la cual contiene la generación de conclusiones y perspectivas. (Benítez, 2007).
La investigación se va a realizar bajo un paradigma cuantitativo ya que permite la tabulación de
los resultados en una estadística, que se caracteriza por ser rigurosa, donde el más importante instrumento de investigación son los cuestionarios escritos que se apoyen en medios tecnológicos que permita recolectar la información de cada aspecto particular que el encuestado responda, como también los registros publicados de fuentes confiables acerca de las condiciones y competencia del transporte especial terrestre frente a otros competidores.
1.6.1 Fases del proyecto
A continuación, se expone en la Figura 1 Fases del Proyecto de Investigación, las fases que comprende el proyecto:
Figura 1 Fases del Proyecto de Investigación
Capítulo 2: Levantamiento de requerimientos
2.1 Marco teórico de levantamiento de requerimientos
En este apartado se detallarán las investigaciones relacionadas al levantamiento de requerimientos con el fin de determinar, que es un requerimiento, las técnicas para levantar un requerimiento y la relación de los conceptos teóricos para realizar el levantamiento de estos y su posterior realización en el problema seleccionado del servicio de transporte especial terrestre.
El levantamiento de requerimientos es una de las actividades más importantes en cuanto al desarrollo de software, ya que en esta es indispensable tener cierto grado de claridad con los stakeholders, puesto que se detallará las funciones que debe tener el software a desarrollar y ser lo más descriptible en cuanto a lo que se requiere realizar, por lo normal es un proceso que conlleva 2 puntos de vistas generales, uno por parte de los stakeholders, ya que se enfocan solamente en aportar información para los requerimientos que desde su punto de vista general resuelven el problema fundamental, y otro punto de vista es del desarrollador que debe tener un panorama general del problema como también de la forma de solucionarlo mediante el desarrollo del software.
Según Sommerville define requerimiento como: “Un requerimiento es simplemente una declaración abstracta de alto nivel de un servicio que debe proporcionar el sistema o una restricción de éste”. (Sommerville, 2005)
Para obtener un mejor levantamiento de requerimientos se debe tener en cuenta el grado de importancia en cuanto a la técnica o técnicas que se aplicaran con el fin de realizar un análisis sobre los problemas y/o necesidades que tiene el usuario final, luego del respectivo análisis se realiza la documentación que permita establecer de manera clara los requerimientos, por lo tanto, este proceso a la hora de realizar un proyecto puede afectar enormemente el éxito el del mismo.
Para un levantamiento de requerimientos existen diferentes tipos de métodos, como lo son las entrevistas que es una herramienta en la cual se tiene cercanía con ciertas personas especificas con el fin de obtener información para determinar requerimientos según las necesidades personales del entrevistado, otros herramientas de levantamiento de información son los conocidos cuestionarios escritos que puede estar con preguntas cerradas de tipo dicotómicas de dos únicas posibilidades, de selección múltiple con única respuesta o de selección múltiple con varias respuestas en la misma pregunta, estos cuestionarios escritos de preguntas cerradas generalmente tiene el objetivo tabular de manera cuantitativa respuestas mediante estadísticas, sin embargo también se pueden encontrar cuestionarios escritos que son de preguntas abiertas y en los cuales se caracteriza por realizar preguntas para obtener información de manera cualitativa ya que es más difícil la segmentación en las respuestas que entrega el encuestado. Otro método es el llamado prototipo y este suministra una vista general mediante modelos y/o figuras representativas de cómo resolver el problema y levantar los requerimientos. Otros métodos utilizados son mediante herramientas UML(Lenguaje Unificado de Modelado) que se basa en un conjunto de tipos de diagramas del sistema a
desarrollar, este utiliza un método grafico que da un panorama general, aunque es un método visual en sí, está más considerado para el lenguaje técnico lo que al final puede dificultar la comprensión por parte de los stakeholders, dentro de los usos más comunes de UML se tiene el modelado orientado a los objetos (OOP) el cual tiene como finalidad representar los objetos y exponer las conexiones entre ellos, otro uso popular de UML es el modelado de bases de datos que tiene como objetivo representar las entidades y sus atributos de una manera clara y lógica para el desarrollo de las bases de datos, el cual permite gestionar los datos del software, otra categoría de modelado UML se le conoce como modelado funcional, este consiste en describir lo que va a realizar el sistema desde el panorama del usuario final, también se tiene el modelado dinámico que representa el comportamiento que tendrá el sistema, entre ellos se puede encontrar la representación de estados y actividades, pueden hallarse dos formas de plasmar el modelado de sistemas, el primero expone el comportamiento de un sistema y en el segundo representa su estructura; por último existe otro método el cual recibe el nombre de modelado de procesos, este es un conjunto de estándares que se establecen en la diagramación de los diferentes procesos que existen en la organización, este método tiene el objetivo de hacer más explicativo los requerimientos que cumplirá el sistema esto se realiza mediante la representación gráfica de los procesos actuales de la empresa y se caracterizan por manejar gráficos entendibles por el usuario final y que no manejan un lenguaje técnico, entre algunos métodos.
2.2 Planteamiento de requerimientos mediante el cuestionario escrito
2.2.1 Instrumento de recolección de información y justificación.
A continuación, se selecciona el instrumento de recolección de información de tipo cuantitativo, puesto que permite la tabulación de los resultados en una estadística que se caracteriza por ser
rigurosa y el instrumento seleccionado es el cuestionario escrito de preguntas cerradas con mediación tecnológica, con el fin de obtener los datos que permita tener una mayor claridad sobre la pregunta problema: “¿Cómo las aplicaciones tecnológicas pueden mejorar la competitividad del servicio de transporte especial terrestre en Colombia?”.
Este instrumento de recolección de información, es el más acertado para realizar esta investigación, ya que es importante llevar a una estadística de cada aspecto particular que el encuestado responda, además que las preguntas no se basan en supuestos o en la empírica personal; sino por el contrario busca captar a partir de un aspecto específico las matices de opinión de los diferentes usuarios, los conductores, pymes que contratan servicios en el sector transporte y medios de transporte recurrentes, para concluir las preguntas que hacen parte del cuestionario se conforma de preguntas dicotómicas que solo abarcan dos tipos de alternativas sí o no, donde solo se desea captar una opinión muy específica por ejemplo “Ha usado en alguna ocasión los servicios de transporte especial terrestres” , preguntas de opción múltiples donde exponen varias alternativas pero con una única respuesta, preguntas de selección múltiple con múltiples respuestas. El cuestionario escrito busca recolectar las experiencias de los usuarios que se movilizan en el servicio de transporte diferente al servicio público tradicional de Colombia en donde se logró llegar a 101 personas encuestadas, de las cuales se encuentran usuarios de aplicaciones de transporte, conductores de vehículo, funcionarios como coordinadores de flotas, administradores y gerentes de pymes pertenecientes a la ciudad de Bogotá D.C.
2.2.2 Intención de las preguntas, análisis y relación con los
requerimientos funcionales y no funcionales.
Intención de la pregunta 1: Es una pregunta de apertura simple para al encuestado, además se busca conocer si las personas se han transportado en vehículos de transporte especial terrestre diferentes al servicio público tradicional.
Figura 2 Resumen de Respuestas Pregunta 1 del Cuestionario Escrito
Como se denota en la Figura 2 Resumen de Respuestas Pregunta 1 del Cuestionario Escrito, del total de 101 de las personas que contestaron el cuestionario escrito, el 77.2% equivalente a 78 personas se han movilizado en algún momento el servicio de transporte especial terrestre y el 22,8% de las personas equivalente a 23 personas no se han transportado en este servicio.
Intención de la pregunta 2: La pregunta tiene la intención de determinar y segmentar los usuarios que actualmente usa los servicios de transporte especial terrestre, diferentes al servicio público tradicional, con el fin de tener claridad cuál es el segmento de clientes.
Figura 3 Resumen de Respuestas Pregunta 2 del Cuestionario Escrito
Como se aprecia en la figura 3 Resumen de Respuestas Pregunta 2 del Cuestionario Escrito, se denota que el 75,2% de los encuestados equivalentes a 76 personas se movilizan actualmente usando el servicio de transporte especial terrestre, indicando un gran número de personas que utilizan este tipo de servicio de transporte.
Intención de la pregunta 3: Se busca determinar si los usuarios conocen alguna aplicación web y/o móvil que les permita solicitar un servicio de transporte especial terrestre mediante algún tipo de plataforma en el cual se relaciona el requerimiento funcional (RF-003).
Figura 4 Resumen de Respuestas Pregunta 3 del Cuestionario Escrito
Como se expone en la Figura 4 Resumen de Respuestas Pregunta 3 del Cuestionario Escrito, se determinar que el 56,4% equivalente a 57 personas no conocen ninguna plataforma web y/o móvil para transportarse en el servicio de transporte especial terrestre, el cual aborda más de la mitad del total de los encuestados, esto indica la falta de creación y/o promoción de estas plataformas.
Intención de la pregunta 4: Se pretende indagar si el usuario estaría dispuesto a viajar en el servicio de transporte especial terrestre diferente al transporte público tradicional, si contara con una plataforma web y/o móvil, en el cual se relaciona el requerimiento funcional (RF-003).
Figura 5 Resumen de Respuestas Pregunta 4 del Cuestionario Escrito
Como se denota en la Figura 5 Resumen de Respuestas Pregunta 4 del Cuestionario Escrito, el 89,1% equivalente a 90 encuestados, manifiesta que usarían una plataforma web y/o móvil para solicitar servicios de transporte especial terrestre si tuvieran disponible dicha plataforma.
Intención de la pregunta 5: La pregunta tiene el objetivo de determinar los usuarios que usan aplicaciones web y/o móviles del sector transporte para solicitar sus servicios movilidad en los últimos dos años y en la cual se hace referencia a los requerimientos funcionales (RF-003 y RF- 005)
Figura 6 Resumen de Respuestas Pregunta 5 del Cuestionario Escrito
Como indica la Figura 6 Resumen de Respuestas Pregunta 5 del Cuestionario Escrito, se determina que el 95% de los encuestados equivalentes a 96 personas del total de 101 encuestados, usan o han usado plataformas web y/o móvil para solicitar servicios de transporte en los últimos 2 años, indicando así la importancia de desarrollo de este tipo aplicaciones para el sector transporte.
Intención de la pregunta 6: Es una pregunta que tiene la intención de determinar la regularidad en el uso de aplicaciones móviles o web para solicitar sus servicios de transporte y en la cual se hace referencia al requerimiento funcional (RF-003 y RF-005)
Figura 7 Resumen de Respuestas Pregunta 6 del Cuestionario Escrito
Como se expone en la Figura 7 Resumen de Respuestas Pregunta 6 del Cuestionario Escrito, se puede apreciar la frecuencia con el que los usuarios utilizan las plataformas del sector transporte para movilizarse, en ello se detecta que tan solo 3% de los encuestados no usan ninguna plataforma web y/o móvil para movilizarse, también se puede denotar que los usuarios ocasionales encuestados son 62.4 %, equivalente a 63 personas que usan este tipo de aplicaciones durante el mes, durante la semana teniendo en cuenta las tres primeras opciones los usuarios que utilizan este tipo de aplicaciones del sector transporte equivalen a 34.7%, equivalente a 35 personas; esto indica la regularidad de uso de este tipo de aplicaciones y la necesidad de que el servicio de transporte especial terrestre cuente más plataformas para gestionar sus servicios y ser más competitivos.
Intención de la pregunta 7: Esta pregunta pretende indagar con qué frecuencia viajaría en el transporte especial terrestre si contara con una plataforma web y/o móvil y en la cual se hace referencia al requerimiento funcional (RF-003 y RF-005)
Figura 8 Resumen de Respuestas Pregunta 7 del Cuestionario Escrito
Como se puede apreciar en la Figura 8 Resumen de Respuestas Pregunta 7 del Cuestionario Escrito, se puede identificar con qué frecuencia solicitarían los usuarios los servicios de transporte especial terrestre si tuviera una plataforma para solicitarlos y tan solo el 1% no solicitaría el servicio si existiera la plataforma, por consiguiente, una aplicación web y/o móvil es necesaria para fomentar el uso del servicio de transporte especial terrestre, diferente al servicio de transporte público tradicional.
Intención de la pregunta 8: Esta pregunta busca determinar la percepción accesibilidad del servicio de transporte especial terrestre y se relaciona con los requerimientos no funcionales (RNF-001 y RNF-003)
Figura 9 Resumen de Respuestas Pregunta 8 del Cuestionario Escrito 1%
Como se expone en la Figura 9 Resumen de Respuestas Pregunta 8 del Cuestionario Escrito, se denota la percepción de accesibilidad que tiene los usuarios del servicio de transporte especial terrestre, a lo cual el 35.6% de los encuestados, equivalentes a 36 personas percibe que es sencillo de contratar el servicio si se conoce la condiciones para movilizarse en él, sin embargo 30.7%
equivalente a 31 personas, manifiesta que requiere una plataforma web y/o móvil para contratar el servicio, el 17.8% equivalente a 18 personas detallan que es un servicio difícil de contratar y por último 15.8% equivalente a 16 personas no adhieren a ninguna de las opciones, se puede indagar que el servicio requiere aclarar condiciones para contratarlo y que es necesario de plataformas que facilite su uso.
Intención de la pregunta 9: Esta pregunta tiene como objetivo determinar la percepción de seguridad del servicio de transporte en general, si contará con una plataforma web y/o móvil que contenga los datos del conductor, el trayecto del viaje y su costo, en el cual se relaciona los requerimientos funcionales (RF-001, RF-002) y el requerimiento no funcional (RNF-002)
Figura 10 Resumen de Respuestas Pregunta 9 del Cuestionario Escrito
Como se expone en la Figura 10 Resumen de Respuestas Pregunta 9 del Cuestionario Escrito, se denota que la percepción de seguridad al momento de movilizarse es mayor si una plataforma contiene los datos del conductor, el trayecto del viaje y su costo, entre las personas que están
4%
totalmente de acuerdo y en desacuerdo se tiene un porcentaje del 77.2%, equivalente a 78 encuestados, indicando que estos datos aumentan la percepción seguridad al solicitar servicios de transporte mediante plataformas tecnológicas.
Intención de la pregunta 10: Esta pregunta busca identificar los aspectos primordiales que debería tener una plataforma web y/o móvil para el transporte especial terrestre y se relaciona los requerimientos funcionales (RF-001, RF-005, RF-006 y RF-007).
Figura 11 Resumen de Respuestas Pregunta 10 del Cuestionario Escrito
Como se expone en la Figura 11 Resumen de Respuestas Pregunta 10 del Cuestionario Escrito, el 57.4% de los encuestados, equivalente a 58 personas, detallan que si se creara una plataforma web y/o móvil del servicio de transporte especial terrestre, debería contener los datos referentes a los tipos usuarios, tipos de vehículos, datos de la empresa y kilómetros que tiene la ruta, así mismo la opción individual con mayor selección hace referencia a mostrar durante la solicitud de un viaje los datos de la empresa y los conductores.
5.9%
7.9%
2.3 Propósito
La siguiente sección tiene como propósito definir las especificaciones funcionales, no funcionales para el desarrollo del Sistema de información de solicitud de viajes que permitirá gestionar distintos procesos administrativos y rutas óptimas para los conductores.
2.4 Personal Involucrado
Nombre Santiago Vásquez Romero
Rol Analista, diseñador y programador
Categoría Profesional Tecnólogo en análisis y diseño de sistemas de información Responsabilidad Análisis de información, diseño y programación del SIS-
V
Información de contacto [email protected]
Nombre Carlos Eduardo Niño Silva
Rol Analista, diseñador y programador
Categoría Profesional Tecnólogo en análisis y diseño de sistemas de información Responsabilidad Análisis de información, diseño y programación del SIS-
V
Información de contacto [email protected]
Nombre Yohand Ricardo Malagón Hernandez
Rol Analista, diseñador y programador
Categoría Profesional Tecnólogo en análisis y diseño de sistemas de información Responsabilidad Análisis de información, diseño y programación del SIS-
V
Información de contacto [email protected]
Nombre Diego Alejandro Silva Torres
Rol Analista, diseñador y programador
Categoría Profesional Tecnólogo en análisis y diseño de sistemas de información Responsabilidad Análisis de información, diseño y programación del SIS-V Información de contacto [email protected]
Tabla 1 Personal Involucrado en el Proyecto
¡Error! No se encuentra el origen de la referencia.
del levantamiento de requerimientos
Nombre Descripción
Usuario Persona que usará el sistema para gestionar procesos
SIS-V Sistema de información de solicitud de viajes para pymes de transporte especial terrestre.
ERS Especificación de Requisitos Software RF Requerimiento Funcional
RNF Requerimiento No Funcional
FTP Protocolo de Transferencia de Archivos
Tabla 2 Acrónimos y Abreviaturas del Levantamiento de Requerimientos
2.6 Descripción general 2.6.1 Perspectiva del producto
El prototipo web será un producto diseñado para trabajar en entornos WEB, lo que permitirá su utilización de forma rápida y eficaz, además se integrará juntamente con las diferentes APIS utilizadas para la construcción de este.
2.6.2 Características de los usuarios
Tipo de usuario Administrador
Formación Ingeniero de sistemas
Actividades Control y manejo del sistema en general Tipo de usuario Funcionario
Formación Cualquier tipo de educación formal
Actividades Facilitar el proceso de aprendizaje del aplicativo
Tipo de usuario Pasajero
Formación Cualquier tipo de educación formal Actividades Asignación de viajes
Tabla 3 Características de los Usuarios
2.6.3 Restricciones
• Interfaz para ser usada con internet.
• Uso de Dominio
• Lenguajes y tecnologías en uso: HTML, ANGULAR, NODE JS Y APIS.
• Los servidores deben ser capaces de atender consultas concurrentemente.
• El sistema se diseñará según un modelo cliente/servidor.
• El sistema deberá tener un diseño e implementación sencilla, independiente de la plataforma o del lenguaje de programación.
2.6.4 Suposiciones y dependencias
• Se asume que los requisitos aquí descritos son estables
• Los equipos en los que se vaya a ejecutar el sistema deben cumplir los requisitos antes indicados para garantizar una ejecución correcta de la misma
2.7 Requisitos específicos
2.7.1 Requerimientos Funcionales
Código Descripción
RF-001 Desarrollar un método autenticación que permita a las empresas, conductores y administrador registrarse al prototipo.
RF-002 Construir un método de log in que permita acceder al sistema mediante las credenciales asignadas en el método de autenticación.
RF-003 La empresa interesada en solicitar los servicios de transporte especial terrestre notificara a la pyme para gestionar la flota de vehículos de placa blanca.
RF-004 El administrador será el encargado gestionar los servicios solicitados por las empresas.
RF-005 Los conductores podrán consultar la agenda de los viajes que le fueron asignados.
RF-006 El sistema permitirá las operaciones de CRUD en la base de datos (Insertar, Modificar, Leer y Borrar)
RF-007 El sistema permitirá calcular los viajes.
Tabla 4 Requerimientos Funcionales
2.7.2 Requerimientos No Funcionales.
Código Descripción
RNF-001 El prototipo web contara con un front end de full responsive que se adapte a cualquier tamaño de pantalla.
RNF-002 El prototipo web tendrá una capa de seguridad la cual restringirá la información mediante roles y perfiles.
RNF-003 Todos los elementos gráficos o de diseño deberán de estar optimizados con la infraestructura del prototipo.
RNF-004 El prototipo web a nivel de carga deberá soportar 1000 peticiones por segundo.
RNF-005 La integración de los datos debe ser coherente con la integración del prototipo.
Tabla 5 Requerimientos No Funcionales
2.8 Requisitos comunes de las interfaces
2.8.1 Interfaces de usuario
La interfaz con el usuario consistirá en un conjunto de ventanas con botones, listas y campos de textos. Ésta deberá ser construida específicamente para el sistema propuesto y, será visualizada desde un navegador de internet.
2.8.2 Interfaces de hardware
Será necesario disponer de equipos de cómputos en perfecto estado con las siguientes características:
• Adaptadores de red.
• Procesador Inter CORE I3 3100
• Memoria ram mínima de 4GB.
• Mouse.
• Teclado.
2.8.3 Interfaces de software
• Sistema Operativo: Windows 10.
• Explorador: Mozilla o Chrome.
• Visual Studio Code
• Gestor de base de datos
2.8.4 Interfaces de comunicación
Los servidores, clientes y aplicaciones se comunicarán entre sí, mediante protocolos estándares en internet, siempre que sea posible. Por ejemplo, para transferir archivos o documentos deberán utilizarse protocolos existentes (FTP u otros convenientes).
Capítulo 3: Modelado y desarrollo de base de datos
3.1 Marco teórico de modelado y desarrollo de la base de datos
En este apartado se detallarán las investigaciones relacionadas entorno a la base de datos con el fin de determinar, que es una base de datos, las operaciones que se puede realizar mediante las estructuras de datos que se utilizara y su posterior creación y utilización en el problema seleccionado del servicio de transporte especial terrestre.
¿Qué es una base de datos?
Una definición básica seria que una base de datos es un conjunto de datos ordenados, pero es mucho más, día a día las personas interactúan con una gran cantidad de bases de datos ya sea mientras trabaja o en sus tiempos libres, las personas no lo perciben, pero todo lo que hace queda registrado en algún lugar como, por ejemplo, el transporte público cuando se utiliza queda un registro de la entrada de esa persona al sistema, lo cual alimenta una o varias bases de datos. Para el desarrollo de software la base de datos es un pilar fundamental, ya que en esta contendrá todos los datos que utilizará para su funcionamiento.
Según Spona aclara que la organización de una base de datos: “Dependiendo de que formato de
base de datos se utilice, los datos se organizaran de una forma o de otra.” (Spona, 2010).
Antes de realizar una base de datos se requiere crear varios tipos de diagramas, estos ayuda a obtener un panorama claro del aplicativo a desarrollar, con la opción de ver el funcionamiento y la estructura de la información, con esta estructura se crea el formato que tendrá la base de datos y de acuerdo a esta se organiza de diferentes formas, siempre enfocado a optimizar el esquema lógico, en esta etapa cuando se haya realizado las tablas con sus caracteres, las llaves primarias y foráneas es cuando se debe realizar un proceso llamado normalización el cual se encarga de mejorar el esquema lógico creado, este proceso es fundamental ya que nos garantizara que se evite la duplicidad de los datos, no se genere redundancia, la base de datos tenga la mejor estabilidad, disminuya los problemas que se pueda presentar en caso de actualizar los datos en las tablas, protege la integridad de los datos y garantiza que la estructura resultante se acerque lo posible al modelo del negocio del cliente. Se debe llevar a cabo una serie de pasos o instrucciones en donde se aplica la normalización los cuales son las siguientes:
Primera forma normal
Esta primera forma se cumplirá cuando se revise las tablas y estas no deberán contener atributos repetidos, en caso de que se dupliquen se tendrá que realizar una tabla aparte la cual tendrá que ser anexada a la tabla principal mediante una llave foránea.
Segunda forma normal
Para pasar a la segunda forma normal se deberá cumplir primero con la regla de normalización previa, una vez cumplido con esto se procede a que todos atributos que no sean la llave primaria deberán ser dependientes de dicha llave.
Tercera forma normal
Como ocurrió en la anterior forma normal, se deberá cumplir con la regla de normalización previa,
esta forma resuelve los problemas que se ocasionan por la dependencia funcionales entre atributos no claves, lo quiere decir, es que el objetivo principal de todas las claves que no sean primarias no tenga dependencias funcionales con otros atributos que tampoco se encuentren como llaves primarias.
Una vez realizada la normalización a la base de datos se procederá a implementar un gestor de base de datos, Ibáñez nos define este término como:
El sistema de gestión de una base de datos (SGBD) es una aplicación que permite a los usuarios definir, crear y mantener bases de datos, proporcionando acceso controlado a las mismas, Es una herramienta que sirve de interfaz entre el usuario y las bases de datos.
(Ibañez, 2006, pág. 120).
Este gestor tiene principalmente la función de realizar cuatro operaciones básicas que se aplican tanto para la estructura de los datos, como para los mismos datos, estas operaciones son crear o insertar, realizar consultas, actualizar y eliminar, de tal manera que sea eficaz y coherente.
También existe una función llamada triggers (disparador), más que una función es un tipo de rutina almacenada la cual se ejecuta cuando se realiza un suceso sobre alguna tabla a la cual este asociado, esta rutina se activa cuando se realiza algún tipo de operación en la tabla, en caso de que se active dejara un informe en otra tabla específica para los triggers registrando los cambios que se realizaron.
En este proyecto se implementará un sistema gestor de base de datos el cual es un software llamado MySQL, es un motor de base de datos relacional de tipo de código abierto, está programado en C/C++, este funciona mediante un servidor en el cual se realiza la conexión con el cliente o clientes, el lenguaje que utiliza para la gestión de los datos es SQL.
La razón por la que se utiliza el sistema gestor de base de datos MySQL frente a otros lo podemos
visualizar en la siguiente grafica de diferencias.
Tabla 6 Tabla de diferencias SGBD
Se determino según las características principales de los diferentes SGBD evaluados, que MySQL, por sus características principales e inicializando por su fácil instalación en múltiples sistemas operativos, es la adecuada para el proyecto, ya que es ágil y consume pocos recursos, además tiene una amplia documentación y es la más efectiva para los entornos web que tengan una base de datos pequeña o mediana, sin olvidar que la licencia es de tipo open source por lo cual la hace gratuita y no generaría algún costo.
3.2 Acrónimos y abreviaturas del Modelado y desarrollo de base de datos
Nombre Descripción
Normalización Proceso por el cual se debe organizar los datos de una base de datos.
MySQL Sistema de gestión de bases de datos relacional SQL Lenguaje de consulta estructurada
BD Base de datos
1FN Primera forma normal 2FN Segunda forma normal 3FN Tercera forma normal
C Es un lenguaje de programación orientado a implementación de sistemas operativos
C++ Es un lenguaje de programación orientado a objetos.
Tabla 7Acrónimos y abreviaturas del Modelado y desarrollo de base de datos
3.3 Modelo relacional
Como se observa en la Figura 12 Modelo relacional, se detalla las entidades del proyecto, la cual consiste en mostrar mediante las tablas, las diferentes relaciones que existen entre los datos.
Figura 12 Modelo Relacional
3.4 Diccionario de datos
Como se expone en la tabla 7 Diccionario de datos, contienen las características lógicas y exactas de los datos que utilizara la base datos, como también la descripción detallada de cada campo.
Tabla 8 Diccionario datos
Llave Nombre del campo Nulo Tipo dato Tamaño Descripción
PK (Primaria) nit_empre No varchar 11 Identificador único de la empresa
nombre_empre No varchar 30 Apartado para ingresar el nombre de la empresa
telefono_empre No int 10 Telefono de contacto de la empresa
direccion_empre Si varchar 50 Dirección de la empresa
correo_empre No varchar 50 Correo electronico de la empresa
PK (Primaria) id_tipo_documento No int 10 Numero único de tipo de documento
nombre_tipo_documento No varchar 20 Nombre del tipo de documento
Llave Nombre del campo Nulo Tipo dato Tamaño Descripción
PK (Primaria) cedula No int 10 Numero único de identificación del usuario
FK(Foranea) -
>Tipo_Documento
(id_tipo_documento) id_tipo_documento No int 10 Numero único de tipo de documento
FK(Foranea) ->Empresas
(id_empresa) nit_empre No int 11 Identificador y llave foranea del la tabla empresas
nombres_usu No varchar 40 Nombres de los usuario
apellidos_usu No varchar 40 Apellidos de los usuarios
telefono_usu No int 10 Telefono de los usuarios
direccion_usu Si varchar 50 Dirección de los usuarios
correo_usu No varchar 50 Correo electronico de usuarios
contraseña No varchar 25 Contraseña de los usuarios
roles No json N/A
Rol de los
usuarios(Administrador,Funcionario,Conductor,etc.)
Llave Nombre del campo Nulo Tipo dato Tamaño Descripción
PK (Primaria) placa_vehi No varchar 10 Identificador único de los vehiculos
color No varchar 40 Tipo de vehiculo
descrip_vehi No varchar 100 Observación adicional sobre el vehiculo
FK(Foranea) -
>tipos_vehiculos(id_tipo_
vehi) id_tipo_vehi No varchar 3 Identificador y llave foranea del la tabla Tipo_vehiculos
PK (Primaria) id_tipo_vehi No int 3
Identificador único y autonumerado de tipo de vehiculos
nom_tipo_vehi No varchar 30 Nombre tipo de vehiculo.
cant_plazas No int 3 Cantidad de asientos del vehiculo
Llave Nombre del campo Nulo Tipo dato Tamaño Descripción
PK (Primaria) id_viaje No int 8 Identificador autogenerado del viaje
origen No varchar 40 Lugar de recogida del pasajero
destino No varchar 40 Lugar de destino del pasajero
valor No double (255,5) Precio del viaje
Llave Nombre del campo Nulo Tipo dato Tamaño Descripción
PK (Primaria) id_solicitud No int 8 Identificador autogenerado de la solicitud
FK(Foranea) ->Usuarios
(id_usuario) id_usuario No varchar 8 Identificador y llave foranea del la tabla usuarios
FK(Foranea) -
>Viajes(id_viaje) id_viaje No int 4 Identificador y llave foranea del la tabla viajes
FK(Foranea) -
>Vehiculos(placa_vehi) placa_vehi No int 4 Identificador y llave foranea del la tabla vehiculos
descripcion_soli Si varchar 40 Descripción de la solicitud
fecha_hora_soli No datetime N/A Fecha y hora de la solicitud del viaje
Tipo_Documentos
Usuarios
Vehiculos
Viajes
Solicitudes_usu_via Tipos_vehiculos
Empresas Versión:
MD-01-01 1 Codigo:
Diccionarios de datos
Capítulo 4: Desarrollo del prototipo web
4.1 Acrónimos y abreviaturas del desarrollo del prototipo web
Nombre Descripción
HTML HyperText Markup Language (Lenguaje de marcado de hypertexto)
CSS Cascading Style Sheets (Hojas de estilo en cascada) MVC Model, View, and Controller (Modelo vista
controlador)
Back-End Apartado lógico y no visible del sitio web Front-End Apartado visual en la cual interactúa el cliente
Open Source
Código abierto (Fuente abierta)
Bcrypt Algoritmo de hash para cifrado de contraseñas
JWT Token Estándar e instrumento de seguridad de identidad codificado en objetos tipo Json.
Web Responsiva
Adaptación del tamaño de un sitio web a cualquier dispositivo.
OSM Open StreetMap
Tabla 9 Acrónimos y abreviaturas del desarrollo del prototipo web
4.2 Marco teórico del desarrollo del prototipo del web
En este apartado se detallarán las investigaciones relacionadas con el entorno del desarrollo del prototipo web, los conceptos teóricos y definiciones del proyecto.
En primera instancia HTML es un lenguaje de marcado para la realización de sitios web, que permite a los navegadores acceder a las páginas del sitio; sus siglas en español corresponden a lenguaje de marcado de hipertexto y en las buenas prácticas actuales, se separa el contenido del diseño; un archivo CSS contiene diferentes estilos que se conecta con el contenido, es decir con el HTML, con el objetivo de asignar una presentación coherente al sitio web, ya sea mediante el uso de clases, identificadores o llamados de etiquetas; sus siglas en español corresponden a hojas de
estilo en cascada, además para este proyecto se utiliza una variación de hojas de estilo, más reciente que CSS, esta se le conoce como SASS, su significado en español corresponde hojas de estilo sintácticamente impresionantes y a diferencia de su antecesor permite utilizar variables y funciones matemáticas, con el objetivo de tener un código más organizado y simplificado, estos scripts terminan con una extensión de texto plano SCSS y son compilados como archivos CSS.
Un validador en HTML se emplea para identificar, comprobar, y examinar errores dentro del código, como también para minimizar errores que pueda cometer un usuario al momento de manipular el sitio web; un validador bastante importante para este proyecto son los que se encuentran en los diferentes tipos de input que tiene el sitio web, como son los de tipo texto donde por ejemplo se puede limitar la cantidad de caracteres que puede recibir ese campo, en los input de tipo numérico por ejemplo se puede dejar la condición de solo recibir números enteros; como también especificar que ciertos campos son obligatorios para que un formulario pueda realizar él envió correcto de datos a una base de datos.
¿Por qué usar angular?
Antes de abordar el respectivo framework usado en este proyecto, es importante definir este término por consiguiente, un framework es una estructura de trabajo que ofrece una plantilla que tiene el objetivo de simplificar el esfuerzo que debe realizar un programador, el tiempo que se puede emplear en el desarrollo, reducir la complejidad y evitar la repetición de código; también aprovechar las diferentes herramientas que esta estructura de trabajo le ofrece al programador, como por ejemplo realizar la conexión a una base de datos; ahora bien angular es un framework opensource que permite realizar aplicaciones web, que se basa en el patrón de diseño conocido como MVC en donde sus siglas en español corresponde a modelo vista controlador, es decir divide el front end del back end, con el objetivo de hacer la aplicación web escalable y de desarrollo ágil,
una ventaja que tiene angular frente a otros frameworks similares es la instalación de dependencias, que no es más que un patrón de diseño orientado a los objetos, que permite solicitar servicios mediante realización de instancias para consumir métodos externos, otra ventaja que tiene el framework es la utilización del lenguaje de programación de alto nivel conocido como TypeScript, que a diferencia de JavaScript incluye varias cualidades para escribir código de manera más sencilla y limpia, con objetivo de minimizar los errores, TypeScript permite compilarse desde JavaScript, con la ventaja de contener una variedad de herramientas que dispone una programación orientada a los objetos, mejor organización del código y el establecimiento de estructuras que permite trabajar sobre interfaces y la estructura de datos.
Que es NodeJS y por qué usarlo
En programación Node.js es utilizado para la realización de aplicaciones, prestándose como un entorno de tiempo de ejecución, este ejecuta su código abierto JavaScript y permite escalar scripts de forma más rápida.
Este entorno de ejecución JavaScript tiene varias características que lo hacen una herramienta contemporánea y recomendable para el uso de aplicaciones en la red de múltiples procesos, veamos con detalle alguna de sus características:
✓ Soporta de un servidor incorporado
✓ Uso de una sintaxis por el lado del cliente y del servidor, además que su lenguaje es similar al de JavaScript
✓ La implementación de módulos descargables
✓ Se pueden combinar el uso de bases de datos como SQL, NoSQL y JSON
Cabe aclarar que Node.js no es lenguaje de programación, más bien se asemeja a un denominado
“framework”. para algunos proyectos es necesario la implementación de sistemas que generen un
mayor beneficio a futuro y sean escalables. Tenemos a Node.js como la más popular tecnología en lenguajes de programación, a continuación, se expone una comparativa en la Tabla 10. PHP vs NodeJs
PHP vs NodeJS
PHP Node.js
Fecha de realización 08/06/1995 27/05/2009 Gestor de
dependencias
Composer NPM
Popularidad en 2018 28.1% 62.5%
Entorno Back-end Fullstack
Aplicaciones Orientado a la web Amplio rango de aplicaciones
Desarrollo en HTML HTML, XML, AJAX
Frameworks AngularJS – ReactsJS - Laravel
AngularJS – ReactsJS - Express
Tabla 10 PHP vs NodeJs
Nota (Talledos, 2018) tabla realizada por Malagón. Y 2021
Por lo tanto, vemos que la implementación de esta tecnología permite una mayor escalabilidad y evita costos a largo plazo, en migraciones e implementación de funcionalidades en diferentes entornos, permite una más rápida implementación de scripts y también al ser una tecnología nueva tiene una robustez y por lo tanto mayor remuneración en términos de empleo para desarrolladores.
Cuando se quiere realizar una aplicación permitirá desarrollar en Full-stack todo el código, sin necesidad de recurrir a otros lenguajes como PHP y los módulos implementados se pueden utilizar ampliamente en el proyecto simplemente descargándolo.
¿Como se cifra las contraseñas?
Para el cifrado de las contraseñas de los diferentes usuarios del prototipo web, se implementa una de las librerías disponibles en NodeJS, que recibe el nombre de Bcrypt, el cual es un algoritmo de hash para cifrado de contraseñas y también de archivos, se basa en el cifrado de Blowfish que consiste en bloques separados de 8 bytes y con una llave de una envergadura variable que puede