SciELO - Scientific Electronic Library Online

 
vol.18 número1La integración de la gestión de redes en ambientes heterogéneosFormación de competencias informacionales e investigativas en el profesional de las ciencias informáticas índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Articulo

Indicadores

  • No hay articulos citadosCitado por SciELO

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Revista Cubana de Ciencias Informáticas

versión On-line ISSN 2227-1899

RCCI vol.18 no.1 La Habana ene.-mar. 2024  Epub 01-Mar-2024

 

Artículo original

A proposal of software categories

Propuesta de categorías de software

0000-0003-3685-4457Yaima del Campo Peña1  *  , 0000-0001-5101-7804Aymara Marin Diaz2  , 0000-0002-3138-011XYaimí Trujillo Casañola3  , 0000-0001-5088-6039Margarita André Ampuero4 

1 Universidad de las Ciencias Informáticas, La Habana, Cuba.

ABSTRACT

The advanced of tecnlogies and digital transformacion has increased software development, being relevant to achieve software quality. There are numerous types of software, all of them need software engineering, but each one has its own specificities. The present work shows a bibliografic search with the objective of identifying the main software categories, which will serve as a basis for future research to propose checklists for product evaluation according to categories.

Key words: category; mobile; software; web

RESUMEN

El avance de las tecnologías y la transformación digital ha aumentado el desarrollo de software, siendo relevante lograr la calidad de los mismos. Existen numerosos tipos de software, todos necesitan ingeniería de software, pero cada uno tiene sus propias especificidades. El presente trabajo muestra una búsqueda bibliográfica con el objetivo de identificar las principales categorías de software, que servirá de base a futuras investigaciones para proponer de listas de verificación a la evaluación de producto de acuerdo a la categoría.

Palabras-clave: categoría; móviles; software; web

Introduction

In recent decades, with the rise of technologies, the term digital transformation has gained prominence. Digital transformation can be defined as the migration of companies and societies to a stage where technologies become the backbone of their products and services, leading to the development of new ways of operating and new business models. Also called the Fourth Industrial Revolution (FAO, CEPAL 2020). Some of the technologies that stand out as the main enablers of Digital Transformation are Cloud computing, Big data, Artificial Intelligence, Internet of Things (IoT) and collaborative robotics (Fernández, 2020).

Technology progresses at an accelerated pace and every day it is more difficult for norms, models and standards to be updated to take into account the particularities of each one of them. It is no longer enough to establish processes and standards with which all developments must comply; it is necessary to take into account the differences between the different technologies. “There are many different types of software systems, from simple embedded systems to complex global information systems. It makes no sense to look for universal notations, methods or techniques for software engineering, since different types of software require different approaches. Developing an organizational information system is completely different from a controller for a scientific instrument. None of these systems have much in common with a graphics-intensive computer game. Although all of these applications require software engineering, they do not all require the same software engineering techniques.”(Sommerville, 2016) (Sommerville, 2019)

In this regard, the avalanche of software implemented to provide solutions to specific problems of society has increased competition among software development companies and the quality of the final products consumed by users is becoming increasingly important. Current trends consider quality as a strategic factor. Romero et al. state: "(...) it is no longer an inspection activity but a preventive one: planning, designing, setting objectives, educating and implementing a process of continuous improvement, strategic quality management makes quality a source of competitive advantages that requires the collective effort of all areas and members of the organization" (Romero, 2010) (Marin, Trujillo and Buedo, 2019) (Jiménez, 2020).

Following Sommerville's approach, and the need for software development companies and organizations to incorporate emerging technologies to improve productivity and the economy as a whole, it is necessary to create new business and production management models, in order to facilitate user-centered innovation and the collaboration of organizational digital ecosystems. In response to this order of thoughts and needs, Cuba is immersed in a process of digital transformation, which involves changes in the structure and culture of people and institutions, in order to facilitate the work of staff, through a continuous, disruptive, strategic and cultural change process based on the intensive use of information and communications technology (ICT), systematization and data analysis (Vidal Ledo et al., 2022).

The president of the Computer Science Union of Cuba, Ailyn Febles Estrada, explained that the scope and speed associated with new digital technologies, have led us to define digital transformation with new paradigms, as a moment above informatization. "It is not a fashion; it is something that is here to stay. It is not a simple change; it is revolutionary in many ways". This is a very complex and demanding evolutionary process, it is not something of a day or two and requires the participation of everyone (Puig, 2021).

If the above is taken to the context of software quality, it is no longer enough to ensure the process and the product and to control the quality by the most known international norms, models and standards, if they do not take into account the specificities of software products. The present work intends to make a proposal of software classification associated to its application domain, with the objective of proposing checklists for product evaluation in future researches.

