Scielo RSS <![CDATA[Revista Cubana de Ciencias Informáticas]]> http://scielo.sld.cu/rss.php?pid=2227-189920220003&lang=es vol. 16 num. 3 lang. es <![CDATA[SciELO Logo]]> http://scielo.sld.cu/img/en/fbpelogp.gif http://scielo.sld.cu <![CDATA[Herramienta para el ca´lculo de la centralidad en redes multicapas]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300001&lng=es&nrm=iso&tlng=es RESUMEN El ana´lisis de la relevancia de las entidades que conforman una red es una tarea que permite analizar, com- prender y hasta predecir el futuro de los miembros de la red as´ı como el flujo y alcance de la informacio´n. En las redes donde existen varios tipos de relaciones entre sus entidades se denominan redes multicapas, ejemplo de ellas son las redes sociales donde usuarios conectan con distintos tipos de parentescos ya sean familiares, laborales o etc. En este tipo de redes, el ca´lculo de la relevancia o centralidad de las entidades es una tarea re- tadora debido a las mu´ltiples forma de analizar este concepto y al costo computacional que acarrea su ca´lculo en redes de grandes dimensiones. En este trabajo se presenta una herramienta para el ca´lculo de las medidas de centralidad en redes multicapas. Para su elaboracio´n se empleo´ el lenguaje Scala y el framework Spark, con el propo´sito de calcular de forma paralela y distribuida las diferentes me´tricas de centralidad. En el ana´lisis de la relevancia se consideran los diferentes niveles sema´nticos determinados por una seleccio´n de los tipos de aristas, as´ı como su mezcla. Los experimentos realizados alcanzaron niveles de aceleracio´n de hasta 28.65 y 25.48 veces para la medida de Cercan´ıa e Intermediacio´n respectivamente. De igual forma, pero en menor medida, la me´trica de Vector Propio acelero´ 6.91 veces. Los resultados demuestran que las medidas de centralidad implementadas escalan tanto vertical como horizontalmente.<hr/>ABSTRACT The analysis of the relevance of the entities that make up a network is a task that allows to analyze, understand and even predict the future of the members of the network as well as the flow and scope of the information. Are called multilayer networks those that have several types of relationships between their entities, an example of which are social networks where users connect with different types of relationships, whether they are family, work or etc. Calculating the relevance or centrality of entities in multilayer networks is a challenging task due to the multiple ways of analyzing this concept and the computational cost involved in calculating it in large networks. This paper presents a tool for calculating centrality measures in multilayer networks. It used Scala language and the Spark framework with the purpose of calculating in a parallel and distributed way the different centrality metrics. In the analysis of relevance, the different semantic levels determined by a selection of the types of edges as well as their merge are considered. The experiments speed up to 28.65 and 25.48 times for the measure of Closeness and Intermediation, respectively. Similarly, but to a lesser extent, the Eigenvector metrics reached accelerations of 6.91 times. The results show that the measures of centrality implemented scale. <![CDATA[Aplicación de un método para apoyar el análisis de resultados de investigación]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300018&lng=es&nrm=iso&tlng=es ABSTRACT A doctoral thesis is a relevant scientific document and an almost mandatory reference source for the researchers of the same research field. Therefore its quality is crucial for the scientific community. However, the researchers usually do not have the adequate skills to describe the results of their investigations with sufficient accuracy, clarity, and consistency. PhD students usually face problems defining the type of result they will contribute, which parts such result should have, the research methods to be applied, or the research strategy to be followed. On the other hand, ontologies are an artificial intelligence technique that has demonstrated its capabilities to describe and analyze knowledge. This article describes an approach that exploits the ontologies to specify the type of research results commonly presented in a doctoral thesis and the elements that must be considered according to the type of result. A review of 12 doctoral theses developed at the University of Information Sciences was carried out to identify patterns to elaborate the approach. The ontology is applied to describe some of the reviewed thesis; hence it can be considered a useful knowledge base to support the work of PhD students.<hr/>RESUMEN Una tesis doctoral es un documento científico relevante y una fuente de referencia casi obligatoria para los investigadores del mismo campo de investigación. Por lo tanto, su calidad es crucial para la comunidad científica. Sin embargo, los investigadores generalmente no tienen las habilidades adecuadas para describir los resultados de sus investigaciones con suficiente precisión, claridad y consistencia. Los estudiantes de doctorado suelen tener problemas para definir el tipo de resultado que aportarán, qué partes debe tener dicho resultado, los métodos de investigación a aplicar o la estrategia de investigación a seguir. Por otro lado, las ontologías son una técnica de inteligencia artificial que ha demostrado sus capacidades para describir y analizar el conocimiento. Este artículo describe un enfoque que aprovecha las ontologías para especificar los tipos de resultados de investigación comúnmente presentados en una tesis doctoral y los elementos que deben ser considerados según el tipo de resultado. Se realizó una revisión de 12 tesis doctorales desarrolladas en la Universidad de las Ciencias Informáticas para identificar patrones para elaborar esta propuesta. La ontología se aplica para describir una muestra de las tesis revisadas; por lo tanto, puede considerarse una base de conocimiento útil para apoyar el trabajo de los estudiantes de doctorado. <![CDATA[Procedimiento para el despliegue de software de gestión]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300035&lng=es&nrm=iso&tlng=es ABSTRACT Previous studies have shown that deployment is one of the most complicated stages in the software development process. It requires a large amount of human and material resources to carry out a significant number of activities that lead to success. This stage is often not considered of interest, since more attention is paid to stages such as development, without taking into account that the product that is delivered to the client and how it is delivered, is the reflection of the work carried out for a period of time. determined time. This article proposes a procedure for software deployment that improves the success of management system deployments.<hr/>RESUMEN Estudios previos han demostrado que el despliegue es una de las etapas más complicadas dentro del proceso de desarrollo del software. En la misma se requiere una gran cantidad de recursos humanos y materiales, para llevar a cabo un número importante de actividades que conlleven al éxito. Esta etapa en muchas ocasiones no es considerada de interés, pues se les presta más atención a etapas como el desarrollo, sin tener en cuenta que el producto que se entrega al cliente y cómo se entrega, es el reflejo del trabajo realizado por un período de tiempo determinado. En el presente artículo se propone un procedimiento para el despliegue de software que mejore el éxito de los despliegues de sistemas de gestión. <![CDATA[Marco de trabajo para evaluar la eficiencia del desempeño desde etapas tempranas en el desarrollo del software]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300051&lng=es&nrm=iso&tlng=es ABSTRACT Nowadays, with the technological revolution, software has become part of everyday activities. The demand for software with quality and speed is a decisive factor for the competition between software development companies or organizations. ISO/IEC 25010:2011 mentions that performance efficiency is related to the performance relative to the amount of resources used under set conditions, based on their temporal behavior, the use of resources and the software's capacity to function. In Cuba, there is evidence of user dissatisfaction with the response times and connectivity of national mobile applications. On the other hand, software development companies consider testing associated with performance efficiency to be important; however, 71% carry it out in the final stages of system development. As a consequence, it is evident that defects associated with performance efficiency persist in the reviews. This research proposes a framework for incorporating the evaluation of performance efficiency from early stages in the development of software, which allows us to know the behavior of this characteristic during the software life cycle and detect defects as early as possible to correct them at the corresponding level and not escalate to higher levels, which makes it possible to increase the quality of the final product. The validation was carried out using the methods and techniques of high international reference.<hr/>RESUMEN La eficiencia del desempeño como característica de calidad del producto es un factor importante a tener en cuenta desde inicio del desarrollo del sistema, pues el mal desempeño de esta característica afecta la satisfacción del usuario. Por ello, es significativo conocer el comportamiento de la eficiencia del desempeño en cada etapa y nivel de desarrollo del software a través de diferentes actividades de calidad. En el presente artículo se analizan normas, estándares, modelos, metodologías y criterios de autores reconocidos a nivel internacional con el objetivo identificar las actividades de calidad que se realizan para conocer el comportamiento de la eficiencia del desempeño en el software. Se definen objetivos, precondiciones, frecuencia de uso, productos de trabajo y los resultados esperados de las actividades de calidad propuestas asociadas a la eficiencia del desempeño. Se considera la ejecución de estas actividades como parte del proceso de control y aseguramiento de la calidad en las instituciones y empresas desarrolladoras de software. Es necesario la incorporación de las actividades desde inicio del desarrollo y realizarlas de forma transversal a las actividades de análisis, diseño e implementación del software. Para valorar la contribución de la propuesta dada, se utiliza el método Delphi y criterios de expertos, siendo exitosamente aceptada y aprobada por los mismos. <![CDATA[Proceso de monitoreo y control de proyectos (PMC) de la UCI, cumplimiento con las reglas básicas de desarrollo de software en Cuba]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300071&lng=es&nrm=iso&tlng=es ABSTRACT As part of the priority that has been given in Cuba to the process of computerization of Cuban society and with the support of the country's highest leadership for this task, Resolution 124 of the Ministry of Communications arises in 2019. This resolution establishes the basic rules for the production of computer programs and applications in Cuba with the purpose of homogenizing this process in all the developing software entities of the country. One of these development entities is the University of Informatics Sciences where the development process is focused on the CMMI Model. Due to the blockade imposed by the U.S. government on Cuba, it is impossible to continue advancing in the certification process with this model. Therefore, it is necessary to homogenize these processes so that they comply with the basic rules. The objective of this work is to review compliance with these rules by the Projects Monitoring and Control (PMC) process area of the productive activity of the UCI. As a result, it was found that the PMC process has a broad coverage of the basic rules issued, concentrating mainly on the first two areas (Organizational Management and Project Management) in which these rules are grouped.<hr/>RESUMEN Como parte de la prioridad que se le ha dado en Cuba al proceso de informatización de la sociedad cubana y con el apoyo de la máxima dirección del país a esta tarea, surge en el año 2019 la Resolución 124 del Ministerio de Comunicaciones. En dicha resolución se establecen las reglas básicas para la producción de programas y aplicaciones informáticas en Cuba con el propósito de homogenizar este proceso en todas las entidades desarrolladoras del país. Una de estas entidades desarrolladoras es la Universidad de las Ciencias Informáticas donde se encuentra enfocado el proceso de desarrollo al Modelo CMMI. Debido al bloqueo impuesto por el gobierno de Estados Unidos, a Cuba se imposibilita la capacidad de seguir avanzando en el proceso de certificación con este modelo. Por ello, se hace necesario homogenizar estos procesos de manera que cumplan con las reglas básicas. El presente trabajo tiene como objetivo revisar el cumplimiento de estas reglas por parte del área de proceso Monitoreo y Control de Proyectos (PMC) de la actividad productiva de la UCI. Como resultado se pudo constatar que el proceso PMC poseen una amplia cobertura de las reglas básicas emitidas, concentrándose fundamentalmente en las dos primeras áreas (Gestión Organizacional y Gestión de Proyectos) en las que se agrupan estas reglas. <![CDATA[Procedimiento para realizar las pruebas de portabilidad en la Universidad de Ciencias Informáticas]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300084&lng=es&nrm=iso&tlng=es ABSTRACT The fundamental factor for success in software production is quality and for this it is necessary to take into account a series of aspects so that it is optimal. Obtaining quality software implies the use of standard procedures for the analysis, design, programming and testing of the software, which allow standardizing the work philosophy in order to achieve greater reliability, maintainability and ease of testing, while increase productivity for both development work and software quality control. Before the software is delivered to the end user, it is necessary to carry out tests in order to detect errors in the application and the documentation; this process is of great importance since it gives a measure of the quality of the product as long as it is carried out appropriately. The main objective of this work is to propose a procedure to carry out portability tests on software products, which will explain the activities and tools that will be used. The application of this procedure will contribute to improving the quality of the systems, revealing nonconformities that are difficult to detect through functional tests.<hr/>RESUMEN El factor fundamental para el éxito en la producción de software es la calidad y para ello es necesario tener en cuenta una serie de aspectos para que la misma sea óptima. La obtención de un software con calidad implica la utilización de procedimientos estándares para el análisis, diseño, programación y prueba del software, que permitan uniformar la filosofía de trabajo en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad tanto para la labor de desarrollo como para el control de la calidad del software. Antes de que el software se le entregue al usuario final es necesario realizar pruebas con el objetivo de detectar errores de la aplicación y la documentación; este proceso resulta de gran importancia, ya que da una medida de la calidad del producto siempre que se lleve a cabo de forma apropiada. El objetivo principal de este trabajo es proponer un procedimiento para realizar pruebas de portabilidad a productos de software, el cual explicará las actividades y herramientas que se emplearán. La aplicación de este procedimiento contribuirá a mejorar la calidad de los sistemas, revelando no conformidades difícilmente detectadas mediante pruebas funcionales. <![CDATA[El Proceso de definición y enfoque de los procesos en las organizaciones desarrolladoras de software Haciendo uso de MCDAI]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300102&lng=es&nrm=iso&tlng=es ABSTRACT Software development is an activity that has an impact on all areas of society, software quality is an important factor for the application and implementation of products and their insertion in practice. The continuous improvement of software processes focuses on improving the maturity of the process and, as a consequence, the quality of the product, allowing to have institutionalized and continuously improved processes. Continuous improvement encompasses the planning, implementation and deployment of improvement opportunities, based on a thorough understanding of current process strengths and weaknesses. This research reflects the difficulties organizations face in ensuring that continuous improvement efforts throughout the organization are properly managed and implemented. It describes the process of organizational process improvement in software development obtained from the analysis of the Quality Model for the Development of Computer Applications (MCDAI) and the experience of experts from the University of Informatics Sciences. The proposal contains a set of policies, roles, sub-processes, activities, artifacts, checklists and indicators that together allow the description of the process for its institutionalization. The implementation of the process facilitates the continuous improvement of good practices based on the opportunities identified to the existing processes, obtains from experts and evaluators positive criteria of its applicability.<hr/>RESUMEN El desarrollo del software es una actividad que tiene impacto en todos los ámbitos de la sociedad, la calidad del software es un factor importante para la aplicación y puesta en marcha de los productos y su inserción en la práctica. La mejora continua de los procesos de software se centra en mejorar la madurez del proceso y como consecuencia, la calidad del producto, permite tener procesos institucionalizados y mejorados continuamente. La mejora continua abarca la planificación, implementación y despliegue de las oportunidades de mejoras, basadas en una comprensión completa de las fortalezas y debilidades actuales de los procesos. En la presente investigación se reflejan las dificultades que presentan las organizaciones para asegurar que los esfuerzos de mejora continua en toda la organización se gestionan e implementan adecuadamente. Se describe el proceso de mejora de procesos organizacionales en el desarrollo del software obtenido a partir del análisis del Modelo de la Calidad para el desarrollo de aplicaciones informáticas (MCDAI) y la experiencia de expertos de la Universidad de las Ciencias Informáticas. La propuesta contiene un conjunto de políticas, roles, subprocesos, actividades, artefactos, listas de verificación e indicadores que en su conjunto permiten la descripción del proceso para su institucionalización. La implementación del proceso facilita la mejora continua de las buenas prácticas a partir de las oportunidades identificadas a los procesos existentes, obtiene de los expertos y de los evaluadores criterios positivos de su aplicabilidad. <![CDATA[Estrategia de pruebas para organizaciones desarrolladoras de portales web]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300118&lng=es&nrm=iso&tlng=es ABSTRACT Web portals in the last decade have gained a high level of popularity among users who usually surf the Internet. This has led to customers becoming more rigorous every day and demanding innovative products of the highest quality and attractiveness. To do this, these products are tested, which are key activities in software development, since they help detect defects that would otherwise go unnoticed until the software is deployed. However, various studies prove that in most of these products only functional tests are carried out. This is a problem because the detection of the defect is far from the moment in which it is introduced, which affects the costs of correction and lengthens the schedules of the project, without covering the structural and non-functional tests . This article describes a testing strategy that encompasses functional, non-functional, structural, and change-associated testing based on web portals. The strategy takes into account good practices documented in internationally recognized models, norms and standards. It incorporates the experience gained in testing these types of products. It integrates what to test from the tiered test type and how to test from describing objectives, typical test objects, test bases, approaches and responsibilities, typical defects and failure types, techniques, and strategies. The results of the expert assessment and a case study are shown for a better understanding of the proposal.<hr/>RESUMEN Los portales web en la última década han ganado un elevado nivel de popularidad entre los usuarios que usualmente navegan en Internet. Esto ha conllevado a que los clientes sean cada día más rigurosos y exijan productos innovadores de altísima calidad y atracción. Para ello, estos productos son sometidos a pruebas, las cuales constituyen actividades claves en el desarrollo de software, puesto que ayudan a detectar defectos que, de otro modo, pasarían desapercibidos hasta que el software sea desplegado. Sin embargo, diversos estudios comprueban que en la mayoría de estos productos solo se realizan pruebas funcionales. Esto supone un problema pues se aleja la detección del defecto del momento en que se introduce, lo que incide en los costos de corrección y alargan los cronogramas del proyecto, sin cubrir las pruebas estructurales y no funcionales. El presente artículo describe una estrategia de pruebas que abarca pruebas funcionales, no funcionales, estructurales y asociadas al cambio en función de portales web. La estrategia tiene en cuenta buenas prácticas documentas en modelos, normas y estándares reconocidos internacionalmente. Incorpora la experiencia adquirida en la realización de pruebas a estos tipos de productos. Se integra el qué probar a partir del tipo de prueba por niveles y el cómo probar a partir de describir los objetivos, objetos de pruebas típicos, bases de pruebas, enfoques y responsabilidades, defectos y tipos de fallas típicos, técnicas y estrategias. Se muestran los resultados de la valoración de expertos y un estudio de casos para mejor comprensión de la propuesta. <![CDATA[Aproximación a una plantilla para la especificación sintáctica de requisitos funcionales de sistemas embebidos]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992022000300137&lng=es&nrm=iso&tlng=es ABSTRACT Natural language is an essential means of writing system requirements, among other reasons, because of its high expressiveness and flexibility. Despite its indisputable advantages, in requirements documentation in the natural language, it is common to find syntactic ambiguity, which occurs when more than one grammar rule represents a sentence. Templates are a proven means of writing well-structured functional requirements in natural language and mitigating some of the weaknesses of this language for technical writing. Different templates have been formulated to specification requirements for almost any type of system, thanks to a generic design. However, these templates have insufficiencies in their structure that make it difficult to formulate functional requirements for embedded systems. The objective of this paper is to propose a template for the syntactic specification of functional requirements of embedded systems using natural language. The proposed template took into account the study of four existing templates and the distinctive characteristics of embedded systems. The methods and techniques used are analytical-synthetic, documentary analysis, and modeling. The validation was carried out through the IADOV technique, resulting in a group satisfaction index of 0.81 on the proposed template.<hr/>RESUMEN El lenguaje natural es un medio esencial para escribir requisitos de los sistemas, entre otras razones por su alta expresividad y flexibilidad. A pesar de sus indiscutibles ventajas, en la documentación de requisitos en lenguaje natural es común encontrar la ambigüedad sintáctica, la que se presenta cuando más de una regla gramatical representa a una oración. El uso de plantillas es un medio probado para escribir requisitos funcionales bien estructurados en lenguaje natural y, por lo tanto, mitigar algunas de las debilidades de este lenguaje para la redacción técnica. Diferentes plantillas se han formulado, algunas de ellas con un diseño genérico que posibilitan la especificación de requisitos de casi cualquier tipo de sistema, sin embargo, se aprecian insuficiencias en su estructura que dificultan la formulación de requisitos funcionales de sistemas embebidos. El objetivo de este trabajo es proponer una plantilla para la especificación sintáctica de requisitos funcionales de sistemas embebidos, empleando el lenguaje natural. La propuesta se basa en el estudio de cuatro plantillas existentes y en las características distintivas de los sistemas embebidos. Entre los métodos y técnicas empleadas en el desarrollo de este trabajo se encuentran el analítico-sintético, el análisis documental y la modelación. La validación de la plantilla propuesta se realizó a través de la aplicación de la técnica de IADOV, resultando un índice de satisfacción grupal de 0.81 sobre la plantilla propuesta.