En el mundo hiperconectado y globalizado de hoy, la barrera geográfica para atraer clientes potenciales ha disminuido significativamente. Este trabajo se centró en el sector de laboratorios ópticos de la ciudad, que no es ajeno a las condiciones antes mencionadas.
Marco del trabajo
- Problemáticas propias del sector
- Empresa elegida para el desarrollo del Sistema
- Diagnóstico de la Empresa
- Flujos de los procesos actuales de la Empresa
La normalización y el análisis de los datos de entrada son extremadamente importantes a la hora de comprobar si hay errores. Los empleados responsables de la entrega de los productos reciben un papel con las direcciones donde deben llevar las lentes.
Problemática
Después de realizar un pedido, se envía un correo electrónico de confirmación al cliente y a la sede de la empresa. Este correo electrónico es la única prueba que existe tanto para el cliente como para la empresa.
Solución propuesta
- Módulos del Sistema
- Comportamiento de los Módulos
- Requerimientos
- Casos de Uso
Un cliente potencial ingresa a la plataforma web y realiza una solicitud de registro en el sistema. El sistema envía un correo electrónico al empleado y al cliente confirmando la creación de un nuevo usuario y los datos de inicio de sesión correspondientes.
Alcance del Proyecto
Producto Esperado
El sistema, a su vez, debe ser modular y soportar la comunicación con otros sistemas, ya que muchas empresas tienen varios sistemas pequeños, como el sistema de facturación. Por último, a nivel técnico, el sistema debería permitir cambiar de proveedor de Internet y de alojamiento con poco esfuerzo.
Matriz FODA
Fortalezas
Debilidades
Oportunidades
Amenazas
Modalidad de Trabajo
Para aliviar los procesos de la empresa, se observó detenidamente cómo funcionaba cada área de la misma, a través del área administrativa, el área de manufactura, el área de reportes y. Al tener contacto con un cliente de la empresa, tuvieron la oportunidad de intercambiar opiniones sobre las ventajas que debería tener el módulo para realizar pedidos y sobre su usabilidad por parte del usuario.
Implementación
General
Cabe señalar que se coordina antes de que se haga público el nuevo sistema web para generar órdenes para mantenerlo oculto para que solo los empleados de la empresa tengan acceso al mismo. Ayudé a encontrar errores y terminar de pulir la funcionalidad para que cuando sea accesible para los clientes, puedan experimentar un proceso de pago sin problemas.
Hosting
Se ha firmado un certificado SSL y se ha redirigido todo el tráfico para que la comunicación se realice a través del protocolo HTTPS.
Diseño general
- Arquitectura del Sistema
- Patrones del Sistema
- Base de datos
- Lenguaje de programación
- Hardware
La primera clase se encarga de controlar todo el funcionamiento del servidor, y la segunda clase es la que se ocupa de la comunicación y consultas con la base de datos. Es necesario crear los diagramas adecuados y construir los modelos de datos que garanticen la integridad, rendimiento y mantenibilidad del sistema. Para la realización del sistema se eligió el motor de base de datos MySQL, motor utilizado.
A través de phpMyAdmin, una herramienta gráfica también con licencia GPL, se puede gestionar la base de datos de forma fácil e intuitiva sin necesidad de utilizar un terminal (Documentación phpMyAdmin, 2017). No todos los motores de bases de datos tienen esta ventaja, por lo que conviene señalarlo. HTML5: es un lenguaje de diseño que se ha utilizado para estructurar componentes en una página web.
El primero es el HP LaserJet Pro M12w, que la empresa ya tenía en la sucursal.
Problemas surgidos
Para solucionar este inconveniente, se avanzó en el desarrollo del módulo de administración del sistema con la creación de los perfiles de usuario correspondientes para que la empresa pueda cambiar las propiedades de los productos de forma autónoma. Esta fue la primera vez que tuve la necesidad de hacer esto y tuve que programar la comunicación con una impresora Hewlett-Packard y una impresora térmica Zebra. Las impresiones no se mostraban como se deseaba en varias ocasiones o se ejecutaba la versión anterior para generar el documento a imprimir, consumían recursos que superaban los de la máquina virtual Java instalada en el ordenador de la empresa, que contaba con capacidades de hardware limitadas.
El código de renderizado tuvo que programarse de manera más eficiente para resolver el acceso ilegal a la memoria y probarlo en una máquina virtual que emule los mismos recursos que el terminal donde se alojaría la aplicación. Al mismo tiempo, en algunos casos, algunos de los empleados mostraron resiliencia ante la implementación del nuevo sistema, aunque luego de superar la curva de aprendizaje, sus opiniones cambiaron vitalmente al verse favorecidos.
Mejoras futuras
Aunque inicialmente la empresa se mostró en contra, considero una mejora sugerente que el cliente pueda pagar online. Otro aspecto más riesgoso, y quizás menos importante por la incertidumbre del impacto que podría provocar, es generar componentes gamificados para lograr la fidelización de los clientes. Como puede ver, el sistema puede crecer en cualquier dirección debido al potencial de mejora que tiene la empresa.
Mi recomendación personal sería comenzar primero con los proyectos que generen mayor impacto debido al rezago tecnológico existente, y luego, una vez alcanzado un nivel importante de digitalización, pasar a desarrollos más innovadores.
Memorias
Por un lado, podría continuar con el proyecto original, o por otro, cambiar completamente de rumbo y comenzar un nuevo proyecto donde las fechas de planificación podrían completarse con menos incertidumbre. Cuando analicé las dos posibilidades y los factores que consideraba decisivos para el éxito del proyecto y en mi vida como estudiante, decidí que por motivos personales, por las prisas de sumergirme en el entorno laboral privado y las ganas de Terminar mi etapa universitaria fue necesario cambiar el rumbo del proyecto. No fue una decisión que tomé de la noche a la mañana, y mucho menos una decisión fácil de ejecutar.
Hoy, tras finalizar mi Trabajo Fin de Grado en Ingeniería Informática, puedo afirmar que tomé la decisión correcta.
Lecciones Aprendidas
La comunicación fluida permitió a cada una de las partes comprender mejor los intereses e ideas del otro. Fue de gran ayuda encontrar puntos en común para establecer este vínculo con el gerente de la empresa. Desde el punto de vista de la gestión de proyectos, he adquirido más habilidades en la estimación de tiempos.
Después de cometer un error al estimar la carga de trabajo del primer proyecto de detección y reconocimiento de cámaras de seguridad, gané experiencia para estimar este trabajo. De la misma manera me ayudó a comprender la importancia de la planificación, ya que en la mayoría de los casos el desarrollo de una solución tiene un fin económico y una mala estimación no puede conducir solo a eso. Desde este punto de vista, puedo concluir que el espíritu emprendedor que forma parte del perfil del egresado de la carrera está fielmente representado.
Muchas veces esto es resultado de no conocer la posibilidad de instalar asistencia tecnológica, segundo por la negativa al cambio y segundo por los altos costos de los sistemas de gestión más reconocidos.
Bibliografía
Requerimientos 4
Diagramas de Secuencia 62
Requerimientos del diseño de la interfaz gráfica
Mantenga la complejidad de la GUI al mínimo: agregar información y controles a la GUI agrega trabajo para que lo maneje el usuario. Requerir poco trabajo por parte del usuario: el sistema debe ser fácil de usar y el usuario no debe confundirse. Siempre que se requiera información, se debe proporcionar la información necesaria para ayudar al usuario de manera eficiente.
Requerimientos de los Módulos
MSB-07: Responder al cliente con el número de pedido o con el error correspondiente sin actualizar la página. MSB-07 Responder al cliente con el número de pedido o con el error correspondiente sin actualizar la página. MLB-07 Responder al cliente con el número de pedido o con el error correspondiente sin actualizar la página.
MDB-07 Responder al cliente con el número de pedido o con el mensaje de error correspondiente sin actualizar la página.
Requerimientos del Servidor
Requerimientos de aplicación de escritorio
Un caso de uso es un documento narrativo que describe cómo los diferentes actores interactúan con el sistema.
Registrar nuevo cliente
Realización de nueva orden de Stock
La plataforma valida (desde el navegador) con cada evento de keyup registrado que los datos son correctos. El sistema valida (desde el servidor) los datos, permanece en la base de datos, envía un correo electrónico de confirmación al cliente y a la sucursal correspondiente e imprime los datos en la casa matriz. El empleado comprueba que no hay ningún error en el pedido y entrega las impresiones realizadas por el sistema en la sala correspondiente.
Añadir nuevo Producto de Laboratorio
El actor busca hacer clic en la pestaña del tipo de pedido que busca (Stock, Laboratorio, Digital).
Diagramas de Flujo
Añadir nuevo Producto de Laboratorio
Inicialización de la Aplicación
Sistema WEB
Sistema de Gestión
Diagramas de Secuencia
Nuevo pedido de Stock
Después de comenzar, el hilo que descarga los nuevos archivos de pedido creados en el servidor se ejecutará sin cesar cada vez que se especifique en el archivo de configuración (el tiempo predeterminado es 5 minutos). La Figura X muestra la relación entre los tiempos de desarrollo estimados de los distintos módulos y el tiempo real requerido. Se puede observar que debido a la reutilización de código, a pesar de que los tiempos y requerimientos estimados fueron los mismos, el desarrollo del módulo digital (MD) costó menos horas-hombre que el desarrollo del módulo de laboratorio (ML).
La razón principal del retraso en el desarrollo fueron las diversas dificultades encontradas para realizar la impresión correctamente. De la Figura X se puede concluir que el tiempo real de desarrollo (315 horas) de todos los módulos fue igual al tiempo estimado (297 horas), ya que si hacemos el cociente entre ambos tiempos nos da una desviación de 6.06 %. Las figuras X y X comparan el tiempo en horas invertido en almacén, laboratorio y módulos digitales para el desarrollo front-end y back-end.
Debido al énfasis en la usabilidad, la experiencia del usuario y la minimización de errores durante todo el ciclo de vida del proyecto, el desarrollo frontend requirió más de la mitad del tiempo de desarrollo (58,7%).