La empresa realizó un seguimiento y control manual de la documentación y acceso a planta de sus empleados y contratistas. Los documentos se almacenaron en papel y se monitorearon en hojas de cálculo completadas por el personal de la empresa. Se trata de un dato importante y fundamental en un supuesto incidente que requirió la evacuación de la planta o la restricción del número de personas que circulaban, situación que se vio agravada por la pandemia de COVID-19.
Objetivo del Proyecto
Objetivo General
Alcance inicial
Alcance final
Es decir, continuó controlando la documentación y el acceso a fábrica de empleados y contratistas, salvo que los empleados de la empresa fueron sustituidos por trabajadores externos.
Proyecto
- Problema a resolver
- El equipo
- FODA
- Fortalezas
- Oportunidades
- Debilidades
- Amenazas
- Análisis de benchmarking
- Nextar
- Wilsoft QSupplier
- SoftExpert
- Resultados del benchmarking
- Análisis de riesgos
- Análisis de viabilidad
Entrenar la red neuronal requerirá un gran volumen de datos, para lo cual tendremos que esperar a que el sistema esté instalado y tenga un periodo aceptable de datos cargados. Entonces los indicadores en las pantallas principales son importantes para tener una visión general del estado de la información que maneja cada usuario. 10 Desarrollo del monitor documental con alertas de auditoría 60 horas 11 Desarrollo de la Red Neuronal de Anomalías 40 horas.
Proceso
Metodología de trabajo
En la asignación se dio prioridad a los miembros que ya tenían experiencia relacionada con la tarea. El ciclo de vida de un mapa fue el siguiente: La tarea se crea en la columna del trabajo pendiente. Una vez que la tarea está refinada y lista para ser asignada a un desarrollador, se traslada a todo.
Gestión de versionado
Después de probar la tarea, si se aprueba, pasa a Listo; de lo contrario, vuelve a todo con comentarios sobre por qué se rechazó la tarea. Este último (CICD) se utilizó para obtener canales de trabajo después de que el código se fusionó con la rama de desarrollo. De esta manera, una vez aprobada y aceptada la solicitud de retiro, todo el proceso quedó automatizado.
Comunicación
Para cada nueva tarea, se creaba una nueva rama y, cuando finalizaba, se mezclaba con el resto del código en la rama de desarrollo y luego se eliminaba la rama. Fue configurado para ejecutar pruebas unitarias, pruebas de linting e implementación automática de contenedores en los servidores de desarrollo. Tardó entre cinco y diez minutos, y cuando pasó este tiempo, el servidor de desarrollo ya tenía la nueva versión disponible.
Producto
Análisis
- Elicitación
- Proceso de negocios
- Análisis Técnico
Permitir o negar el acceso a los conductores pendientes, dejando un registro de por qué se tomó la acción (similar a una auditoría de documentación). Se realizó un análisis técnico de infraestructura, conocimiento y experiencia del cliente para ayudar a seleccionar tecnologías, protocolos, prácticas, etc. Las decisiones se basaron principalmente en las necesidades del cliente y la velocidad de implementación, ya que el cliente tenía una clara urgencia de implementar el sistema lo más rápido posible.
Luego de una serie de reuniones, además de una visita a la fábrica, se logró hacer un resumen de la infraestructura con la que cuenta el cliente. Servidor: La empresa ya tenía disponible su propio servidor, por lo que el sistema funcionó sin problemas. Red: La conexión a Internet estaba disponible donde fuera necesaria, ya sea inalámbrica o por cable.
Base de datos: El área de sistemas de Nutreco ya contaba con una base de datos SQL Server con licencia paga. Esta información no es insignificante ya que nos permitió saber con qué tipo de bases de datos tienen experiencia. Aun así, se le dio al cliente total libertad de los idiomas a utilizar, aunque el mantenimiento del sistema sería su responsabilidad.
El motivo fue que no queríamos limitar la elección de idiomas para poder utilizar los que mejor se adaptaran a las necesidades.
Diseño
- Arquitectura
- Backend
- Frontend
- Mobile
- Routing Web
- Base de datos
- Servidor
- Comunicación entre servicios
- Inteligencia Artificial
Entre los diversos lenguajes de programación para la creación de un servidor web, como Java, PHP, Python y Javascript, se decidió utilizar este último por su versatilidad, popularidad entre la comunidad por ser de código abierto y un potente lado del servidor. lenguaje cuando se combina con la tecnología Nodejs. Esto se debe al conocimiento previo de los empleados de Nutreco y a la gran comunidad y popularidad que tienen. Inyección de dependencia de características relacionadas con los componentes del módulo y la modularidad en general.
Uno de los requisitos del cliente era que los usuarios, especialmente el conductor, pudieran acceder al sistema a través de dispositivos móviles. Distribución y adopción entre los usuarios: en el caso de las aplicaciones nativas, basta con subirla a la tienda, para que todos los usuarios puedan descargarla y tener acceso directo en su teléfono móvil. Las opciones expresadas fueron la instalación de hardware de escaneo de códigos o el uso de la cámara de un teléfono móvil para ser utilizada por el personal de seguridad.
200 para nuevos usuarios dentro de los primeros 30 días Funciones Menos completo Más completo El más completo. Esta plataforma hace que las implementaciones, la recuperación de datos y la escalabilidad sean un proceso realmente rápido. Docker: Esta herramienta se utilizó para el despliegue de microservicios ya que permite hacerlo en contenedores de software.
Además, tomando en cuenta el conocimiento previo de los empleados sobre el área de sistemas de Nutreco, combinado con la experiencia del equipo y la velocidad de implementación, se tomó la decisión de pasar a API con REST. Uno de ellos, la detección de desviaciones en los horarios de entrada y salida de los empleados de la empresa, fue sustituido a petición del cliente porque surgieron nuevos requerimientos con mayor prioridad, por lo que se pospuso para el futuro. El segundo fue una solución para el seguimiento y validación de documentos previos a la auditoría del personal de la empresa.
Memorias
- Trabajo en equipo
- Obstáculos
- Cumplimiento y evolución de los objetivos
- Desvíos detectados
- Cambios en el flujo de ingreso
- Control de empleados tercerizados
- Estado de los recursos
- Código QR en el detalle de cada conductor
- Modificación de la cantidad de pallets de salida luego de evaluar un arribo El cliente solicitó que la cantidad de pallets de salida pueda ser modificable una vez
- Modificación de responsabilidades del auditor
- Acceder a QR de conductor desde la aplicación móvil
- Hackeo a Nutreco
- Planificación vs Ejecución
- Trabajos futuros
Aunque, como se mencionó en el Capítulo 4, se podían realizar entrevistas y observación en vivo de los procesos de fábrica para la obtención de requisitos, estas fueron muy limitadas. Otro obstáculo fue el retraso entre la entrega de la primera versión del sistema y su uso en el entorno de producción. Después de esto, hubo mucha incertidumbre sobre el proyecto, porque generó resistencia dentro de la empresa a compartir información.
En lugar de obtener información sobre el horario de los empleados directos de la empresa, se decidió monitorear y controlar a los empleados subcontratados. Como se mencionó en la sección 5.2.8, la idea era construir una red neuronal, pero luego de la investigación se decidió utilizar otras técnicas de inteligencia artificial para resolver el problema. Esto se debía a que este número a menudo se desconocía hasta que el gerente abandonaba la planta.
Esto se puede explicar principalmente por el cambio en el flujo de entrada a la planta, que afectó directamente a la duración de la tarea. Además, la elección inicial de la tecnología GraphQL, que luego fue reemplazada por REST, también contribuyó a la desviación en la duración de la tarea. Como se mencionó en el párrafo anterior, esto tuvo que hacerse dos veces, pero aun así tomó la mitad del tiempo estimado.
Esta propuesta tiene como objetivo garantizar la seguridad y proteger la integridad de la organización frente al ingreso de contratistas.
Conclusiones
Esto significaba que había que dedicar tiempo a realizar estos cambios, pero aceleró enormemente el desarrollo posterior. Si bien los cambios en los requisitos y las molestias ocasionadas por el hack estuvieron entre los factores más importantes, también hubo otros: vacaciones, enfermedad, dificultad para reunir a todos los miembros involucrados (tanto el equipo como el cliente), entre otros. otros.. Sin embargo, el equipo está muy satisfecho con el proyecto completado, tanto por los éxitos como por los fracasos.
Además, el cliente solicitó continuar con la implementación del sistema, lo que es un buen indicio de que la solución y el desarrollo propuestos resolvieron el problema satisfactoriamente.
Definiciones
Es una especie de plantilla o esquema conceptual que simplifica la preparación de la tarea, ya que sólo hay que complementarla según lo que se quiera hacer. Progressive Web Apps (PWA): Se trata de un sitio web con una interfaz y características similares a las de una aplicación móvil. Estos son los procesos encargados de almacenar recursos como archivos HTML o imágenes para aumentar la velocidad de carga del sitio web para que no se vea afectado por las condiciones de Internet.
El backend es la parte del desarrollo web que se encarga de hacer funcionar toda la lógica de un sitio web. Con una arquitectura de microservicios, una aplicación se construye con componentes independientes que ejecutan cada proceso de la aplicación como un servicio. Agilidad: los microservicios fomentan una organización de equipos pequeños e independientes que se apropian de los servicios.
Escalado flexible: los microservicios permiten que cada servicio escale de forma independiente para satisfacer la demanda de la función de la aplicación que admite. Resistencia a errores: un error en un servicio se puede manejar de manera que no bloquee toda la aplicación. Son producto de la necesidad humana de almacenar información, es decir, protegerla del tiempo y del deterioro, para poder consultarla más adelante.
En este sentido, la llegada de la electrónica y la informática proporcionó un elemento digital imprescindible para almacenar enormes cantidades de datos en espacios físicos limitados, gracias a su conversión en señales eléctricas o magnéticas.
HTTP
Un cliente puede ser una computadora o una aplicación que necesita información del servidor para funcionar. Por tanto, el servidor ofrecerá la información solicitada por el cliente siempre que el cliente esté autorizado.
REST
Es una colección organizada de información o datos estructurados, generalmente almacenados electrónicamente en un sistema informático. Es un lenguaje de consulta y tiempo de ejecución de servidor para interfaces de programación de aplicaciones (API); Su función es proporcionar a los clientes exactamente los datos que solicitan y nada más. La inteligencia artificial es un campo de la ciencia que se ocupa de la creación de computadoras y máquinas que puedan razonar, aprender y comportarse de maneras que normalmente requerirían inteligencia humana o que involucran datos cuya escala es mayor que la que los humanos pueden analizar.
Cubre muchas disciplinas diferentes, incluidas la informática, el análisis de datos y la estadística, la ingeniería de hardware y software, la lingüística, la neurociencia e incluso la filosofía y la psicología.
Diagramas
Diagramas de secuencia
Diagrama de transición de estados de los documentos
Diseño
- Arquitectura del servidor