Herramienta de Chequeo BOM

Realizado por Luis Alejandro Huertas Del Cerro.

Curso 2016/17.

Contenido:

Resumen

“Herramienta de chequeo BOM” es una aplicación de escritorio desarrollada exclusivamente para la empresa Tecnobit, que sirve como apoyo para su principal actividad que es la ingeniería de diseño y desarrollo de hardware y software.

Como antecedentes, se partió de la necesidad que existía en Tecnobit para conseguir una herramienta que permitiera llevar a cabo una evaluación y análisis exhaustivos de los componentes que forman las listas de materiales (BOM), para poder modificar las BOM existentes que tengan componentes defectuosos o incluso mejorar los futuros diseños de las listas.

La herramienta está desarrollada en el lenguaje de programación Java. Diseñada con una interfaz gráfica de usuario hecha a medida, la “Herramienta de chequeo BOM” está dotada de gran cantidad de funcionalidades que a lo largo del proyecto se explicarán y desarrollarán.

Volver al inicio.

Motivación y Objetivos

Se podría decir que en mi caso, la oportunidad de terminar mis estudios de grado, ha estado ligada con la motivación e ilusión de desarrollar una aplicación de gran utilidad para los ingenieros hardware, en una gran empresa como Tecnobit.

En primer lugar, este proyecto se ha llevado a cabo gracias a la decisión de realizar prácticas externas antes de finalizar el grado. Gracias a la Beca de Formación de la Escuela Oesía, comencé en Tecnobit como becario en el departamento de Ingeniería Software.

Desde el primer momento que inicié mis prácticas tuve claro que el trabajo desarrollado durante mi estancia en la empresa, me serviría como Trabajo Fin de Grado, al ser ésta una empresa con gran prestigio y relacionada directamente con mis estudios de Telecomunicaciones.

Como objetivos principales, la herramienta tiene que:

  • Facilitar a los ingenieros hardware el análisis y evaluación de las listas de materiales (BOM) de los diseños de Tecnobit.
  • Analizar de una forma rápida y sencilla todas las características de los componentes de las BOM.
  • Debe tener un diseño de la Interfaz gráfica de usuario de fácil uso y amigable.
  • También, debe ser capaz de acceder, controlar y manejar toda la información almacenada en las bases de datos de Tecnobit, como son SAP y Novell.
  • Debe mostrar las puntuaciones y criterios de penalización de cada componente no recomendado (NRND).
  • Y por último debe ser capaz de realizar un informe completo de todas las características más importantes de las BOM.

Volver al inicio.

Introducción

Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo. Lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra.

Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.

La principal característica y ventaja de este lenguaje de programación es que se trata de un lenguaje independiente de la plataforma, es decir cualquier programa creado a través de Java podrá funcionar correctamente en ordenadores de todo tipo y con sistemas operativos distinto. Esto es un beneficio para los programadores, pues les facilita el trabajo ya que ya no se ven obligados a crear un programa diferente que se adapte a Windows, Linux, Mac, etc.

Swing es una biblioteca gráfica para Java. Incluye widgets para interfaz gráfica de usuario tales como cajas de texto, botones, desplegables y tablas.

En 1997, Sun Microsystems y Netscape Communications Corporation anunciaron su intención de combinar IFC con otras tecnologías de las Java Foundation Classes. Todos los programas de software que soportan IFC pueden leer y escribir información e intercambiarla con otros programas. De este modo comunicamos “objetos”, con funcionalidad y propiedades. Además de los componentes ligeros suministrados originalmente por la IFC, Swing introdujo un mecanismo que permitía que el aspecto de cada componente de una aplicación pudiese cambiar sin introducir cambios sustanciales en el código de la aplicación.

La introducción de soporte ensamblable para el aspecto permitió a Swing emular la apariencia de los componentes nativos manteniendo las ventajas de la independencia de la plataforma. También contiene un conjunto de herramientas que nos permiten crear una interfaz atractiva para los usuarios.

Con esta librería básica de Java, se han diseñado todas y cada una de las ventanas que forman la interfaz gráfica de usuario de la aplicación.

mg_5481-1

