339 Final

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 108

INDICE GENERAL

INDICE DE FIGURAS .......................................................................................... iv

INDICE DE TABLAS ............................................................................................ vi

INTRODUCCIÓN .................................................................................................. 1

CAPITULO I .......................................................................................................... 4

EL PROBLEMA..................................................................................................... 4

1.1 Planteamiento del problema. .................................................................... 4

1.2 Objetivos................................................................................................... 8

1.2.1 Objetivo General .............................................................................8

1.2.2 Objetivos Específicos ......................................................................8

1.3 Alcance ..................................................................................................... 9

CAPITULO II ....................................................................................................... 10

MARCO TEÓRICO ............................................................................................. 10

2.1 Antecedentes de la investigación ........................................................... 11

2.2 Bases teóricas ........................................................................................ 14

2.2.1 Internet, intranet y extranet ........................................................... 14

i
2.2.2 Tecnología web ............................................................................. 17

2.2.3 Lenguaje de etiquetado HTML ...................................................... 19

2.2.4 Lenguaje PHP ............................................................................... 22

2.2.5. Servidores Web............................................................................ 24

2.2.6 Aplicaciones web .......................................................................... 31

2.2.7 Dispositivos móviles ...................................................................... 36

2.2.8 Base de Datos............................................................................... 39

2.2.9 Metodología RUP .......................................................................... 47

2.2.10 Lenguaje de Modelado Unificado ................................................ 61

2.2.11. Teoría General de Sistemas, Van Gigch. .................................. 74

2.3 Funcionamiento de una empresa de envíos. .......................................... 76

2.4 Descripción de la empresa Liberty Express c.a ...................................... 78

CAPITULO III ...................................................................................................... 85

MARCO METODOLOGICO ................................................................................ 85

3.1 Tipo de investigación .............................................................................. 85

3.2 Técnicas de recopilación de datos ......................................................... 86

3.3 Estrategia Metodológica ......................................................................... 88

ii
REFERENCIAS BIBLIOGRAFICAS .................................................................... 99

iii
INDICE DE FIGURAS

Figura 2.1 Bases Teóricas .................................................................................... 10

Figura 2.2 Estructura básica de un documento HTML o página web. ................... 21

Figura 2.3 Proceso del Servidor Web ................................................................... 26

Figura 2.4. Interfaz en la barra de tareas .............................................................. 30

Figura 2.5. Esquema de aplicación web ............................................................... 33

Figura 2.6. Tablas de una base de datos .............................................................. 41

Figura 2.7. Esfuerzo en actividades según fase del proyecto ............................... 50

Figura 2.8. Ejemplo de diagrama de casos de uso. .............................................. 62

Figura 2.9. Elementos para la representación de casos de uso. .......................... 63

Figura 2.10. Ejemplo de diagrama de Clases ....................................................... 65

Figura 2.11. Realización de casos de uso en estructura de clases de análisis .... 66

Figura 2.12. Clase de entidad ............................................................................... 67

Figura 2.13. Clase de interfaz ............................................................................... 68

Figura 2.14. Clase de control ................................................................................ 68

Figura 2.15. Ejemplo de diagrama de colaboración .............................................. 70

Figura 2.16. Ejemplo de diagrama de secuencia .................................................. 71

iv
Figura 2.17. Ejemplo de diagrama de estados...................................................... 73

Figura 2.18. Representación de un sistema.......................................................... 75

Figura 2.19. Estructura Organizativa de Liberty Express c.a. ............................... 80

v
INDICE DE TABLAS

Tabla 2.1 Tipos de relaciones de casos de uso .................................................... 64

vi
INTRODUCCIÓN

La automatización de procesos, comunicaciones y la evolución de la

tecnología, ha tenido actualmente una influencia estratégica en los negocios. La

industria del courier ha ido adoptando poco a poco estos avances en vista de los

beneficios y mejoras en la productividad. La empresa Liberty Express c.a. ya ha

dado un paso en este sentido al desarrollar un portal Web para recibir solicitudes

de servicio de los clientes, sin embargo, las tareas que se vienen realizando de

forma manual en el área de logística del Centro de Distribución están generando

retrasos en la información relativa a los traslados por el transporte terrestre. La

directiva de Liberty Express ha solicitado a la consultora Kaisen Software c.a. el

desarrollo de una aplicación integrada al sistema actual que automatice la gestión

de la información sobre el estado de los traslados de paquetes en tiempo real,

para que los choferes de los transportes puedan actualizar el estado de las

encomiendas valiéndose de dispositivos móviles.

La aplicación web desarrollada actualiza el estado del traslado de paquetes en

el sistema central de la empresa Liberty Express. Esta aplicación móvil se integra

al sistema a través de la base de datos MYSQL, su desarrollo se basó en la

tecnología de aplicaciones web, es decir: páginas web con funciones que

permiten a los usuarios ejecutar tareas con ella, son multiplataformas,

independientes y de bajo costo de mantenimiento. La estructuración de los pasos

1
requeridos para la creación de este software, se realizó con el uso de la

metodología RUP, por ser adaptable, iterativa e incremental en todas sus fases.

Esta metodología garantiza que el producto software resultante sea robusto y de

gran calidad. Para la representación del sistema actual con la aplicación web

integrada al mismo, se siguió la representación de sistemas creada por Van Gich

(2000). La construcción de la aplicación web se ejecutó con el uso del lenguaje

estándar PHP y el gestor de base de datos MYSQL, con el auxilio del software de

servidor local WebApache XAMPP que permitió la creación de un ambiente local

de desarrollo y pruebas. Asimismo, se utilizaron las hojas de estilo CSS para

generar los detalles estéticos de la maqueta y el control en la presentación de los

contenidos en el navegador, tales como los tipos, tamaños de letra, colores y

otros.

Para este informe los puntos a exponer se encuentran organizados de la

siguiente manera; en el capítulo I se muestra El Problema, donde se describe

brevemente a la empresa, se expone la situación actual, el problema detectado y

se propone una solución. Se establece el objetivo general y los objetivos

específicos a lograr con el trabajo desarrollado. En el capítulo II se describe el

Marco Teórico, donde se expone el contenido teórico que sustenta el trabajo

realizado, los antecedentes de la investigación y las bases teóricas requeridas

para el desarrollo de la investigación, así como una descripción general de la

empresa y del área específica donde se desarrollará el proyecto y un glosario de

2
términos. Para finalizar en el capítulo III, que presenta el Marco Metodológico,

donde se describe el tipo de investigación a desarrollar y la metodología

seleccionada para realizar el trabajo.

3
CAPITULO I

EL PROBLEMA

En este capítulo se describe el área problemática detectada en el contexto de

la empresa Liberty Express c.a., se presentan los objetivos alcanzados y por

último se expone el alcance del proyecto desarrollado.

1.1 Planteamiento del problema.

Liberty Express es una empresa de courier dedicada a la recepción de

paquetería aérea internacional (courier) proveniente de USA y Europa hacia

Venezuela, no ofrece el servicio de envío fuera del país, sólo recepción desde el

exterior. Dentro del territorio nacional ofrece un servicio de traslados de paquetes

entre estados y urbanos.

Para operar han instalado un Centro de Distribución en la ciudad de Caracas

que recibe todos los paquetes tanto del exterior como nacionales y ha formado

una red de distribución nacional con el apoyo de 16 sucursales en los estados:

Aragua, Barcelona, Barinas, Barquisimeto, Bolívar, Carabobo, Miranda,

Maracaibo, Nva. Esparta, Táchira y Vargas. Las tareas del Centro de Distribución

se concentran en la logística de intercambio y actualización del estado de los

4
paquetes, y no recibe solicitudes de servicio directamente de los clientes. Para

esto último se encuentran las sucursales, donde los clientes pueden depositar,

retirar paquetes y realizar pagos por taquilla con tarjeta de débito o crédito, a la

vez que se actualiza el sistema.

La empresa cuenta con una página Web que permite realizar solicitudes en la

comodidad del hogar u oficina del cliente, sólo basta con llenar un formulario

denominado "Guía de Servicio" para registrar en el sistema la información y

solicitar el servicio a saber: si viene del exterior o es nacional, si se recoge y/o

entrega a domicilio; si el pago se realizará por medio de depósito, transferencia,

pago online Provincial o por taquilla de sucursal.

En el Centro de Distribución de Caracas los paquetes son recibidos,

clasificados, actualizados en el sistema y enviados al destino correspondiente.

Estas tareas las realiza el área de logística y se efectúa manualmente. Para los

traslados entre el Centro de Distribución, las sucursales o domicilio de los

clientes, se utilizan los camiones de la flota. La empresa actualmente posee una

flota de sesenta (60) transportes terrestres para cubrir las rutas nacionales y

locales.

El servicio de traslado se inicia cuando el cliente introduce en el sistema sus

datos y la información del paquete que desea enviar, lo cual queda registrado en

el sistema de Liberty Express como una "Guía de Servicio". El Área de Logística

5
manualmente clasifica las "Guía de Servicio" por destinos y les asigna una ruta

con su respectivo chofer de transporte terrestre. El servicio de traslado puede ser

de recogida de paquetes en el domicilio del cliente y llevado al almacén principal,

si está en Caracas, o a la sucursal más cercana en el resto del país; así como de

despachar paquetes, desde el almacén principal hacia su destino final, sucursal o

domicilio del cliente. En este servicio se incluyen los envíos que no pudieron ser

entregados el día anterior. El área de logística también tiene el deber de conocer

en todo momento el paradero exacto de los paquetes, para tener actualizado al

sistema de la empresa y a los clientes, esta función no está automatizada y no se

tiene ningún control sobre ella. Esto es debido a que en todo el proceso no hay

información en tiempo real, sino hasta el momento en que regresa el chofer del

transporte al almacén principal con el reporte de su trabajo, en un formato

elaborado manualmente.

En el Centro de Distribución en Caracas, que es un sitio de operaciones internas

de la empresa y no tiene taquillas de servicio para los clientes, el proceso se

realiza utilizando la flota de camiones de la empresa, y se divide en dos fases:

 Entregas: Las cuales corresponden a la acción de entregar el paquete, por

medio del camión, al domicilio del cliente, el cual se realiza en el horario

comprendido de 2 p.m. a 6 p.m.

6
 Recolecta: Corresponde a la búsqueda del paquete en el domicilio del

cliente para trasladarlo al almacén, el cual, posteriormente, deberá ser

entregado a su destino correspondiente, que puede ser un domicilio o una

sucursal de la empresa, y se realizan entre las 8 a.m. y 2 p.m. Esta acción

sólo se efectúa a nivel nacional.

Es importante hacer notar que las recolectas, así como las entregas pueden

sufrir retrasos por causas ajenas a la empresa. Algo que torna aún más grave la

situación, es el hecho que en el Área de Logística, el procedimiento para la

actualización de la información se realiza de forma manual. La combinación de

estos factores conlleva a que la empresa no disponga de información precisa y

actualizada en tiempo real sobre el estado de entregas o recolectas que hayan

sufrido retraso, y de las cuales los clientes soliciten conocer su estatus. Esta

situación ha provocado una pérdida de efectividad en las operaciones de la

compañía.

En razón de lo anterior, se ha detectado que existe un periodo de tiempo en el

que el sistema no tiene información sobre el estado y ubicación de las

encomiendas. Esto ocasiona que los clientes no dispongan de la información

actualizada por largos períodos de tiempo, por lo que han manifestado su

insatisfacción a la empresa. Los clientes plantean que sus operaciones tienen su

tiempo establecido, y es vital para sus negocios poder contar con sus paquetes en

7
el tiempo inicialmente planificado, o en el peor de los casos, tener información

actualizada sobre su estatus y ubicación.

Basado en lo planteado, la empresa Liberty Express requiere del desarrollo de

una aplicación articulada con el sistema actual que permita monitorear y controlar

en su totalidad el proceso de entrega y recepción de los paquetes en tiempo real.

Esta aplicación deberá permitir que los conductores de los transportes informen al

momento a través de un dispositivo móvil sobre las acciones que están realizando

relacionadas con los paquetes. De esta manera, los clientes por medio de una

consulta al sistema, tendrían la información a tiempo sobre el estatus de su

encomienda.

1.2 Objetivos

1.2.1 Objetivo General

Desarrollar una aplicación móvil para la gestión del servicio de traslado de

paquetes de la empresa Liberty Express.

1.2.2 Objetivos Específicos

• Caracterizar el sistema actual

• Definir los requerimientos del nuevo sistema

• Modelar el sistema propuesto.

8
• Implementar la aplicación.

• Probar la aplicación desarrollada.

• Elaborar un plan de implantación del nuevo sistema.

1.3 Alcance

El proyecto consistirá en el desarrollo de una aplicación Web orientada a su

uso mediante dispositivos móviles, que se articula con el sistema existente de

Liberty Express, la cual permitirá disponer de información actualizada en tiempo

real, relacionada con el estado de las encomiendas, igualmente los clientes

podrán obtener información confiable y actualizada cuando lo requieran.

El desarrollo de la aplicación se realizará hasta la fase de implementación, ya

que para realizar la implantación, se requiere la actualización de la plataforma

tecnológica de la empresa Liberty Express, sin embargo se desarrollará un Plan

de Implantación y se especificará la tecnología requerida para el buen

funcionamiento de la aplicación desarrollada lo cual servirá a la empresa como

instrumento guía para el acoplamiento de la nueva aplicación minimizando los

efectos negativos de la transición entre el escenario origen y el escenario destino.

9
CAPITULO II

MARCO TEÓRICO

En este capítulo se exponen los aspectos teóricos y técnicos en los que se

enmarca el presente proyecto. En la figura 2.1 se presenta un esquema para el

marco teórico.

Marco Teórico

2.1 2.2 2.3 2.4


Antecedentes de la Bases Teóricas Funcionamiento de una Descripción de la Empresa
investigación empresa de envíos Liberty Express c.a.

2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.2.10 2.2.11

Internet, Tecnología Lenguaje de Lenguaje Servi- Aplica- Dispositivos Bases Metodología UML Teoría Gral.
Intranet y Web etiquetado PHP dores ciones Móviles de RUP de Sistemas
extranet HTML Web Web datos de Van Gigch

• Páginas • CSS • Servidor Web • Entorno de • Smartphones • SGBD


web • Javascript Apache trabajo, IDE o • MYSQL
Framework.

Figura 2.1 Bases Teóricas


Fuente: Autor (2020)

10
2.1 Antecedentes de la investigación

Se realiza una revisión documental sobre trabajos anteriores cuya área de

estudio sea semejante a la de este proyecto, a saber: desarrollos de sistemas

web orientados a dispositivos móviles, a fin de obtener una base de información

para la elaboración del presente proyecto.

Entre los trabajos encontrados se puede mencionar el trabajo de grado de

Carvallo (2011), realizado como requisito para obtener el título de Ingeniero de

Sistemas en la Universidad Nacional Abierta UNA, titulado: "Prototipo de

