2 research outputs found

    Uso de algoritmos genéticos para la creación automática de patrones de requisitos

    Get PDF
    Un factor crítico que influye en el éxito de un proyecto es la disponibilidad un conjunto de requisitos completo y de calidad que reflejen de manera completa y consistente las necesidades a las que el proyecto debe dar respuesta. Los patrones de texto son artefactos de conocimiento que se utilizan como plantillas para guiar a los ingenieros y analistas en la creación de requisitos y que permiten también validar su calidad; guían en la redacción de requisitos haciendo uso de lenguaje natural con ciertas restricciones sintácticas y de vocabulario que imponen los propios patrones para asegurar su calidad. Sin embargo, la generación de patrones para un dominio concreto es una actividad que requiere mucho tiempo, es costosa y debe ser realizada por especialistas. Esta tesis propone un método de generación automática de patrones de texto válidos para la creación de nuevos requisitos a partir de un conjunto inicial de requisitos de calidad en un dominio determinado. Se propone el uso de algoritmos genéticos y una estrategia de separación y conquista. El algoritmo genético encuentra patrones que reconocen a un número determinado de requisitos del conjunto a partir del conjunto inicial de requisitos. Aplicando la estrategia de separación y conquista, si estos patrones candidatos proporcionan un rendimiento adecuado, se incorporan al conjunto de soluciones y la búsqueda evolutiva continúa con un conjunto más pequeño de requisitos que incluye sólo los que aún no han sido conquistados. El resultado final de la doble iteración de algoritmo de conquista y algoritmo genético es un conjunto de patrones válidos, encontrados a partir del conjunto inicial de requisitos, que pueden ser usados para redactar nuevos requisitos en el mismo dominio o para validar la calidad de otros requisitos ya escritos, siempre en el mismo dominio. Se ha definido una metodología de trabajo completa y un algoritmo basado en el uso de programación genética junto con la estrategia de separación y conquista (Separate-and-Conquer) para obtener conjuntos de patrones de texto capaces de reconocer conjuntos de requisitos. A partir de la metodología se ha desarrollado una herramienta funcional completa, Twiga, con alta capacidad de parametrización para ajustar su funcionamiento a distintos contextos y objetivos de generación de conjuntos de patrones. Esta herramienta ha sido testeada y los rangos de funcionamiento de sus principales parámetros establecidos con un primer bloque de experimentos haciendo uso de requisitos artificiales, requisitos generados a partir de patrones preestablecidos y, por tanto, conocidos. Este entorno de experimentación controlado ha permitido definir los valores más adecuados de los parámetros a utilizar en casos de uso reales. Una vez ajustada la herramienta, se han realizado una serie de experimentos utilizando un corpus de requisitos reales proporcionado por el Grupo de Trabajo de INCOSE (International Council on Systems Engineering) en 2016 y que ya fue utilizado en experimento anteriores por el grupo de investigación. Los resultados muestran que este método puede generar conjuntos de patrones válidos, mejorando en un 233% los resultados experimentos previos del grupo que utilizaron otras aproximaciones, con valores de ratio de requisitos coincidentes por patrón de 2,87, frente a 1,23 obtenidos es los experimentos anteriores.A critical factor influencing the successful execution of any type of project is the availability of a complete set of requirements with the proper quality. Text patterns are knowledge artifacts used as templates to guide engineers and analysts in the process of creation of requirements, enabling the use of natural language with certain syntactic and vocabulary constraints imposed by the patterns themselves to ensure their requirement quality. However, generating patterns for a particular domain is a time-consuming, costly activity that must be performed by specialists. This thesis proposes a method for the automatic generation of text patterns from an initial subset of quality requirements. These patterns will be valid for the creation of new requirements or for validating the quality of another corpus of existing requirements of the same domain. The use of Genetic Algorithms and a Separate-and-Conquer strategy is proposed. The genetic algorithm finds, from the initial subset of requirements, patterns that recognize a given number of requirements in the subset. Applying the Separate-and-Conquer strategy, if these candidate patterns provide adequate performance, defined parametrically, they are incorporated into the final solution and the evolutionary search continues with a smaller subset of requirements that includes only those that have not yet been conquered. A complete working methodology based on the use of Genetic Algorithms together with the Separate-and-Conquer strategy have been defined to obtain sets of valid text patterns for the writing of new requirements. A complete functional tool, Twiga, has been developed based on this methodology, with a high capacity of parameterization to adjust its operation to different contexts and objectives. This tool has been tested and the operating ranges of its main parameters were established with a block of experiments using "artificial" requirements i.e., requirements generated automatically from pre-established and, therefore, known patterns. This controlled experimentation environment has made it possible to define the most appropriate values of the parameters to be used in actual use cases. With the main parameters adjusted using the previous experiments, a series of experiments have been performed using a corpus of requirements provided by the INCOSE (International Council on Systems Engineering) in 2016 and already used in previous investigations by the research group. The results show that this method can automatically generate a set of valid patterns suitable for the generation of new requirements, improving previous investigation by 233%, with values of the ratio of matching requirements per pattern of 2.87, compared to 1.23 obtained in previous methods.Programa de Doctorado en Ciencia y Tecnología Informática por la Universidad Carlos III de MadridPresidente: Gonzalo Génova Fuster.- Secretario: Susana Irene Díaz Rodríguez.- Vocal: Gustavo Adolfo Ramírez Gonzále

    Modelo de requisitos orientado al reúso efectivo (MORORE)

    Get PDF
    Los principales problemas que afronta la ingeniería de software tienen su origen en la ingeniería de requisitos. Muchos estudios han demostrado la importancia que tiene la ingeniería de requisitos para el proceso de desarrollo de software, especialmente las fases de especificación y gestión de los requisitos. En consecuencia, en la actualidad muchos investigadores orientan sus esfuerzos al mejoramiento de esta disciplina y por consiguiente del proceso de desarrollo de software. En la actualidad, existen muchas propuestas de solución para mejorar la ingeniería de requisitos: estándares, herramientas, métodos y técnicas. Entre éstas, una de las más novedosas propuestas es la aplicación de técnicas de reúso al ámbito de la ingeniería de requisitos. En concordancia a esta tendencia de aplicación del reúso al ámbito de la ingeniería de requisitos, esta tesis doctoral propone desarrollar un modelo para el reúso de requisitos denominado: Modelo de Requisitos Orientado al Reúso Efectivo (MORORE). MORORE permite la representación de tres niveles de activos software (también llamados artefactos software) para el reúso de requisitos: representación individual de requisitos, representación de conjuntos de requisitos (patrones de requisitos) y representación de estructuras de tipos de requisitos (patrones de estructuras de tipos). Asimismo, en la presente tesis doctoral, consideramos la definición y aplicación de métricas para el control de calidad de los productos o activos reutilizables, dentro de un proceso de indexación y recuperación, utilizando MORORE. El nivel de representación individual de requisitos permite la especificación correcta y completa de los requisitos para su reúso en un proyecto nuevo. Esta especificación incluye una colección de atributos descriptivos, la asociación con otros requisitos y con elementos externos. Asimismo, este nivel permite la parametrización de requisitos. Esta parametrización consiste en facilitar la particularización de los datos variables de un requisito para facilitar su adaptación a un proyecto nuevo al momento de reusarlo. Para el nivel del patrón de requisitos, planteamos la representación de un conjunto-solución de requisitos interrelacionados que se ha demostrado resuelven un problema recurrente del ámbito de la ingeniería de requisitos. Este nivel incluye la representación de los atributos descriptivos del patrón, la especificación de los elementos constitutivos (“requisito”, asumiendo, si es el caso, todas las características del requisito individual) y las asociaciones entre el patrón y otros elementos externos. Para el nivel de patrón de estructuras de tipos de requisitos, consideramos la representación de un conjunto de clasificaciones de requisitos organizados en una estructura general. Este tipo de patrón incluye un conjunto de atributos descriptivos de la estructura de tipos que permitan la ubicación y aprendizaje para su uso. Este nivel también incluye la representación de otros elementos asociados a las estructuras: archivos, páginas web, etc. Además, proponemos la aplicación de un control de calidad para el reúso efectivo de los productos reusables de cada uno de los niveles del modelo. Este control consiste en la definición de un conjunto de factores y métricas que garanticen un mínimo de calidad de los activos reusables de cada nivel de MORORE. Dentro del ámbito de la presente tesis doctoral también consideramos la definición de un proceso de indexación y recuperación para los activos reusables de cada nivel del modelo. Este proceso describe los pasos que deben de seguir los activos software de cada nivel de MORORE para su reúso eficiente. Estos pasos describen el ciclo del activo software desde su concepción o definición hasta su adecuación a un proyecto nuevo al momento de reusarlo. Consideramos que la aplicación de MORORE contribuirá a la mejora en efectividad y eficiencia de la ingeniería de requisitos y por tanto del proceso de desarrollo de software. En forma específica con MORORE habrá mejoras en la calidad de la especificación por parte de los ingenieros. Asimismo, con la aplicación de MORORE también obtendremos la disminución en el tiempo de los procesos de desarrollo respectivo y por consiguiente de recursos utilizados en el proceso de la ingeniería de requisitos.The main problems faced by the software engineering have their origins in requirements engineering. Many studies have shown the importance of the requirements engineering in the software development process, especially the phases of specification and requirements management. Consequently, today many researchers focus their efforts on improving this discipline and therefore the software development process. There are many proposed solutions to improve the requirements engineering: standards, tools, methods and techniques. Among these, one of the most innovative proposals is the application of reuse techniques in the requirements engineering. In concordance with this trend, this thesis aims to develop a model for the reuse of requirements called: Model of Requirements Oriented to Effective Reuse (MORORE, for its acronym in Spanish). MORORE allows the representation of three levels of software assets (also called software artifacts) for the reuse of requirements: individual representation of requirements, representation of sets of requirements (requirement patterns) and representation of requirements types structures (requirements types structures patterns). Also in this thesis, we consider the definition and implementation of metrics for quality control, of products or reusable assets, within indexing and retrieval processes using MORORE. The level of individual representation of requirements allows the correct and complete specification of a requirement for its reuse in a new project. This specification includes a collection of descriptive attributes, the association with other requirements and external elements. Also, this level allows the parameterization of requirements. This parameterization aims to ease the individualization of the requirement’s variable data, in order to facilitate is adaptation to a new project. For the level of the requirements pattern, it is presented a representation of a solution as a set of interrelated requirements which is a proven solution in a recurring problem in the field of requirements engineering. This level includes the representation of the descriptive attributes of the pattern, the specification of the constituent elements ("requirement", assuming, if necessary, all the characteristics of individual requirement) and the associations between the pattern and other external elements. For the level of requirements types structures patterns, we consider the representation of a set of types of requirements organized in a general structure. This type of pattern includes a set of descriptive attributes of the structure of types to allow the location and learning to be used. This level also includes the representation of other associated elements to the structures: files, web pages, etc. In addition, it is proposed the application of a quality control for an effective reuse of reusable products at each one of the model’s levels. This quality control consists in the definition of a set of factors and metrics to guarantee a minimum quality of reusable assets at each level of MORORE. Within the scope of this thesis, it is also considered the definition of a reusable-assets indexing and retrieval process for each one level of the model. This process describes the steps the software assets must follow at each level of MORORE for an efficient reuse. These steps describe the software asset cycle from its conception or definition, to its adaptation to a new project at the time of reuse. We believe that the application of MORORE will contribute to improvements in the requirements engineering effectiveness and efficiency and therefore in the software development process. Specifically, with the implementation of MORORE there will be improvements in the quality specification by engineers and it will be achieved a decrease in the development process time and in the resources used in the requirements engineering.Programa Oficial de Doctorado en Ciencia y Tecnología InformáticaPresidente: Juan Sánchez Díaz.- Secretario: José Luis de la Vara González.- Vocal: Edna Ruckhaus Magnu
    corecore