Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEGUNDA ETAPA
INTEGRANTES
:
CARNÉ NOMBRES
MG12012 Martínez Guerrero, Claudia Patricia
MU13002 Munto Uceda, Alex Alfonso
SD13010 Santamaria Diaz, Tobias Alexander
QT12001 Quintanilla Ticas, José Elvis
Contenido
Introducción ............................................................................................................................................................... 4
Objetivos ..................................................................................................................................................................... 5
Objetivo general .................................................................................................................................................. 5
Objetivos específicos ......................................................................................................................................... 5
Construcción .............................................................................................................................................................. 6
Definición de estándares .................................................................................................................................. 6
Estándar de reportes...................................................................................................................................... 6
Estándar de salidas ......................................................................................................................................... 6
Estándar de código fuente (PHP puro) ................................................................................................... 6
Nombre de las entidades de la base de datos .................................................................................... 7
Nomenclatura de nombres de los campos de la base de datos .................................................. 7
Estándar de contraseñas y nombres de usuario ...................................................................................... 7
Estructura de bases de datos............................................................................................................................... 8
Estructura de bases de datos .......................................................................................................................... 8
Creación de la base de datos....................................................................................................................... 10
Pantallas del sistema ........................................................................................................................................... 11
Procesos de mantenimiento ........................................................................................................................ 11
Pantallas de parámetros de entrada ......................................................................................................... 11
Pantallas de menú ............................................................................................................................................ 12
Procesos.................................................................................................................................................................... 14
Procesos de mantenimiento ........................................................................................................................ 14
Procesos de cálculo ......................................................................................................................................... 15
Consultas ............................................................................................................................................................. 16
Reportes ............................................................................................................................................................... 21
Seguridad ................................................................................................................................................................. 24
Backups de la base de datos ........................................................................................................................ 24
Perfiles de acceso y seguridad .................................................................................................................... 24
Perfiles de acceso.................................................................................................................................................. 26
Pruebas ..................................................................................................................................................................... 28
Componentes individuales ........................................................................................................................... 28
Campos de texto .......................................................................................................................................... 28
Elementos select........................................................................................................................................... 28
Mensajes de error ........................................................................................................................................ 29
Componentes integrados .............................................................................................................................. 30
Documentación...................................................................................................................................................... 33
2
Segunda Etapa | Sistemas de Información Gerencial
3
Segunda Etapa | Sistemas de Información Gerencial
Introducción
En las empresas se toman decisiones esenciales e importantes las cuales permiten que estas sigan a
flote y de mantenerse a pesar de los cambios económicos, sociales y políticos; estas decisiones
deben tomarse en el momento adecuado por lo cual es necesario que los ejecutivos o gerentes
tengan un apoyo a través de un sistema de información gerencial que le permita en un mínimo de
tiempo tener toda la información necesaria, para analizarla y en base a su experiencia tomar la
mejor decisión a sus problemas.
Por tal motivos, se desea desarrollar un sistema de información gerencial para apoya la gestión de
compra importación y venta de transportes Stella que ayude a sus gerentes en la toma de decisiones
en la planificación de sus costos, para la elaboración de este sistema se realiza una investigación de
la situación actual de la empresa, la determinación de los requerimientos informáticos apoyados de
la entrevista con los gerentes y la investigación, de los cuales se diseñaran 4 salidas, con sus
respectivas entradas y procesos.
Se establece los estándares a utilizar en todo el ciclo de vida del desarrollo del software y los
criterios de seguridad que se tomaran en cuenta para asegurar la confiabilidad del sistema.
También se han identificado los datos que serán necesarios para el funcionamiento del sistema de
información gerencial, que son la base transaccional para el modelado de la base de datos gerencial.
4
Segunda Etapa | Sistemas de Información Gerencial
Objetivos
Objetivo general
Objetivos específicos
• Construir en un Sistema de Información Gerencial para apoya la gestión de compra importación
y venta de transportes Stella.
• Documentar debidamente todas las partes elementales del sistema de información gerencial
para apoya la gestión de compra importación y venta de transportes Stella.
5
Segunda Etapa | Sistemas de Información Gerencial
Construcción
Definición de estándares
Ayudando a trabajar de una mejor manera y a estandarizar el desarrollo del proyecto se han
definido diferentes estándares de programación que regularicen los aspectos para denominar o
nombrar una variable, considerando el espaciado en cada una de las líneas del código.
A continuación, se definen los motivos por el cual es útil definir los estándares:
• Hacen más fácil el trabajo de dar mantenimiento a una aplicación. Se dice que el
mantenimiento que se le da a una aplicación se establece con el 80% del coste del ciclo
de vida de la aplicación.
• Al establecer estándares de programación se mejora la legibilidad del código, y a su vez
permiten la comprensión rápida del mismo.
• Permite que cualquier programador entienda y pueda mantener la aplicación.
Estándar de reportes
• Número de página, título del reporte en la parte superior.
• Botones Copy, Excel, CSV y Print.
Estándar de salidas
• Tipo de letra: Helvética Neue 16px.
• Márgenes: 20px superior, 20px inferior, 20px izquierdo, 20px derecho.
• Tipo y tamaño de papel: El tamaño de los reportes puede ser tamaño carta o tamaño
oficio, según lo que sea conveniente.
• Orientación: Horizontal o vertical.
6
Segunda Etapa | Sistemas de Información Gerencial
• Comentarios de línea: es utilizado para las notas rápidas sobre el código complejo o para
desactivar temporalmente una línea de código PHP. Es necesario añadir // o # antes del
código.
// Esto es otro comentario de línea
# Esto es otro comentario de línea
Longitud de línea: la longitud máxima de línea no debe superar los 80 caracteres debido a que si
exceden esa longitud presentan problemas de visualización del código, otra razón por la cual se
establece este límite por la impresión del documento con el código fuente, para ayudar a la
visualización en papel.
$inicioConsulta;
Nomenclatura de nombres:
7
Segunda Etapa | Sistemas de Información Gerencial
A continuación de muestra la estructura de la base de datos gerencial, todas las tablas superiores
guardan un informe cada una y en la parte de abajo a la derecha las tablas de configuración, abajo a
la izquierda las tablas de acceso y bitácora de acceso.
8
Segunda Etapa | Sistemas de Información Gerencial
9
Segunda Etapa | Sistemas de Información Gerencial
10
Segunda Etapa | Sistemas de Información Gerencial
Procesos de mantenimiento
Configuración de los informes.
Esta pantalla permite cambiar los parámetros de todos los informes que se generan en nuestro caso
los parámetros de
fechas para cada tipo
de informe.
En la siguiente pantalla se ingresan los datos del informe requerido, el sistema busca en informe que
coincide con esos parámetros y este es retornado y mostrado al usuario si ya ha sido generado.
11
Segunda Etapa | Sistemas de Información Gerencial
Descarga de backup
Esta pantalla le permite al usuario con privilegios la descarga de un backup de la base para cierta
fecha los backups se generan cada día a la media noche en las horas de menos tráfico de datos.
Pantallas de menú
Debido a que el sistema ha sido creado en una
12
Segunda Etapa | Sistemas de Información Gerencial
single page, es decir una sola carga de la página decidimos recurrir a un formato extremadamente
simple y reducido que permite todas realizar todas las funciones sin necesidad de navegar por varios
menús.
13
Segunda Etapa | Sistemas de Información Gerencial
Procesos
Procesos de mantenimiento
Para darle manteamiento al sistema tenemos la pantalla de configuración de los informes para
seleccionar el informe y fecha que se desea: jmvb
Para el mantenimiento de la base de datos tenemos la pantalla de Descarga de Backup, para obtener
un respaldo de base de datos ya sea de su sistema base transaccional como para la base gerencial
14
Segunda Etapa | Sistemas de Información Gerencial
Procesos de cálculo
Procesos para requerimientos estratégicos:
Seleccione el informe que se desea configurar, luego se selecciona el rango de fecha inicial y final
que se desea y generara el informe de calendario virtual que indique las fechas de llegada al país y
puertos (destino de los barcos con los contenedores.) en una tabla y se mostrar en un calendario el
día que zarpo y en otro la fecha que se estima de llegada.
Seleccione el informe que se desea configurar, luego se selecciona el rango de fecha inicial y final
que se desea y generara el informe de los costos del traslado de los autos (gasto en grúas- las grúas
son un servicio de traslado dado por varias empresas), donde mostrar la empresa que presto el
servicio de grúa y su costos con fletes en una y tabla resumida, ya esto se puede obtener una
comparación de precios para optar por la empresa que salga más factible en sus costos de movilidad
de vehículo.
• R3- Total de gatos de traslado los autos en estados unidos por mes.
Seleccione el informe que se desea configurar, luego se selecciona el rango de fecha inicial y final
que se desea y generara el informe gasto en trasporte de vehículos, donde se muestra el total de
gasto que género en transporte en el mes.
Seleccione el informe que se desea configurar, luego se selecciona el rango de fecha inicial y final
que se desea y generara el informe el cual es un resumen de los clientes que más han comprado, se
muestra el importador y la ganancia de cada uno.
Seleccione el informe que se desea configurar, luego se selecciona el rango de fecha inicial y final
que se desea y generara el informe el Top de los clientes que más han comprado según la cantidad
de vehículos comprados, se muestra el nombre del importador y la cantidad ordenar de mayor a
menor.
15
Segunda Etapa | Sistemas de Información Gerencial
Consultas
Consultas para reportes estratégicos
16
Segunda Etapa | Sistemas de Información Gerencial
17
Segunda Etapa | Sistemas de Información Gerencial
RE1- Procesos almacenados del calendario virtual que indique las fechas estimadas de llegada.
CREATE DEFINER=`usuario2`@`%` PROCEDURE `dbgerencial`.`aaif2`(IN `IDinforme` INT,
`FI` DATE, `FF` DATE)
begin
insert into dbGerencial.AAIF2(
select IDinforme as informe,c.CONTENEDOR_ID ,p.booking,
ps.PUERTO_S_NOMBRE,
pe.PUERTO_E_NOMBRE , p.fecha_carga, p.fecha_zarpe, p.fecha_destino, 0
as id
from inbakcar.produconte p
left join inbakcar.puerto_e pe
on pe.PUERTO_E_ID=p.PUERTO_E_ID
left join inbakcar.puerto_s ps
on ps.PUERTO_S_ID=p.PUERTO_S_ID
left join inbakcar.contenedor c
on c.CONTENEDOR_ID = p.id_produconte
where p.fecha_zarpe < FF and p.fecha_destino > FI
group by c.CONTENEDOR_ID
order by p.fecha_destino desc );
END
RE2- Procesos almacenados de costo del traslado de los autos por tierra.
CREATE DEFINER=`usuario2`@`%` PROCEDURE `dbgerencial`.`aaif3`(IN `IDinforme` INT,
`FI` DATE, `FF` DATE)
begin
insert into dbGerencial.AAIF3(
select IDinforme as informe, c.id_com, c.nombreEmpresa, SUM(e.GRUA_COSTO)
as gruaCosto, SUM(e.FLETE_COSTO) as fleteCosto, SUM(e.STORAGES_COSTOS) as
storageCostos, 0 as id from
inbakcar.compania c
left join inbakcar.asignacion a
on a.id_com = c.id_com
18
Segunda Etapa | Sistemas de Información Gerencial
RE3- Procesos almacenados del total de gatos de traslado los autos en estados unidos.
CREATE DEFINER=`usuario2`@`%` PROCEDURE `dbgerencial`.`aaif7_a`(IN `IDinforme`
INT, `FI` DATE, `FF` DATE)
begin
insert into dbGerencial.AAIF7_A(
select IDinforme as informe,SUM(e.GRUA_COSTO) + SUM(e.FLETE_COSTO) +
SUM(e.STORAGES_COSTOS) as total , 1 as grup, 0 as id from
inbakcar.compania c
left join inbakcar.asignacion a
on a.id_com = c.id_com
left join inbakcar.compra com
on com.COMPRA_ID=a.COMPRA_ID
left join inbakcar.vehiculo_importado v
on v.COMPRA_ID= com.COMPRA_ID
left join inbakcar.envio e
on e.VEHICULO_ID = v.VEHICULO_ID
where com.COMPRA_FECHA < FF and com.COMPRA_FECHA> FI group by grup
) ;
END
19
Segunda Etapa | Sistemas de Información Gerencial
20
Segunda Etapa | Sistemas de Información Gerencial
Reportes
Reportes Estratégicos
21
Segunda Etapa | Sistemas de Información Gerencial
RE3- Total de gatos de traslado los autos en estados unidos por mes.
22
Segunda Etapa | Sistemas de Información Gerencial
Reportes Tácticos
23
Segunda Etapa | Sistemas de Información Gerencial
Seguridad
El uso de HTTPS mantiene la transferencia de datos confidenciales entre un navegador y un sitio web
encriptado, lo que ayuda a proteger a los clientes. Cualquier persona que use Google o Chrome es
un cliente de Google y quiere hacer todo lo posible para hacerlos felices. En este caso, agregar una
advertencia cuando la seguridad no está presente alerta a sus clientes sobre un problema potencial.
2- Una vez implementado en el servidor de agrega seguridad de las cabeceras, para evitar
inyecciones de codigo en JavaScript. Además de proteger la página de inyecciones de
contenido externo en caso de un ataque desde la misma red en la que se busque meter
código malicioso a la página web.
Cuando accedemos a un sitio web, el servidor contesta, además de con el contenido de la
web, con una serie de cabeceras que son interpretadas por el navegador. Estas cabeceras
son utilizadas por el servidor y por el navegador para el envío de información.
HTTP Strict Transport Security
Esta cabecera es utilizada para evitar que la web sea cargada en HTTP. El servidor indica al
navegador que nuestra web solo se debe cargar en HTTPS y el navegador bloqueará futuros
accesos si se intenta acceder al dominio mediante HTTP.
X-Frame-Options
Con X-Frame-Options evitamos que nuestra web sea cargada como un iframe en otra web.
Esto nos ayuda a protegernos frente a ataques de tipo Clickjacking.
Estos son los tres posibles ejemplos de uso:
Content-Security-Policy
24
Segunda Etapa | Sistemas de Información Gerencial
Esta cabecera sirve para indicar al navegador qué contenidos dinámicos de terceros se
permiten cargar. Esto ayuda en la protección frente a ataques de tipo Cross-Site Scripting.
3- Todas las consultas están correctamente parametrizadas para no dejar espacio a inyecciones sql.
Lo que significa que incluso antes de ver la cadena "wayne", puede analizar completamente
la consulta y comprender, en general, lo que hace la consulta. Pega "wayne" en su propia
representación de la consulta, no en la cadena SQL que describe la consulta. Por lo tanto, la
inyección SQL es imposible, ya que ya pasamos la etapa SQL del process.
4- Cada servicio esta validado para que solo la persona con permisos pueda acceder.
5- Todas las peticiones de informes son registradas en una bitácora de informes en la que se guarda
la hora, el usuario, el tipo de reporte que pidió y con qué parámetros de entrada.
6- Todos los informes son generados por código SQL lo que implica que para hacer que un informe
se genere distinto es necesario tener la clave de la base de datos del sistema, lo que aumenta la
seguridad.
Una de las razones más beneficiosas para crear procedimientos almacenados mysql es la capa
adicional de seguridad que se coloca en la base de datos para la aplicación que solicita datos. Si la
25
Segunda Etapa | Sistemas de Información Gerencial
cuenta de usuario creada para la aplicación o el sitio web se configura únicamente con permisos de
ejecución, la cuenta de usuario no podrá acceder directamente a las tablas que tenemos por debajo.
Esto ayuda a evitar que un hacker acceda directamente a las tablas de la base de datos. El riesgo en
el que se incurre si un pirata informático utiliza esa cuenta de usuario que ejecuta un procedimiento
almacenado es mucho menor que con una cuenta de usuario que tenga permisos plenos de
inserción, actualización y eliminación directamente en las tablas.
7- todos los permisos son fijos en código en otras palabras código quemado lo que dificultaría a un
hacker el cambio de los permisos de un usuario. Aunque la desventaja es que no se pueden cambiar
los permisos de cada rol de manera sencilla.
Perfiles de acceso
Los usuarios del sistema son:
rol Permisos
1 Analista programador Acceso completo, a reportes, configuración, generar backups.
2 Usuario estratégico Acceso a reportes solamente
3 usuario táctico Acceso a reportes y configuración de los reportes del sistema.
Los permisos son agregados del lado del servidor en una variable de sesión al momento de crear la
sesión de usuario por lo que no es editable del lado del usuario y se mantiene mientras la sesión
26
Segunda Etapa | Sistemas de Información Gerencial
dura(600 segundos) por lo que en caso un usuario olvide cerrar sesión esta se cierra
automáticamente si no la usa.
El programador se encarga de todos los cambios en el sistema y corrección de errores en caso sea
necesario y además en su rol como empleado se desempeña como fullStak y DBA.
El usuario táctico tiene acceso solamente a informes ya que se desempeña en el área administrativa
pero no tiene la potestad para generar todos los informes que gustan por lo que tiene que consultar
con el usuario estratégico´.
27
Segunda Etapa | Sistemas de Información Gerencial
Pruebas
Componentes individuales
Se describen la serie de componentes individuales que se utilizan en la solución de construcción del
sistema, con el objetivo de tener los datos exactos para las correctas pruebas de las soluciones ya
sea con datos buenos o datos malos, que permitan garantizar no solo el correcto funcionamiento del
sistema de información gerencial sino también garantizar a los dueños de la solución un trabajo de
calidad que les genere una ventaja competitiva con los datos que el sistema debe generar.
Campos de texto
En este tipo de campo de texto acepa únicamente el tipo de texto en formato fecha, compuesto por
meses, días y años, exactamente en ese orden.
Datos buenos
Datos malos
Datos buenos
Datos Malos
Elementos select
Todos los elementos “Select” son los elementos utilizados para poder seleccionar los diferentes
datos que el usuario desee visualizar, para poder generar el reporte
para seleccionar un cierto dato que el usuario necesite para realizar la generación del reporte en el
que se encuentre próximo a generar. Solo es necesario seleccionar en este caso de ejemplo un
nombre, el usuario no podrá escribir o modificar el texto ya presenté en el elemento, lo cual
garantiza una mayor seguridad y mayor facilidad para el usuario.
Datos buenos
28
Segunda Etapa | Sistemas de Información Gerencial
Datos Malos
La inserción de elementos por medio del teclado de cualquier tipo de dato sería errónea.
Al permitir que el sistema se le dé la opción de seleccionar un nombre sería un error que lo validara,
el sistema debería de arrojar un aviso para corregirlo.
Mensajes de error
29
Segunda Etapa | Sistemas de Información Gerencial
Componentes integrados
Salidas : informe AAIF1_A, Informe AAIF1_B, Informe AAIF2, Informe AAIF3, AAIF7_A
Control/Entrada : Selección
Dato Resultado
No seleccionar opción alguna. Este campo es obligatorio, por lo que debe
introducir datos.
Selección de una El reporte es generado
30
Segunda Etapa | Sistemas de Información Gerencial
Salidas : Historial
Control/Entrada : Fecha
Dato Resultado
Vacío No se genera el reporte
2020-12-12 Muestra un reporte con el historial de
informes que ha solicitado cada usuario.
31
Segunda Etapa | Sistemas de Información Gerencial
32
Segunda Etapa | Sistemas de Información Gerencial
Documentación
MANUAL DE USUARIO
FUNCIONES DEL SISTEMA
Este Manual de Usuario es una guía para la utilización del “Sistema de Información Gerencial para
apoya la gestión de compra importación y venta de transportes Stella” que le permitirá a la empresa
facilitar ciertos procedimientos que se hacían manualmente, así como también ayudar a los usuarios
a tomar decisiones con los reportes que genera el sistema. A continuación, se presenta una seria de
funciones que puede hacer el sistema con su respectiva explicación para realizarlas.
Iniciar sesión:
Ingrese a la aplicación desde el navegador, mostrará la ventana de inicio de sesión, en la cual deberá
ingresar los datos de usuario que se le han asignado, según el tipo de usuario.
Luego de haber introducido el Usuario y Contraseña le aparecerá la pantalla de inicio del sistema
según el tipo de usuario. Al acceder como administrador solo tendrá privilegios a acceder al menú de
administrador, y así sucesivamente para los demás tipos de usuarios.
Cerrar sesión:
Para cerrar la sesión, dar clic en “LOGOUT”, que está ubicado en la esquina superior izquierda de la
pantalla.
33
Segunda Etapa | Sistemas de Información Gerencial
Configuración de informe:
La pantalla de configuración de informe tiene el siguiente formulario a llenar:
1. Seleccione un menú: esta sección tiene una lista a desplegar donde se mostrará la lista de
informes a seleccionar, debe escoger el número de informe que desea configurar.
2. Fecha inicial: en esta parte se colocará la fecha inicial desde la cual se tomará la fecha a buscar la
información del informe, posee un calendario desplegado para facilitar la selección de fecha.
3. Seleccionar una opción: Se desplegará 2 opciones a seleccionar:
1- “Hasta el presente”: que es la fecha actual del día presente que se encuentre de forma
automática;
2- “Hasta una fecha específica” que es el ingreso de la fecha de final a ingresar de forma
manual.
4. Fecha final: en esta parte se colocará la fecha final del cual se llegará la búsqueda de la
información del informe, posee un calendario desplegado para facilitar la selección de fecha.
5. Actualizar Configuración: una vez llenado el formulario se presionará el botón para actualizar la
configuración del contenido de los informes.
4
5
34
Segunda Etapa | Sistemas de Información Gerencial
Solicitar Informe:
La pantalla de Solicitar Informe tiene el siguiente formulario a llenar:
1. Seleccione un menú: esta sección tiene una lista a desplegar donde se mostrará la lista de
informes a seleccionar, debe escoger el número de informe que desea solicitar.
2. Fecha inicial: en esta parte se colocará la fecha inicial desde la cual se tomará la fecha a solicitar
la información del informe, posee un calendario desplegado para facilitar la selección de fecha.
3. Fecha final: en esta parte se colocará la fecha final hasta la cual se llegará la búsqueda de la
información del informe, posee un calendario desplegado para facilitar la selección de fecha.
4. Pedir: una vez llenado el formulario se presionará el botón “pedir” el cual mostrar en la parte
inferior el informe que se seleccionó a solicitar.
3
4
35
Segunda Etapa | Sistemas de Información Gerencial
Si se desea visualizar todos los informes deberá ir a la barra superior del sistema y seleccionar
“INFORMES” el cual desplegará 2 opciones:
1- Ver todos: esta opción mostrara todos los informes en la parte inferior donde se realizó el
llenado de formularios correspondiente.
2- Ver uno: esta opción mostrara solo el formulario que se selección en a generar en las
configuraciones de informes a solicitar.
1
2
1 3
2
36
Segunda Etapa | Sistemas de Información Gerencial
Descarga de backup:
La pantalla de “Descarga de backup” tiene el siguiente formulario a llenar:
1. Fecha: en esta parte se colocará la fecha final hasta la cual se desea generar un respaldo de la
base de datos, posee un calendario desplegado para facilitar la selección de fecha.
2. Selección de la base: Se desplegará 2 opciones a seleccionar:
1. Respaldo transaccional: genera un respaldo de la base de datos del sistema transaccional de
la empresa.
2. Respaldo gerencial: genera un respaldo de la base de datos de sistema gerencial.
3. Dowload (descargar): Una vez seleccionada la fecha y el tipo de base que se desea realizar un
respaldo se presionara el botón descargar el cual generar un archivo sql de la base de daos que
fue seleccionara.
2
3
37
Segunda Etapa | Sistemas de Información Gerencial
MANUAL TÉCNICO
En el presente documento se describe el funcionamiento de código en las distintas partes del
sistema, dando facilidad a los futuros programadores para aplicar los cambios necesarios al sistema.
Para lograr el objetivo se muestra un diagrama de la arquitectura del sistema, indicando los puntos
en los cuales se hace uso de cada elemento:
38
Segunda Etapa | Sistemas de Información Gerencial
Diagrama de arquitectura.
Datatables.
Instalación
39
Segunda Etapa | Sistemas de Información Gerencial
Algunas funciones extra de dataTables son las de generar o exportar datos a csv, Excel, o imprimir.
El siguiente paso es la configuración, para cada tabla se declara una variable en un script esta
variable servirá para poder ejecutar la actualización de la tabla:
<script type="text/javascript" class="init" >
var tabla1_a;
$(document).ready(function () { //Al iniciar el sistema iniciar las tablas con sus conexiones a cada servicio
ajax: {
type: "POST",
dataSrc: "",
},
data: function (d) { //mandamos los parametros para la petición inicial de los datos
d.fechaI = getFechaI();
d.fechaF = getFechaF();
d.sess = cook();
d.informe = getInformeTipo();
},
columns: [ //a continuación describimos las columnas en las que caeran los datos
data: "id",
sWidth: "30px",
sClass: "center",
},
booking: "booking",},{
PUERTO_S_NOMBRE: "PUERTO_S_NOMBRE",},{
PUERTO_E_NOMBRE: "PUERTO_E_NOMBRE",},{
fecha_carga: "fecha_carga",},{
40
Segunda Etapa | Sistemas de Información Gerencial
fecha_zarpe: "fecha_zarpe",},{
fecha_destino: "fecha_destino",},
],
},
responsive: true,
],
dom: "Blfrtip",
pageLength: 20,
cache: false,
},
targets: [1],
visible: true,
searchable: true,
},
targets: [2],
visible: true,
searchable: true,
},
targets: [3],
visible: true,
searchable: true,
},
41
Segunda Etapa | Sistemas de Información Gerencial
],
});
</script>
Mientras en html las tablas se configuran de esta forma siempre con id para identificarlas
<table id="tabla2" class="display dataTable" style="margin: auto;max-width: 700px;" role="grid" aria-
describedby="example_info"> // cada tabla debe tener su ID
<thead>
<tr role="row">
<th>booking</th>
<th>PUERTO_S_NOMBRE</th>
<th>PUERTO_E_NOMBRE</th>
<th>fecha_carga</th>
<th>fecha_zarpe</th>
<th>fecha_destino</th>
</tr>
</thead>
<tbody></tbody>
</table>
Las tablas de esa forma quedan enlazadas con un servicio por lo tanto con una consulta sql
directamente y es actualizable completamente sin necesidad re recargar la página. Para actualizar
toda la data de una tabla con sus valores basta con ejecutar el nombre de la variable de la tabla.
ajax.reload así: tabla1_a.ajax.reload();
Los formularios se estructuran de manera normal, pero con un id y un botón para ejecutar su acción.
<form id="loginForm" class="form-signin"> // Cada formulario lleva su ID
<div class="form-label-group">
<label for="nombre">Nombre</label>
</div>
<div class="form-label-group">
// parámetros en etiquetas input, llegaran al servidor con el nombre que se agregue en el name
<label for="inputPassword">Contraseña</label>
</div>
42
Segunda Etapa | Sistemas de Información Gerencial
</div>
<div class="form-group">
//el siguiente botón permite llamar a la función que ejecutara la petición por ajax
</div>
</div>
</form>
</div>
Del lado de javaScript capturamos el formulario y ejecutamos una llama Ajax de la siguiente forma:
const $formularioLogin = document.querySelector("#loginForm");
$.ajax({ // Acá inicia la llamada por Ajax que enviará y traerá los datos del servidor
processData: false,
url: host + "/servicios/login.php", //configuramos la dirección del servicio que tiene los datos
btnEnviar.attr("disabled", "disabled");
},
cook = JSON.parse(cook);
43
Segunda Etapa | Sistemas de Información Gerencial
if ( cook.exito == 0 ) {
alertify.error("Credenciales incorrectas!");
}else{
document.getElementById("viewLoggin").style.display = "none";
alertify.success("Logueado exitosamente!");
document.cookie = "PHPSESSID=" + cook["sesion"] + "; max-age=3600; path=/"; //en este caso agregamos la
cookie al navegador
btnEnviar.val("Iniciada");
btnEnviar.removeAttr("disabled");
$("#user").val("");
$("#pass").val("");
},
try {
},
},
});
return false;
});
En la siguiente imagen podemos ver la URL en la que funciona nuestro servicio de login en este caso
en …/servicios/login.php .Podemos ver también el estatus 200 correcto, y al final podemos ver lo
parámetros que se han mandado en el formulario.
44
Segunda Etapa | Sistemas de Información Gerencial
45
Segunda Etapa | Sistemas de Información Gerencial
Ese es el mensaje de éxito con los datos incluyendo una cookie se sesión que podemos utilizar ya en
el navegador. Ahora vamos a ver como se procesan los datos en el servidor y como crear servicios
web en php.
Servicios web
Un servicio web es un sistema de software que permite comunicar dos sistemas, aunque sean
completamente distintos como java con php, o Android y php o ios, siempre que los elementos
puedan ejecutar peticiones http y tengan internet básicamente cualquier dispositivo con internet.
Un servicio de php se crea usando un archivo php con cualquier nombre con la extensión php el cual
esté expuesto directamente a internet como si fuese una página web que recibe para metros por get
post u otros métodos, el código php es ejecutado en el servidor y la respuesta se imprime dentro del
servicio, pudiendo devolver arreglos, datos en json, vectores o una siempre cadena.
header ("Access-Control-Allow-Credentials:true");
$pass= $mysqliDos->real_escape_string( $_POST['pass']); //obtenemos el pass del usuario y verificamos que no contenga
código malicioso
46
Segunda Etapa | Sistemas de Información Gerencial
on u.rol = r.id
vardump( $sentencia);
}else{
$sentencia->execute();
$resultado=$sentencia->get_result();
$sesionId = session_id();
$_SESSION['nombre'] = $datos[0];
$_SESSION['rol'] = $datos[3];
$_SESSION['correo'] = $datos[2];
echo json_encode($arr);
}else {
$mysqliUno->close();
?>
Nos hace falta ver como se configura y responde a una tabla de dataTables en el lado del cliente,
para que esta se pueda actualizar desde ahí.
47
Segunda Etapa | Sistemas de Información Gerencial
Como ejemplo de esto usaremos el archivo getInformes que se encarga de retornar todos los
informes, este se ubicada en …/servicios/getInformes.php
...
$sentencia=$mysqliDos->prepare("
");
$sentencia->execute();
}else {
exit;
$sentencia->close();
$mysqliDos->close();
?>
Sincronizador de informes.
El sincronizador de informes es un archivo php que utilizar la tabla de configuraciones para obtener
las fechas de los reportes que se han guardado.
1. cd C:\xampp\htdocs\webGerenciales\servicios
48
Segunda Etapa | Sistemas de Información Gerencial
2. php sincronizador.php
se genera esta salida en pantalla. En la que inicialmente muestra las fechas para cada informe y
luego muestra los procedimientos almacenadas que se ejecutan.
$sentencia=$mysqliDos->prepare("
SELECT c.fechai, c.fechaf, c.id as idConfig, i.id as informeId, ti.id as idTipoInf, ti.nombre, c.fechafvariable as t
FROM configainfor c
");
$sentencia->execute();
$result= $sentencia->get_result();
$id=0;
$FI1=0; $FI2=0; $FI3=0; $FI4=0; $FI5=0; $FI6=0; $FI7=0; $FI8=0; $FI9=0; $FI10=0;
$FF1=0; $FF2=0; $FF3=0; $FF4=0; $FF5=0; $FF6=0; $FF7=0; $FF8=0; $FF9=0; $FF10=0;
$t1="r"; $t2="r"; $t3="r"; $t4="r"; $t5="r"; $t6="r"; $t7="r"; $t8="r"; $t9="r"; $t10="r";
$contador=1;
49
Segunda Etapa | Sistemas de Información Gerencial
$id= $fila["informeId"];
elseif($contador==4){$FI4=$fila["fechai"];}elseif($contador==5){ $FI5=$fila["fechai"];}
elseif($contador==6){$FI6=$fila["fechai"] ;}
elseif($contador==7){$FI7=$fila["fechai"];}elseif($contador==8){ $FI8=$fila["fechai"];}elseif($contador==9){
$FI9=$fila["fechai"];}
elseif($contador==10){$FI10=$fila["fechai"];}
elseif($contador==4){$FF4=$fila["fechaf"];}elseif($contador==5){ $FF5=$fila["fechaf"];}
elseif($contador==6){$FF6=$fila["fechaf"] ;}
elseif($contador==7){$FF7=$fila["fechaf"];}elseif($contador==8){ $FF8=$fila["fechaf"];}elseif($contador==9){
$FF9=$fila["fechaf"];}
elseif($contador==10){$FF10=$fila["fechaf"];}
elseif($contador==7){$t7=$fila["t"]; $FF7=$fila["fechaf"];}elseif($contador==8){$t8=$fila["t"];
$FF8=$fila["fechaf"];}elseif($contador==9){$t9=$fila["t"];$FF9=$fila["fechaf"];}
elseif($contador==10){ $t10=$fila["t"];$FF10=$fila["fechaf"];}
$contador++;
//si la fecha final se ha configurado para cambiar entonces se cambia al día actual
$fActual=date("Y").'-'. date("m").'-'.date("d");
if($t1=="0") $FF1= $fActual; if($t2=="0") $FF2= $fActual; if($t3=="0") $FF3= $fActual; if($t4=="0") $FF4= $fActual;
if($t5=="0") $FF5= $fActual; if($t6=="0") $FF6= $fActual; if($t7=="0") $FF7= $fActual; if($t8=="0") $FF8= $fActual;
50
Segunda Etapa | Sistemas de Información Gerencial
$repetido=[];
$sentencia=$mysqliDos->prepare("select
limit 1) as a,
limit 1) as b,
limit 1) as c,
limit 1) as d,
limit 1) as e,
limit 1) as h,
");
$sentencia->bind_param('ssssssssssss', $FI1, $FF1, $FI2,$FF2, $FI3,$FF3, $FI4,$FF4, $FI5, $FF5, $FI8,$FF8); $sentencia-
>execute();
$resultado=$sentencia->get_result();$datos= mysqli_fetch_array($resultado);
$idval=intval($datos[6]);
try{
$tipo=0;
if($datos[0]==0){
try {
51
Segunda Etapa | Sistemas de Información Gerencial
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif1_a( ?,?,? );"); echo "\n call aaif1_a( ",$idval,",'",$FI1,"','",$FF1,"' );";
$sentencia->execute();
sleep(3);
if($datos[1]==0){
try {
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif1_b( ?,?,? );"); echo "\n call aaif1_b( ",$idval,",'",$FI2,"','",$FF2,"' );";
$sentencia->execute();
sleep(3);
if($datos[2]==0){
try {
52
Segunda Etapa | Sistemas de Información Gerencial
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif2( ?,?,? );"); echo "\n call aaif2( ",$idval,",'",$FI3,"','",$FF3,"' );";
$sentencia->execute();
sleep(3);
if($datos[3]==0){
try {
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif3( ?,?,? );"); echo "\n call aaif3( ",$idval,",'",$FI4,"','",$FF4,"' );";
$sentencia->execute();
sleep(3);
if($datos[4]==0){
try {
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif4( ?,?,? );"); echo "\n call aaif4( ",$idval,",'",$FI5,"','",$FF5,"' );";
$sentencia->execute();
53
Segunda Etapa | Sistemas de Información Gerencial
sleep(3);
if($datos[5]==0){
try {
$informe->execute();
$sentencia = $mysqliDos->prepare("call aaif7_a( ?,?,? );"); echo "\n call aaif7_a( ",$idval,",'",$FI8,"','",$FF8,"' );";
$sentencia->execute();
//echo "\n informe programado 7_a -", $idval,"-",$tipo , "/", $FI8 , "/",$FF8 ;
sleep(3);
} catch(PDOException $e) {
echo $e->getMessage();
return false;
$sentencia->close();
$mysqliDos->close();
?>
Procedimientos almacenados
Todos los informes se realizan ejecutando procedimientos almacenados a continuación mostramos
el código general que se sigue para cada informe.
54
Segunda Etapa | Sistemas de Información Gerencial
Begin
#el select interno ejecuta la consulta para generar el informe y el resultado es insertado en la tabla que guarda los informes
( -(SUM(E.FLETE_COSTO)+SUM(E.GRUA_COSTO)) + (SUM(E.GRUA_PRECIO)+SUM(E.FLETE_PRECIO)) -
E.STORAGES_COSTOS) as ganancia, 0 as id
55
Segunda Etapa | Sistemas de Información Gerencial
FROM inbakcar.importador I
on I.IMPORTADOR_ID=C.IMPORTADOR_ID
on Vi.COMPRA_ID=C.COMPRA_ID
on E.VEHICULO_ID = Vi.VEHICULO_ID
);
END
Generado de backups
Para generar backups necesitamos crear un archivo .bat que nos permite ejecutar comandos de la
consola de Windows, así que este
echo off
cd..
C:\xampp\htdocs\webGerenciales\servicios\Backups\respaldoGerencial.sql
cd..
cd C:\xampp\mysql\bin
56
Segunda Etapa | Sistemas de Información Gerencial
C:\xampp\htdocs\webGerenciales\servicios\Backups\respaldoTransaccional.sql
cd C:\xampp\htdocs\webGerenciales\servicios\Backups\
echo %datetimef%
57
Segunda Etapa | Sistemas de Información Gerencial
58
Segunda Etapa | Sistemas de Información Gerencial
59
Segunda Etapa | Sistemas de Información Gerencial
60
Segunda Etapa | Sistemas de Información Gerencial
7. Daremos clic en siguiente y finalizar, con esto tendremos ya lista la tarea y se estará
ejecutando todos los días a la hora seleccionada.
CPU:
Memoria RAM:
Para el caso de la memoria RAM que es la que permite el uso simultaneo de muchas aplicaciones se
recomienda 8GB para poder utilizar el sistema operativo anfitrión, así como los distintos paquetes
de software que se utilizarán para utilizarla como servidor.
Almacenamiento:
61
Segunda Etapa | Sistemas de Información Gerencial
También es necesario que se posea una infraestructura de red acorde a las necesidades y con acceso
a internet.
En el caso de que la aplicación se aloje en un web host, son los distintos sitios que ofrecen tales
servicios los que ponen distintos planes con requisitos acordes a estos, que van desde planes
gratuitos (con muy pocos recursos y muy pocas facilidades) hasta planes pagados con mayores
recursos para el sitio, así como herramientas adicionales para mejorar el rendimiento de la
aplicación.
Link: https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.2.28/xampp-windows-
x64-7.2.28-0-VC15-installer.exe/download
Paso 1: Irse al directorio del disco local (C:), y buscar la carpeta de Windows y en ella buscar la
carpeta System32 y luego la carpeta drivers y dentro de ella buscar la carpeta etc., dentro de ella
encontrarás un archivo llamado hosts.
Paso 2: Abrir el archivo hosts con un editor de texto y escribir lo siguiente al final del archivo:
127.0.0.1 www.sistemaGerencial.com.local
62
Segunda Etapa | Sistemas de Información Gerencial
Paso 3: Irse al directorio del disco local (C:) y buscar la carpeta xampp, luego dentro de ella buscar la
carpeta de apache, luego en la carpeta conf, irse a la carpeta extra y buscar el archivo httpd-
vhosts.conf que sirve para la configuración del host virtual, lo abrimos para editarlo y añadir lo
siguiente:
## site.test
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs\webGerenciales"
ServerAlias *.sistemaGerencial.com.local
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:\xampp\htdocs\webGerenciales"
ServerAdmin alex.uceda@hotmail.com
ServerName sistemaGerencial.com.local:443
ServerAlias sistemaGerencial.com.local
SSLEngine on
ErrorLog "C:/xampp/htdocs/errors/ssl_error.log"
TransferLog "C:/xampp/htdocs/errors/ssl_access.log"
SSLCertificateFile "conf/ssl.crt/certificate.crt"
SSLCertificateKeyFile "conf/ssl.key/private.key"
</VirtualHost>
63
Segunda Etapa | Sistemas de Información Gerencial
Paso 4: Para configurar la base de datos ir a la carpeta webGerenciales, ubicada en la carpeta htdocs
de la carpeta de xampp. Ir a la carpeta de servicios y luego a la carpeta de funciones.
Al abrir el archivo conexión, nos encontramos con las dos primeras líneas de código que son las que
hacen la conexión con la base de datos.
Esta primera línea hace referencia a la conexión con la base de datos transaccional.
$mysqliUno=new mysqli("localhost","usuario2","asd123","inbakcar"
Y esta segunda línea hace referencia a la conexión con la base de datos gerencial.
$mysqliDos=new mysqli("localhost","usuario2","asd123","dbgerencial");
Para hacer un backup de la base de datos, se puede usar la función de backup del sistema o
phpMyAdmin para crear el backup.
Se selecciona la base de datos luego se le da la opción exportar para poder generar el archivo, el cual
puede ser .sql o de otro tipo de extensión.
64
Segunda Etapa | Sistemas de Información Gerencial
Seguir los mismos pasos para ambas bases de datos gerencial y transaccional.
Por ser un sistema creado para ambiente web para desinstalarlo lo único que debemos hacer es
borrar la carpeta donde se encuentra la aplicación:
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs\webGerenciales"
ServerAlias *.sistemaGerencial.com.local
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:\xampp\htdocs\webGerenciales"
ServerAdmin alex.uceda@hotmail.com
ServerName sistemaGerencial.com.local:443
ServerAlias sistemaGerencial.com.local
SSLEngine on
ErrorLog "C:/xampp/htdocs/errors/ssl_error.log"
TransferLog "C:/xampp/htdocs/errors/ssl_access.log"
SSLCertificateFile "conf/ssl.crt/certificate.crt"
SSLCertificateKeyFile "conf/ssl.key/private.key"
</VirtualHost>
65
Segunda Etapa | Sistemas de Información Gerencial
Implementación
Requerimientos DE RECURSOS HUMANOS
➢ PROGRAMADOR.
DATOS GENERALES.
Denominación del Puesto: Programador del SIG
Misión del puesto: Mantener el sistema funcionando correctamente y ser capaz de desarrollar
nuevas funciones.
REQUISITOS DEL PUESTO.
• Conocimiento de SQL y bases de datos relacionales.
• Manejo de bases de datos en SQL Server.
• Creación de aplicaciones en C#.
• Cumplimiento de estándares.
• Experiencia en programación orientada a objetos.
Formación académica: Estudiante de Ingeniería Informática min. 4ª año o graduado de carrera
a fin.
Experiencia previa: Configuración y mantenimiento de aplicaciones en entorno Windows al
menos 1 proyecto.
COMPETENCIAS DEL PROYECTO.
• Toma de decisiones.
• Resolución de problemas.
• Compromiso.
➢ CAPACITADOR.
DATOS GENERALES.
Denominación del Puesto: Capacitador.
Misión del puesto: Instruir a los usuarios en el uso del sistema anticipándose a sus inquietudes.
REQUISITOS DEL PUESTO.
• Conocimiento del SIG para apoyar la gestión de compra, importación y venta de
Transportes Stella.
• Capacidad de expresión oral.
Formación académica: Estudiante de Ingeniería Informática min. 4ª año o graduado de carrera
a fin.
Experiencia previa: Experiencia en el manejo de sistemas elaborados para el SO Windows y
en el trato de usuarios.
COMPETENCIAS DEL PROYECTO.
• Liderazgo.
66
Segunda Etapa | Sistemas de Información Gerencial
• Empatía.
• Motivación.
• Compromiso.
DATOS GENERALES.
Denominación del Puesto: Administrador Informático
Misión del puesto: Crear el entorno adecuado para que los usuarios hagan pleno uso del
sistema.
REQUISITOS DEL PUESTO.
• Administrador de Proyectos.
• Despliegue de base de datos en SQL Server.
• Instalación y configuración del aplicativo en Windows.
• Mantenimiento de sistemas computacionales.
• Administración de backups de la base de datos
Formación académica: Estudiante de Ingeniería Informática min. 4ª año o graduado de carrera
a fin.
Experiencia previa: Configuración y mantenimiento de aplicaciones en entorno Windows al
menos 1 proyecto.
COMPETENCIAS DEL PROYECTO.
• Toma de decisiones.
• Capacidad de análisis.
• Comunicación.
• Compromiso.
➔ Usuario Estratégico: éste tomará las decisiones más importantes dentro de la organización,
tiene acceso a todos los informes y al backups de la base de datos gerenciales.
USUARIO ESTRATEGICO
Cargo: Dueño, director de la compañía
Educación Conocimientos intermedios de
computación, Administrador de
empresas.
Descripción
El señor Juan Gonzales deberá tomar decisiones sobre el proceso de traslado de los
lotes de automóviles que se importan desde el extranjero, para el cual el tendrá
acceso a todos los informes y podrá obtener el backups de la base de datos
Gerenciales y Transaccional
67
Segunda Etapa | Sistemas de Información Gerencial
USUARIO Táctico
Cargo: Contador General
Educación Conocimientos intermedios de
computación, Administrador de
Finanzas, o carreras afines.
Descripción
El señor Jilberto Holla es el contador de la empresa, en el sistema de información
gerencial podrá generar los reportes relacionados a presupuestos, resumen de gastos y
ganancias que generan las operaciones de traslado, importación y venta de
automóviles.
68
Segunda Etapa | Sistemas de Información Gerencial
Plan de trabajo
Se muestra una lista de actividades a realizar para la ejecución de nuestro plan de trabajo para la
implementación del Sistema de Información Gerencial.
Actividad Duración Responsable
(días)
1. Preparación del equipo servidor:
a. Instalación o Actualización del Sistema
Operativo Requerido para el
funcionamiento de la aplicación.
b. Verificación de acceso al servidor • Administrador
1
desde las maquinas cliente. Informático
c. Verificación de Microsoft Office 2010
para la exportación de reportes
d. Configuración de una impresora a la
red interna de la organización.
2. Instalación del Sistema de Información
Gerencial para el apoyo en la gestión de
Compra, importación y venta de • Administrador
Transportes Stella. Informático
1
a. Configuración de la Base de datos y el • Equipo de Trabajo
despliegue de este.
b. Instalación del SIG en cada máquina
cliente.
3. Verificación del funcionamiento adecuado
del SIG
a. Test de funciones para usuario • Administrador
administrador 2 Informático
b. Test de funciones para usuario • Equipo de Trabajo
estratégico
c. Test de funciones para usuario táctico.
4. Capacitación de personal involucrado
3 Equipo de Trabajo
5. Seguimiento y Control 15 Equipo de Trabajo
69
Segunda Etapa | Sistemas de Información Gerencial
Plan capacitación
Costos de implementación
Beneficios Valor
Reducción de tiempo $350.00
Información oportuna $250.00
70
Segunda Etapa | Sistemas de Información Gerencial
Accesibilidad $200.00
Otros beneficios $250.00
Total $1,050.00
Estructura de Instalación
Seguimiento y control
Como Garantía de nuestro trabajo se dará un margen de un mes para resolver cualquier problema
que presente el SIG en cuestión de bugs y funcionalidad, al terminar este plazo pasara a ser un
servicio de consultoría el cual tendrá un costo por servicios.
Dentro del mes de garantía se estará monitoreando la puesta en marcha del Sistema de Información
Gerencial para que funciones con lo requerido y poder declarar la implementación finalizada.
71
Segunda Etapa | Sistemas de Información Gerencial
Fecha y hora
Persona encargada
Acción
Descripción:
Resultado
Comentarios:
Firma
72
Segunda Etapa | Sistemas de Información Gerencial
Pantallas de menú.
Las pantallas de menú se realizaron bajo singleplayer, las 3 pantallas de menú se encuentran en una
misma pantalla para manejar la configuración de una manera más rápido evitando tiempos de carga.
73
Segunda Etapa | Sistemas de Información Gerencial
74
Segunda Etapa | Sistemas de Información Gerencial
También se pueden realizar tareas programadas a través del Windows para el cual se debe ejecutar
el “Programador de tareas” y seleccionar “Crear tarea básica…”.
75
Segunda Etapa | Sistemas de Información Gerencial
76
Segunda Etapa | Sistemas de Información Gerencial
Como se selección diariamente se mostrar la siguiente opción (estas pueden cambiar dependiendo
la selección de inicio de la tarea), donde se selecciona día de inicia, hora y cuantos días desea que se
repita la tarea.
Buscar el archivo “RespladoDBG.bat” para ser ejecutado el sincronizador y las actividades quedaran
programadas a realizar.
77
Segunda Etapa | Sistemas de Información Gerencial
Al ejecutar el comando php sincornizador.php se puede observar los informes que han sido
programados.
78
Segunda Etapa | Sistemas de Información Gerencial
Pantallas de parámetros.
Solicitando datos para el informe 1
79
Segunda Etapa | Sistemas de Información Gerencial
Reporte táctico:
Reporte Estratégico:
80
Segunda Etapa | Sistemas de Información Gerencial
81
Segunda Etapa | Sistemas de Información Gerencial
Conclusiones
Los sistemas de información gerencial son muy importantes para el desarrollo de toda empresa,
porque brindan herramientas muy útiles que apoyan a los usuarios del negocio táctico y estratégico,
en la toma de decisiones para conducir de la manera más acertada la empresa que manejan, un
usuario del negocio ya sea táctico o estratégico en la labor de toma de decisiones pues necesita de
información pertinente ya sea generada por un sistema de información gerencial o información
recabada manualmente.
Se utilizaron los datatables el cual se pueden utilizar tanto en tablas generadas con html o con
cualquier lenguaje de programación como php o asp.net, debido a que Jquery es un framework
programado en Javascript es multiplataforma y compatible con la mayoría de los navegadores,
dando beneficios como ordenar alfabéticamente o numéricamente columnas de datos de la tabla
html, paginar resultados con números de páginas y filtrar cada columna por algún criterio.
Para mayor control de las fechas de los zarpes y desembarque se implementó “FullCalendar” para
mostrar las fechas en los calendarios, es la magnífica presentación de eventos en un calendario cuyo
formato es bastante personalizable (vista diaria, semanal y mensual) y su personalizable integración
con interacción del usuario su uso es tan sencillo facilitando a los usuarios a realizar búsquedas por
medio del calendario.
De igual forma el uso de la tecnología Ajax Mejor experiencia de usuario permite que las páginas se
modifiquen sin tener que volver a cargarse, dándole al usuario la sensación de que los cambios se
producen instantáneamente. Este comportamiento es propio de los programas de escritorio a los
que la mayoría de los usuarios están más acostumbrados. La experiencia se vuelve mucho más
interactiva; Optimización de recursos al no recargarse la página se reduce el tiempo implicado en
cada transacción; También se utiliza menos ancho de banda y alta compatibilidad es soportado por
casi todas las plataformas Web.
82
Segunda Etapa | Sistemas de Información Gerencial
Recomendaciones
• Para el buen funcionamiento del Sistema Informático, se sugiere hacer uso de los manuales
proporcionados por el equipo de desarrollo.
• Usar el sistema de información gerencial, ya que está diseñado para cubrir las necesidades
de la empresa, los manuales ayudarán a que el uso del mismo sea menos complicado.
• En el área técnica y estratégica son de vital importancia para toda institución, con este
sistema se pretende facilitar la toma de decisiones para asegurar un funcionamiento óptimo
de la empresa a lo largo de mucho tiempo.
83
Segunda Etapa | Sistemas de Información Gerencial
Bibliografía
[1] JavaScript Calendar (2019) [En línea] Disponible en: https://fullcalendar.io/
[3] Sistemas de Información Gerencial (2018) [En línea] Disponible en: https://www.tecnologias-
informacion.com/sigerencial.html
84