Keywords

1 Introduction

The development of the ICTs that described the third industrial revolution is in a process of transformation by a set of scientific and technological advances that take the way of innovation and express themselves both in people’s daily lives and in processes that are developed in the economic activity of the industrial production of goods, as well as in the provision of services. In this context of transformation, digitalization adopts a leading role and it has become essential in some productive and service sectors.

This is how the term Industry 4.0, which refers specifically to the fourth industrial revolution, generates a significant qualitative leap in the organization and management of value chains [1].

The development of ICTs allows linking the physical world and the digital world through devices, materials, products, equipment, facilities and communications, expressed through collaborative systems and Software Products interconnected with a wide variety of devices to enhance the development of Industry 4.0.

The impact generated by the Software shows up mainly in production systems, especially with the help of artificial intelligence, robotics and wireless communications. The different parts of the production process not only adopt intelligent functions, but also interconnect automatically and autonomously between them through the Internet of Things [2], where knowledge management is part of production systems [3, 4].

Faced with this great transformation, today’s industry needs urgent technological changes, given that the competitiveness of companies goes through globalization, productivity and innovation. However, no previous works have been found to define exactly what degree of technological development is currently implemented in the industries to determine what the specific update requirements and usability attributes are, such as defined in usability standards [5,6,7].

The addition of new technologies in the industrial sectors requires a deep knowledge of the existing capacity. That is to say, without information related to the Software Products implemented and used in the different processes, it is not possible to define technological incorporation needs to generate a reconversion in the value chains.

That is why this article describes the specific features of the Software Products that are currently implemented in the manufacturing industries, regardless of the branch in which they are cataloged internationally, in order to establish what types of software they take part in the current technologies of the industry that are heading towards Industry 4.0. From the definition of the specific Software Products, a Design/Development Process that contains the particularities of the users is suggested. In this sense, Software Engineering has as a challenge to adapt its knowledge to the application of particular techniques as an indispensable support for the development of industrial production.

2 Software Product Differentiation

The typology developed in the present article allows analyzing the Software Products in the different areas within the industries grouped in 3 categories of products with the same level of hierarchy, interaction and dependence among them that match with different types of technological development, but which are needed and complement each other. In this sense, the typology organizes and differentiates between Software Products, Equipment or Hardware, and Communications or Infrastructure [8, 9].

In the different categories, the products are grouped according to their evolution and contribution to the level of innovation within the Industry. The defined categories, as well as the specific products, have been validated in a study carried out with experts from the ICT area, through interviews and surveys, in order to establish different levels of development [8].

The following figure (Fig. 1) shows the taxonomy with the typology of older Software Products according to their incorporation in the market, which is called “Basic”, grouped by type of function that they fulfill regardless of the functional area of the industry in which they are implemented [10].

Fig. 1.
figure 1

Source: Author’s own editing [10]

Software products - basic level.

Figure 2 shows the typology of products of an intermediate level, with Software Products that can be found in the industries and integrate more recent technologies available in the market (which is called “Intermediate”) but not necessarily constitute innovation products.

Fig. 2.
figure 2

Source: Author’s own editing [10]

Software products - intermediate level.

Finally, Fig. 3 shows the typology of the most advanced Software Products that must be integrated and complemented to generate a substantively more advanced level of innovation. This is how, at this level of technological development (called “Advanced”), the following are the detected products that are necessary for the transformation of a manufacturing industry into an Industry 4.0.

Fig. 3.
figure 3

Source: Author’s own editing [10]

Software products - advanced level.

The types of Software Products that are at the most advanced level perform the following functions, in interaction with the appropriate Hardware and Infrastructure/Communications equipment.

2.1 Collaborative Systems

Collaborative Systems are a set of tools and applications that help people, in general dispersed geographically, to work as a team through means to carry out projects and tasks together, allowing communication, conducting conferences and coordination of activities. These collaboration tools allow the exchange of information in real time with remote employees, and with customers and suppliers from other geographical areas.

Among some of the advantages, these tools allow performing virtual meetings, giving the organization a better response to unforeseen situations. The bandwidth of the communications infrastructure must be appropriate to allow the transmission of multimedia content to multiple recipients. The areas involved are very variable. Essentially these systems can reach all functional areas that require interaction of people geographically dispersed. Many organizations deploy these tools as extensions of other applications, such as E.Mail [11].

In the communications and business of an organization, videoconferences are a simple communication tool that substantially reduces the costs of face-to-face meetings.

There are a huge number of platforms with features for different classes of users. All platforms give users the opportunity to use them for free, but with limited features.

