Scielo RSS <![CDATA[Revista Cubana de Ciencias Informáticas]]> http://scielo.sld.cu/rss.php?pid=2227-189920140005&lang=es vol. 8 num. lang. es <![CDATA[SciELO Logo]]> http://scielo.sld.cu/img/en/fbpelogp.gif http://scielo.sld.cu <![CDATA[<strong>Un estudio comparativo de tres métodos de estimación de esfuerzo de pruebas</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500001&lng=es&nrm=iso&tlng=es Effort estimation is a big challenge for those trying to manage a project. In a software development project, testing is essential to assure product quality. However, it is a time consuming activity, and its work must be estimated for successful project execution. In our research, we concentrate our efforts on comparing some known methods of test effort estimation. So, this paper aims to analyze three different test effort estimation methods and compare them with the effort spent on real projects. Firstly we compare two widely used effort estimation methods: Test Point Analysis (TPA) and Use Case Points (UCP). Thereafter, we create an artificial neural network (ANN) based on the TPA, trained to estimate the testing work in software development projects, and compare it with pure TPA, to check which of them results in better estimates. Analyzing the experiment results, we concluded that the neural networks gave the best results, followed by TPA and then UCP.<hr/>La estimación de esfuerzo es un gran reto para los que gestionan proyectos de desarrollo de software. Estos proyectos deben hacer pruebas para asegurar la calidad del producto. A pesar de la importancia de las pruebas, esa es una actividad costosa en tiempo, así que el esfuerzo debe estar bien planeado para la ejecución exitosa de un proyecto. Este trabajo tiene como objetivo comparar tres métodos de estimación de esfuerzo de pruebas, y compararlos a su vez con el esfuerzo invertido en proyectos reales. En primer lugar comparamos dos métodos de estimación de esfuerzo ampliamente usados: Test Point Analysis (TPA) y Use Case Points (UCP). Después de eso, creamos una red neuronal artificial (RNA) basada en la TPA, entrenada para estimar el esfuerzo en pruebas de proyectos de desarrollo de software. Se comparó con TPA para comprobar cuál de ellos resultaba en estimativa más cercana de la realidad. Con base en los experimentos, se concluyó que las redes neuronales dieron los mejores resultados, seguidas por TPA y luego UCP. <![CDATA[<strong>Gestión eficiente de modelos digitales de elevación para su visualización 3D utilizando procesamiento multinúcleo</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500002&lng=es&nrm=iso&tlng=es En el siguiente trabajo se describe un modelo para la visualización eficiente de superficies de terrenos en tres dimensiones, que aprovecha las potencialidades de cómputo de los procesadores multinúcleos actuales. Se realiza una división lógica del terreno en cuadrantes, los cuales son representados utilizando quadtrees restringidos. La carga de los gráficos es controlada mediante una triangulación adaptativa de la superficie y aprovechando las ventajas de diferentes niveles de detalle. La escena que se está visualizando se gestiona dinámicamente, lo que permite mantener solamente en memoria los datos asociados a aquellos cuadrantes que se están visualizando. Aquellos cuadrantes que no se visualizan son almacenados en memoria externa y se gestionan utilizando una estructura de datos que permite un acceso eficiente a los datos de los mismos.<hr/>In this paper is described a model for efficient visualization of terrain surfaces in three dimensions, which exploits the computational potential of today multi-core processors. A logical division of the terrain in tiles is performed, those tiles are represented using restricted quadtrees. The graphics load is controlled by an adaptive triangulation surface and taking advantage of different levels of detail. The scene being viewed is dynamically managed, keeping in memory only the data associated with those tiles that are being viewed. Those tiles that are not displayed are stored in external memory and managed using a data structure that allows efficient access to the data. <![CDATA[<strong>Una herramienta para simular y analizar el flujo de tráfico en un cruce regulado por semáforos con tiempos de ciclos variables</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500003&lng=es&nrm=iso&tlng=es El objetivo de este trabajo es presentar una herramienta que ayude a establecer una buena política de cambio en los tiempos de luces de los semáforos en las horas pico, basado en los resultados experimentales que se brindan. Se considera un cruce regulado por semáforos que puede estar compuesto por n calles y tener k fases. Se propone un simulador cuyos datos de entrada son las características propias de esta intersección y su salida la cantidad de autos que quedan, llegan y salen en cada fase. Se supone que las llegadas y salidas de los vehículos siguen una distribución de Poisson cuyo parámetro puede variar en el intervalo estudiado. La simulación está basada en eventos discretos y para la implementación del simulador se utilizó la plataforma .NET y el lenguaje de programación C#. La herramienta permite además obtener resultados estadísticos que ayudan al usuario en la toma de decisiones para identificar las fases problemáticas y tomar medidas para determinar la mejor opción, que será aquella que minimice la congestión del tráfico.<hr/>The goal of this paper is to present a tool that helps establishing a good change policy for the time of the traffic lights at peak hours, based on the given experimental results. The intersection is considered to be regulated by traffic lights, and be composed by n streets and have k different light phases. The proposed simulator’s input consists of the characteristics of the intersection, and its output, the amount of cars that stay, arrive and exit it in each phase. It’s assumed that the arrivals and departures of vehicles follow a Poisson distribution whose parameter can vary within the studied interval. The simulation is based on discrete events, and to implement the simulator the .NET framework and C# language were used. This tool also allows obtaining statistical results that help the user to identify problematic hours and hence, to take decisions to determine the best option to minimize the traffic congestion. <![CDATA[<strong>Modelando el proceso de desarrollo de software de la UCI con cbSPEM</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500004&lng=es&nrm=iso&tlng=es El objetivo de este trabajo es definir un meta-modelo para representar el proceso de desarrollo de software de la Universidad de las Ciencias Informáticas. El proceso de desarrollo de software es un proceso de conocimiento intensivo y debe modelarse utilizando el enfoque de la gestión de casos, por lo que se definió un meta-modelo que extiende los meta-modelos Case Management Model and Notation y Software and Systems Process Engineering Meta-Model Specification. Este meta-modelo se utilizó para representar el proceso de desarrollo de software de la universidad utilizando un plugin creado para este proceso, lo cual demuestra que es factible modelar procesos de desarrollo de software utilizando el meta-modelo propuesto: Case Based SPEM. El aporte fundamental de este trabajo radica en la elaboración y aplicación de un meta-modelo que permite crear modelos de proceso de desarrollo de software más flexibles.<hr/>The aim of this paper is to define a meta-model to represent University of Information Science's development process. The software development is a knowledge-intensive process and must be modeled using case management approach. Because of that, a meta-model that extends Case Management Model and Notation and Software and Systems Process Engineering Meta-Model Specification meta-models was defined. This meta-model was used to represent university's development process using a plugin created for this process. This shows that is possible to model software development process using Case Based SPEM. The main result of the work is the elaboration and aplicacition of a meta-model that allows to create more flexible software process models. <![CDATA[<strong>Optimizaciones al Algoritmo de Agrupamiento Compacto Jerárquico Dinámico</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500005&lng=es&nrm=iso&tlng=es En este artículo proponemos dos optimizaciones a un algoritmo de agrupamiento compacto jerárquico dinámico, este es aplicado a un conjunto de documentos con el objetivo de agruparlos por temáticas. La primera optimización que proponemos es una estructura compacta basada en grafos que posibilita un uso eficiente de la memoria principal; y la segunda una heurística de poda, que permite que los documentos se procesen en un tiempo menor que el usado por una implementación anterior. Los resultados obtenidos en los experimentos demuestran que con estas optimizaciones se logra agrupar un mayor número de documentos en menor tiempo.<hr/>In this paper we propose two optimizations for the compact dynamic hierarchical clustering algorithm. This algorithm is applied to a set of documents in order to discover the structure of topics that they describe. The first one is a condense graph data structure that enables efficient use of main memory; and the second a prune graph heuristic, which allows documents to be processed in a shorter time than those used by a previous implementation. The results obtained in the experiments demonstrate that these optimizations allow processing more objects in less time. <![CDATA[<strong>Sistema de Inspección General de Taladros</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500006&lng=es&nrm=iso&tlng=es La Gerencia de Inspectoría de Taladros perteneciente a la empresa Petróleos de Venezuela S.A. se encarga de la realización de las inspecciones a los equipos, actividad que actualmente se lleva a cabo por los inspectores de forma manual. Estas actividades están sujetas a un alto riesgo en cuanto a la introducción de errores y seguridad de la información, dado que es transferida, procesada y almacenada en archivos Excel. Todo esto dificulta su consolidación en los diferentes niveles, siendo necesaria para la toma de decisiones oportunas a fin de corregir las desviaciones detectadas. Este proyecto está encaminado en su primera fase al desarrollo de una aplicación para sistemas operativos Android que permitirá a los inspectores en campo la captura de los datos de la inspección de los taladros, mediante el uso de dispositivos móviles, que acorte los tiempos de respuesta y facilite la toma de decisiones. En la segunda fase se incluye un sistema web que permita la generación de reportes dinámicos sobre los datos capturados por cada uno de los dispositivos. De igual forma se necesita lograr la soberanía tecnológica de la empresa como uno de sus principales pilares. Con este sistema se garantizó una solución libre, eficiente y adaptable a las necesidades de la empresa.<hr/>The Management Inspectors belonging to Petróleos de Venezuela S.A. is responsible for conducting inspections of drilling equipment, activity currently carried out by inspectors manually. These activities are subject to a high risk for the introduction of errors and information security, as it is transferred, processed and stored in Excel files. All this makes hard consolidation at different levels, being necessary to the timely decisions making to correct any deviations. This project is aimed in the first phase at developing an application for Android operating systems, which allow the inspectors in the field to capture data of drills inspection, using mobile devices, to shorten response times and facilitate decision-making. The second phase include a web system to generate dynamic reports about the data captured by the devices. This system is needed to achieve technological sovereignty of the company as one of its main pillars. With it, a free, efficient and adaptable solution to business needs is guaranteed. <![CDATA[<strong>Plataforma Cubana de Migración a Código Abierto</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500007&lng=es&nrm=iso&tlng=es El proceso de migración en Cuba a aplicaciones de código abierto, necesita la ejecución paulatina de varios subprocesos, en aras de tener un completo control de las aplicaciones que se ejecutan en las instituciones del país lo que es igual a soberanía tecnológica, manteniendo en dichas instituciones índices de productividad válidos, reduciendo los costos y elevando el nivel de preparación de sus trabajadores. Estos subprocesos son descritos en la Guía Cubana de Migración a Software Libre, además, son asociados a las herramientas que permiten su automatización. Dichas herramientas no actúan por separado sino que se comunican entre ellas, tal integración es posible a partir de la definición de la Plataforma Cubana de Migración a Código Abierto, que consta de un conjunto de subsistemas que tienen como objetivo permitir la gestión automatizada del proceso de migración a código abierto. Este trabajo plasma el resultado de un conjunto de investigaciones realizadas por los miembros del Centro de Soluciones Libre de la Universidad de las Ciencias Informáticas, con el objetivo de aumentar la eficacia y eficiencia de los procesos de migración a código abierto que se llevan a cabo en Cuba, además, de brindar una panorámica acerca del funcionamiento de la Plataforma. El mismo tiene gran impacto, dada la situación actual en la que se encuentra el país en pos de alcanzar la soberanía tecnológica y a su vez reducir los costos de las actividades que se realizan en el proceso de migración.<hr/>The migration process in Cuba to open source applications requires the gradual execution of multiple threads, in order to have complete control of the software that runs on the institutions of the country what it is like full technological sovereignty, keeping these institutions valid productivity levels, reducing costs and raising the level of training of their workers. These threads are described in Cuban Migration Guide to Free Software, also are associated with the automation tools that allow. These tools do not act separately but communicate with each other, such integration is possible from the definition of the Cuban Platform for Open Source Migration, consisting of a set of subsystems that are intended to allow automated management of the migration to open source process. This work embodies the result of a joint research conducted by members of the Free Software Center at the University of Informatics Sciences, in order to increase the effectiveness and efficiency of the processes of migration to open source are held in Cuba also provide an overview of the functioning of the Platform. It has great impact, given the current situation in which the country finds itself towards achieving technological sovereignty and in turn reduces the costs of activities that are performed in the migration process. <![CDATA[<strong>Modelo Si.MPS.CU para valorar las organizaciones al iniciar la mejora de proceso de software</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500008&lng=es&nrm=iso&tlng=es La mejora de procesos de software se centra en mejorar la madurez del proceso y como consecuencia, la calidad del producto. La ejecución de una mejora resulta compleja; lo que impide que las organizaciones se decidan a iniciarla. Para enfrentar estas dificultades diferentes modelo proponen realizar un diagnóstico al iniciar la mejora de procesos de software, que incluye la evaluación de la organización con el objetivo de analizar y definir cómo mejorar las prácticas del desarrollo software. Las técnicas aplicadas en esta área se centran en identificar el estado de los procesos y no el estado de la organización integralmente y valorar las condiciones para iniciarla, el cual representan un punto de partida que condicionará el resultado. El objetivo principal de la investigación es elaborar un modelo para valorar las organizaciones desarrolladoras de software al iniciar la mejora de proceso, con el uso de indicadores y métricas, que tenga en cuenta la experiencia de los expertos para contribuir a minimizar el impacto negativo de los factores críticos de éxito. Como elementos originales el modelo incorpora el “qué” y el “cómo” valorar una organización en términos de indicadores y en función de los factores críticos de éxito. Esta propuesta contribuye a detectar las fortalezas y las debilidades para acometer el cambio y facilita el análisis de los riesgos. Finalmente se presenta la validación del modelo a través de un cuasiexperimento y se analizan los resultados obtenidos.<hr/>Process improvement is focused on improving software process maturity and consequently product quality. The implementation of an improvement is complex, which prevents organizations decide to start it. To address these difficulties different model suggest a diagnosis to start software process improvement, including the assessment of the organization in order to analyze and define how to improve software development practices. The techniques applied in this area focus on identifying the state of the process and not the state of the organization fully and evaluate the conditions to launch, which represent a starting point that will determine the outcome. The main objective of the research is to develop a model to assess the software development organizations to initiate process improvement with the use of indicators and metrics, taking into account the experience of experts to help minimize the negative impact of the critical success factors. As the model incorporates original features the "what" and "how" assess an organization in terms of indicators and in terms of critical success factors. This approach helps to identify strengths and weaknesses to undertake change and facilitates the analysis of risk. Finally, the validation of the model through a multiple time series experiment with two pretest, posttest and two control group and analyzed the results. <![CDATA[<strong>La toma de decisiones en los Sistemas Tutoriales Inteligentes utilizando el agrupamiento conceptual</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992014000500009&lng=es&nrm=iso&tlng=es Las técnicas de Inteligencia Artificial son válidas para enfrentar la construcción de un Sistema Tutorial Inteligente dado por sus aspectos afines. Éstas utilizan conocimiento sobre un dominio específico para inferir una solución similar a la obtenida por una persona experimentada en el dominio del problema. Por su parte los Sistemas Tutoriales Inteligentes utilizan la información almacenada sobre las características del estudiante para adaptar el proceso de enseñanza-aprendizaje del mismo a la materia a enseñar. No todos los paradigmas de la Inteligencia Artificial facilitan la concepción de este tipo de sistemas de enseñanza-aprendizaje, donde lo fundamental para su desarrollo es determinar cómo representar el conocimiento requerido para sus módulos y a partir de dicho conocimiento realizar una prescripción del estudiante para que el sistema se adapte a sus características. Sin embargo, similitudes del modelado del estudiante en un Sistema Tutorial Inteligente y los algoritmos de agrupamiento conceptual son factores a estudiar para concebir un diagnóstico adecuado del qué y cómo enseñar dependiendo del estudiante.<hr/>The Artificial Intelligence techniques are valid to address the construction of an Intelligent Tutorial System given its related aspects. They use knowledge about a specific domain to infer a similar solution to that obtained by a person experienced in the domain of the problem. Meanwhile Intelligent Tutoring Systems using stored information about student characteristics for adapt the teaching-learning process thereof to the subject to be taught. Not all Artificial Intelligence paradigms facilitate the design of such systems of teaching and learning, where the main for their development is to determine how to represent the knowledge required for their modules and from that knowledge make a diagnostic of the student for that the system to adapt to your features. However, student modeling similarities in an Intelligent Tutorial System and conceptual clustering algorithms are factors to consider to design a proper diagnosis of what and how to teach depending on the student.