comunicación basado en m-Learning como apoyo a la municipalización de la

educación universitaria en Venezuela". En este trabajo se plantea el diseño de un

prototipo para la distribución de material educativo, que junto con el uso de

dispositivos móviles, facilita el acceso de manera rápida y efectiva a los mismos.

Carvallo desarrolla una aplicación que almacena en una base de datos, temas de

diferente índole, que pueden ser actualizados en cualquier momento por un sólo

administrador designado. Los contenidos pueden ser obtenidos por el estudiante

sin importar fecha o lugar ya que se pueden acceder por medio de dispositivos

móviles conectados a internet. Para su desarrollo escoge el lenguaje de

programación PHP y el gestor de base de datos MYSQL por ser ambos de

licencia de distribución gratuita y por contar con un amplio catálogo de soporte en

internet. En la relación con este proyecto, se observa que coinciden los medios:

11
gestor de bases de datos, lenguaje de programación, entre otros; así como la

finalidad de la aplicación, distribución de información actualizada; con la

investigación que nos ocupa. Además de la metodología RUP para organizar y

desarrollar las actividades y tareas desarrolladas durante la ejecución del

proyecto.

Chavarriaga y Trejo (2014) también exploraron el área de aplicaciones web

orientadas a teléfonos inteligentes en su trabajo presentado como requisito para

optar al grado de Ingeniero de Sistemas y Computación en la Universidad

Tecnológica de Pereira, Colombia, titulado: "Prototipo para acceder a una historia

clínica electrónica desde un dispositivo móvil". Aquí los autores plantean que con

el advenimiento de la telemedicina hay una necesidad imperiosa de aplicaciones

que permitan tener información exacta en tiempo real y afirman que esto se puede

lograr mediante el uso de teléfonos celulares con acceso a tecnología Web. Con

base en lo planteado, proponen una aplicación Web para que paramédicos, por

medio de un teléfono inteligente y el acceso a una base de datos, puedan obtener

instantáneamente la historia clínica de un paciente mientras es trasladado en una

ambulancia. Aquí se observa una necesidad de información en tiempo real que es

solventada satisfactoriamente con el uso de teléfonos móviles, bases de datos y

tecnología web, lo cual es muy similar y sirve de base al tema tratado en la

presente investigación.

12
Por último, Galeano y Vasco (2010), de manera similar a los autores citados

anteriormente, incursionan en el área de tecnología web en su trabajo de grado

titulado: "Aplicación CM-Móvil, para el control de tiempos de atención al paciente

en clínicas por medio de dispositivos móviles" presentado en la Universidad de

Tecnológica de Pereira, Colombia, para obtener el título de Ingeniero en Sistemas

y Computación. La finalidad de este trabajo es obtener y enviar información

clínica, por medio de dispositivos móviles, para mejorar los tiempos de atención al

paciente. Han seleccionado la metodología RUP y el lenguaje PHP para el

desarrollo del software y el gestor de bases de datos MYSQL, lo cual constituye

un aval para el desarrollo de la aplicación móvil propuesta en este trabajo para

Liberty Express c.a.

En todos los trabajos presentados anteriormente se puede observar que el

acceso a un sistema web por medio de dispositivos móviles se plantea como

solución para situaciones que requieren de información exacta y en tiempo real y

en dos de los casos, los usuarios no interactúan con el sistema, solo consumen

información. Es importante señalar que en el presente proyecto se muestra como

novedad, que todos los usuarios son responsables de mantener actualizado al

sistema. De esta manera, la información es ingresada por los mismos usuarios al

momento de producirse los cambios y ellos disponen, en tiempo real, de toda la

información fidedigna y de calidad.

13
2.2 Bases teóricas

A continuación se exponen los conceptos teóricos con los que se sustenta la

investigación y que están relacionados con el área de estudio.

2.2.1 Internet, intranet y extranet

Los conceptos de redes de internet, intranet y extranet, funcionan

esencialmente de la misma manera, con la misma tecnología y protocolos, pero

se diferencian en los tipos de accesos que ofrecen, como se explica a

continuación.

El Internet es un conjunto descentralizado de redes de comunicación,

interconectadas por medio de un protocolo común de comunicación denominado

TCP / IP, Protocolo de Control de Transmisión / Protocolo de Internet, por sus

siglas en inglés. Se originó en el año 1969, cuando se estableció la primera

conexión de computadoras entre tres universidades de los Estados Unidos

(Leiner, Cerf, Clark, Kahn, Kleinrock, Lynch, y otros, 1997). Con el tiempo Internet

ha evolucionado para convertirse en una de las herramientas estándar al alcance

de todo el mundo, e indispensables en la vida cotidiana. Con el Internet se puede

transmitir datos de forma sincrónica, establecer comunicaciones con otras redes,

conectar personas por medio de texto, audio o video en tiempo real. Se ha

constituido en el estándar global para la comunicación entre cualquier tipo de red

14
y cualquier tipo de dispositivo tales como computadoras personales, teléfonos

inteligentes, tabletas y muchos otros más.

Internet está abierto a todo el público y ofrece varios servicios para que las

personas puedan acceder a la información de distintas maneras y formatos. Uno

de los servicios más populares es el World Wide Web, mejor conocido como la

Web, que fue desarrollado posteriormente al Internet en 1989 como medio para

compartir documentos científicos. En la página web de la W3C (1998) se define la

Web como un conjunto de protocolos que permiten la consulta de manera remota

de documentos de hipertexto utilizando un software navegador, tal como: Internet

Explorer, Google Chrome, Opera, etc. Estos documentos hipertexto contienen

vínculos para acceder a otros documentos, y estos contienen vínculos a otros

más, con lo cual se conforma una gran red de información. De ahí su nombre

Web que en inglés significa telaraña o red, y se escribe con mayúscula inicial para

referirse a la World Wide Web.

Aunque el servicio Web es actualmente el más conocido y utilizado de la red

Internet, no es el único. La página web de W3C (1994) describe los otros servicios

de Internet, entre los cuales se destaca el correo electrónico (e-mail), que consiste

en un medio para enviar y recibir mensajes electrónicos de manera casi

instantánea a cualquier parte del mundo. Otro servicio es el popular chat o

conversación en línea, que permite a varias personas llevar a cabo una

conversación en tiempo real por medio de texto e imágenes. El Telnet Service o el


15
acceso remoto de equipos, es muy útil para controlar una computadora de

manera remota y trabajar con ella como si fuera una terminal situada en la misma

habitación. El servicio para foros de discusión, que sirve para entablar debates

sobre temas diversos de manera remota. El servicio para la transferencia de

archivos, llamado FTP (File Transfer Protocol por sus siglas en inglés), para

transferir archivos entre equipos informáticos. Por último, el servicio de

videoconferencia que permite establecer comunicación por video en vivo entre

dos personas.

Afirma Luján (2002) que en la actualidad Internet es una herramienta preferida

por el usuario particular primordialmente para la comunicación, compras y

entretenimiento, mientras que las empresas lo aprovechan para publicidad,

ventas, atención al cliente, soporte de la misma empresa como el uso de

aplicaciones web con funcionalidades específicas.

Por su parte una intranet es una red informática que utiliza la misma

infraestructura, tecnología y protocolos de Internet para implementar las

tradicionales aplicaciones cliente/servidor dentro de una organización, (Leiner et

al., 1997). Es una red privada que amplía el alcance de la infraestructura de

tecnología de información de las empresas y puede estar compuesta de varias

redes locales. Por medio de programas de software especializado llamados

firewall se limita el ingreso a esta intranet solo a personas autorizadas de la

empresa. Los empleados pueden salir de la Intranet, pero los usuarios no


16
autorizados no pueden entrar a ella. Una intranet permite compartir funciones y

dispositivos como: mensajería electrónica, videoconferencia, impresoras, servir de

portal para la Web, etc., y es un canal de difusión de aplicaciones centralizadas

de gestión empresarial. Una gran ventaja de la intranet es que muchas personas

ya están familiarizadas con la Internet y la Web, por lo que necesitan poca

capacitación para hacer uso efectivo de la intranet de su corporación.

Cuando una parte definida de una intranet se hace accesible a personas

externas como por ejemplo: socios, vendedores, clientes, proveedores, incluso

otros programas, esa parte se denomina extranet, (Leiner et al.,1997). Por

ejemplo, cuando un socio desea un reporte de ventas o cuando los bancos se

conectan unos con otros para registrar transferencias, realizan la conexión a la

extranet y obtienen acceso a la porción restringida de la intranet a la cual están

autorizados.

La aplicación web que se propone en este trabajo para la empresa Liberty

Express c.a. requiere de una conexión a internet e intranet para la transmisión de

información desde los smartphones hacia el sistema informático de la empresa y

actualizar la base de datos.

2.2.2 Tecnología web

La Web es la gran red de información en forma de páginas web vinculadas

entre sí, que se transmiten por internet. Por lo tanto, tecnología Web es el

17
conjunto de tecnologías involucradas en esta distribución, (Niederst, 2018). Las

tecnologías web permiten acceder a la red de conocimiento disponible en la Web

por medio de un navegador y las páginas web, así como desarrollar páginas y

diferentes aplicaciones web. Es importante tener presente que para que una

página web sea generada con éxito se requiere de un cliente y un navegador que

solicite recursos de un servidor (petición), e interprete el código que devuelve el

servidor y muestre en pantalla el contenido. Por otro lado, se requiere también de

un servidor para que almacene de forma organizada la información y envíe los

contenidos (respuesta) según lo solicitado por el navegador. Este esquema se

denomina cliente-servidor. Según la naturaleza del servidor las respuestas

pueden ser texto, datos, audio, video, etc., y constituyen subdocumentos que se

unirán para formar una página web interpretable por el cliente.

Las páginas Web son documentos con información que se encuentran disponibles

en la Web y el acceso a su contenido se realiza a través de los navegadores

(Internet Explorer, Google Chrome, mozilla, entre otros), pueden ser desarrolladas

de forma estáticas, donde muestran información de manera permanente, o

dinámicas cuando muestran información variable en función de las interacciones

con el usuario. Las páginas Web estáticas para su desarrollo utilizan HTML (del

inglés HyperText Markup Language o lenguaje de marcas de hipertexto), lenguaje

que permite describir su maquetación final en el navegador (Berners-Lee, 1990),

son documentos que contienen vínculos a otros documentos y conforman la base

18
del intercambio de información en la Web. Por su parte, las páginas web

dinámicas utilizan el lenguaje de programación PHP que permite, entre otras

bondades, acceder a las bases de datos y generar informes en el navegador

utilizado por el cliente.

Un grupo de páginas web que comparten vínculos entre ellas mismas para

servir a una misma organización se les denomina sitio web. Existen en la

actualidad sitios web cada vez más complejos, a los que se les ha denominado

aplicaciones web y son herramientas fundamentales de gestión para las

empresas hoy en día, (Niederst, 2018).

2.2.3 Lenguaje de etiquetado HTML

El Lenguaje de Marcas de Hipertexto HTML (HyperText Markup Language en

inglés), de acuerdo a lo planteado por (Niederst, 2018), es el lenguaje basado en

etiquetas, que permite maquetar y estructurar la forma del contenido de una

página web en un formato bien estructurado, destinado a ser representado

visualmente por el cliente a través del navegador web. Este lenguaje determina la

maquetación del contenido del documento HTML pero no su funcionalidad; para

esto se utilizan otros lenguajes como CSS y Javascript.

El lenguaje HTML usa marcas de maquetación para describir textos, imágenes

y contenidos que se mostrarán en el Navegador Web, tales como <head>, <title>,

<body>, <header>, <article>, <section>, <p>, <div>, <span>, <img>, y muchos

19
otros más, (encabezado, titulo, cuerpo del contenido, cabecera de contenido,

articulo, sección, párrafo, división de sección, sección de estilo, imagen). Por otro

lado también incluye marcas especiales de hipertexto como <a href> para la

aplicación de vínculos que conectan una página Web con otra o con otro sitio

web. Los vínculos de las páginas web son el componente fundamental de la Web

que conforma la red mundial de información.

En la figura 2.1 mostrada a continuación, se observa una estructura mínima

para un documento HTML y su presentación en un navegador. Las etiquetas

<html> y </html> marcan el inicio y el fin de las instrucciones HTML. Las etiquetas

<head> y <body> forman dos bloques principales de instrucciones, <head>

contiene descripciones técnicas para el navegador, como por ejemplo el título

<title> que tendrá la ventana del mismo. La etiqueta <body> marca el comienzo

de las instrucciones de maquetación del contenido, en este caso el texto y la

imagen, y la manera que se verán en el navegador del usuario.

20
Figura 2.2 Estructura básica de un documento HTML o página web.
Fuente: Autor (2020).

Para finalizar esta sección, es importante señalar que las hojas de estilo en

cascada CSS (Cascading Style Sheet en inglés), como se mencionó

anteriormente, apoyan en el desarrollo de la funcionalidad de una página web

estática, el CSS permite describir la presentación de los contenidos en el

navegador. De acuerdo a lo planteado por (Niederst, 2018), su aplicación permite

aplicar los contenidos de manera selectiva en la página web, controla y describe

los tipos de letra, imágenes, colores de fondo, espaciado de línea, diagramación

de la página y demás elementos similares. Estas descripciones se suelen colocar

en el documento HTML entre las etiquetas de encabezado <head> y </head>. Si

por el contrario, estos estilos son muy numerosos, se organizan en un documento

CSS externo denominado hoja de estilo CSS, y se vincula al documento HTML

21
que lo requiera. Las etiquetas de estilos por lo general son instrucciones cortas y

van escritas entre llaves.

Todos estos elementos: HTML y CSS fueron requeridos al programar la

aplicación web móvil. El lenguaje de etiquetado HTML es la base de las páginas

web que conforman la aplicación web móvil. Las hojas de estilo CSS describieron

la presentación de las páginas en el navegador, tales como el tipo y tamaño de

fuente.

2.2.4 Lenguaje PHP

PHP se puede describir como un lenguaje de escritura de código (script) del

lado del servidor, que puede ser incrustado en un documento HTML (Página web

de PHP, 2020). Se le considera adecuado para el desarrollo web porque es

multiplataforma, ya que procesa en el servidor y además se integra con el popular

manejador de base de datos MYSQL, lo que lo hace una herramienta potente de

consulta y actualización.

PHP en la actualidad se caracteriza por su capacidad de manejo de objetos y

programación orientada a objetos. La licencia de uso es de código abierto por lo

que cuenta con innumerables recursos de soporte, documentación, componentes

y librerías creados por la comunidad de desarrolladores de la Web. Puede ser

utilizado sin ningún costo en la mayoría de los servidores Web y es compatible

22
con casi todos los sistemas operativos y plataformas. Entre las principales

características de este lenguaje se observa:

• Es considerado un lenguaje fácil de aprender por su parecido con el

lenguaje estructurado.

• Permite aplicar técnicas de programación orientada a objetos.