The following options can be mentioned among the most outstanding features of videoconferencing applications: connection to social networks, drawing tools, surveys, chat, telephone line to participate in the conference, and options for smartphones, among others.

2.2 Management Systems

Management Systems are those where the information that is produced by the different activities that the organization carries out is collected, stored, modified and retrieved; like the receipt of a purchase order, the issuance of an invoice, the clearance of merchandise, a claim, the high of a new collaborator, among others. Some of them are essential for any organization regardless of the size and type of activity, as in the case of an ERP (Enterprise Resource Planning), since accounting records rest mainly on them. The rest of the systems have a more specific application and their justification is associated with the industry/type of organization segment, its size and the competitive strategy.

The BSC (Balanced Score Card) systems link the achievement of long-term strategic goals with the daily operations of an organization. BSC systems combine traditional financial measures with non-financial factors. In fact, the term Balanced indicates that it seeks the balance between financial and non-financial indicators, the short term and the long term, the results and process indicators and a balance between the environment and the inside of the organization. BSC systems allow to quickly and easily identifying the achievement of objectives defined by the strategic plan, as well as allowing the control of deviations. BSC systems are an appropriate tool for communication to the entire organization, about its vision, milestones and objectives [11].

Business Intelligence systems contain tools that enable the mining and the use of data from the organization, by grouping them statistically for the creation of a knowledge base for itself. Among the main benefits of BI systems is the fact that they provide foundation and support for decision making. BI systems, in addition, allow data mining; that is, analyze patterns, correlations, trends, among other parameters. They include greater control through a control panel (BSC), faster reporting, and integrity and consistency of information.

Generally, BI systems involve management positions, as users and management control analysts, which require aggregate data for decision making. Normally the implementation of a BI system requires a standard product, on which adaptations are made including the construction of a Data Warehouse, and data extraction processes.

The quantification of the benefits of the BI systems comes mainly from the potential better decisions.

Big Data is a set of techniques that help in making real-time decisions that involve a large volume of data, typically from various sources. ECommerce projects find, in Big Data techniques, a tool to maximize the conversion rate. Big Data is usually characterized by three attributes: volume, variety and speed. The processing of Big Data typically requires non-SQL databases, capable of managing unstructured and structured data, such as mongoDB, Cassandra or Apache Jackrabbit [11].

In the case of Machine Learning it is pointed out that the machine (the computer) can learn. In this context, Learning does not imply memorizing and collecting data. Here it aims to develop the ability to generalize and associate. When this concept is adapted to a machine or computer, it means that these teams should try to replicate these cognitive faculties of the human being, developing models that generalize the information introduced to them in order to make their predictions.

That is why the concept refers to a method of data analysis that automates the construction of analytical models. It constitutes a branch of Artificial Intelligence based on the idea that systems can learn from previous data, and thereby identify patterns and make decisions with minimal human intervention from the programming of an algorithm.

The iterative aspect of Machine Learning is that, as models are exposed to new data, they can adjust their parameters independently. They learn from previous calculations to produce reliable and repeatable decisions and results. That is to say, with Machine Learning it is possible to change the philosophy from reactive Software Products into predictive Software Products.

In the Industry, the mediation of IoT for obtaining data or managing massive data can help Machine Learning reach even higher levels of efficiency, making it easier for the Machine Learning system to gradually learn to recognize any factor related to internal and external production, optimize use and consumables, and improve the efficiency of the entire production process or predict equipment failures.

The Energy Control Software requires electronic devices or sensors that, centrally and automatically, from any personal desktop computer, may collect the energy power data. This type of platform allows companies to have an integral control of luminaires and electrical equipment, allowing the adoption of energy saving strategies based on schedules, occupation of areas and lighting levels.

Even though lighting generally represents the highest power load for an organization, efforts to implement savings and control strategies are not only limited to controlling the lighting of lights based on motion sensors. By means of incorporating measurement sensors, the system can increase the number of strategies that can be implemented; for example, considering the amount of available sunlight, types of tasks that are being performed, and employee preferences, among others.

2.3 Production Management Systems

With the help of the Management Systems mentioned above, the Production Management Systems allow the control of the resources used in the manufacturing process, as well as the different processes that are carried out to obtain the final product. In the definition of the different production processes, the costs, the resources used and the final result obtained can be controlled. These systems connect each step of the supply chain to be able to carry out traceability and real-time monitoring, ensuring efficient delivery and quality of the product, as well as compliance with safety standards. They also help maintain a connected production chain, which means the permanent collection of data for decision making. With the help of these systems, industries can now see exactly where a problem came from and prevent it from continuing further in the supply chain. With the ability to access and analyze data collected from a connected supply chain, companies can react to unforeseen and unplanned events as soon as they happen. This means that, if an inappropriate part or product is identified during a stage in the supply chain, the material can be identified and tracked.