Volver al inicio.

Metodología y Desarrollo

Para el diseño y metodología de este proyecto, se han seguido las técnicas y el modelo de diseño de “4+1 vistas de Kruchten” que a lo largo del capítulo se detallarán. Durante todo el proceso de realización, tanto para el diseño de la GUI, como para todo el desarrollo e implementación del código de la aplicación, se ha utilizado el entorno de desarrollo Eclipse Mars 2.0.

Diseño UML

El lenguaje unificado de modelado (UML, Unified Modeling Language), es una estandarización gráfica de modelos y diseños software.   Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Está respaldado por el Object Management Group (OMG), que es un consorcio, formado en 1989, dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos.

“4+1 vistas de Kruchten”

En este proyecto se ha utilizado un derivado de este modelado: “El modelo de 4+1 vistas de Kruchten”.

El modelo 4+1 fue diseñado por Philippe Kruchten para describir la arquitectura de sistemas software, basados en el uso de múltiples vistas concurrentes. Las vistas suelen describir el sistema desde el punto de vista de diferentes interesados, tales como usuarios finales, desarrolladores o directores de proyecto.

mg_5481-1

 

Estas 4 vista las denominó Kruchten como: vista lógica, vista de procesos, vista de despliegue y vista física y la vista “+1″, que tiene la función de relacionar las 4 vistas citadas, la denomino vista de escenarios.

En la memoria están representados los diagramas más representativos de cada vista, como son el diagrama de estado, diagrama de clases, diagrama de secuencia, diagrama de actividad, etc…

A c
ontinuación se muestran los casos de uso y el diagrama de despliegue.

 

Casos de Uso

mg_5481-1

Diagrama de Despliegue.

Este diagrama se utiliza para modelar la disposición física de los artefactos software en nodos. Los elementos usados por este tipo de diagrama son: nodos (representados como un prisma), componentes y asociaciones

mg_5481-1

Requisitos funcionales

La optimización de los stocks en los almacenes de Tecnobit es una faceta en la que se ha estado trabajando ya varios años. Se ha documentado de forma que toda la información de cada componente sea accesible a través de la herramienta SAP.

Recientemente, se ha desarrollado una herramienta que analiza distintos parámetros de los componentes (stocks, familias y fabricantes recomendados, precio, plazo de entrega, etc…), y añade una nueva característica “RND o NRND”, con el objeto de que para los nuevos diseños se seleccionen, dentro de lo posible, componentes que estén en stock, que tengan menor plazo de entrega, menor coste, mejor documentación, etc…

Por consiguiente, el desarrollo de esta aplicación, cubrirá y tendrá las siguientes funciones principales:

-Analizar las estructuras de los distintos productos y diseños de Tecnobit para detectar componentes NRND.

-Analizar las carencias de los componentes NRND, para ver si podemos encontrar un componente compatible pero RND.

-Analizar las puntuaciones negativas y los criterios por los cuales los componentes son NRND.

-En general, poder analizar de una forma rápida todas las características de todos los componentes de la BOM.

-Esta aplicación también se puede utilizar en las revisiones de diseño, para sacar un informe de componentes, encapsulados, coste, Favoritos, RoHS, etc.

Librerías externas

Como se trata de una aplicación que utiliza conexiones a servidores internos de la empresa, para el correcto funcionamiento, se han tenido que diseñar y adaptar dos enlaces externos de donde se extrae toda la información necesaria.

El acceso a la base de datos Novell, de donde se recopila un pequeña parte de la información utilizada en la herramienta, y el enlace a SAP, a través del conector Java JCo. Este enlace es el más importante puesto que de él se extrae la mayor parte de la información de la base de datos principal de Tecnobit.

  • SAP Java Connector.

El enlace a SAP, se ha llevado a cabo rediseñando el Java Connector 3.0 a las necesidades de la herramienta.

-Primero se establece la conexión con SAP, es decir se introducen los parámetros de conexión con el servidor de Tecnobit.

-Después se cargan los parámetros introducidos y se comprueba que hay conexión.

-Y por último se llaman a las RFCs para acceder a los distintos datos que se desee dentro de SAP.