• Está orientado al desarrollo de aplicaciones Web dinámicas con acceso a

información de base de datos.

• Tiene capacidad de conexión con la mayoría de los motores de base de

datos que se utilizan en la actualidad. Se destaca su conectividad con

MYSQL.

• Es independiente de plataforma: El código fuente escrito en PHP es

invisible al navegador Web y al cliente, ya que es el servidor el que se

encarga de ejecutar el código y enviar su resultado HTML al navegador.

• Posee una amplia documentación en su sitio Web oficial PHP.net, entre la

cual se destaca que todas las funciones del sistema están explicadas y

ejemplificadas en un único archivo de ayuda.

• Es libre, por lo que cuenta con innumerables recursos de soporte extra.

• Tiene capacidad de expandir su potencial utilizando módulos o extensiones.

23
• No requiere definición de tipos de variables aunque sus variables se pueden

evaluar también por el tipo que esté manejando en tiempo de ejecución.

• Tiene manejo de excepciones.

Además de lo anteriormente señalado, PHP no está atado a ninguna

metodología, lo que le permite al programador aplicar cualquier técnica de

desarrollo para escribir el código de forma ordenada, estructurada y manejable

(PHP, 2020).

Para la creación de la aplicación web de este trabajo, es necesario acceder a

bases de datos y generar informes en el navegador del cliente. Para esto se

utilizó el lenguaje de programación PHP y un procesador PHP instalado en el

servidor. Los archivos de tipo PHP son especiales para contener instrucciones

SQL de acceso a base de datos. También resulta de mucha utilidad el procesador

PHP que está instalado en el servidor, ya que es el responsable de formatear la

información consultada en un documento HTML, para que el navegador del

cliente, utilizado en este caso a través del smartphone del chofer, pueda presentar

la información obtenida maquetada correctamente.

2.2.5. Servidores Web

De acuerdo con Niederst (2018), los servidores son computadores que

almacenan información y los ponen a disposición de otros computadores en la red

por medio de un software especial denominado programa servidor. El rol del


24
programa servidor (o del software servidor), es esperar por una solicitud de

información, obtenerla de la base de datos y enviarla de vuelta al que realizó la

petición. Existen diferentes softwares de servidor que realizan tareas distintas

según el tipo de archivos que maneje, a saber: servidores de archivos, servidores

de bases de datos, servidores de correo y servidores web. Cada una de estas

aplicaciones puede acceder de diferente manera a archivos almacenados en un

servidor físico y usarlos para diferentes propósitos.

Para que un servidor sea parte de la Web debe tener ejecutándose un software

especial llamado servidor web. Este es un programa que utiliza el protocolo HTTP

(Protocolo de transferencia de hipertexto) como medio normado de transmisión

para servir a las páginas Web de los usuarios (Niederst, 2018). Todo comienza

cuando un usuario solicita una página de la Web. Su navegador se comunica con

el programa servidor Web, enviando y recibiendo datos por medio del protocolo

de transferencia de hipertexto HTTP. El protocolo HTTP garantiza que el

intercambio cliente-servidor se realice siguiendo el mismo estándar entre clientes

y servidores. Paso a paso el cliente envía una petición y el servidor envía una

respuesta, proceso que se repite hasta completar la transmisión. Desde el punto

de vista de las comunicaciones, todas estas transacciones HTTP se realizan

sobre el protocolo TCP/IP de internet, que se encarga del fragmentado y

enrutamiento de la información en Internet. Una vez completada la solicitud del

cliente, el servidor Web envía la respuesta en forma de código HTML al

25
navegador para que éste lo interprete y presente correctamente en pantalla en

forma de página web.

Este código HTML puede venir directamente de la página web que tiene

alojada el mismo servidor o puede ser código generado por algún procesador que

tenga instalado como el PHP. Los procesadores PHP interpretan instrucciones

incrustadas en el documento HTML que está en el servidor. Por lo general estas

instrucciones, en lenguaje como el PHP, contienen indicaciones para realizar

lecturas de datos en bases de datos. Luego de la lectura, el procesador PHP

arma un documento HTML con lo solicitado y envía al cliente la respuesta. En la

figura 2.3 a continuación se ilustra el proceso descrito.

Figura 2.3 Proceso del Servidor Web


Fuente: Autor (2020).

26
Entre las muchas aplicaciones de servidores Web, está el servidor Web

Apache, (Apache HTTP Server Project, 2020) lo define como un programa de

servidor Web para uso local, que tiene las mismas características de un servidor

Web en internet. Con él se puede hacer pruebas utilizando todas las capacidades

de base de datos y programación que tiene un programa servidor real. Esto

permite garantizar la calidad del código, vínculos, visualización y otros, mientras

que se crea una página web.

Tal y como lo describe (Apache HTTP Server Project, 2020), esta aplicación

está escrita en el lenguaje de programación C y ofrece soporte para administrar el

servidor web local por medio de un panel de control. Consta de un módulo que le

permite probar múltiples sitios web desde el mismo servidor. Incluye

características estándar como servicio para manejar nombres de dominio (Domain

Name Service), servidor de correo (Simple Mail Transfer Protocol, SMTP) y el

protocolo de transferencia de archivos (FTP). Es compatible con numerosas

configuraciones de hardware y sistemas operativos como: Linux o Windows, entre

otros y contiene soporte para lenguajes de programación como PHP, Perl y

Python, entre muchos otros, además de ofrecer cifrado SSL y TSL para los sitios

web que requieren seguridad elevada. El servidor Web Apache tiene amplio

soporte a través de su comunidad de desarrolladores y su instalación es un

proceso simple y automatizado por medio de la utilidad WampServer, la cual

27
permite instalar y configurar de manera sencilla el servidor Web Apache, el

procesador PHP y MYSQL.

La aplicación WampServer instala una interfaz residente en la barra de tareas

del escritorio de la computadora local que permite iniciar, supervisar y detener el

servicio web en el sistema para trabajar con los proyectos localmente. Posee una

estructura basada en módulos que le permiten a los administradores configurarlo

fácilmente y brinda una serie de funcionalidades como:

• Gestión de los servicios de Apache y MYSQL: Iniciar, detener, reiniciar.

• Gestión de la configuración del servidor web Apache, configuración del

gestor MYSQL y configuración del procesador PHP.

• Cambio de modo local a modo online: permitiendo definir el acceso solo

para el desarrollador o para todos.

• Actualización de las versiones instaladas de Apache, MYSQL y PHP.

• Disponibilidad de los logs, historial de accesos al servidor y errores.

• Acceso a los registros de la base de datos.

Una de sus principales ventajas es que el programa de instalación de

WampServer modifica los archivos de configuración con la ruta correcta donde el

programador desea instalar el programa, y crea un directorio, www, que será la

28
raíz para las páginas web creadas. Todo esto le permite mantener la integridad de

las rutas de acceso de los desarrollos web y enlaces entre los mismos

De acuerdo con (Apache HTTP Server Project, 2020) para instalar en otras

plataformas se dispone de otras versiones como LAMP para Linux y XAMP para

Unix.

En la figura 2.4 a continuación, se muestra la interfaz de WampServer que se

instala de manera residente en la barra de tareas del escritorio, así como el

despliegue de la sección Apache, y el menú para configurar los diferentes

aspectos del servidor Web. Igualmente se puede observar las opciones de PHP y

MYSQL, que básicamente son accesos rápidos a puntos clave de configuración y

administración de cada uno, además de otros accesos directos de utilidad en la

parte superior del menú desplegable. En la sección quick admin, se encuentran

opciones para la administración del funcionamiento del servidor tales como

encenderlo, reiniciarlo o pagarlo.

29
Figura 2.4. Interfaz en la barra de tareas
Fuente: Wampserver.net (2020).

Durante el desarrollo del presente proyecto, aplicación web para Liberty

Express c.a., se requirió de un servidor local para instalar el prototipo y realizar

pruebas locales, ya que se necesitó utilizar el interpretador PHP, para realizar las

consultas a la base de datos y la generación de los documentos HTML, procesos

que solo funciona en un servidor web. Es importante señalar, que la empresa

Liberty Express tiene instalado en su intranet un servidor Web Apache para la

difusión de sus aplicaciones Webs. Esto constituye una ventaja, ya que existe una

versión gratuita para instalar en las computadoras de los desarrolladores y de

esta manera poder simular localmente un servidor web y realizar las pruebas en
30
un ambiente seguro, con la ventaja de realizar mínimos ajustes al momento de la

implantación del proyecto.

2.2.6 Aplicaciones web

Las aplicaciones Web son programas destinados a dar solución a problemas

específicos, se alojan en un servidor web, trabajan estrechamente con bases de

datos y generan respuestas en el lado del cliente en forma de páginas web

dinámicas, que reaccionan y cambian según acciones del usuario (Luján, 2002).

Estas aplicaciones son independientes de los sistemas operativos y las

plataformas utilizadas por el usuario, ya que se alojan en servidores y las

respuestas son enviadas de manera estándar a cualquier usuario que tenga

acceso a Internet. Las aplicaciones web son adecuadas para cualquier dispositivo

tales como computadoras de escritorio, laptops o smartphones, ya que se

programan siguiendo la filosofía de diseño adaptativo para lograr el ajuste

automático de su contenido a cualquier tamaño de pantalla.

Las aplicaciones web son ligeras, rápidas de cargar en el computador del

cliente, ya que el trabajo pesado relacionado con el acceso a las bases de datos

lo realizan en el servidor. Estas aplicaciones son consideradas de bajo costo

debido a:

 No se necesita realizar alguna instalación para poder acceder a ellas.

31
 Su mantenimiento es centralizado, todos los cambios, tanto de interfaz como

de funcionalidad que se deseen realizar a la aplicación se llevan a cabo

cambiando el código que está en el servidor web.

 La inversión en capacitación es mínima ya que la mayoría de las personas

están familiarizadas con el Internet y la Web.

De acuerdo con Luján (2002), las aplicaciones web existen para resolver una o

varias necesidades, ejecutan tareas, requieren de lenguajes de programación del

lado del servidor y se caracterizan por ser dinámicas y necesitar de la interacción

del usuario para cumplir con su objetivo. Así mismo, recolectan información

proporcionada por el usuario u otros sistemas, por lo que hacen uso intensivo de

bases de datos, en su proceso de desarrollo requieren de un mayor tiempo para

la planificación y la programación para completarse.

Este tipo de aplicaciones se fundamentan en una arquitectura cliente/servidor.

Por un lado está el cliente (el navegador o explorador) y por otro lado el servidor

(el servidor web). Explica Luján (2002) que la arquitectura básica para ejecutar

una aplicación web consiste en varios elementos, como se muestra en la figura

2.5 mostrada a continuación.

32
Figura 2.5. Esquema de aplicación web
Fuente: Autor (2020).

En esta se tiene:

1.- Un navegador cliente, que realiza las peticiones y solicita los recursos a los

servidores web, y presenta el documento según el esquema HTML indicado. Del

lado del cliente se utilizan lenguajes interpretados para añadir elementos

dinámicos a la interfaz de usuario.

2- Un servidor web recibe las peticiones de clientes y realiza una serie de

instrucciones programadas para procesar la información.

33
3- El servidor hace consultas a la base de datos con lenguajes de

programación como PHP y un gestor de bases de datos como MYSQL para dar

respuesta a estas consultas.

4- Se requiere de un compilador PHP que ensamble el resultado de los datos y

lenguajes scripts en un solo documento HTML y que responda enviando estos

recursos al navegador cliente.

5- Este documento HTML también trae consigo instrucciones para realizar

cargas de manera asíncrona en el cliente y así disminuir el tiempo de espera de

carga de la página web. Por último la página web es presentada maquetada

correctamente en el navegador del cliente.

Dentro de las aplicaciones Web se pueden identificar los entornos de desarrollo

de trabajo, Framework o IDE (por sus siglas en ingles). Un entorno de trabajo de

acuerdo a lo planteado por Riehle (2000), es una herramienta para el desarrollo

de software, que permite tener un solo ambiente integrado para diseño, desarrollo

y pruebas, consiste en un editor de código, un compilador, un depurador y un

constructor de interfaz gráfica. Estos entornos incluyen bibliotecas con funciones

prediseñadas que facilitan el desarrollo y la integración entre los diferentes

componentes de un proyecto y de esta manera el programador puede reutilizar

funciones ya elaboradas. Entre las múltiples funcionalidades que disponen los IDE

que simplifican el trabajo de los programadores, se pueden nombrar:

34
• Un administrador de archivos para organizar todos los documentos que se

van creando y para mantener actualizados los vínculos entre ellos, si ocurre

algún cambio de ruta de almacenamiento.

• Funcionalidad de sincronización entre las carpetas en el servidor remoto y

el servidor local para administrar y mantener los archivos.

• Opción para probar el proyecto en varios navegadores de diferentes

sistemas operativos y detectar diferencias de presentación o de ejecución

en cada uno de ellos.

Un ejemplo de Framework o entorno de desarrollo integrado lo constituye

Netbeans (2020), diseñado principalmente para el desarrollo de aplicaciones

móviles en lenguaje Java, Debido al gran soporte que tiene por ser de código

abierto y su comodidad de uso, es preferido para el desarrollo de software en

otros lenguajes tales como PHP o Javascript, por lo cual ha incluido extensiones

para manejarlos. Este IDE ofrece servicios comunes a las aplicaciones de

escritorio, permitiendo a los programadores centrarse en la lógica de sus

aplicaciones. Algunas de las características de Netbeans son:

• Gestión de la interfaz de usuario: menús y barras de herramientas.

• Herramienta para la gestión de almacenamiento de archivos. Herramienta

de gestión de vínculos en las páginas al cambiar la ruta donde se

encuentran alojadas: local o remoto.

35
• Extensiones de conexión a servidor local para hacer pruebas de ejecución y

presentación en los navegadores más comunes: Explorer, Chrome, Firefox,

Opera y Netscape.

• Conexión con servidor local y remoto para administración y sincronización

de las páginas web.

La aplicación web móvil fue la tecnología seleccionada para brindar la solución

más eficiente al requerimiento de Liberty Express.

2.2.7 Dispositivos móviles

La evolución en la tecnología móvil llevó, entre otras cosas, a los cambios y

adaptaciones en el diseño de la presentación de las páginas web. Antes, la

mayoría de las personas accedían a Internet a través de un computador de

escritorio, lo que permitía trabajar con formatos unificados para tamaños de

pantalla específicos. La diversificación de los tamaños de pantallas comenzó con

la era de la tecnología móvil y el lanzamiento del primer teléfono celular inteligente

(smartphone) en la primera década del 2000. Los navegadores requirieron de

ajuste para pantallas pequeñas, por lo que apareció el diseño web adaptativo o

diseño responsivo y los desarrolladores web tuvieron que adaptar el aspecto

visual de las aplicaciones web (Niederst, 2018).

Hoy en día, la mayoría de usuarios acceden a la Web a través de una gran