The MRP (Material Requirements Planning) is a software application for the planning of production and the acquisition of materials. The main functions that this application performs are to indicate which materials are necessary to buy/produce to comply with the master production plan. On the other hand, it also makes recommendations to eventually modify the scheduling of material orders and, as time goes by, it also makes recommendations to reschedule open orders when they do not match the dates of delivery and requirements, and also include programming techniques or methods to establish and the dates of the orders valid, ranked by priorities [12].

Organizations that handle batch production, or manufacture products on demand, can separate the cost of direct material and manpower in each production order, as is the case of companies that make furniture, tools, and assemblers, among others. Through the production orders, these applications, allow the separation of the cost elements for each work order, or determine the quantity of products that have been requested, or the availability of existing merchandise.

Finally, in the production order there is a count of the raw materials, manpower and indirect expenses that were used in that order to obtain the unit cost of the product of that specific order, so as to have concise and total data [3].

PDM (Product Data Management) tools provide the means to manage all information related to both the product itself and the processes used throughout its entire life cycle.

The type of information that can be managed by PDM tools includes information on the configuration of the product (the structure of parts and components, versions, revisions, among other parameters), as well as data or documents used to describe the product (drawings, CAD files, specification documents) and their manufacturing processes (process sheets, numeric control programs).

In terms of process management, PDM tools support the various work flows and current procedures in force during the life cycle of a product, while contemplating the definition of the people profiles that perform these tasks, their functions and responsibilities in the processes mentioned above [12].

In the control instrumentation, the three basic elements capable of carrying out sequential control or continuous regulation within the control of industrial processes are the PLC (Programmable Logic Controller), the industrial computer and the industrial regulators (both analog and digital version). Automation control systems replace PLCs and allow interaction with the rest of the company’s systems (ERP, MRP, among others).

Usually, these are custom systems, capable of giving orders and interacting with a network of automatons and measurement devices, with a graphic environment of the systems being monitored. Its objective is to provide fast and updated information on the status of a machine or plant, recorded breakdowns, numbers of carried out work cycles, among other parameters, as well as to be able to activate the different elements that are appropriate in each time and situation. All information can be processed by these software products to provide additional details; for example, if a certain element has exceeded its average number of movement cycles or starts and if it is therefore recommended to change it, or a fault register that alerts an element with an excessive level of breakdowns and allows to analyze possible solutions.

Complementing the Automation Control Systems, a SCADA (Supervisory Control And Data Acquisition) system is a set of software and hardware used to interconnect, control and manage various field devices, as well as remotely control the entire production process. On the other hand, and like the software products mentioned above, an HCI (Human Computer Interface) is usually integrated to allow a much more intuitive and faster process control. All this is intended to help operators and supervisors, giving them better control and the possibility of making changes almost immediately.

An Embedded System is a system generally based on a microprocessor, sensors and actuators, and designed to perform dedicated functions. These are electronic equipment that perform data and information processing. Unlike a personal computer, they are designed to satisfy a specific function, such as a watch, a cell phone, the control system of a car, among other functions. It is an electronic system that is contained (embedded) in complete equipment that includes, for example, mechanical and electromechanical parts. This type of systems has gained great importance from the point of view of information systems with the use of Arduino-type platforms for rapid prototype development.

2.4 Product and Process Design Systems

These systems allow the design of serial and/or industrial products, looking for the improvement of the qualities of them, emphasizing the form factor, function and use with a priority focus on the user. In addition to seeking the satisfaction of the needs of users as the main goal, the life cycle of the product, the rational use of materials and resources in its manufacture is also taken into account. Through its use, interpretation errors can be eliminated, time and control tasks can be reduced, and tasks duplication can be eliminated, among other advantages. They also allow simulations, which are used to represent a process through another one that makes it much simpler and more understandable. These simulations include very large, numerous and diverse areas, such as the analysis of the environmental impact caused by various sources, stress analysis of materials, among other areas, in order to avoid destructive tests and to be able to carry out eventual re-planning prior to the launch of the manufacturing process.

The introduction in the industry of the machine-tool of numerical control, robots and automatic warehouses, among others, is causing significant advantages over traditional production methods.

CAM (Computed Aided Manufacturing) tools are computer systems that allow to manufacture the pieces in numerical control machines, calculating the trajectories of the tool to achieve correct machining, based on the geometry information of the piece (obtained from of the drawing of the piece, made in 2D or 3D by means of a CAD system), the type of operation desired, the chosen tool and the defined cutting conditions.

