aladdin cargo - steven alejandro suárez castro

28
Aladdin Cargo Implementación de solución al problema de control de transporte de mercancías Presentado por: Steven Alejandro Suárez Castro Mayo de 2015

Upload: steven-alejandro-suarez-castro

Post on 09-Feb-2017

141 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Aladdin cargo - Steven Alejandro Suárez Castro

Aladdin CargoImplementación de solución al problema de control de transporte de mercancías

Presentado por:

Steven Alejandro Suárez Castro

Mayo de 2015

Page 2: Aladdin cargo - Steven Alejandro Suárez Castro

Tabla de contenidos

1. Antecedentes del proyecto2. Sistema desarrollado

2.1. Tecnología utilizada2.1.1. Modelo vista controlador (MVC)

2.1.1.1. Modelo2.1.1.2. Vista2.1.1.3. Controlador

2.1.2. Patrón DAO2.2. Diseño de los componentes2.3. Diseño de la base de datos

3. Diseño detallado3.1. Descomposición modular

3.1.1. Módulo de punto de control3.1.2. Módulo de gestión de informes3.1.3. Módulo de reporte de anomalías

3.2. SRS3.2.1. Requisitos funcionales3.2.2. Requisitos no funcionales

3.3. Interfaz GUI3.4. Prototipo

4. Diagramas y matrices4.1. Diagrama de clases4.2. Diagrama de despliegue4.3. Diagrama de procesos (BPMN)4.4. Matriz de Dependencias-Motricidad

Page 3: Aladdin cargo - Steven Alejandro Suárez Castro

1. Antecedentes del proyecto

El presente proyecto tiene por objetivo lograr la implementación de una solución tecnológica que permita apoyar la gestión y control del proceso de envíos de mercancías bajo los criterios de control de calidad y cumplimiento de tiempos.

La implementación de la solución tecnológica se desarrolló en dos etapas:

Primera etapa, De levantamiento de datos y requerimientos:

Se consiguió la información respectiva de cómo funcionaba el proceso al día de hoy el cual era simplemente un proceso de diligenciamiento de formatos sobre la salida de la mercancía, el paso por los distintos puntos de control, entrega de mercancía y satisfacción de los clientes.

Dicha información era almacenada en tablas de Excel y documentos en Word sin la presencia propia de una base de datos estructurada.

sdfsadfasdfasdfasdf

En el cuadro anterior se puede observar el proceso lógico a seguir durante la etapa de planteamiento del problema y del desarrollo de la solución expuesta a continuación.

Segunda etapa, De implementación de la solución tecnológica

En este informe se describirán los aspectos técnicos de implementación e instalación del sistema.

Diagnóstico de soluciones de software

Levantamiento de requerimientos

Análisis de resultados

Construcción propuesta de solución

Propuesta de solución

Page 4: Aladdin cargo - Steven Alejandro Suárez Castro

2. Sistema desarrollado

2.1. Tecnología utilizada

Las necesidades de la empresa para satisfacer el proceso de control determino que el programa debería de tener una versión de escritorio para usarla en las instalaciones por los funcionarios y una versión móvil para permitir el acceso a la ubicación y estado de mercancía por parte de los usuarios (clientes).

Por esto se determinó que el ambiente de desarrollo fuera trabajado en Java mediante el uso de la herramienta Eclipse, con un servidor web Apache y para la versión portable y web programación PHP. Se manejara una base de datos en MySQL que albergara la información de todos los puntos presentes en el entorno del proceso.

2.1.1. Modelo Vista Controlador (MVC)2.1.1.1. Modelo

El modelo en este caso será el encargado de manejar la identificación, carga, actualización, borrado y demás modificaciones de información, todas las clases del proyecto que tengan alguna característica CRUD Por ende en esta parte se tendrán las clases mostradas en la siguiente ilustración:

Ilustración 1: Clases presentes en el modelo

- Clase Lógica: Está clase permite realizar las operaciones vinculadas a la lógica del negocio como tal, con esta clase el programa realizara validaciones y llamados a operaciones.