variedad de dispositivos móviles como: tabletas, consolas de videojuegos, relojes,


36
y televisores inteligentes, incluso refrigeradores. Niederst (2018), plantea que las

últimas tendencias del diseño web se centran en la estructura y tratamiento de los

sitios web y de disponer de manera correcta de la información para que se adapte

a cualquier tamaño de pantalla.

De acuerdo con Guy (2017) los dispositivos móviles son computadoras que

tienen conectividad a redes y pueden ser fácilmente transportados por los

usuarios por sus pequeñas dimensiones. Están diseñados para una función

específica, como es realizar llamadas telefónicas, pero pueden además llevar a

cabo otras funciones adicionales como: llevar una agenda, enviar correos

electrónicos, escribir documentos, entre otras cosas. Una característica

importante y distintiva de los dispositivos móviles es que se pueden conectar a

redes inalámbricas y sincronizar con alguna computadora o servidor de Internet.

Son algunos ejemplos de dispositivos móviles los teléfonos inteligentes

(smartphones), las tabletas, los relojes inteligentes, los sistemas de navegación

por GPS.

El smartphone o teléfono inteligente, es el dispositivo móvil más popular en la

actualidad para realizar llamadas telefónicas convencionales e inalámbricas y

enviar mensajes cortos de texto. Estos dispositivos tienen, sobre los teléfonos

móviles tradicionales, mayor capacidad para almacenar datos y mayor

conectividad a redes inalámbricas (Niederst, 2018). A partir de 2011 se comenzó

a fabricar teléfonos inteligentes con pantallas táctiles que reemplazarían el uso de


37
dispositivos de entrada como el mouse y el teclado físico, aportando así más

espacio a la pantalla del mismo. En la actualidad existe en el mercado una gran

variedad y disponibilidad de telefonos inteligentes, queda de parte del usuario

seleccionar el que mejor se adpate a sus requerimientos y a las aplicaciones que

se necesitan desarrollar.

Todos los smartphones tienen acceso a programas que realizan tareas

adicionales, lo que permite que estos teléfonos trabajen con aplicaciones para

múltiples usos. Existen dos tipos de programas para smartphones: las app y las

aplicaciones Web. Estos términos se utilizan de manera intercambiable, pero no

deben confundirse. Las app significan aplicación (del inglés application) y se

encuentran disponibles a través de plataformas de distribución operadas por las

compañías propietarias de cada sistema operativo móvil, como: Android, iOS,

BlackBerry OS, Windows Phone, entre los más populares, (Niederst, 2018). Estas

app se descargan de internet y se instalan en el disco duro del dispositivo (como

cualquier programa en una computadora de escritorio). Se ejecutan localmente y

dependen del sistema operativo, sus tiempos de procesamiento son más rápidos

ya que no dependen de la conexión a internet.

Por otro lado, las aplicaciones Web son herramientas que no necesitan ser

descargadas, se ejecutan por medio de cualquier navegador web, por lo cual son

independientes de las plataformas. Los recursos que demandan del dispositivo

son mínimos, tanto de almacenamiento como de procesamiento ya que la mayor


38
parte del trabajo recae sobre el servidor web. Su mantenimiento es transparente

para los usuarios, y éstos siempre cuentan con la última versión del programa.

Tienen la desventaja de que pueden generar errores si se corta la conexión a

Internet debido a que requieren de constante intercambio con el servidor para

actualizar información.

La independencia de los smartphones y las ventajas de las aplicaciones web

garantizan herramientas robustas, eficientes y móviles. La solución informática

para Liberty Express consiste en el desarrollo de una aplicación Web que será

accedida por medio de un smartphone. Esto no representa ninguna limitación

para la aplicación web ya que será independiente de la plataforma de los usuarios

y podrán ser ejecutadas en cualquier navegador.

2.2.8 Base de Datos

Una base de datos (BD) es un conjunto de información relacionada,

estructurada y almacenada de manera sistemática. Existen tres tipos de modelos

lógicos para las bases de datos: el Modelo Relacional, el Modelo en Red y el

Modelo Jerárquico. Cada uno de estos modelos tiene sus ventajas y desventajas,

en la actualidad el Modelo Relacional es el más popular por el bajo costo que

implica hoy en día el almacenamiento, este modelo relaciona los datos por claves

lo que lo convierte en un modelo eficiente. De acuerdo a Silberschatz, Korth, y

Sudarshan (2002) las normas para los modelos relacionales son:

39
• Los datos son atómicos, no se admiten valores múltiples en los campos.

• Cada columna es de un solo tipo y debe tener un nombre único.

• No deben haber dos filas (registros) idénticos en cada tabla.

• El lugar donde se almacenan los datos no tiene relevancia.

Para el diseño de una base de datos se elaboran esquemas conceptuales

locales que respondan a los requerimientos de diferentes áreas funcionales:

producción, ventas, recursos humanos, entre otros. Cada uno de estos esquemas

está compuesto por entidades, relaciones, atributos, dominios e identificadores. El

esquema también consta de una documentación que se produce a medida que se

va desarrollando. De acuerdo con Silberschatz, et al., (2002), las tareas para

realizar el diseño conceptual de una Base de datos son: Identificar las entidades,

relaciones y atributos, determinar los dominios de los atributos y los

identificadores, dibujar el diagrama entidad-relación y revisar el esquema

conceptual local con el usuario del área involucrada.

Las bases de datos relacionales agrupan y distribuyen los datos en tablas

compuestas por filas (tuplas) y columnas (campos). Cada fila también se conoce

como registro. Cada columna contiene los nombres de los campos de cada dato.

Entre las tablas se establecen relaciones de datos usando claves primarias y

otras claves llamadas externas o foráneas. Una clave primaria es un campo o

conjunto de campos que se utiliza para identificar todo un registro. Una clave

40
foránea en una tabla se utiliza para referenciar un registro completo de una tabla

externa. De esta manera se pueden combinar datos de diferentes tablas sobre

una funcionalidad específica y se evita la redundancia de datos, (Silberschatz, et

al., 2002). En la figura 2.6 a continuación se muestra un ejemplo de las tablas de

una Base de Datos específica, con sus columnas, registros o filas y claves:

Figura 2.6. Tablas de una base de datos


Fuente: Autor (2020).

Para acceder a la información de las tablas de las bases de datos se utiliza el

lenguaje estructurado de consulta SQL (Structured Query Language). Las

consultas se programan utilizando un lenguaje de comandos que permite

seleccionar, insertar, actualizar, buscar o eliminar datos. Estas operaciones

rutinarias se conocen con el nombre de CRUD, que viene de las palabras en

41
inglés: create, restore, update y delete (crear, recuperar, actualizar y borrar). SQL

permite ejecutar consultas filtradas de datos por medio de diversos tipos de

operaciones como el álgebra y cálculo relacional (Silberschatz, et al., 2002).

Por otra parte se tiene que un Sistema Gestor de Base de Datos (SGBD) es un

programa que permite la creación y administración de bases de datos de forma

rápida y sencilla. Un SGBD facilita a los programadores describir fácilmente los

datos que serán almacenados en la base de datos, además de proporcionar un

grupo de operaciones para definir nuevas estructuras de la DB o realizar

búsquedas. El SGBD brinda funciones con el objetivo de garantizar la calidad,

seguridad e integridad de los datos que contiene una Base de Datos, (Cobo,

Gómez, Pérez y Rocha, 2005). En la actualidad los SGBD son parte

imprescindible del software en los servidores de datos de Internet. De ellos, el

más utilizado por las aplicaciones web es el MYSQL, por su conocida

escalabilidad de alto rendimiento y la sólida protección que brinda a sus datos.

Este manejador es de código abierto, su uso es gratuito, es multiplataforma y está

basado en el lenguaje estándar de consulta SQL, (Cobo et al.,2005). MYSQL

facilita la creación, administración y el control de acceso a las Bases de Datos,

además simplifica la especificación de estructuras y de los tipos de datos y

permite a los programadores agregar, modificar, actualizar y borrar datos

manteniendo la integridad de las relaciones entre las tablas de la Base de Datos.

A nivel de la protección y seguridad de la data, este manejador proporciona

42
también sistemas de seguridad para evitar accesos no autorizados, controla el

acceso compartido de la base de datos y provee de control de recuperación para

restaurar la base de datos a un estado previo coherente, luego de un fallo de

hardware o software. Entre las características principales de MYSQL se tiene:

• Ofrece la posibilidad de selección de una amplia variedad de motores de

almacenamiento (storage engine en inglés) para cada tabla, con diferentes

velocidades de operación, soporte físico, capacidad, distribución geográfica

o transacciones. Un motor de base de datos es un subsistema de

almacenamiento que permite al SGBD la creación, lectura, actualización y

eliminación de datos en las tablas de la base. InnoDB es el motor de

almacenamiento predeterminado y de mayor uso en general. Otro de los

más populares en la actualidad son los motores de tipo MyISAM. La

elección de uno u otro depende del escenario donde se aplique.

Normalmente InnoDB se utiliza más en bases de datos muy grandes, con

muchas conexiones entre los datos ya que es más eficaz con consultas del

tipo SELECT o UPDATE, y más lento en las de tipo INSERT. Si se tiene

una web en la que se genera mucho contenido o transacciones, tal como

una página de e-commerce o una web como la de este proyecto, la mejor

elección sería InnoDB. MyISAM por su parte, es más eficiente para la

gestión de bases de datos pequeñas; en las que se incluyen datos de

manera frecuente y en gran cantidad, ya que tiene mejor rendimiento con

43
los comandos INSERT. Si un desarrollo web tiene una base de datos

pequeña, realiza constantes lecturas de datos y no necesita hacer grandes

procesos de escritura, entonces es mejor seleccionar MyISAM (MySQL,

2020).

Para este trabajo de grado, debido principalmente al gran tamaño de la base

de datos de Liberty Express y a la gran cantidad de conexiones, la mejor elección

para el motor de almacenamiento es el de tipo InnoBD.

• Otra ventaja es que MySQL es que es un SGBD multihilo. Es decir, puede

manejar muchas tareas y requerimientos al mismo tiempo. Los clientes que

se conectan al servidor de base de datos de MySQL no necesitan esperar

que otro cliente finalice la consulta o proceso que esté ejecutando para que

sean atendidas sus peticiones. Con esto se obtienen respuestas rápidas ya

que estos programas multihilo actúan como si múltiples instancias del ellos

estuvieran ejecutándose al mismo tiempo. Cuando un usuario se conecta al

servidor de base de datos de MySQL, un nuevo proceso (llamado hilo o

thread en inglés) maneja las tareas requeridas por esa conexión. MySQL

mantiene activo un hilo administrador que es el encargado de recibir y

atender las peticiones de otros hilos en un momento determinado. Si un

proceso esta requiriendo acceder a una tabla pero la misma está reservada

para uso de otro proceso, el hilo administrador obliga a que el proceso que

requiere la conexión espere hasta que el otro proceso se haya completado.


44
Con esto, MySQL dispone de un sistema de reserva de memoria muy

rápido basado en hilos que puede usarse fácilmente en múltiple CPUs si

están disponibles (MySQL, 2020).

Para un desarrollo web como el de este trabajo, que requiere de accesos

concurrentes, evitar colisiones y enviar respuestas rápidas a peticiones de lectura

y escritura, un SGBD multihilo tal como MySQL representa una elección

adecuada.

• Dispone de tablas hash en memoria que son usadas como tablas

temporales, para acelerar y optimizar los procesos de búsqueda, de registro

y de eliminación de conjuntos de datos. La organización de los datos de una

tabla hash se realiza de acuerdo a una función hash que les asigna lugar y

clave. Una funcion hash es una función matemática que toma en cuenta

parte de los datos a guardar. Con esto se obtiene y se asigna una dirección

inequívoca cada conjunto de datos. Las búsquedas de datos en tablas hash

son más rápidas, ya que se realiza esta función de manera inversa, en lugar

de una busqueda secuencial (MySQL, 2020).

• Gestiona las transacciones, esto permite reunir múltiples transacciones

desde varias conexiones con la finalidad de aumentar el número de

transacciones por segundo. Las bases de datos adquieren mayor fiabilidad

ya que en una serie de consultas MySQL que deben ejecutarse en conjunto,

45
las tablas que soportan transacciones son mucho más fáciles de recuperar

si se produce algún fallo en el servidor, debido a que las consultas se

ejecutan o no en su totalidad. Las transacciones son secuencias de trabajo

realizadas de forma ordenada y separada en una base de datos.

Normalmente representan cualquier cambio en la base de datos, y tienen

como objetivo principal proporcionar secuencias de trabajo fiables que

permitan su fácil recuperación ante errores, mantener una base de datos

consistente incluso frente a fallos del sistema y proporcionar aislamiento

entre programas que se encuentren accediendo a la vez a la base de datos

(MySQL, 2020).

• Posee un sistema de privilegios y contraseñas que es muy flexible y seguro,

y que permite verificación basada en el host, todo el tráfico de contraseñas

está encriptado cuando se conecta con un servidor (MySQL, 2020).

La aplicación web móvil para la empresa Liberty Express c.a. requiere del uso

de bases de datos para registrar y extraer información del estado de cada

paquete a medida que los choferes los van entregando. La empresa dispone de

una base de datos MYSQL en el servidor de datos de su intranet, por lo cual solo

se requiere conectar la aplicación web a la misma.

46
2.2.9 Metodología RUP

Según Jacobson, Brooch, y Rumbauch (2000), la metodología RUP es una

metodología de ingeniería de software que dicta las técnicas que debe seguir un

equipo de desarrollo de software para incrementar la productividad en el proceso

de desarrollo. El Proceso Unificado Racional (RUP por sus siglas en inglés) se

constituye en una metodología estándar, orientada a objetos, para el análisis,

implementación y documentación de sistemas. Fue concebido como un modelo

basado en varias metodologías que se adaptan fácilmente a la plataforma y

necesidades de cada empresa.

De acuerdo con Jacobson et al. (2000) entre las características principales de

la metodología RUP se encuentra su estilo de desarrollo iterativo, la

administración de requisitos, el uso de arquitectura basada en componentes, el

control de cambios, el modelado visual del software, la verificación de la calidad

del software y la implementación de las mejores prácticas en Ingeniería de

Software, de forma que se adapte a cualquier proyecto. En el aspecto

metodológico, se caracteriza por ser iterativo e incremental, estar centrado en la

arquitectura y guiado por los casos de uso, como se describe a continuación:

• Es iterativo incremental: El proyecto se divide en varias iteraciones que, a

medida que se van culminando, se van revisando y agregando factores de

corrección en cada ciclo para completar requerimientos que surgen en cada

paso.
47
• Está centrado en la arquitectura: Se hace hincapié en el estudio de la

arquitectura existente de base y en el diseño de una arquitectura de calidad

que es la que determinará los recursos que podrán ser aprovechados en el

desarrollo y cuáles no.

• Está dirigido por casos de uso: Los casos de uso garantizan que se