Among others, a series of advantages offered by Computer Aided Manufacturing, compared to other traditional methods, it eliminates human errors when performing operations with the machine tool, reduces manufacturing costs by reducing wear and tear of the elements of the machine and also reduces the time when programming the numerical control of the machine tool.

As a direct result, it is possible to manufacture intermediate series of parts with costs comparable to those of the large series, in addition to introducing the possibility of using new approaches in the manufacturing organization [13].

Although the reference to product design is covered by CAD tools, the simulation of the design as well as the optimization and monitoring of the production process can be carried out with the help of CAE tools.

CAE (Computer Aided Engineering) is another step in traditional CAD systems, because not only helps in the design of the model, but also allows the integration of its properties, conditions to which it is submitted, materials, among others.

In this way, existing CAE tools allow to calculate how the piece or structure will behave in reality, in diverse aspects as deformations, resistance, thermal features and vibrations.

For that purpose, it is necessary to move from the geometry created into a CAD environment to the CAE system [13].

Virtual Reality is a three-dimensional environment generated by computers that creates in the user the feeling of being immersed in it. This environment is visualized through virtual reality lenses, and sometimes accompanied by other devices, such as gloves or special suits, which allow greater interaction with the environment, as well as the perception of different stimulus that intensify the sensation of reality. Virtual Reality is mostly applied in the field of entertainment and video games, but it has been extended to other fields such as medicine, artistic creation, and military training or flight simulations [4].

This technique allows a much more efficient mental and locomotive learning than in a conventional course with videos and manuals. With this technology, work accidents can be simulated, simulations of risky operations, virtual visits to facilities in the industries, action tests in case of emergency and escape routes.

Augmented Reality is the real-time visualization of visual and/or audible elements overlapped on a real-world environment. Thus, while Virtual Reality allows users to experience a completely virtual world, Augmented Reality adds virtual elements to an existing reality, instead of creating that reality from scratch.

One of the main achievements of this technology is a highly motivating user experience. Beyond the known uses (like in the Pokemon Go application), in disciplines such as education, Augmented Reality will allow training in real environments by adding extra information, or even simulate those real environments that perhaps, due to availability or location, they are not always accessible [4].

In the production line, it helps to have a global vision of the manufacture of a product, details of the layers, among others. As regards to logistics, it allows visual indications of work orders, hands-free on the operators to manipulate the merchandise while interacting with their surroundings. For maintenance and support, it allows to help in the detection of problems in the workplace, indicating the physical points to review, make visual indications from a remote support, being able to have the most centralized expertise and optimize tasks through virtual visits, among other advantages.

2.5 Geolocation Systems

Usually, these types of systems allow the association of a digital resource with a physical address. Site information is obtained through a calculation based on altitude and length coordinates to indicate a specific place anywhere in the world. The use of these systems allows the integration of these technologies for online services through collaborative use.

The Geolocation Systems for Advertising, also called Geomarketing, point to a discipline of great potential that provides information for making business decisions supported by the spatial variable. Born from the confluence of marketing and geography, they allow an interdisciplinary analysis of the situation of a business through the exact location of customers, points of sale, branches, competitors, among other variables, locating them on a digital or printed map through symbols and custom colors. The inferences and predictions within this discipline go beyond the traditional use of qualitative and quantitative analysis, and belong to a growing strand of analysis called geospatial analysis.

Geomarketing is the marketing area oriented towards the global knowledge of the customers, their needs and behaviors within a given geographical environment, which helps to have a more complete vision of them and to identify their needs. These tools allow information on what happens in a given geographical area, going down to detail [14].

A Geomarketing system consists of statistical and cartographic information, market studies and an adequate processing of the information, called ESDA (Exploratory Spatial Data Analysis) that, when applied to large volumes of microdata is also usually called Spatial Datamining.

The geographical analysis of the economic-social reality, through cartographic instruments and tools of spatial statistics, allows the addressing of critical and usual questions of commercial distribution, which could be outlined by the following question: who buys where? [15].

3 Hardware and Infrastructure/Communications Products

The sophistication of the Software Products described before requires the joint incorporation of specific Hardware equipment and appropriate Communications and Infrastructure equipment for their correct operation and integration.

Just as an example, the types of Hardware or Equipment and Infrastructure and Communications products that are at the most advanced level of technology development are: 3D Printers, Plotters, Shared Disks, Internet of Things Networks and Sensors, among others.

The increasing speed of the computing power of Hardware equipment makes possible the local, remote or cloud processing of significantly higher data volumes and capabilities such as the associated use of complex mathematical methods.

