Tratamiento de datos y señales

Capacidad técnica para abordar proyectos de tratamiento y análisis de datos de las más variadas tipologías, desde el procesamiento de señales monitorizadas hasta la automatización de informes de negocio y Business Intelligence o BI.


Período

2013-2023

Sector

Ingeniería software

Servicio

Desarrollo software: tratamiento de datos y señales
PDF

CONTEXTO

La recopilación de información es omnipresente en nuestro mundo y los mayores avances han venido de la mano de la informática, constituida esencialmente por el hardware y el software que lo gobierna. Hoy en día, prácticamente cualquier proyecto implica la obtención y el procesamiento de datos, así como la productividad de estos, que depende en gran medida del análisis y la extracción de información o data-mining.

SOLUTE cuenta con un amplio recorrido y una gran capacidad técnica para abordar proyectos de tratamiento y análisis de datos de las más variadas tipologías, desde el procesamiento de señales monitorizadas hasta la automatización de informes de negocio y Business Intelligence o BI.

El desarrollo de software es la disciplina que estudia los componentes necesarios para la creación, la gestión, el mantenimiento y el testeo de software informático, que puede entenderse como la programación lógica que todo sistema informático necesita para funcionar adecuadamente y permitir al usuario disfrutar de las funciones de una aplicación a través de una interfaz práctica e intuitiva.

Una de las vertientes del desarrollo de software es el tratamiento de datos, aquella parte que lidia con la capacidad analítica y la interpretación y el manejo de la información. Las herramientas desarrolladas pueden ser ejecutadas como un programa standalone o como biblioteca de funciones integrada en una toolchain existente.

A menudo el mayor problema al que se enfrenta todo proyecto es la gran cantidad de datos poco manejables para extraer información y a tareas repetitivas de carga, análisis y cálculo de resultados. Sumado a ello el uso de aplicaciones inadecuadas, poco eficientes o con funcionalidad limitada, da lugar a la ineficiencia a la hora de diseñar informes de resultados y al desaprovechamiento de recursos para la toma de decisiones.

Por ello, la parte más importante del desarrollo de herramientas para el tratamiento de datos es la preocupación por el detalle de las necesidades del cliente, la adaptación a la plataforma sobre la que se va a implantar el desarrollo, la capacidad analítica demostrada y la rápida adquisición de conocimiento acerca de los datos a manejar.


RESULTADOS

Tras el correcto proceso de desarrollo se obtiene un procedimiento documentado de tratamiento de datos, un software asociado que lo automatiza y los informes de resultados que dan visiones general y detallada de la información relevante de ser extraída.

EXPERIENCIA

Desde 2013 SOLUTE ha realizado multitud de desarrollos, tanto para uso interno como para clientes de diversos campos como el sector de la energía o la automoción, como la automatización de postprocesos de fatiga de campañas de monitorización, análisis frecuencial de vibraciones y filtrado e identificación automática de fallo. Asimismo, dentro de estos sectores también se han abordado satisfactoriamente proyectos de visión global de flota, análisis estadístico de datos de operación y mantenimiento, y diseño de scorecards orientadas a BI.

SOLUTE cuenta con un equipo multidisciplinar que ofrece soporte en cada uno de los proyectos en los que se involucra, ofreciendo visión y soluciones desde el enfoque de distintas áreas de conocimiento como la física, la estadística, la arquitectura de software y el desarrollo de negocio.

En el sector eólico, SOLUTE ha desarrollado y explota comercialmente el software Furow para el desarrollo integral de proyectos, abarcando todas sus fases, desde el tratamiento de datos de viento al cálculo de recurso eólico, pasando por micrositing, análisis financiero y automatización de informes.

En la actualidad, SOLUTE desarrolla Aphelion, una gama de productos orientada a proporcionar predicción meteorológica de alta resolución relevante para los sectores energético, agropecuario, industrial o náutico.

Se necesitan una serie de competencias que cubren desde el aspecto técnico de la programación, en lenguajes como Python, C++, Matlab o R, el diagnóstico propio de la visión analítica y gestión de orígenes de datos binarios, texto XML y bases de datos SQL, hasta el aspecto de diseño y representación visual de resultados en Power BI, Tableau y MS Excel.

METODOLOGÍA

El desarrollo de software en general requiere el conocimiento de una serie de conceptos procedentes de la teoría de la programación y del análisis de algoritmos, pero, debido a la gran variedad de necesidades del cliente, se debe tener la capacidad de colaboración continua y adaptación a sus requerimientos y formato de datos de entrada a lo largo del desarrollo.

Para la implementación de herramientas para el tratamiento y análisis de datos se necesitan una serie de competencias que cubren desde el aspecto técnico de la programación, en lenguajes como Python, C++, Matlab o R, el diagnóstico propio de la visión analítica y gestión de orígenes de datos binarios, texto XML y bases de datos SQL, hasta el aspecto de diseño y representación visual de resultados en Power BI, Tableau y MS Excel.

Como el desarrollo de software es muy multidisciplinar, las herramientas utilizadas cubren un espectro muy amplio: para la creación de código propiamente dicho, se utilizan herramientas de codificación como Microsoft Visual Studio Code, PyCharm o entornos de desarrollo integrados IDE específicos para cada lenguaje, mientras que para el análisis de datos se explotan o se desarrollan distintas bibliotecas de funciones de cálculo matemático, representación gráfica e importado/exportado de datos.

Como en cualquier tipo de desarrollo de software con una mínima complejidad, también se hace imprescindible el uso de herramientas de control de versiones como Gitlab, y seguimiento de los estándares de codificación y estilo para los diferentes lenguajes. Asimismo, se establece un método de integración y distribución continuas CI/CD para generar entregables con frecuencia a los clientes mediante la automatización de las etapas del desarrollo de las herramientas.

Existen diversas metodologías para el desarrollo de software que se eligen en función de si el proyecto a realizar debe cubrir una necesidad en un momento concreto o de si cuenta con unos largos ciclos de vida y explotación comercial. En la actualidad, se suele emplear lo que se denomina metodología ágil: inicialmente se realiza un análisis previo de los requisitos de la aplicación para, acto seguido, planificar el proyecto estudiando la mejor plataforma y lenguajes de desarrollo, así como realizando una estimación de los recursos necesarios y los plazos de ejecución previstos.

Después se inicia el proceso de codificación y las pruebas de la aplicación para finalmente proceder a la implantación en la plataforma prevista. Tras la validación por parte del cliente, o la realización de las correcciones pertinentes, se da por finalizado el proyecto. A menudo, si el cliente lo demanda, se inicia una fase posterior de mantenimiento continuo donde se pueden realizar modificaciones en los cálculos y mejoras en la presentación de resultados.

Eólica

Predicción energética y meteorológica para operadores renovables

Servicio de predicción meteorológica y energética a través del entrenamiento de algoritmos de inteligencia artificial.

Automoción

Impactos a alta velocidad

La simulación de las pruebas contribuye al estudio del comportamiento del automóvil de manera que, en caso de accidente, se minimice el riesgo de daños y se asegure, tanto la integridad física de los pasajeros como la integridad estructural del vehículo.