cumplan las necesidades del cliente especificadas en los requerimientos y

centran el proceso de desarrollo, pruebas, planificación y documentación,

en el cumplimiento de los requerimientos identificados.

RUP Incluye artefactos (productos tangibles del proceso) y roles (papel que

desempeña una persona en un determinado momento), una persona puede

desempeñar distintos roles a lo largo del proceso.

De acuerdo a Jacobson et al. (2000), Las bases de la metodología RUP se

forman a partir de 6 principios clave, a saber:

• Adaptar el proceso a las necesidades del cliente: El proceso debe

adaptarse a las características de la organización para la que se está

desarrollando el software.

• Equilibrar prioridades: Debe poder encontrarse un equilibrio que satisfaga

los requerimientos de todos los directores, inversores y usuarios del

proyecto.

48
• Demostrar valor iterativamente: Los proyectos se entregan en etapas

iteradas. En cada iteración se evaluará la estabilidad y calidad del producto

y analizará la opinión y sugerencias de los directores e inversores y se

revisará la dirección del proyecto así como también los riesgos

involucrados.

• Colaboración entre equipos: El desarrollo de software se realiza por

equipos de personas en constante comunicación y colaboración lo que

garantiza un avance coordinado del proyecto.

• Enfoque en la Calidad: El aseguramiento de la calidad forma parte del

proceso de desarrollo en cada iteración y no de un grupo independiente.

• Elevar el Nivel de Abstracción: Incrementa el nivel de abstracción y el uso

de conceptos reutilizables, los cuales son acompañados por las

representaciones visuales de la arquitectura utilizando UML.

El ciclo de vida RUP es una implementación del desarrollo en espiral. Consiste

en tareas que se organizan en cuatro fases (Jacobson et al., 2000). En cada una

de estas fases se realizan iteraciones para revisar requisitos y objetivos, y aplicar

ajustes que amplían el desarrollo y la información útil sobre del proyecto. Por esta

razón se dice que RUP es una metodología iterativa-incremental. A continuación

en la figura 2.7 se muestra la intensidad de trabajo asociado a las disciplinas

según la fase en la que se encuentre durante su desarrollo.

49
Figura 2.7. Esfuerzo en actividades según fase del proyecto
Fuente: Rational Software Corp. (2001).

De acuerdo con lo planteado los autores señalados, el ciclo de vida de esta

metodología divide el proceso en cuatro fases con sus respectivas iteraciones:

Inicio, elaboración, construcción y transición. Las cuales se describe a

continuación:

Fase de Inicio: Comprende la definición del problema, alcance del proyecto,

recopilación de requisitos y modelado del negocio. En esta fase se establecen

acuerdos sobre los objetivos del proyecto y se identifican los riesgos relacionados

con el negocio. Se propone una vision general de la arquitectura de software, y se

produce el plan de fases con sus iteraciones. Durante la fase de inicio las

50
iteraciones hacen mayor énfasis en actividades de modelado del negocio y de

requisitos. Durante esta fase se generan el documento Visión del sistema y las

especificaciones de los requisitos

Fase de elaboración: Las actividades de esta fase se orientan hacia la

arquitectura base del sistema existente. Debe abarcar las consideraciones de

mayor importancia de los requerimientos, refinamiento del modelado del negocio,

analisis y diseño. Se desarrollan los casos de uso acordes con la arquitectura

existente del sistema o que pueden acoplarse a una nueva arquitectura factible

para el sistema. Se especifica el dominio del problema y se esquematiza la

solución preliminar. Para ello se elaboran los diagramas de casos de uso; el

documento con la arquitectura del sistema que trabaja con la vista lógica

(diagrama de clases, modelo Entidad-Relación), la vista de implementación

(diagrama de secuencia, diagrama de estados, diagrama de colaboración), la

vista conceptual ( modelo de dominio) y la vista física (mapa de comportamiento a

nivel de hardware); el diseño y desarrollo de los casos de uso, o flujos de casos

de uso arquitectónicos y las pruebas de los casos de uso desarrollados, que

demuestran que la arquitectura documentada responde adecuadamente a

requerimientos funcionales y no funcionales.

Fase de construcción: Se construye el sistema basado en la arquitectura

base, implementación y realización de pruebas e iteraciones. Para cada iteración

se seleccionan algunos Casos de Uso, se refinan su análisis y diseño y se


51
procede a su implementación y pruebas. Se realiza una pequeña espiral para

cada ciclo. Se realizan iteraciones hasta que se termine la implementación de la

nueva versión del producto. El propósito de esta fase es completar la

funcionalidad del sistema, para ello se deben definir los requisitos pendientes,

administrar los cambios de acuerdo a las evaluaciones realizadas por los usuarios

y se realizan las mejoras en el proyecto. Durante esta fase se construyen la

especificación de los requisitos faltantes, el diseño y desarrollo de los casos de

uso y/o flujos de acuerdo con la planeación iterativa y las pruebas de los casos de

uso desarrollados y de regresión, según sea el caso.

Fase de transición: En la fase de transición se pretende garantizar que se

tiene un producto preparado para su entrega a la comunidad de usuarios. Esta

fase se puede dividir en varias iteraciones, además incluye pruebas del producto

para poder hacer la version entregable, así como realizar ajustes menores

propuestos por el usuario. En este momento se generan las pruebas finales de

aceptación, la puesta en producción y la estabilización del producto elaborado.

En razón de que RUP es iterativo incremental, en cada fase se realiza cada

disciplina de manera iterativa, ya que esta metodología “no es estructurada y

lineal sino sistémica” (Jacobson et al., 2000, p.6). Estas disciplinas dividen las

tareas en: modelado del negocio, requerimientos, análisis y diseño,

implementación, implantación, pruebas, puesta en producción, configuración y

administración de cambios, administración del proyecto y Ambiente.


52
El modelado del negocio, es una técnica para comprender los procesos de

negocio de la organización. Caracteriza la estructura, los procesos, funciones y

responsabilidades actuales de la empresa. Los objetivos del modelado de negocio

son:

• Entender la estructura y la dinámica de la organización para la cual el

sistema va a ser desarrollado.

• Entender el problema actual en la organización objetivo e identificar sus

potenciales y mejoras.

• Asegurar que los clientes, usuarios finales y desarrolladores tengan un

entendimiento común de la organización objetivo.

• Derivar los requisitos del sistema necesarios para apoyar a la organización

objetivo.

Para lograr estos objetivos, el modelo de negocio describe cómo desarrollar

una visión de la nueva organización. Basado en esta visión se definen procesos,

roles y responsabilidades de la organización por medio del modelado del negocio

contemplado por dos tipos de modelos de UML: el modelo de casos de usos y

modelos de objetos. Con este flujo de trabajo se llega a un mejor entendimiento

de la organización donde se va a implantar el producto, (Jacobson et al., 2000).

53
Por su parte la disciplina requerimientos, es un compendio de lo que el sistema

nuevo debe realizar. Define los límites y requerimientos del proyecto, se enfoca

en las necesidades del usuario, (Jacobson et al., 2000). Sus objetivos son:

• Establecer y mantener un acuerdo entre clientes sobre lo que el sistema

podría hacer.

• Precisar inequívocamente y con mayor claridad los requisitos del sistema,

para los desarrolladores.

• Definir el ámbito del sistema.

• Proveer una base para la planeación de los contenidos técnicos de las

iteraciones.

• Estimar costos y tiempo de desarrollo del sistema.

• Definir una interfaz de usuarios para el sistema, enfocada a las necesidades

y metas del usuario.

• Representar la funcionalidad del sistema modelado por diagramas de Casos

de Uso.

• Representar requisitos no funcionales pero deseables, como la facilidad de

uso, fiabilidad, eficiencia, portabilidad, etc del proyecto.

Es importante señalar que los requisitos funcionales representan la

funcionalidad del sistema. Se modelan mediante diagramas de casos de uso.

54
Para capturar estos requisitos es preciso entrevistar a todos los involucrados en el

proyecto y anotar todos sus requerimientos para expresarlo en forma de

requisitos. Los requisitos no funcionales, representan aquellos atributos que debe

tener el sistema, pero que no son una funcionalidad específica. Por ejemplo

requisitos de facilidad de uso, fiabilidad, eficiencia, entre otros.

La disciplina de análisis y diseño es una visión del sistema basado en lo que

hará de acuerdo a los objetivos establecidos. El análisis consiste en obtener una

visión del sistema con base en los requisitos funcionales. Su objetivo es conseguir

una comprensión más precisa de los requisitos y una descripción de los mismos

que sea fácil de mantener y que ayude a estructurar el sistema, incluyendo su

arquitectura. El producto del análisis se denomina Modelo de Análisis constituido

por un modelo de objetos conceptual que ayuda a refinar los requisitos. El

diseño, por su parte es un refinamiento del análisis que tiene en cuenta los

requisitos no funcionales. En el diseño se modela el sistema y la arquitectura que

da soporte a los requerimientos. Transforma los requerimientos en un diseño que

sirva de guía para implementar el sistema. Sirve de base para el desarrollo de la

arquitectura del sistema. El resultado de este flujo será el Modelo de Diseño: Un

mapa de clases y de subsistemas.

De acuerdo con Jacobson et al. (2000) la disciplina implementación se inicia

con el resultado del diseño y se implementa el sistema en término de sus

componentes (archivos de código fuente, scripts y similares). Se prueban los


55
componentes desarrollados como unidades, se integra esas unidades y se

produce un sistema ejecutable. En esta disciplina se realizan las pruebas

preliminares de cada módulo que se produzca, se corrigen errores y se integran

las partes terminadas al sistema. La integración debe ser incremental, es decir, en

cada momento sólo se añade un elemento. De este modo, es más fácil localizar

fallos y los componentes se prueban más a fondo. En fases tempranas del

proceso se pueden implementar prototipos para reducir el riesgo. Su utilidad

puede ir desde probar tecnologías o diseñar la interfaz de usuario. Los prototipos

pueden ser exploratorios (desechables) o evolutivos. Estos últimos llegan a

transformarse en el sistema final. En cada iteración se debe:

• Planificar qué subsistemas deben ser implementados y en qué orden deben

ser integrados, Plan de Integración.

• Cada implementador decide en qué orden implementa los elementos del

subsistema.

• Si se encuentran errores de diseño, se notifican.

• Se prueban los subsistemas individualmente.

• Se integra el sistema siguiendo el plan.

La estructura de todos los elementos implementados, forma el modelo de

implementación. En esta disciplina se obtiene la aplicación desarrollada y

56
probada, así como la documentación y el manual para los usuarios (Jacobson et

al., 2000).

Es importante señalar que la disciplina prueba se enfoca en la evaluación de

“la calidad del producto, encuentra las fallas y las documenta, valida los

requerimientos planteados y el buen funcionamiento” (Jacobson et al., 2000,

p.283). Los objetivos que se alcanzan en esta disciplina son:

• Planificar las pruebas necesarias en cada iteración, incluyendo pruebas de

integración y pruebas de sistema.

• Diseñar e implementar pruebas creando los casos de prueba (qué probar),

los procedimientos de prueba (cómo realizarlas) y los componentes de

prueba para su automatización.

• Realizar las pruebas.

• Brindar soporte a las otras disciplinas en cuanto a la localización y

documentacion de defectos en la calidad del software, evaluacion de la

calidad del producto que se desarrolla, validación de los supuestos

realizados en el diseño y verificación de la apropiada implementación de los

requisitos.

Jacobson et al. (2000), plantean que las actividades de este flujo comienzan en

el proyecto con el plan de prueba, el cual contiene información sobre los objetivos

generales y específicos de las pruebas en el proyecto, así como las estrategias y

57
recursos con que se dotará a esta tarea, o incluso antes, con alguna evaluación

durante la fase de inicio y continua durante todo el proyecto.

Así mismo, estos autores describen la disciplina implantación como la

encargada de producir con éxito las versiones del producto y distribuirlo a los

usuarios. Las actividades que se llevan a cabo en ella son:

• Prueba del producto en su entorno de ejecución.

• Instalación y distribución del software.

• Formación y ayuda a los usuarios.

Este flujo de trabajo se desarrolla con mayor intensidad en la fase de

transición, ya que el propósito del flujo es asegurar una aceptación y adaptación

sin complicaciones del software por parte de los usuarios. Su ejecución inicia en

fases anteriores, para preparar el camino, sobre todo con actividades de

planificación, en la elaboración del manual de usuario y tutoriales. Esta disciplina

arroja tres diferentes documentos: la Especificación de la plataforma tecnológica

requerida para la implantación, el Plan de implantación y los Documentos de

soporte, con las instrucciones para instalación, operación y mantenimiento del

sistema desplegado.

Continuando con la disciplina de puesta en producción, Jacobson et al. (2000),

plantean que describe las actividades asociadas con la entrega y disponibilidad

58
del producto de software hacia el usuario final. Se compone de las siguientes

actividades:

• Probar el software en ambiente final de operación.

• Empaquetar el software para su entrega.

• Instalar y distribuir el software.

• Capacitar a los usuarios finales y a los vendedores.

• Migrar software existente o convertir bases de datos.

Por su parte, la disciplina de configuración y administración de cambios, tiene

como objetivo controlar los cambios y mantener la integridad de los productos del

proyecto. Son actividades de esta disciplina:

• Identificar los elementos configurables.

• Definir y mantener las configuraciones de estos elementos.

• Restringir y auditar los cambios hechos a estos elementos.

Los métodos, procesos y herramientas usadas para la administración y

configuración del cambio pueden ser considerados como el sistema de

administración de la configuración (Jacobson et al., 2000).

Para ir cerrando, Jacobson, et al, (2000) describe el objetivo de la disciplina de

administración de proyectos como una manera de proporcionar un marco de

trabajo para gestionar los proyectos, elaborar manuales para la planeación,


59
soporte, ejecución y monitoreo de proyectos, y crear guías prácticas para la

administración del riesgo. Con la metodología RUP no se realiza la gestión de

personal, presupuestos, ni contratos con proveedores y clientes, pero si se

encarga de la planificación de un proyecto iterativo a través de su ciclo de vida,

gestiona el riesgo, y realiza el seguimiento de la ejecución del proyecto y

mediciones.

Durante esta etapa se deben de tener como opción estos documentos:

• Plan de iteración. Se realiza con el propósito de que el administrador de

proyecto pueda planear las actividades y tareas de iteración, detectar los

recursos necesarios y tener un registro del progreso. Además, los miembros

del equipo de trabajo lo utilizan para saber qué actividades deben realizar,

por qué y cuáles actividades dependen de las que ellos están realizando.

• Lista de riesgos. Para evaluar riesgos con base a la visión del proyecto

inicial; identificar, analizar y dar prioridad a los riesgos del proyecto a fin de

determinar las estrategias de gestión de riesgos apropiadas.

Por último, la disciplina del ambiente, de acuerdo con Jacobson et al.(2000) se

refiere a actividades requeridas para crear los canales de apoyo al proyecto, así