The computing power allows having even smarter sensors, although this intelligence is not enough until it is combined with the appropriate Software and application knowledge through an appropriate HCI (Human Computer Interface). The intelligent match of application knowledge and the flexibility of more advanced software architectures allow this stage to be reached in the development of sensors.

4 Industrial Software Design/Development Process

The task of the Software Products designers lives in solving problems creatively from the point of view of the users’ workspace. Software Engineering, when designing, should focus on the observation of specific users and not on possible solutions. Assuming that the raw material of the Software is the knowledge, it must be contained at the time of designing/developing the Software Products.

For this purpose, there are 3 possible types of knowledge to which the software design and development team must focus and integrate with the user in their context when obtaining knowledge:

  • Knowledge of the problem to be solved: it requires that the Software Product Design/Development team know the main aspects of the problem. That is to say, the routine, the methodology and the technical features of the manufacturing or the production line must be done under a deep analysis. This knowledge matches to the realm of the problem domain and the software to be implemented will work as a support for the existing production.

  • Knowledge of the techniques to be used: it requires that the Design/Development team must know the technology and methodologies that it will use to understand the problem, design and build the solution. This knowledge is typical in the field of Software Engineering for the development of an application, which must include the knowledge about the ICTs necessary for the software to work properly for the user.

  • User Knowledge: means knowing the user, understanding how the user understands the problem, knowing how the user operates in everyday resolution; that is to say, that the Design/Development team must understand how the user works in the routine and systematic tasks. This knowledge matches to the user’s field and it requires a set of specific observation and analysis techniques that must be performed in the user’s workspace.

The design of this type of Software Products requires a process in the analysis of the interaction between the user and the equipment that contains the Software. Initially, it requires starting from the observation of how the user performs routine tasks, in order to understand the movements and knowledge. Once this routine is understood, the problem must be analyzed, in order to create some possible solution plans that improve the task performed. Such ideas should not only include the software, but also and especially the equipment and infrastructure necessary for the software to function properly in the times of the operation. Once the viable ideas have been defined as a solution, the process requires the construction of a prototype that will be tested in the real context of use, evaluated and measured in terms of the improvement in the performance of the task, then refine the solution and start again the observation cycle if required by the Design/Development of the Software Product.

The following figure (Fig. 4) shows the Process of Design/Development of Software Products for the industry in which all the ICT products essential for user interaction must be analyzed. The dotted arrow between the Refine and Observe processes refers to the fact that it is a process of continuous improvement that begins with observation, as already mentioned, ends with refinement and begins again with a more refined observation.

Fig. 4.
figure 4

Source: Author’s own editing

Design/Development process.

The techniques to be used in the process of Design/Development of software for the industry require the combination of various resources, such as: ethnography of a user, simulation of experiences, map of user experience, concept map, person profile, technological routes and focus group.

The proposed process defines that, in the instances of testing and evaluation with the user, theoretical surveys with a large number of questions should be avoided, given that users are not accustomed to these activities in their routine tasks. It is necessary to use all available techniques that are closest to the user’s task for validation instances.

Since the innovation process constitutes an interdisciplinary and collaborative field that must contemplate the needs of users, the development of Software Products must include the incorporation of knowledge from other disciplines for the development of usability techniques, such as anthropology or sociology. The appropriate techniques should be applied with the controlled knowledge of these disciplines. The new technological possibilities that allow the development of products, processes or services that improve the quality of life, add value to the expertise of a user as they are directly absorbed from their knowledge. If this process focuses on human factors, it makes innovation as a result from the needs of users and not from the perception of technologists.

In this sense, the design, development and implementation of technologies in the industry constitutes a focal point as support for productive development, and it is from this perspective that software engineering should focus on the usability of its products.

5 Conclusions

This article introduces the progress of an ongoing investigation that allows the detection of Software Products that directly impact in the productivity levels in the various industrial sectors where they are implemented.

The detection of specific ICT products at different levels of development and their integration with the total information generated in a company according to the different functions they fulfill directly impacts in productivity levels and allows the turning of a company into an Industry 4.0.

The design of the interfaces of these complex products requires strategies focused on specific users, so that they acquire a high level of usability by integrating the necessary infrastructure and equipment for the type of Software Products to be developed.

From this perspective, a model that represents the process of Design/Development of Software Products for the industry has been introduced, focusing it on the user profile as well as the specific techniques to be applied as part of a process for this productive sector.

It is also suggested that the development team must be integrated into the context of the user to acquire their knowledge. Once the types of ICTs that define a company as Industry 4.0 are validated, the next activities will be carried out in the future towards the interaction criteria, specific to all the ICT products that are integrated into the Software Products, given that the levels of usability of the software developed.