Métodos o Metodología Computacional

The following methods were used for the development of this research, and a brief explanation of the purposes for which they were used is provided.

Theoretical methods:

  1. Dialectical method for the critical study of previous works and for using these as a source of reference and comparison of the results.

  2. The analytical - synthetic method was used for the study of the bibliography about the software categories proposed by various authors.

  3. The deductive hypothetical for the identification of the problematic situation and solutions.

Empirical methods:

  1. Interview to obtain information in order to argue the problematic situation and the validation of the results.

  2. The survey to obtain the experiences of the organizations.

  3. Participant observation to obtain the necessary information for the problem statement, as well as to compare the results obtained.

  4. Statistical methods to evaluate the effect of the proposal.

In the consulted bibliography, several terms are used to group software: software types, software categories, software categorization, software typologies; the term software categories is adopted for this paper. The following are the software categories identified in the consulted research.

(Sommerville, 2016) proposes several categories according to the fit to the type of application:

  1. Stand-alone applications: these are application systems that run on a local computer, such as a PC, and include all the necessary functionality and do not require connection to a network.

  2. Transaction-based interactive applications: these are applications that run on a remote computer and are accessed by users from their own PCs or terminals. Interactive applications often incorporate a large data store that is accessed and updated with each transaction.

  3. Embedded control systems: these are software control systems that control and manage hardware devices. Examples of embedded systems include the software in a mobile (cell) phone, the software that controls the anti-lock brakes in an automobile, etc.

  4. Batch processing systems: These are enterprise systems that are designed to process data in large batches. They process large numbers of individual inputs to create corresponding outputs.

  5. Entertainment systems: these are systems for mostly personal use, intended to entertain the user. Most of these systems are games of one kind or another.

  6. Modeling and simulation systems: These are systems that scientists and engineers develop to model physical processes or situations, which include many separate interacting objects.

  7. Data acquisition systems: These are systems that collect data from their environment using a set of sensors, and send this data for processing to other systems.

  8. Systems of systems: are systems composed of a number of software systems.

(Del Giorgio and Mon, 2019) proposes a wide range of categories:

  1. Collaborative Systems: they constitute a set of tools and applications that help people, in general geographically dispersed, to work as a team through means to carry out projects and tasks jointly, enabling communication.

  2. Balanced Scorecard (BSC): they link the achievement of long-term strategic goals with the daily operations of an organization.

  3. Business Intelligence (BI): they contain tools that facilitate the exploitation and use of the organization's data, grouping them statistically for the creation of the organization's knowledge. They provide foundation and support for decision making.

  4. Big Data: Big Data is understood as a set of techniques aimed at making decisions in real time involving a large volume of data typically from various sources.

  5. Production Control Systems - Scheduling and Planning (MRP): they form a software application for production planning and procurement of materials.

  6. Control Systems: they provide the means to manage all the information related to both the product itself and the processes used throughout its complete life cycle.

  7. Automation control systems: these are customized systems, capable of giving orders and interacting with a network of automatons and measuring equipment, with a graphic environment of the systems being supervised.

  8. Computer Aided Manufacturing (CAM): these are computer systems that allow parts to be manufactured on Computer Numerical Control machines, calculating the tool paths to achieve the correct machining, etc.

  9. Computer Aided Engineering (CAE): this is a step further in traditional CAD systems, since in addition to the design of the model, it also allows the integration of its properties, conditions to which it is subjected, materials, among others.

  10. Geolocation - Advertising: these systems point to a discipline of great potential that provides information for making business decisions based on the spatial variable.

  11. Software for embedded systems: it is a system generally based on a microprocessor, sensors and actuators, and designed to perform dedicated functions.

  12. SCADA systems: a set of software and hardware used to communicate and control various field devices, as well as to remotely control the entire production process.

  13. Energy control software: these are systems that basically allow to control electrical devices in a centralized and automated way, from any personal desktop computer.

  14. Virtual Reality: this is a three-dimensional environment generated by computers that creates in the user the sensation of being immersed in it.

  15. Augmented Reality: is the real-time visualization of virtual visual and/or auditory elements superimposed on a real-world environment.