se asegura la disponibilidad de herramientas y procesos, para entregar soporte,

luego de terminado el proyecto. Esto incluye la selección y configuración de

herramientas de soporte en la organización, además de garantizar servicio de

60
soporte técnico a los procesos de la infraestructura de tecnologías de información

de la organización.

2.2.10 Lenguaje de Modelado Unificado

El lenguaje unificado de modelado, UML (por sus siglas en inglés Unified

Modeling Language) es un lenguaje de propósito general para el modelado

orientado a objetos. “Es un lenguaje para visualizar, especificar, construir y

documentar un sistema como un plano gráfico, incluyendo procesos, funciones

del sistema, expresiones de lenguajes de programación y esquemas de bases de

datos”, (Jacobson et al., 2007, p.3). Sus caracteristicas principales son:

• Permite definir los límites de un sistema y sus principales funciones

mediante casos de uso y la definición de los actores.

• Representa la estructura estática de un sistema usando diagramas de

clases.

• Modela los límites de un objeto con diagramas de estados.

• Muestra la arquitectura de la implementación física con diagramas de

componentes o despliegue.

De acuerdo con Jacobson et al. (2007), UML se aplica en el desarrollo de

software a través del uso de una gran variedad de diagramas que dan soporte al

61
Proceso Unificado Racional (RUP), para ello cuenta con varios tipos de diagramas

los cuales muestran diferentes aspectos de las entidades representadas, a saber:

 Diagramas de casos de uso. Los casos de uso son el mecanismo para

capturar la conducta de un sistema que está en desarrollo. Un caso de uso es

una descripción lógica de una parte de funcionalidad. Los diagramas de casos

de uso ofrecen una visión general de los actores involucrados en un sistema,

las diferentes funciones que necesitan esos actores y cómo interactúan estas

diferentes funciones. Se puede observar un ejemplo de diagrama de casos de

uso en la figura 2.8, a continuación:

Figura 2.8. Ejemplo de diagrama de casos de uso.


Fuente: Jacobson et al. (2007)

62
Los elementos gráficos utilizados para la representación de cada caso de uso

se muestran a continuación

Actor Caso de uso del sistema

Figura 2.9. Elementos para la representación de casos de uso.


Fuente: Jacobson et al. (2007)

Los actores son todas aquellas entidades externas que tienen relación con el

sistema y que requieren una funcionalidad del mismo, representan roles que son

interpretados por personas, dispositivos u otros sistemas cuando el sistema está

en uso. Existen varios tipos de actores entre los más comunes se destacan: los

principales, constituidos por personas que interactúan con el sistema trabajando

directa y frecuentemente con el mismo y explotando su funcionalidad; los

secundarios designados a las personas encargadas del mantenimiento y la

administración del sistema; el material externo, formado por todo aquel dispositivo

que forma parte del ámbito del sistema y debe ser utilizado; y los constituidos por

los otros sistemas que interactúan con el sistema en desarrollo.

63
Además de lo planteado, UML define cuatro tipos de relación en los casos de

uso: asociación, extensión, generalización, inclusión, las cuales se describen a

continuación en la tabla 2.1:

Relación Función Notación

Asociación La línea de comunicación entre un actor y un


caso de uso en el que participa.

Extensión La inserción de comportamiento adicional en «extend»


un caso de uso base que no tiene conocimiento
sobre él.

Generalización Una relación entre un caso de uso general y un


de casos caso de uso más específico que hereda le
de uso añade propiedades.

Inclusión La inserción de comportamiento adicional en


un caso de uso base que describe «include»
explícitamente la inserción.

Tabla 2.1 Tipos de relaciones de casos de uso


Fuente: Jacobson et al. (2007)

 Diagramas de clase. Una clase se define como una unidad que encapsula

toda la información del objeto. El diagrama de clases es una vista de las

clases del sistema, indicando las relaciones entre estas y los atributos de las

clases, así como sus métodos. Las clases agrupan objetos con sus atributos y

acciones. Los objetos copian el patrón que proporciona la clase y se

distinguen de otros por sus atributos, datos, que tienen valores distintos. Un

Diagrama de clases de diseño muestra la especificación para las clases

64
software de una aplicación: clases, atributos, métodos, relaciones e interfaces.

Las clases se dibujan como rectángulos. Los atributos y operaciones se

muestran dentro del rectángulo. Las relaciones entre clases se muestran como

las líneas que conectan los rectángulos de las clases. Los diferentes tipos de

relaciones se distinguen por la textura y tipo de línea o en sus extremos. En la

figura 2.10 se observa un ejemplo de diagrama de clases con sus respectivos

atributos y relaciones:

Figura 2.10. Ejemplo de diagrama de Clases

65
Fuente: Jacobson et al. (2007).

Las clases se elaboran partiendo de la realización de los casos de uso, indican

cómo se lleva a cabo un caso de uso en términos de la interacción de objetos,

tienen atributos de alto nivel que describen con detalle en la disciplina de diseño.

Ellas definen sus acciones (roles) en diferentes realizaciones de casos de uso.

Debido a que las clases de análisis son la representación de las realizaciones de

casos de uso en el modelo de análisis, existe una trazabilidad hacia el modelo de

casos de uso. En la figura 2.11 se ilustra como las clases de análisis son la

realización de un caso de uso.

MODELO DE CASOS DE USO MODELO DE ANALISIS

Sacar Salida Retirada


Dinero de Efectivo

Cliente
de Cliente
Transferencia De Interfaz Transferencias
Banco Cuenta
entre Cuentas Banco de Cajero

Ingresar Receptor de Dinero Ingreso


Dinero

Figura 2.11. Realización de casos de uso en estructura de clases de análisis


Fuente: Jacobson et al. (2000).

66
De acuerdo con Jacobson et al.(2000), las clases se identifican como clase

entidad, clase interfaz y clase control. La clase entidad modela la información y el

comportamiento asociado a algún concepto, como una persona, un objeto o un

suceso del mundo real. Encapsula aspectos relacionados con información de

larga vida y persistente, gestionada por el sistema y muestra una estructura de

datos lógica que permite comprender a primera vista qué información depende del

sistema. Se representa con la figura 2.12 mostrada a continuación:

Clase de entidad

Figura 2.12. Clase de entidad


Fuente: Jacobson et al. (2000).

Por su parte la clase interfaz se utiliza para modelar la interacción entre el

sistema y sus actores (usuarios y sistemas externos). Cada clase interfaz debe

asociarse con al menos un actor y representa ventanas, formularios, paneles,

interfaces de impresoras o de comunicaciones. Se representa con la figura 2.13

mostrada a continuación:

67
Clase de interfaz

Figura 2.13. Clase de interfaz


Fuente: Jacobson et al. (2000).

Para finalizar, la clase control representa coordinación, secuencia,

transacciones y control de otros objetos. Se utiliza con frecuencia para encapsular

el control de un caso de uso y para representar la lógica del negocio que no

puede asociarse con ninguna información concreta, de larga duración,

almacenada por el sistema. Los aspectos dinámicos del sistema se modelan con

las clases control, debido a que ellas manejan y coordinan las acciones y los

flujos de control principales y delegan trabajo a otros objetos (interfaz, entidad).

Se representa con la figura 2.14 mostrada a continuación:

<

Clase de control

Figura 2.14. Clase de control


Fuente: Jacobson et al. (2000).

68
 Diagramas de colaboración. Estos diagramas se centran en la

responsabilidad de cada objeto y en la interacción entre ellos; muestra como

las instancias específicas trabajan juntas para conseguir sus objetivos

comunes e implementa las asociaciones del diagrama de clases mediante el

paso de mensajes de un objeto a otro (el conector o vínculo entre objetos). La

comunicación entre los objetos se denomina conector y se representa por

medio de una línea entre ellos. Los conectores pueden tener uno o varios

mensajes asociados en ambas direcciones, un mensaje se representa con un

texto indicando el nombre del mensaje (motivo del objeto que realiza la

llamada), sus argumentos y una pequeña flecha (la dirección de la flecha va

del objeto emisor del mensaje al receptor del mismo). Los diagramas de

colaboración muestran el número de secuencia del mensaje delante de su

nombre para conocer la secuencia de los mismos. En la figura 2.15 se muestra

un ejemplo gráfico de un diagrama de colaboración.

69
1: Identificación 2: solicitar retirada
del usuario
: Interfaz
de Cajero
< 3: validar y retirar

: Retirada de Efectivo : Cuenta


:Cliente

4: autorizar entrega
5: entrega
de dinero

: Salida

Figura 2.15. Ejemplo de diagrama de colaboración


Fuente: Jacobson et al. (2000).

 Diagramas de secuencia. Estos diagramas muestran los objetos que

participan en una interacción, el intercambio de mensajes y su ordenamiento

en el tiempo, representan los escenarios de casos de uso, los eventos que

generan los actores, su orden, y los posibles eventos internos del sistema.

Esto diagramas muestran las interacciones en el tiempo, el eje de tiempo

muestra los roles que representan objetos individuales en la colaboración.

Cada rol se representa mediante una columna vertical que contiene un

símbolo de cabecera y una línea vertical que representa la línea de vida. Un

70
diagrama de secuencia sólo muestra secuencias de mensajes y no intervalos

exactos de tiempo, ya que los mensajes son suficiente para entender la

interaccion y su secuencia. Un mensaje se muestra como una flecha desde la

línea de vida de un objeto a la línea de vida del otro. Las flechas se organizan

cronológicamente hacia abajo en el diagrama. Los mensajes asíncronos se

muestran mediante flechas de punta abierta. En la figura 2.16 se observa un

ejemplo de diagrama de secuencia:

Figura 2.16. Ejemplo de diagrama de secuencia


Fuente: Jacobson et al. (2000).

 Diagramas de estado.

71
Los diagramas de estado muestran el conjunto de estados por los cuales pasa

un objeto durante su vida en una aplicación en respuesta a eventos. Cada estado

modela un periodo de tiempo durante la vida de un objeto en el que satisface

ciertas condiciones. Cuando ocurre un evento, se puede desencadenar una

transición que lleve al objeto a un nuevo estado. Cuando se dispara una

transición, se ejecuta un efecto (acción o actividad) asociada a la transición. Se

representa esta secuencia de estados, según las acciones que van sucediendo.

Un estado es la representación de los cambios que sufre el objeto. Estos

diagramas se caracterizan por tener un estado de inicio y un estado final, y cada

evento representa un suceso que permite que el objeto pueda cambiar.

Los elementos de los diagramas de estado son:

• Eventos: Ocurrencias que puede causar la transición de un estado a otro

de un objeto.

• Acciones: Una acción es una operación, que no se puede interrumpir por

un evento y que se ejecuta hasta su finalización.

• Actividades: Cuando un objeto está en un estado, está esperando a que

suceda algún evento. A veces se desea modelar una actividad que se está

ejecutando. Mientras un objeto está en un estado, dicho objeto realiza un

trabajo que continuará hasta que sea interrumpido por un evento. Una

actividad puede ser interrumpida por otros eventos.

72
• Estados: Un estado identifica una situación en la vida de un objeto durante

la cual satisface alguna condición, ejecuta alguna actividad o espera que

suceda algún evento. Un objeto permanece en un estado durante un tiempo

finito.

Figura 2.17. Ejemplo de diagrama de estados


Fuente: Jacobson et al. (2000).

En el desarrollo de este trabajo, se utilizará el lenguaje Unificado de Modelado

UML, como apoyo a la metodología RUP, en la representación y modelaje de los

procesos que se crearán, para el desarrollo de la aplicación web móvil.

73
2.2.11. Teoría General de Sistemas, Van Gigch.

Un sistema de acuerdo con Bertalanffy (1969), es la unión de partes o

componentes, conectados organizadamente. Las partes que componen un

sistema pueden cambiar y por lo tanto el sistema cambia; por otra parte si el

sistema cambia los componentes dentro de él se modifican. Existen varias

formas de representar un sistema según la concepción y forma de representación

que presentan diferentes autores. Van Gigch (2000) en su Teoría General de

Sistemas, utiliza el enfoque sistémico para la representación del sistema, lo

muestra como un todo, lo tangible e intangible, lo formal e informal. De manera

general, la representación gráfica de un sistema para este autor consta de tres

niveles: sistema global o supra sistema, sistema total y subsistemas, visualizando

la ubicación de unos dentro de otros. Los límites o ambiente son establecidos por

medio de la identificación de los subsistemas, el sistema total y el sistema global,

como se explica a continuación y muestra en la figura 2.18.

• Nivel 1 – Sistema Global (Supra sistema): Representa el universo donde el

sistema está contenido, su medio ambiente, todo lo que no está bajo el

control del sistema, pero que interactúan con él.

• Nivel 2 – Sistema Total: Contiene los elementos que interactúan con y

dentro del sistema a nivel funcional.

74
• Nivel 3 - Subsistemas: Están contenidos dentro del Sistema Total, se

integran entre sí para dar forma a la parte funcional del Sistema Total. Los

subsistemas cumplen cada uno una función específica, es decir, son

especializados, por lo tanto en sí mismo cada uno es un sistema.

Nivel 1 - EL SISTEMA GLOBAL

MEDIO MEDIO MEDIO MEDIO

Nivel 2
ELEMENTO 1 ELEMENTO 2

Nivel 3 - SUBSISTEMAS

SUBSISTEMA SUBSISTEMA SUBSISTEMA SUBSISTEMA

Figura 2.18. Representación de un sistema.


Fuente: Van Gigch (2000)

75
En base a estos lineamientos de representación de sistemas, planteado por

Van Gigch, se elaboró una representación del sistema actual de Liberty Express,

el medio ambiente de este sistema y los agentes internos. En este esquema se

ubicó y se representó la aplicación web móvil de este proyecto, como un

subsistema del sistema de la organización.

2.3 Funcionamiento de una empresa de envíos.

Este tipo de empresas están dedicadas a envíos de paquetes puerta a puerta y

prestan sus servicios mayormente a grandes corporaciones dedicadas a ventas

por Internet, como Amazon o eBay. Se encargan de trasladar el paquete desde

los almacenes de las empresas vendedoras hacia el destino final, ya sea por aire

o por tierra. Estas empresas son responsables de las contrataciones con las

empresas aéreas y marítimas y de todos los trámites legales de exportación e

importación en las aduanas.

Las empresas de envíos están relacionadas con la industria del Courier, de

acuerdo con Masís, Matamoros, Rojas, & Salas (2016), courier significa

mensajero, por lo que en el caso que nos ocupa, se refiere a la empresa que

ofrece el servicio de llevar, de un lugar a otro, correspondencia, cartas o

paquetes. Estos autores afirman que la industria del courier nació junto con las

grandes corporaciones de ventas por Internet y actúan como intermediaria entre

76
la empresa de ventas y el cliente final de la mercadería. Se diferencia de las

formas tradicionales de mensajería por la especialización del servicio como son

las aplicaciones en Internet que le permiten al cliente realizar el seguimiento de la

mercadería.