- Clase Cliente:Representación del cliente de la empresa, acá se guarda la información del mismo

- Clase Mercancía:

Page 5: Aladdin cargo - Steven Alejandro Suárez Castro

Representación de la mercancía y sus datos, tipo, estado, propietario, etc.- Clase GerenteUOperario:

Representación de los empleados de la empresa, puede tener rol de gerente u operario (supervisor de área, conductor), pero sus características son más o menos las mismas, por ejemplo, nombres, identificaciones y demás

- Clase ConexionBD:Clase donde se contienen las relaciones a la base de datos en Mysql

- Transporte:Representación de los vehículos encargados y dedicados para el transporte de mercancías

- Instalación:Edificios o instalaciones de la empresa, puntos de control o sede principal

2.1.1.2. VistaLa vista es la encargada de la parte visual del sistema, no posee más función que permitir ingreso y salida de información entre el programa y el usuario en cuestión por ende en esta clase se tendrán las siguientes clases.

Ilustración 2: Clases presentes en vista

- LogInRegistro y distinción de privilegios de usuario.

- PrincipalVentana donde se muestran las opciones principales del programa.

- Gestión de informesModulo donde se registraran los estados actuales de la traza del envío.

- Información de mercancíasMuestra la información de la mercancía como punto de partida, encargado del envío, destinatario, etc.

Page 6: Aladdin cargo - Steven Alejandro Suárez Castro

- Estado de contratoMuestra la información de los clientes, trabajadores vinculados y mercancías de la empresa (solo para gerentes).

- ModificacionesCambio de alguna de las condiciones del envío.

- Registros y puntosAviso de ingreso y salida de la mercancía de la sede principal y puntos de control.

- Reportes y AnomalíasGeneración de reportes de fallos, problemas, satisfacción y demás.

2.1.1.3. ControladorEs la parte que se encarga de la administración y vinculación de la información del sistema presente en el modelo con la vista.Se conforma por las siguientes clases de conexión.

Ilustración 3: Clases presentes en el controlador

- Creación de contratosElaboración de contratos, asignación de personal y de pintos de control para llegar a un destino.

- Modificación de contratosCambios en la información de los contratos

- Entrada de Mercancía a puntoGestión de control de mercancía en los puntos de control

- RegistrosInformación de registros de calidad y satisfacción.

Page 7: Aladdin cargo - Steven Alejandro Suárez Castro

Ilustración 4: Esquema de funcionamiento del MVC

2.1.2. Patrón DAODebido a la necesidad de mantener en limpio las acciones que genera la empresa entre sus usuarios se generaran las siguientes clases DAO, con el fin de independizar la lógica del negocio con la lógica del acceso de los datos.Por cada objeto de negocio en el sistema crearemos un DAO distinto.

Clientes DAO Mercancía DAO GerenteUOperario DAO RegistrosDAO EstadoDeContratoDAO TransporteDAO

Page 8: Aladdin cargo - Steven Alejandro Suárez Castro

2.2. Diseño de los componentes

Teniendo en cuenta el concepto de la ingeniería de software basada en componentes y la necesidad de separar asuntos (SoC) podemos realizar una lista de clases que funcionen a manera de componente reciclable en otras como un llamado para cumplir una función específica que se repita muchas veces.

- Componente de conexión a bases de datos:Este componente se crea debido a la constante necesidad de conectarse a la base de datos para verificar información de las diversas tablas, el código que se pone en todas las clases para realizar esta conexión puede ser puesto en un apartado diferente para ser invocado solo en el momento que sea necesario.

- Componente de validación de usuariosSe presenta la constante necesidad de verificar si un usuario es gerente o cliente. Está necesidad surge debido a que el programa cuenta con dos formas, la forma de gerente es la única en la que se pueden presentar solicitudes de modificación en el programa.

2.3. Diseño de la base de datos

La base de datos es necesaria debido al requerimiento de almacenamiento de información de la empresa, y también la frecuente necesidad de consulta hace que sea vital que la información se encuentre en un medio fácil de manejar que permita búsquedas rápidas.