(Pressman and Maxim, 2019) and (Palomo and Gil, 2020) proposes 7 categories:

  1. System software: A set of programs written to service other programs. Some system programs (e.g. compilers, editors and file management utilities) process complex information structures.

  2. Application software: stand-alone programs that solve a specific business need. Applications in this area process business or technical data in a way that facilitates business operations or technical or managerial decision-making.

  3. Engineering and science software: a wide range of science programs ranging from astronomy to volcanology, from automobile analysis to orbital dynamics, from computer-aided design to consumer habits, and from genetic analysis to meteorology.

  4. Embedded software: resides within a product or system and is used to implement and control features and functions for the end user and for the system itself.

  5. Product line software: composed of reusable components and designed to provide specific capabilities for use by many different customers. May focus on a limited, esoteric market or attempt to target the mass consumer market.

  6. Web/mobile applications: this category of web-centric software encompasses a wide range of applications, browser-based applications, cloud computing, service-based computing and software that resides on mobile devices.

  7. Artificial intelligence software: uses heuristics to solve complex problems that are not amenable to regular computation or direct analysis.

On the other hand (Guido and Vidosa, 2020) proposes only 4 categories:

  1. "Packaged" or standardized software: products that can be used by any user without requiring implementation or adaptation. In developments of this type, users must adjust to the requirements of the software that was designed for more or less generic management processes.

  2. Embedded software: products that are integrated into different types of machinery and equipment (computers, cell phones, among others).

  3. Tailor-made software: services aimed at solving specific problems for particular customers.

  4. IT services: refer to testing, design, consulting services, implementation and customization (adaptation) of developments, software and hardware sales, personnel training, updating and maintenance of developments (Guido, 2020).

(Universidad Internacional de Valencia, 2023) and (Romero and Pilay, 2021) propose to group software only into three categories according to the function of the software:

  1. System software: consists of software that serves to control and interact with the operating system, providing control over the hardware and supporting other programs.

  2. Application Software: is software that helps us to perform a specific task. There are several categories of Application Software: Business Applications, Utility Applications, Personal Applications, Entertainment Applications.

  3. Programming Software: A programming software is a tool used by professionals as a basis for the development of programs.

While (GeeksforGeeks, 2023) proposes, a larger number of software categories:

  1. System software: required to manage computer resources and support the execution of application programs.

  2. Network software and web applications: network software provides the necessary support for computers to interact with each other and with data storage facilities.

  3. Embedded software: this type of software is embedded in hardware, typically in read-only memory (ROM), as part of a large system, and is used to support certain functionality in control conditions.

  4. Reservation software: it is mainly used to store and retrieve information and perform transactions related to air travel, car rental, hotels or other activities.

  5. Business software: this category of software is used to support business applications and is the most widely used category of software.

  6. Entertainment software: There is a wide range of entertainment software, such as computer games, educational games, translation software, mapping software, etc.

  7. Artificial Intelligence Software: Software such as expert systems, pattern recognition software, etc., fall into this category.

  8. Scientific software: meets the needs of a scientific or engineering user to perform specific tasks. This type of software is written for specific applications using principles, techniques and formulas specific to that field.

  9. Utility software: programs that fall into this category perform specific tasks and are differentiated from other software by their size, cost and complexity. Examples include antivirus software, voice recognition software, compression programs, etc.

  10. Document management software: used to track, manage and store documents in order to reduce paperwork.

In the research consulted, the authors propose different categories of software. From the chronological analysis, it is identified that, initially, only two categories were considered: basic software and application software. Later, with the constant growth and evolution of software development, more specific classifications were proposed according to the type of application and function, defining up to 15 more detailed categories. In this way, the need to treat software differently, according to its characteristics, becomes evident, allowing more specific actions to be taken, improving from project management to product quality. Hence, identifying which are the most developed software categories and their characteristics, allows then to design and use processes, procedures, norms and standards that objectively evaluate the product and the process.

Most authors agree on the categorization of software on the basis of its application, being the most mentioned categories: Application Software, Base or System Software, Embedded Software, Artificial Intelligence Software. As support to the research, a diagnosis of the national scope is also carried out, applying an interview in the main software development companies of the country (DATYS, UCI, DESOFT, XETID, SOFTEL, MIPYMES) to identify which categories of software they develop. We exchanged with specialists with more than 5 years of experience in the institutions, who played different roles: Programmers, Project Managers, Analysts, Testers and Commercial Specialists. This analysis showed that the most developed category in the country is web/mobile applications, with a growing boom in mobile applications. A mobile app is defined as a software application designed primarily for use on small, portable, wireless computing devices, such as cell phones and tablets (Goel et al 2018; Weichbroth 2020); and they perform a myriad of functionalities and services available to users or customers who make recurrent or sporadic use of these devices (Molina et al. 2021). There are three types of mobile applications: native app, mobile web applications and hybrid or multiplatform applications (Puetate, Ibarra 2020).

Results and discussion