Masís et al., (2016), caracterizan varios conceptos relacionados con el servicio

de entregas, como son:

 Recolecta de paquetes, consiste en la recogida de paquetes en el domicilio,

oficina o depósito donde se encuentre el cliente, para llevarlo al almacén de

distribución o sucursal más cercana.

 Entrega de paquetes, se trata de hacer llegar los paquetes a su destinatario en

su domicilio, hogar u oficina.

 Rastreo del envío, acción que puede hacerse a través de la página Web o

centro de atención.

 Cobro en destino, consiste en que el pago del envío es realizado por quien lo

recibe. Las formas de pago por lo general se pueden realizar en efectivo, con

tarjeta de débito, crédito o por depósito previamente realizado.

 Cobro por taquilla, cobro que se realiza en la taquilla de la sucursal que

entrega o recibe el paquete. Se efectúa con efectivo o tarjeta de débito.

77
 Seguimiento de paquetes o tracking, es la consulta realizada por el cliente, a

través del centro de atención al cliente o por la página Web, con el número de

guía de servicio de su paquete, permite visualizar el lugar donde se encuentra

el paquete al momento de la consulta.

2.4 Descripción de la empresa Liberty Express c.a

Liberty Express c.a., inició sus operaciones en el año 2002 con el transporte de

paquetes entre Venezuela y los Estados Unidos. En el año 2010, se expandió a

República Dominicana, Costa Rica y España. En Venezuela tiene una flota de

cien (100) unidades terrestres, con las que ofrece el servicio de entrega a

domicilio en todo el país. Tiene sucursales ubicadas en varias zonas de Caracas y

las principales ciudades del país. En todas estas sucursales se puede depositar

paquetes o retirarlos y utiliza como forma de pago depósitos bancarios, efectivo o

pago online del Banco Provincial y cuenta con un centro de atención telefónica y

una página web para rastrear los paquetes.

La empresa tiene como misión garantizar la seguridad e integridad de los

valores de sus clientes y ofrecerles la mejor atención por medio de empleados

altamente calificados (Liberty Express, 2020). Así mismo define su visión

orientada hacia continuar siendo una empresa innovadora en el mercado de

transporte de compras por internet por medio de trabajadores comprometidos y de

78
los beneficios que ofrecen las tecnologías de punta que garanticen un servicio de

calidad y con presencia en nuevos mercados. Entre sus valores se destacan:

honestidad, compromiso y responsabilidad. (Liberty Express, 2020).

Liberty Express c.a., en una empresa de traslado de paquetes desde Estados

Unidos hacia Venezuela. Está catalogada como empresa de envío porque se

encarga de transportar paquetes y documentos. Realiza las gestiones y papeleos

en aduanas y en otros puntos geográficos de entrada que lo requieran. Se

caracteriza por realizar entregas a sus clientes y ofrecer opciones para el rastreo

de los paquetes que son entregados. Conforma una alternativa al correo postal

nacional.

En la figura 2.19 se muestra la estructura organizativa de la empresa y

posteriormente se describe cada una de sus unidades organizativas:

79
Estructura Organizativa Liberty Express c.a.

Dirección
Nacional

Finanzas Administración Recursos Operaciones Mantenimiento


Humanos

Almacén Logística

Figura 2.19. Estructura Organizativa de Liberty Express c.a.


Fuente: Autor (2020).

La dirección nacional define los objetivos estratégicos y funcionales de cada

departamento de la empresa, además de supervisar y coordinar su cumplimiento,

asignando recursos y presupuestos para cada una de las unidades. Supervisa y

vigila que todas las sucursales nacionales cumplan sus objetivos.

El departamento de finanzas, supervisa la facturación, la producción y

contabilidad. Es la responsable de gestionar los financiamientos de acuerdo a las

necesidades de la empresa, así como planificar y gestionar la liquidez financiera

de la misma para afrontar sus pagos puntualmente y tener una situación

patrimonial saneada

80
El departamento de administración, controla el área de tesorería, gestiona y

contabiliza las facturas emitidas y recibidas, cobra a los clientes, paga a los

proveedores y personal de la empresa, y liquida los impuestos en las fechas

correspondientes.

El departamento de recursos humanos, gestiona el talento humano para

garantizar el cumplimento de las distintas funciones en cada jornada de trabajo.

Es responsable de vigilar que los puestos de trabajo estén siempre cubiertos, así

como de aplicar las fórmulas de contratación más adecuadas en cada caso,

remunerar a los trabajadores y mantenerlos motivados.

El departamento de operaciones, es responsable de la supervisión directa

del departamento de Almacén y el de logística. Realiza las previsiones para

controlar el presupuesto de estos departamentos, además de gerenciar las

operaciones a fin de rentabilizar al máximo los recursos de almacén y transporte.

El departamento de almacén, se encarga de garantizar el adecuado manejo

y custodia de los paquetes de los clientes. Verifica la exactitud del registro de

entradas y salidas, entregas y recolectas realizadas. Es responsable de la

integración de los datos que forman el catálogo de paquetes que manejan los

diferentes almacenes en las sucursales, así como la información que conforma el

detalle de sus inventarios.

81
El Departamento de logística, se encarga de la distribución física de los

paquetes de los clientes, así como de la coordinación de entradas y salidas de

camiones de la flota, asignación de choferes y rutas. La distribución física tiene un

impacto directo en su competitividad ya que debe entregar la mercancía a los

clientes en el tiempo concertado.

El Departamento de Mantenimiento, está encargado de planificar, ejecutar y

evaluar las acciones destinadas a atender los requerimientos de los vehículos de

transporte, así como las relativas al mantenimiento preventivo, correctivo, seguro

de casco, responsabilidad civil y gestión de documentos de la flota.

Los pasos a seguir para contratar el servicio y registrar un envío a través de la

empresa Liberty Express C.A. se presentan a continuación:

1. Registro en la página web: El cliente se registra como “socio” de Liberty,

introduciendo sus datos, nombre, dirección, etc. El sistema le devuelve un

número que será su código de socio y que comienza con las iniciales del

país de registro, por ej.:VE00000 que corresponde a Venezuela. Este paso

solo se efectúa una sola vez para quedar registrado en el sistema Liberty.

2. Al realizar la compra por internet se debe colocar el código de socio Liberty,

seguido de su nombre y la dirección del depósito de Liberty en Miami, como

se indica a continuación:

Shipping Address:

82
Nombre: El código Liberty del cliente, el nombre del cliente
Dirección: 11800 NW 101st Rd. Miami, Fl. 33198-1044
Teléfono: (305) 5009199

3. Pre-alertar la compra: Al cliente le llegará un email de la empresa

vendedora (Amazon, eBay, etc) con la confirmación de su compra, la

descripción y un tracking number, que es el número de seguimiento del

paquete. El cliente debe ingresar con su código de socio Liberty en la

página web: www.libertyexpress.com e introducir los datos de la compra

que está enviando a los almacenes de Liberty en Miami. De esta manera la

empresa recibe una notificación para estar alerta sobre la compra que ha

realizado el cliente.

4. Al momento de pre-alertar la compra en la página web, aparece la opción

de recibir el paquete a domicilio. Si este es el caso, el cliente recibirá una

notificación de que su paquete ha llegado al país para que proceda a

realizar el pago a través de la página web colocando un número de depósito

o realizando el pago con tarjeta de crédito. Luego de 48 horas la empresa

procederá al despacho del paquete a domicilio. Si no desea el paquete a

domicilio, recibirá la notificación que ha llegado a la sucursal para que lo

pase recogiendo y efectúe el pago en la misma de alguna de las maneras

antes mencionadas. La empresa garantiza los paquetes hasta 30 días

83
después de recibirlos en el almacén. Luego de este periodo no se hace

responsable por los paquetes.

5. Estatus de los envíos, la empresa Liberty mantendrá informado al cliente

del estado de su paquete desde que llega a su galpón en Miami hasta el

momento de la entrega en el país de destino, a través de mensajes al

correo electrónico y de mensajes de texto al teléfono del cliente.

84
CAPITULO III

MARCO METODOLOGICO

En este capítulo se describe el tipo de investigación utilizado, se justifica su

selección y se presentan las estrategias metodológicas aplicadas al caso de

estudio para alcanzar los objetivos planteados.

3.1 Tipo de investigación

El presente trabajo se enmarca en la definición de proyecto factible, que de

acuerdo con el Manual de Tesis de Grado y Especialización y Maestría y Tesis

Doctorales de la Universidad Pedagógica Libertador, (2006) señala:

El Proyecto Factible consiste en la investigación, elaboración y desarrollo


de una propuesta de un modelo operativo viable para solucionar
problemas, requerimientos o necesidades de organizaciones o grupos
sociales; puede referirse a la formulación de políticas, programas,
tecnologías, métodos o procesos (p. 16).

Así mismo, se considera una investigación de tipo documental, de acuerdo a lo

planteado por Fidias (2000): “La Investigación Documental es un proceso basado

en la búsqueda, recuperación, análisis e interpretación de datos secundarios, es

decir, los obtenidos y registrados por otras fuentes documentales: impresas,

audiovisuales o electrónicas. El propósito es el aporte de nuevos

85
conocimientos”(p.27). Para ello se realizaron revisiones de textos, manuales

operativos y técnicos de la empresa.

Además, dado que los datos se van a tomar de la realidad por medio de visitas

a las instalaciones de la empresa y entrevistas, se puede clasificar también como

una investigación de campo, como señala Fidias (2006):

La investigación de campo es el análisis sistemático de problemas en la


realidad, con el propósito bien sea de describirlos, interpretarlos, entender
su naturaleza y factores constituyentes, explicar sus causas y efectos, o
predecir su ocurrencia, haciendo uso de métodos característicos de
cualquiera de los paradigmas o enfoques de investigación conocidos o en
desarrollo. Los datos de interés son recogidos en forma directa de la
realidad. (p.31)

Con esta investigación se obtuvo la caracterización de los procesos existentes

en el escenario actual y se identificaron los casos que debe automatizar el

sistema, la relación entre el software y el negocio, para una visión más clara del

enfoque que tiene el cliente sobre la aplicación a realizar.

3.2 Técnicas de recopilación de datos

Menciona Arias (2012, P.111) que “las técnicas de recolección de datos son las

distintas formas o maneras de obtener la información”. Para obtener los datos e

información relacionada con este trabajo, las técnicas que se utilizaron son la

observación directa simple y la entrevista. Para Sabino (2003), la observación

directa y simple se puede definir como:

86
La inspección y estudio realizado por el investigador, mediante el empleo
de sus propios sentidos, especialmente el de la vista, con o sin ayuda de
aparatos técnicos, de las cosas y hechos de interés social, tal como son o
tienen lugar espontáneamente en el tiempo en que acaecen y con arreglo
a las exigencias de la investigación científica (p.110).

Además este autor indica que la observación directa es utilizada

sistemáticamente por nuestros sentidos, los cuales están orientados a la

captación de la realidad que se quiere estudiar. Con respecto a la entrevista,

Tamayo (2001) afirma que:

La entrevista constituye una forma concreta de la técnica de observación.


Contiene los aspectos del fenómeno que se consideran esenciales,
permite además, aislar ciertos problemas que no interesan
principalmente; reduce la realidad a cierto número de datos esenciales y
precisa el objeto en estudio (p.160).

En la entrevista el investigador formula preguntas a las personas capaces de

aportarle datos de interés, estableciendo un diálogo donde una de las partes

busca recoger información y la otra es la fuente de esa información. La ventaja de

la entrevista reside en que son los mismos actores quienes proporcionan los

datos relativos a sus requerimientos y expectativas. Nadie mejor que la misma

persona involucrada para hablar acerca de todo aquello que piensa y siente, de lo

que ha experimentado o proyecta hacer.

Para este trabajo se utilizó la observación directa y la entrevista, las cuales son

técnicas frecuentemente utilizadas y las que mejor se adaptaron al proyecto

87
desarrollado, debido a que permitieron abordar y precisar la investigación,

evitando la pérdida de la información.

3.3 Estrategia Metodológica

La estrategia metodológica utilizada se basó en el proceso Unificado de

Rational RUP planteada por Jacobson, Booch y Rumbaugh (2000) ya que

constituye la metodología estándar más utilizada en la actualidad para el análisis,

documentación e implementación de sistemas, debido a que garantiza un

producto de alta calidad y a su gran adaptabilidad al contexto y necesidades de

cada organización. Dentro de este marco metodológico se ha escogido para

caracterizar el sistema actual de Liberty Express la representación de los

sistemas planteada por Van Gigch (2000).

Con base en lo planteado, la estrategia metodológica RUP utilizada en este

trabajo está organizada en 4 disciplinas, a saber: Requisitos, Análisis y Diseño,

Implementación e Implantación, como se muestra en la tabla a continuación, en

ella se describe las actividades realizadas y los productos obtenidos en cada una

de las disciplinas durante el desarrollo del este proyecto:

88
Disciplina Actividades Productos

 Investigación sobre el estado del arte de aplicaciones


 Marco Teórico, información sobre
web orientadas a móvil, tecnologías y los procesos de
estado del arte de aplicaciones
Requisitos la empresa.
web orientadas a móvil.
 Descripción y representación del sistema actual.
 Modelo del sistema actual.
 Identificación de los requerimientos del sistema.
 Modelo del sistema propuesto:
 Descripción y representación de la aplicación
 Requerimientos funcionales y no
propuesta:
funcionales.
o Elaboración del diagrama de contexto de la
 Diagrama de contexto de la
aplicación propuesta.
aplicación propuesta.
o Definición de los actores y roles
 Actores.
o Elaboración de los casos de uso de la
 Modelo de casos de uso.
aplicación propuesta.

 Descripción de las clases de análisis.


 Elaboración de los diagramas de colaboración.  Modelo de Análisis.
Análisis
y diseño  Diseño de las interfaces de usuarios.

 Identificación de las clases de diseño para cada caso


de uso.
 Elaboración de diagramas de secuencias para cada
caso de uso.  Modelo de diseño

 Elaboración del diagrama de clases.


 Documentación de las clases del sistema.

 Prototipo de aplicación web desarrollada


 Programación de la aplicación. y probada.
Implementación
 Realización de las pruebas.  Documentación de la aplicación.
 Documentación de la aplicación desarrollada.
 Manual de usuario.
 Elaboración de manual de usuario.
 Adiestramiento de usuarios.  Usuarios capacitados

 Elaboración del plan de implantación de la aplicación


 Plan de implantación.
Implantación desarrollada.
 Definición de la plataforma tecnológica requerida  Especificación de la plataforma
para la implantación. tecnológica requerida.

Tabla 3.1 Estrategia metodológica del proyecto.


Fuente: Autor (2020).

89
Requisitos

Según Jacobson et al. (2000), el objetivo de la disciplina de requisitos es

determinar las condiciones o capacidades que debe cumplir la aplicación web

para satisfacer las necesidades de los usuarios, establecer y mantener un