Se utilizará la integración de una base de datos en MYSQL, la cual será la encargada de almacenar y de mostrar la información solicitada por el programa además de comunicarla entre los diversos puntos que se requieren dentro del programa.Debido a que el programa será desarrollado en Java se realizara la conexión con la base de datos mediante JDBC.

Para el diseño de la base de datos se tiene a consideración la creación de las tablas de información de los actores principales vinculados en el proceso de envió tales como clientes, instalación, gerente, vehículos y mercancía.

Page 9: Aladdin cargo - Steven Alejandro Suárez Castro

3. Diseño detallado

Ilustración 5: Diagrama de Entidad-Relación

Page 10: Aladdin cargo - Steven Alejandro Suárez Castro

3.1. Descomposición modularEl programa cuenta con tres módulos principales que son los que se encargaran de manejar el proceso de realizar la trazabilidad de la mercancía, los módulos son los siguientes:

3.1.1. Módulo de punto de controlMódulo encargado de mostrar el lugar actual de la mercancía, el punto de control en el que se encuentra actualmente, alguna anomalía que pueda presentarse además de la fecha y destino al que se dirige.

Entradas 1. Fecha y hora de paso por puesto de control.

2. Información de estado previó de la mercancía.

Salidas 1. Informe de llegada y de partida por el punto de control.

2. Informe del estado de la mercancía a la llegada y a la salida del punto de control.

Interfaz 1. Disponible en versión web y para escritorio (web o aplicación).

Restricciones 2. El punto de control debe de estar registrado en las rutas de paso de la mercancía.

3. Debe de registrarse el paso de todos los puntos sin excepción alguna.

3.1.2. Módulo de gestión de informesLos informes de las operaciones de la organización son las que permiten determinar el grado de éxito de los mismos mediante la recolección de datos detallados acerca del rendimiento realizado en tiempo real, es por eso que la necesidad de diseñar un módulo especializado en la recolección de esta información se hace vital para los procesos del control de calidad del servicio de movimiento y trazabilidad de las mercancías que son movidas por la empresa, con el propósito de manejar mejor las operaciones y quizá optimizar procesos.

Page 11: Aladdin cargo - Steven Alejandro Suárez Castro

Informes de estado actual de mercancía

Entradas 1. Número de la orden de envío del producto/mercancía.

2. Descripción de la mercancía en cuestión (cantidades, tipo, materiales, etc.)

3. Nombres remitente y destinatario.

4. Identificación del remitente y del destinatario.

5. Origen, Destino y rutas por las cuales será enviada la mercancía.

6. Encargados de área al momento del despacho de la mercancía.

Salidas 1. Informe de estado de la mercancía (posibles imágenes adjuntas de la misma).

Interfaz 1. Disponible en versión web y para escritorio (web o aplicación).

Restricciones 1. La mercancía debe de haberse registrado efectivamente en el lugar donde se realice el informe.

Informe de salida y entrega de la mercancía.

Entradas 1. Hora de salida, hora de entrega (entre puntos)

2. Nombres remitente y destinatario.3. Identificación del remitente y del

destinatario.4. Retroalimentación (comentarios

del cliente)

Salidas 1. Listado de entregas y tiempos totales

Interfaz 1. Disponible en versión web y para escritorio (web o aplicación).

Restricciones 1. La mercancía debe de haberse registrado efectivamente en el lugar donde se realice el

Page 12: Aladdin cargo - Steven Alejandro Suárez Castro

informe. Informe de calidad (clientes/operarios)

Entradas 1. Calificación de la satisfacción del servicio

2. Comentarios y observaciones

Salidas 1. Informe de calidad

Interfaz 1. Disponible en versión web y para escritorio (web o aplicación).

Restricciones 1. La mercancía debe de haberse registrado efectivamente en el lugar donde se realice el informe.

3.1.3. Módulo de reporte de anomalíasEste módulo se encarga de generar el feedback sobre los problemas que puedan generarse a lo largo del proceso de entrega de la mercancía.

Entradas 1. Anomalías en el proceso2. Informes de fallos