From the analysis of the software categories according to the consulted bibliography and taking into account the applied interview, it is adopted as the most complete classification proposal the one proposed by (Pressman and Maxim, 2019) and (Palomo and Gil, 2020) grouping in 7 categories: System software, Application software, Engineering and science software, Embedded software, Product line software, Web/mobile applications, Artificial intelligence software.

Fig. 1 Software categories, own elaboration. 

To validate the categorization proposal, a survey was applied to the main development companies in Cuba (DATYS, UCI, DESOFT, XETID, SOFTEL, MSMEs) to obtain the experts' criteria. The selection of the experts was made through curricular analysis. Twenty experts from different software development organizations with more than ten years of experience participated.

Expert selection process

Given the variety of institutions that develop software in the Cuban industry and its characteristics, it was necessary to take a sample of experts with extensive knowledge related to quality and quality management in software projects. An initial assessment of possible experts for the validation of the framework was made, considering practical experience as the main factor in this research. The initial criteria for expert selection are listed below:

  1. Working experience in the software industry of 10 years.

  2. Scientific production focused on the object to be evaluated.

  3. Having played roles related to quality management.

Taking into account these criteria, a questionnaire for the curricular summary was carried out. As a result, 20 national experts were selected from institutions such as DESOFT, XETID, UCI and CUJAE.

After selecting the experts, taking into account their knowledge and origin, and in order to validate the proposal, the Delphi method was applied. The Delphi method allows structuring a communicative process of various experts organized in a panel group in order to shed light on a research problem. Its development has to guarantee anonymity, establish an iterative process through feedback and is oriented towards a statistical measure of group response. The Delphi method is based on two fundamental principles: collective intelligence and anonymous participation (López, 2018).

From the results it was possible to contrast that all the categories are evaluated as Very High or High, validating the contribution of the framework in the solution of the research problem. For all categories a mode1 of High or Very High was obtained. The experts did not cast votes on the scale of Low (2) or None (1). The following results are obtained from the votes cast by the experts:

Table 1 Percentage and trend based on expert opinion. 

Criteria Percent Mode
Relevance 94.7 5
Pertinence 94 5
Coherence 88.3 5
Comprehension 96.7 5
Accuracy 64.7 4

Taking into account these results, it can be said that the experts agree on the proposed categories. Additionally, suggestions were received from the experts: To incorporate subcategories within the Application Software category in future research.

Conclusions

  1. There are several categories of software according to their type of application, the characteristics of each software allow to place it in one of these categories.

  2. The study of the consulted bibliography and the national analysis allowed to identify a proposal of category as a guide to continue the study.

  3. The results of the research show that the most developed software category in the country is web/mobile applications, with a growing boom in mobile applications.

Bibliographic References

Del Giorgio, Horacio René Y, Mon, Alicia, 2019. Niveles De Productos Software En La Industria 4.0. International Journal Of Information Systems And Software Engineering For Big Companies. 2019. Vol. 5, No. 2, Pp. 53-62. [ Links ]

Fao, Y, Cepal, Nu, 2020. Food Systems And Covid-19 In Latin America And The Caribbean N° 8: The Opportunity For Digital Transformation. [En Línea]. 17 Junio 2020. [Consultado El: 29 Marzo 2023]. Disponible En: Disponible En: Https://Repositorio.Cepal.Org/Handle/11362/45723 accepted: 2020-06-17t16:50:36z [ Links ]

Fernández, Tatiana Delgado, 2020. Taxonomía De Transformación Digital. Revista Cubana De Transformación Digital. 2020. Vol. 1, No. 1, Pp. 4-23. [ Links ]

Geeksforgeeks, 2023. Software Engineering | Classification Of Software. [En Línea]. 29 Mayo 2023. [Consultado El: 29 Marzo 2023]. Disponible En: Disponible En: Https://Www.Geeksforgeeks.Org/Software-Engineering-Classification-Software/Links ]

Goel, Sakshi, Nagpal, Renuka y Mehrotra, Deepti, 2018. Mobile Applications Usability Parameters: Taking An Insight View. En : Mishra, Durgesh Kumar, Nayak, Malaya Kumar y Joshi, Amit (Eds.), Information And Communication Technology For Sustainable Development, Pp. 35-43. Singapore : Springer Singapore. Lecture Notes In Networks And Systems. Isbn 978-981-10-3931-7. Doi 10.1007/978-981-10-3932-4_4. [ Links ]

Guido, Luciana y Vidosa, Regina, 2020. Contextos Semi-Periféricos Y Tecnologías: Alternativas Y Desafíos Del Sector De Software Y Servicios Informáticos Argentino. Revista Pilquen. 2020. Vol. 23, No. 2, Pp. 46-58. [ Links ]

