La complejidad computacional de los problemas de Ingeniería del Software ha hecho que los equipos de desarrollo de software tengan que aplicar algoritmos no deterministas para obtener soluciones aceptables a los problemas formulados dentro de este dominio. De entre las áreas de la Ingeniería del Software, la Ingeniería de los Requisitos se considera como un proceso esencial en el desarrollo de sistemas y especialmente en el desarrollo de sistemas software. Las decisiones tomadas durante estas primeras etapas del desarrollo son cruciales y difíciles, puesto que se maneja información incompleta, imprecisa y sujeta a numerosos cambios. Además, estas decisiones son fundamentales, puesto que tendrán una gran influencia a lo largo del ciclo de vida completo del sistema software.
El proceso de selección es una tarea que ha demostrado ser compleja, por los numerosos factores involucrados, y donde una mala elección puede conducir al desaprovechamiento de recursos. Esta tarea es un proceso de toma de decisiones que permite a los gestores y de\-sa\-rro\-lla\-do\-res del proyecto centrar su atención en aquellas características del producto que añadirán más valor al beneficio global del proyecto.
En estos casos suele ser necesario tener que considerar varios objetivos diferentes e incluso conflictivos, como las interacciones o dependencias entre las características candidatas, las preferencias de los clientes o las limitaciones en los recursos.
Veremos los motivos que hacen de este problema un problema de optimización combinatoria, y por qué resulta adecuado para ser tratado mediante técnicas meta-heurísticas, las cuales son capaces de proporcionar soluciones de calidad en un tiempo de cálculo razonable.
Esta tesis describe algunas de las técnicas más populares y cómo se ha llevado a cabo su adaptación para tratar el problema de selección de requisitos. Además, propondrá el uso de técnicas que no han sido aplicadas a este problema con anterioridad en la literatura, como las colonias de hormigas o un algoritmo de estimación de distribución (BOA), y la aportación de nuevos enfoques en otras técnicas como GRASP. Todas las técnicas expuestas serán evaluadas en un capítulo de experimentación, donde se utilizarán diferentes conjuntos de datos para estudiar su comportamiento frente a un problema de selección.
Estas técnicas serán integradas como un módulo, dentro de una herramienta de gestión de requisitos, para así comprobar la utilidad que puede proporcionar el disponer de esta funcionalidad dentro de un entorno de desarrollo real, haciendo efectiva la interconexión entre los métodos de búsqueda meta-heurísticos y el mundo de la industria de desarrollo de software
© 2008-2024 Fundación Dialnet · Todos los derechos reservados