Salidas 1. Reporte de anomalíasInterfaz 1. Disponible en versión web y

para escritorio (web o aplicación).

Restricciones 1. Debe de generarse la notificación del fallo

Page 13: Aladdin cargo - Steven Alejandro Suárez Castro

3.2. SRS3.2.1. Requisitos funcionales

3.2.1.1. Requisito funcional 1Número de requisito 001Nombre de requisito Inicio de sesiónTipo Requisito RestricciónFuente del requisito Base de datos información de usuario: Nick y userPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: Necesidad de verificar quien ingresa al sistema a buscar información respectiva sobre la mercancía y brindar permisos de búsqueda en relación a esto.

Entradas: Nombre de usuario, contraseña

Procesos: El programa verificara dentro de la base de datos que la información ingresada coincida con lo que se tiene almacenada, permitiendo así el acceso del usuario correspondiente.

Salidas: En caso de ser aceptada la información simplemente se procede a abrir la ventana de inicio, de ser errónea se procederá a enviar alertas de error, tales como que el usuario o la contraseña no existen, de haber coincidencia de usuario más no contraseña se generara un reporte en el que se especificara la información de la hora en que trato de ingresarse al sistema.

3.2.1.2. Requisito funcional 2Número de requisito 002Nombre de requisito Llenar formato de envío y salida de mercancíaTipo Requisito RestricciónFuente del requisito Gerente, supervisor de área, Base de datosPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: Debe de conocerse al personal encargado de dar salida al producto para ser enviado, quien lo envía (empresa asociada, conductor o transportista, etc.) y a donde será enviado. Esta información debe de ser puesta en un formato que sea de fácil comprensión para los usuarios del sistema.

Entradas: Nombre, cedula, y demás datos de encargados del envío, nombre, dirección, teléfono, y demás datos relevantes sobre el cliente, datos sobre el medio de envío de la mercancía, tipo de mercancía, estado de la mercancía, hora de salida de la mercancía, lugar de origen, lugar de destino.

Procesos: El sistema tomara la información mencionada anteriormente y se encargara de guardarla en base de datos, luego procederá a generar un formato que incluya todos los datos relevantes para el proceso de envío como tal.

Page 14: Aladdin cargo - Steven Alejandro Suárez Castro

Salidas: Reporte inicial de salida de mercancías.

3.2.1.3. Requisito funcional 3Número de requisito 003Nombre de requisito Conexión de bases de datosTipo Requisito RestricciónFuente del requisito Java, JDBC, Base de datosPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: Las bases de datos de los distintos puntos de control deben de estar interconectadas por la necesidad de verificar información.Entradas: Comando de comunicación entre puertos, información a ser compartida y archivada.

Procesos: El sistema almacenara la información en la base de datos y mostrara la misma de ser solicitada dentro de los reportes.

Salidas: Información de los reportes de estado de la mercancía.

3.2.1.4. Requisito funcional 4Número de requisito 004Nombre de requisito Reportes de estado actual de la mercancíaTipo Requisito RestricciónFuente del requisito Base de datosPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: Debe de arrojarse un aviso sobre la ubicación actual de la mercancía durante el proceso de envío de un lugar a otro.

Entradas: Solicitud de información acerca de la información.

Procesos: El programa se comunicara con la base de datos y retornara la información previamente acomodada dentro de los registros correspondientes.

Salidas: Reporte de estado actual de mercancía.

3.2.1.5. Requisito funcional 5Número de requisito 005Nombre de requisito Funcionabilidad sobre diversos sistemas operativosTipo Requisito RestricciónFuente del requisito Sistema operativoPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Page 15: Aladdin cargo - Steven Alejandro Suárez Castro

Introducción: Suponiendo la necesidad de revisión de información desde diversos puntos se planeara lograr que la herramienta sea soportada en varios S.O. partiendo desde Android y WindowsEntradas: Programa final

Procesos: El programa debería de funcionar sobre diversas plataformas.

Salidas: Programa completo con todas sus funcionalidades operando.