Jiménez Bibián, Oscar Paul, 2020. Pruebas De Calidad Aplicadas Al Sitio Web Allison. Instituto Tecnológico De Colima. [ Links ]

López Gómez, Ernesto, 2018. El Método Delphi En La Investigación Actual En Educación: Una Revisión Teórica Y Metodológica. Educación Xx1: Revista De La Facultad De Educación. 2018. Vol. 21, No. 1, Pp. 17-40. [ Links ]

Marin Diaz, Aymara, Trujillo Casañola, Yaimí y Buedo Hidalgo, Denys, 2019. Apuntes Para Gestionar Actividades De Calidad En Proyectos De Desarrollo De Software Para Disminuir Los Costos De Corrección De Defectos. Ingeniare. Revista Chilena De Ingeniería. 2019. Vol. 27, No. 2, Pp. 319-327. [ Links ]

Molina Ríos, Jimmy Rolando Et Al., 2021. Estado Del Arte: Metodologías De Desarrollo De Aplicaciones Móviles. 3c Tecnología. Vol. 10, Número 2, Pp. 17-45. [ Links ]

Palomo Gómez, Sebastián Rubén y Gil Moraleda, Eduardo, 2020. Aproximación A La Ingeniería Del Software. Editorial Centro De Estudios Ramon Areces Sa. [ Links ]

Pressman, Roger y Maxim, Bruce, 2019. Software Engineering: A Practitioner’s Approach. 9. Mcgraw-Hill Education. Isbn 978-1-260-54800-6. [ Links ]

Puetate, Galo; Ibarra, José Luis. Aplicaciones Móviles Híbridas. Centro De Publicaciones Puce, 2020. [ Links ]

Puig, Yaima, 2021. De La Informatización De La Sociedad A La Transformación Digital En Cuba. Granma.Cu. [En Línea]. 12 Diciembre 2021. [Consultado El: 29 Mayo 2023]. Disponible En: Disponible En: Https://Www.Granma.Cu/Cuba/2021-12-12/De-La-Informatizacion-De-La-Sociedad-A-La-Transformacion-Digital-En-Cuba-12-12-2021-21-12-50Links ]

Romero Castro, Martha Iren y Pilay Neira, Jonathan Javier, 2021. Implementación De Un Software Para Control De Inventario, Facturación Y Cartera En El Salón De Eventos Darlene Festejos “En La Ciudad De Portoviejo. Jipijapa. Unesum. [ Links ]

Romero López, Álvaro Javier, 2010. Principios De Contabilidad. México, Df: Mcgraw-Hill. 2010. [ Links ]

Sommerville, Ian, 2016. Software Engineering, 10th Edition. 10. Pearson. Global Edition. Isbn 978-1-292-09613-1. [ Links ]

Sommerville, Ian, 2019. Engineering Software Products: An Introduction To Modern Software Engineering. 1. Pearson. Isbn 978-0-13-521064-2. [ Links ]

Universidad Internacional De Valencia, 2023. Los Tipos De Software Y Sus Diferencias Que Debemos Conocer | Viu España. [En Línea]. 29 Marzo 2023. [Consultado El: 29 Marzo 2023]. Disponible En:: Disponible En:: Https://Www.Universidadviu.Com/Es/Actualidad/Nuestros-Expertos/Los-Tipos-De-Software-Y-Sus-Diferencias-Que-Debemos-ConocerLinks ]

Vidal Ledo, María Josefina, Delgado Ramos, Ariel, Rodríguez Díaz, Alfredo, Barthelemy Aguilar, Karel y Torres Ávila, Dalsy, 2022. Salud Y Transformación Digital. Educación Médica Superior. 2022. Vol. 36, No. 2. [ Links ]

Weichbroth, Pawe\L, 2020. Usability Of Mobile Applications: A Systematic Literature Study. Ieee Access. Vol. 8, Pp. 55563-55577. [ Links ]

Received: November 17, 2023; Accepted: February 28, 2024

*Autor para la correspondencia. (ydelcampo@uci.cu)

The authors of this article authorize the distribution and use of their article.

Conceptualization: Yaima del Campo Peña

Data curation: Yaimí Trujillo Casañola

Formal analysis: Aymara Marin Diaz

Research: Yaima del Campo Peña

Metodology: Margarita André Ampuero

Project Administration: Aymara Marin Díaz

Resources: Aymara Marin Díaz

Supervision: Margarita André Ampuero

Validation: Margarita André Ampuero

Visualization: Yaimí Trujillo Casañola

Editing - original draf: Yaima del Campo Peña

Writing - proofreading and editing: Aymara Marin Diaz

Creative Commons License