Ad hoc tools for clients

Data processing system with proven analytical capability to effectively satisfy client's needs


Timeline

2013-2023

Sector

Software Engineering

Scope

Software development - Data processing and analysis
PDF

BACKGROUND

The compiling of information is ever-present in our world and the greatest advancements in this area have been achieved with IT, essentially through the hardware and software that is running on it. Nowadays, practically any project entails obtaining and processing data and the productivity of these projects, in a large measure, depends on the analysis and extraction of information or data-mining.

SOLUTE has an extensive record and a great technical capacity for carrying out data processing analyses projects of the most varied types, from processing monitored signals to the automation of business reports and Business Intelligence or BI.

Software development is a discipline that studies the components required for the creation, management, maintenance and testing of IT software, which can be understood as the logic programming that all IT systems need to operate properly and allow the user to enjoy the functions of an application through a practical and intuitive interface.

One of the facets of software development is data processing, the part that deals with the analytical capacity and the interpretation and handling of the information. The tools that are developed may be executed as a standalone programme or as a library of built-in functions in an existing tool chain.

Often times the greatest problem facing a project is the large amount of data that is hard to manage in order to extract information as well as the repetitive tasks of uploading, analysing and calculating results. In addition to all of this, the use of applications that are unsuitable, not very efficient or have limited functionality, results in inefficiency when it comes to designing reports and does not take advantage of resources for decision making. Therefore, the most important part of developing data processing tools is a concern for determining the customer's needs, adapting to the platform upon which the development is going to be implemented, demonstrated analytical capability and the quick acquiring of knowledge about the data to be processed.




RESULTS

After a proper development process, a documented data processing procedure is obtained as well as the associated software that automates it and the reporting of results that provide general and detailed descriptions of the information that is worthy of being extracted.

EXPERIENCE

Since 2013, SOLUTE has carried out many development projects, for internal use as well as for different clients in diverse fields such as the energy or automotive sector, automation of fatigue post-processes in monitoring projects, frequency analysis of vibrations and filtering and automatic identification of failures. Likewise, within these sectors we have also satisfactorily completed projects such as fleet overview, statistical analysis of operating and maintenance data and designing of scorecards focused on BI.

SOLUTE has a multidisciplinary team offering support in each one of the projects it is involved in, offering vision and solutions from the perspective of different knowledge areas including physics, statistics, software architecture and business development.

In the wind sector, SOLUTE has developed and commercially exploits the Furow software for comprehensive project management, covering all its phases, to include the processing of wind data, calculating wind resources, micrositing and financial analysis and automation of reports.

Currently SOLUTE develops Aphelion, a range of products focused on providing high resolution weather forecasts that are relevant for the energy, agricultural, industrial or naval sectors.

Currently, a methodology is used that is commonly referred to as agile methodology: initially a preliminary analysis is carried out of the application and then, the project is planned out by studying the best development platform and languages as well as carrying out an estimation of the required resources and the execution timelines.

METHODOLOGY

Software development in general requires being familiar with a series of preceding concepts about programming theory and algorithm analysis, but, due to the many different clients´ needs, we must be capable of continuously collaborating and adapt to their requirements and input data formats throughout the development process.

Implementing data processing and analysis tools requires a series of skills ranging from the technical aspect of programming using languages such as Python, C++, Matlab or R, and the assessment provided by the analytical vision and the management of binary source data, XML texts and SQL databases, including the visual design and displaying of results in Power BI, Tableau and MS Excel.

Given the highly multidisciplinary nature of software development, the tools that are used cover a very wide spectrum: to create the code itself, code editing tools are used such as Microsoft Visual Studio Code, PyCharm or integrated development environments (IDEs) that are specific for each language, while for data analysis, different mathematical calculation functions libraries, graphic representation and data import/export tools are used or developed.

Just like in any type of somewhat complex software development, the use of version control tools such as Gitlab becomes essential as well as the tracking of code standards and style for the different languages. Likewise, continuous integration and continuous distribution (CI/CD) methods are established to frequently generate deliverables to customers through the automation of tool development phases.

Different methods are available for developing software, that are chosen depending on if the project to be carried requires covering a need at a specific moment or if the project has long service life and commercial exploitation cycles. Currently, a methodology is used that is commonly referred to as agile methodology: initially a preliminary analysis is carried out of the application and then, the project is planned out by studying the best development platform and languages as well as carrying out an estimation of the required resources and the execution timelines.

Then, the coding process and the application tests are initiated to finally continue with the implementation on the envisaged platform. The project is considered to be complete once it is validated by the customer or the pertinent corrections are made. Often times, when requested by the customer, a subsequent continuous maintenance phase is initiated where modifications can be made to the calculations as well as improvements in how the results are presented.

Software

Web/ App development

Web / app development is the interface that allows the user to interact with a platform by communicating with the backend, which is the part that manages and processes the provided information to return the requested results through the app.

Wind

Gear sizing and analysis

Essential competency in the development of machinery with a methodology that allows selecting the proper gear for the application as well as appropriately defining parameters, materials and loads.