Las RFCs son funciones de control remoto que han sido diseñadas conjuntamente con el ingeniero de SAP de Tecnobit, y cada una de ellas accede a diferentes zonas de SAP, dependiendo de la información que queramos extraer.

  • Acceso a Novell.

Para el acceso a la base de datos Novell no ha hecho falta utilizar una librería externa. Java proporciona librerías que permiten acceder y leer a archivos CSV.

Los archivos CSV (del inglés comma-separated values) son un tipo de documento en formato abierto, para representar datos en forma de tabla, en las que las columnas se separan por comas y las filas por saltos de línea.

Despliegue

En lenguaje de programación “Software transition”, se refiere al proceso de migración de los conocimientos, sistemas y capacidades de funcionamiento entre un entorno de desarrollo a uno personal para el cliente.

En esta sección se explicará todo el proceso que se ha seguido para generar un archivo final, con el que se inicia la aplicación. Desde el momento que se termina de programar y desarrollar la aplicación en el entorno de desarrollo, en este caso Eclipse, hasta la creación del ejecutable para utilizar la aplicación.

Debido a que la aplicación maneja gran cantidad de datos, se han definido unos parámetros de arranque.

Sin estos parámetros, la aplicación no podría funcionar. Para poder ejecutar la aplicación con estos parámetros, se ha generado un archivo batch con una línea de código en la que se establecen el mínimo y máximo de memoria, de 128 megas a 1100 megas. Básicamente se ha aumentado el tamaño máximo de la pila Java Virtual Machine para que pueda procesar toda la información.

El archivo batch se genera creando un documento de texto normal .txt y guardándolo con la extensión .bat.

Cuando se ejecuta este archivo, las órdenes contenidas él son ejecutadas en grupo, de forma secuencial, permitiendo automatizar diversas tareas. 

Volver al inicio.

Funcionamiento de la aplicación

Este apartado se explica en detalle el uso de la aplicación. Se describen todas y cada una de las funciones de cada ventana, a través de la GUI. Con ayuda de capturas de pantalla de la propia aplicación, se demostrará el uso más común que se puede hacer de la herramienta. La aplicación está diseñada para el uso en los ordenadores de Tecnobit exclusivamente.

Principalmente, la aplicación se divide en tres partes:

– Ventana inicio (PN y Revisión). La primera consiste en una pantalla inicial, donde el ingeniero debe introducir los datos, PN y revisión, que servirán para identificar toda la información que se va a analizar.

mg_5481-1

 Ventana principal (Filtros de evaluación). En la segunda parte es donde se analiza la gran mayora de datos e información adquiridos de los diferentes enlaces externos. El usuario puede interactuar con la aplicación usando filtros y botones, que facilitan el análisis de la BOM seleccionada.

mg_5481-1

Informe (Recopilación información). La tercera parte de la aplicación muestra un informe de la BOM, en el que se detalla la información más relevante según los criterios de los ingenieros hardware de la empresa.

mg_5481-1

Volver al inicio.

Conclusiones

Principalmente, se han conseguido desarrollar de manera satisfactoria todas las funcionalidades propuestas. Tras ser probada por ingenieros de la empresa, ha respondido satisfactoriamente a todas las necesidades requeridas. El uso de los filtros ha cubierto el principal problema que se planteaba en Tecnobit a la hora de realizar la evaluación en las listas de materiales.

El haber incluido las funciones de Evaluar BOM y Evaluar componentes NRND hacen de la herramienta una aplicación útil y potente.

También se ha conseguido desarrollar una GUI sencilla, directa y de fácil uso. La librera de diseño Swing y el entorno de desarrollo Eclipse utilizados en algunas asignaturas del grado ha disminuido el grado de dificultad a la hora de realizar este proyecto. Me ha servido para desarrollar los conocimientos adquiridos en el diseño de GUIs de aplicaciones Java.

Al ser una herramienta que depende de un software muy potente, como lo es SAP, me ha permitido aprender, conocer y saber utilizar como funciona este software de gran prestigio a nivel de gestión empresarial.

Volver al inicio.