3.2.1.6. Requisito funcional 6Número de requisito 006Nombre de requisito Generación de reportes de entregaTipo Requisito RestricciónFuente del requisito Entradas de gerente/usuario, Base de datosPrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: Toda entrega debe de tener su constancia de recibido y de a quien fue entregado.

Entradas: Solicitud de entrega de mercancía, una vez ha sido entregada la misma.

Procesos: Al ser entregada la mercancía se informa al sistema generando así un reporte que cierra la transacción de envío.

Salidas: Reporte final de entrega de mercancía

3.2.1.7. Requisito funcional 7Número de requisito 007Nombre de requisito Realizar cancelaciones de envíosTipo Requisito RestricciónFuente del requisito Base de datos, solicitud de usuario/gerentePrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: A lo largo del envío puede darse la necesidad de cancelar una entrega por lo tanto debe de existir la posibilidad de hacer esto dentro del programa

Entrada: Solicitud de cancelación de envío.

Procesos: El programa busca en base de datos el envío correspondiente a la solicitud y lo elimina de la lista de trámites activos.

Salidas: Cancelación exitosa del envío.

3.2.1.8. Requisito funcional 8Número de requisito 008Nombre de requisito Modificación de envíosTipo Requisito Restricción

Page 16: Aladdin cargo - Steven Alejandro Suárez Castro

Fuente del requisito Base de datos, solicitud de usuario/gerentePrioridad del requisito Alta/Esencial Media/Deseado Baja/ Opcional

Introducción: A lo largo del envío puede que se necesite cambiar algún dato sobre la entrega, tal como la dirección, quien la recibe, por donde se enviara, etc.

Entradas: Solicitud de modificación de envío.

Procesos: El programa busca en base de datos el envío correspondiente a la solicitud y la modifica.

Salidas: Modificación exitosa o alerta de cambios no realizados.

3.2.2. Requisitos no funcionales

3.2.2.1. Requisitos de rendimientoo Número de terminales a manejar:

Se contará con un servidor de terminales para el acceso remoto de los usuarios desde otros computadores

o Número de usuarios simultáneos:

El número de usuarios que interactuaran simultáneamente con el sistema es de 300 usuarios

o Número de transacciones a manejar dentro de cierto periodo de tiempo:

Se estima que se manejarán alrededor de 2000 transacciones durante el día y el 90% de estas deben realizarse en menos de un segundo, teniendo en cuenta que ingresaran usuarios dentro y fuera de la empresa

Page 17: Aladdin cargo - Steven Alejandro Suárez Castro

3.3. Interfaz GUIA continuación se darán los prototipos de interfaz gráfica para la versión móvil del programa.

Ilustración 6: GUI Log In

Page 18: Aladdin cargo - Steven Alejandro Suárez Castro

Ilustración 7: GUI ventana principal

Ilustración 8: GUI módulo de gestión de informes

Page 19: Aladdin cargo - Steven Alejandro Suárez Castro

Ilustración 9: GUI Módulo de punto de control

Ilustración 10: GUI información mercancías

Page 20: Aladdin cargo - Steven Alejandro Suárez Castro

Ilustración 11: GUI Módulo de anomalías

Ilustración 12: GUI Contratos

Page 21: Aladdin cargo - Steven Alejandro Suárez Castro

Ilustración 13: GUI Modificaciones

3.4. PrototipoLink para simulación:https://www.fluidui.com/editor/live/preview/p_82eQPdPQ1WOKJsneEsLtuFcDM5zBRBx7.1432453842128

Page 22: Aladdin cargo - Steven Alejandro Suárez Castro

4. Diagramas y matrices

4.1. Diagrama de clasesEl diagrama se encuentra en el PDF anexo llamado “Diagrama de Clases – ACSSs”

4.2. Diagrama de despliegue

Page 23: Aladdin cargo - Steven Alejandro Suárez Castro
Page 24: Aladdin cargo - Steven Alejandro Suárez Castro

4.3. Diagrama de procesos (BPMN)

4.4. Matriz de dependencias-Motricidad

La matriz se encuentra en los archivos adjuntos en el documento de excel llamado “dependencias”