acuerdo con la directiva de la empresa sobre lo que debe hacer la aplicación web,

definir el alcance de la misma y proveer a los desarrolladores de un mejor

entendimiento.

En esta disciplina, durante la ejecución del proyecto, se buscó en primer lugar

comprender el contexto del sistema en el cual va a operar la aplicación web,

conocer el estado del arte de la tecnología relacionada con el proyecto a

desarrollar, para obtener una primera representación de la aplicación propuesta.

Para ello se realizaron varias actividades a saber:

• Investigación de campo y documental sobre la empresa, sus procesos y

funcionamiento; aplicaciones web orientadas a móvil y la tecnología

relacionada. Se realizaron entrevistas a la directiva de la empresa y al

personal de tecnología, así como observaciones directas del proceso de

traslado de paquetes. Para las entrevistas se elaboró un guion que permitió

a la investigadora obtener la información requerida, de la empresa y de los

procesos tecnológicos. Por su parte, para la observación directa se

realizaron visitas al centro de distribución y se registró la información de

procesos que están relacionados con el proyecto. Con respecto a la


90
investigación documental, se revisaron los manuales técnicos de la

empresa y se llevó a cabo una exploración minuciosa en la Web para

recopilar información sobre el estado del arte de las aplicaciones web

orientadas a dispositivos móviles y las tecnologías utilizadas para ello.

Estas actividades permitieron recopilar información que más adelante se

analizó para obtener un bosquejo general del problema planteado y el

entorno de la futura aplicación web. El resultado de esta investigación se

encuentra en el marco teórico de este informe.

• Descripción y representación del sistema actual. Con base en los

lineamientos para la representación de sistemas planteados por Van Gigch

(2000), se elaboró la representación del sistema actual de Liberty Express.

Se representó el sistema actual de Liberty Express c.a conjuntamente con

su medio ambiente, los límites del sistema y los agentes externos e internos

relacionados a él, lo que permitió un mayor entendimiento del sistema

actual.

• Identificación de los requerimientos del sistema. Los requerimientos del

sistema se clasifican en funcionales y no funcionales. Los funcionales

describen lo que el sistema debe hacer, es decir: su función, las entradas y

salidas; y son fundamentales para identificar los casos de uso (Jacobson et

al., 2000). Por su parte, los requerimientos no funcionales representan

aquellos atributos que debe presentar el sistema, pero que no son una
91
funcionalidad específica. Para determinar los requerimientos funcionales y

no funcionales de este proyecto se partió de la información que se obtuvo

en las entrevistas al personal de la empresa y de la observación directa de

los procesos logísticos de entregas y recolectas del almacén, y en rutas de

los camiones.

• Descripción y representación de la aplicación web propuesta. La aplicación

web propuesta se representó con el uso de herramientas de la metodología

RUP y del lenguaje UML, para ello se elaboró el diagrama de contexto de la

aplicación Web, el cual permite visualizar los límites entre la aplicación y su

ambiente, además de exponer los agentes externos que interactúan con

ella. Para ello se realizó un análisis de las entidades que requieren

interactuar con la aplicación y los agentes externos con sus flujos de datos.

Así mismo, se elaboraron y describieron los casos de uso y se definieron los

actores y sus roles para con la aplicación propuesta. Los actores

representan terceros (entidades) fuera de la aplicación, los cuales

interactúan con ella y demandan una funcionalidad de la misma. Estas

entidades pueden ser un usuario, un grupo de usuarios, o sistemas

externos completos (Jacobson et al., 2000). El conjunto de casos de uso,

modelo de casos de uso, representa la totalidad de operaciones que va a

ejecutar la aplicación. Los casos de uso son fundamentales para dar

soporte a la trazabilidad a través de todos los modelos que se elaboran en

92
las diferentes fases del proceso. Desde los requisitos hasta las pruebas, la

trazabilidad permite evaluar en retrospectiva e iterativamente el logro de

cada uno de los requisitos y garantizar su cumplimiento.

Análisis y Diseño

Durante el análisis y diseño se llevó el modelo de casos de uso a un modelo de

análisis y a un modelo de diseño. Durante el análisis, se revisaron y estudiaron

detalladamente todos los requisitos para refinarlos y estructurarlos en clases de

análisis y sus relaciones. Se buscó una comprensión más amplia de los requisitos

para obtener una descripción de los mismos y coadyuvar en la estructuración de

la nueva aplicación. Para ello se definieron las clases de análisis partiendo de los

casos de uso realizados. Se elaboró, en un proceso iterativo con el análisis de los

casos de uso, una lista de los roles y atributos para cada clase de análisis.

Así mismo se elaboraron los diagramas de colaboración, los cuales describen

las realizaciones de los casos de uso, estos diagramas muestran cómo el control

pasa de un objeto a otro a medida que se lleva a cabo cada caso de uso y los

mensajes que se envían entre ellos, (Jacobson et al., 2007). Los objetos se

representan por medio de las clases entidad, interfaz y control. Con el diagrama

de colaboración se obtuvieron los vínculos entre objetos, atributos y visibilidad de

las realizaciones de los casos de uso. Con la clase entidad se modeló la

información y el comportamiento persistente que debe almacenarse en el sistema,

93
estas clases mantienen atributos y relaciones durante toda la vida del sistema. La

clase interfaz se utilizó para modelar la interacción entre los actores y los casos

de uso. Para finalizar, la clase control permitió modelar el comportamiento de

control específico de los casos de uso. Las clases control evitan que las clases

interfaz tengan relación de asociación con las clases entidad.

En el diseño se modeló la aplicación propuesta a partir del modelo de diseño

tomando como base el modelo de análisis previamente elaborado. Para ello se

definió la arquitectura de la nueva aplicación y se adaptó su diseño al entorno de

implementación.

Para visualizar las relaciones entre las clases involucradas en la aplicación

propuesta se identificaron las clases de diseño de cada caso de uso. Estas son

entidades individuales que poseen atributos y métodos encapsulados, las cuales

interactúan sobre los procesos de la aplicación. Las clases de diseño de cada

caso de uso se les conocen como realizaciones de casos de uso-diseño y son

realizaciones físicas de la realización de caso de uso-análisis para la que son

trazados (Jacobson et al., 2000), para su realización se tomó como base las

clases del análisis anteriormente realizadas.

Siguiendo con las actividades de esta disciplina se elaboraron los diagramas

de secuencia para describir como colaboran y se comunican los objetos de la

aplicación propuesta. Estos diagramas muestran los objetos que participan en una

94
interacción, el intercambio de mensajes y su ordenamiento en el tiempo. Los

diagramas de secuencia representan los escenarios de casos de uso, los eventos

que generaron los actores, su orden, y los posibles eventos internos de la

aplicación desarrollada.

Igualmente se representaron la totalidad de las clases y relaciones que fueron

identificadas para la aplicación web en un diagrama. Las clases agruparon objetos

con sus atributos y acciones. Para finalizar con la documentación del trabajo

realizado, la información se esquematizó en diagramas y tablas y contiene todo lo

relacionado con las clases de la nueva aplicación.

En esta disciplina se obtuvieron los siguientes productos que servirán de base

para la implementación de la aplicación diseñada, estos son: el modelo de

análisis, los diagrama de colaboración, el prototipo de interfaz de usuario, las

clases de diseño estructuradas con representaciones que se convertirá en

componentes de la aplicación.

Implementación.

Esta disciplina se inicia con la programación de la aplicación web, siguiendo

con la realización de pruebas a la aplicación desarrollada y finalmente

documentando la aplicación web y capacitando a los usuarios que interactuaran

con ella. El desarrollo, como un prototipo, de la aplicación web diseñada de

acuerdo a los modelos obtenidos, tomando siempre en consideración el Sistema

95
actual y en funcionamiento de la empresa se realizó mediante la programación de

prototipos evolutivos de la interfaz de usuario a partir de las interfaces diseñadas

y aprobadas paso a paso. Se implementó la aplicación web en términos del

código fuente del lenguaje de programación seleccionado (PHP) y el manejador

de base de datos (MySQL). Se trabajó con el manejador de base de datos

utilizado por la empresa para garantizar la compatibilidad e implantación de la

aplicación desarrollada, así como facilitar las pruebas.

Las pruebas se iniciaron con la elaboración de un plan de pruebas, el cual

contiene información sobre los objetivos generales y específicos de las pruebas

así como las estrategias y recursos requeridos para realizarla. Es importante

señalar que en fases tempranas del proceso se implementaron prototipos de la

aplicación Web con el fin de reducir el riesgo de futuras fallas, probar tecnologías

y diseñar la interfaz de usuario. Las pruebas de los prototipos fue un proceso

evolutivo de actualización del prototipo de la aplicación, hasta llegar a obtener la

Aplicación Web final. Las pruebas a la aplicación desarrollada se enfocaron en la

evaluación de la calidad del producto, en encontrar las fallas de la aplicación en

funcionamiento y en documentar cada una de ellas.

Una actividad importante desarrollada durante esta disciplina comprende la

elaboración de la documentación de la aplicación Web desarrollada, constituida

por un compendio de información relevante sobre el desarrollo de la aplicación lo

que permitirá futuras adecuaciones o ampliaciones a la aplicación Web


96
desarrollada y a la vez servirá de historial para el sistema actual de la empresa.

Se elaboraron el manual técnico de desarrollo de la aplicación web y el manual de

usuario, este último facilitará el uso de la Aplicación Web a todos los usuarios,

mucho de los cuales no son expertos en el uso de esta tecnología. Finalizando la

etapa de esta disciplina con la inducción a los usuarios, a través de un simulacro

de uso de la Aplicación Web desarrollada.

Implantación.

En razón de que se necesita actualizar la plataforma tecnológica de la empresa

para implantar la aplicación Web desarrollada, se determinó elaborar en la etapa

correspondiente a esta disciplina, un plan de implantación y un documento

descriptivo de los equipos tecnológicos necesarios para llevar a cabo este plan.

El plan de implantación documenta el cómo y cuándo se debe poner la

aplicación web a disposición de la comunidad de usuarios de la empresa, incluye

los procedimientos para la instalación del software y herramientas de soporte. Así

mismo se indican las pruebas que se deben realizar a los equipos móviles para

verificar el funcionamiento, su capacidad de acceso a internet y a la aplicación

web desarrollada.

Para finalizar, se elaboró las especificaciones técnicas de la plataforma

tecnológica requerida para la implantación de la aplicación Web desarrollada,

tanto de software como de hardware.

97
98
REFERENCIAS BIBLIOGRAFICAS

Apache HTTP Server Project. (2020). Recuperado el 15 de febrero de 2020, de


https://httpd.apache.org/

Arias, F. (2012). El Proyecto de Investigación. Tercera Edición. Caracas:


Ediciones Orial.

Berners-Lee, T. (1990). WorldWideWeb: Propuesta para un sistema de hipertexto.


Recuperado el 15 de febrero de 2019, de World Wide Web Consortium
W3C: https://www.w3.org/Proposal.html

Carvallo, M. (2011). Prototipo de comunicación basado en m-learning como apoyo


a la municipalización de la educación universitaria en Venezuela. Práctica
profesional. Universidad Nacional Abierta. Caracas. Venezuela.

Cobo, Á., Gómez, P., Pérez, D., & Rocha, R. (2005). PHP y MySQL: Tecnología
para el desarrollo de aplicaciones web. España. Editorial: Díaz de Santos.

Guy, K. (2017). El teléfono celular: La historia y tecnología del dispositivo que


cambió al mundo. North Carolina. Editorial: McFarland & Company.

Jacobson, I., Brooch, C., & Rumbauch, J. (2000). RUP. Madrid. Editorial: Pearson
Educación s.a.

Jacobson, I., Brooch, C., & Rumbauch, J. (2007). Manual de referencia de UML El
lenguaje Unificado de modelado. Madrid. Editorial: Pearson Educacion s.a.

Leiner, B. M., Cerf, V. G., Clark, D. D., Kahn, R. E., Kleinrock, L., Lynch, D. C., y
otros. (1997). La historia de internet. Informe de la Internet Society.
Recuperado el 8 de octubre de 2018, de https://www.internetsociety.org/es/
internet/history-internet/brief-history-internet/

99
Liberty Express. (2020). Liberty Express. Recuperado el 20 de junio de 2020, de
Liberty Express: https://libertyexpress.com/venezuela/quienes-somos/

Luján, S. (2002). Programación de aplicaciones web: historia, principios básicos y


clientes web. Alicante. Editorial: Club Universitario.

Masís, N., Matamoros, R., Rojas, A., & Salas, N. (2016). Plan de Mercadeo para
la empresa Liberty Express C.A. Universidad de Costa Rica. Recuperado el
5 de junio de 2020, de http://repositorio.sibdi.ucr.ac.cr:8080
/jspui/handle/123456789/2128

MySQL. (2020). MySQL. Recuperado el 26 de Noviembre de 2020, de


MySQL.com

Netbeans. (2020). The Netbeans framework. Recuperado el 15 de enero de 2020,


de www.netbeans.org

Niederst, J. (2018). Diseño web, guía básica de HTML, CSS, JavaScript y diseño
web. California. Editorial: O'Reilly.

Normas APA 2017. (s.f.). Normas APA 2017. Recuperado el 07 de julio de 2020,
de http://www.perspectivaeducacional.cl/public/journals/1/assets
/ManualAPA2017.pdf

PHP. (2020). The PHP Language. Recuperado el 3 de marzo de 2020, de


www.php.net

Rational Software Corp. (2001). IBM RUP Best Practices for Software Teams.
Recuperado el 01 de julio de 2019, de https://www.ibm.com
/developerworks/rational/library/content/03July/1000/1251/1251_bestpractic
es_TP026B.pdf

Riehle, D. (2000). Diseño web utilizando framework: El enfoque de modelado


basado en Roles. Recuperado el 20 de febrero de 2018, de Instituto

100
Federal Suizo de Tecnología: https://riehle.org/computer-
science/research/dissertation/diss-letter.pdf

Sabino, C. (2003). El proceso de investigación. Caracas. Editorial Panapo.

Silberschatz, A., Korth, H. F., & Sudarshan, S. (2002). Fundamentos de Bases de


Datos. USA. 5ta edición. Bell Laboratoriers. Editorial Mc Graw Hill.

Tamayo, T. y. (2003). El proceso de la Investigación Cientifica. Cuarta Edición.


México. Editorial: Lamusa.

Van Gigch, J. P. (2000). Teoría General de sistemas. México. 2da Edición.


Editorial: Trillas.

W3C. (1994). Introducción al Internet. Recuperado el 24 de febrero de 2020, de


https://www.w3.org/People/Frystyk/thesis/Internet.html

W3C. (1998). Diferencia entre el Internet y la Web. Recuperado el 30 de enero de


2020, de https://www.w3.org/Help/#webinternet

Wampserver. (2020). The HTTP Server WampServer. Recuperado el 21 de marzo


de 2020, de www.wampserver.com

101

También podría gustarte